diff --git a/.next/app-build-manifest.json b/.next/app-build-manifest.json index 65ac66a..e5ced29 100644 --- a/.next/app-build-manifest.json +++ b/.next/app-build-manifest.json @@ -6,41 +6,6 @@ "static/css/app/layout.css", "static/chunks/app/layout.js" ], - "/search/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/search/page.js" - ], - "/auth/login/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/auth/login/page.js" - ], - "/dashboard/profile/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/dashboard/profile/page.js" - ], - "/dashboard/offers/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/dashboard/offers/page.js" - ], - "/dashboard/offers/[id]/edit/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/dashboard/offers/[id]/edit/page.js" - ], - "/dashboard/offers/create/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/dashboard/offers/create/page.js" - ], - "/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/page.js" - ], "/offers/[id]/page": [ "static/chunks/webpack.js", "static/chunks/main-app.js", diff --git a/.next/cache/.rscinfo b/.next/cache/.rscinfo index 681384d..8d62ffc 100644 --- a/.next/cache/.rscinfo +++ b/.next/cache/.rscinfo @@ -1 +1 @@ -{"encryption.key":"WZQZME/5C9+NCM2OP0Z7GWY6DzmCSvnkIqpZV29ntNg=","encryption.expire_at":1774031161767} \ No newline at end of file +{"encryption.key":"a0r80MZ8P0Nz8QzusbI7vLzdY0ifxr6srF1mXvOwt+4=","encryption.expire_at":1774038857760} \ No newline at end of file diff --git a/.next/cache/.tsbuildinfo b/.next/cache/.tsbuildinfo index 1c8894c..928a7e4 100644 --- a/.next/cache/.tsbuildinfo +++ b/.next/cache/.tsbuildinfo @@ -1 +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.es2023.d.ts","../../node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.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.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/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/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/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.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/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/revalidate.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/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/route-kind.d.ts","../../node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../node_modules/next/dist/server/route-definitions/app-page-route-definition.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/build/webpack/plugins/flight-manifest-plugin.d.ts","../../node_modules/next/dist/server/route-modules/route-module.d.ts","../../node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../node_modules/next/dist/server/load-components.d.ts","../../node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.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/shared/lib/router/utils/middleware-route-matcher.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/bloom-filter.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/shared/lib/amp-context.shared-runtime.d.ts","../../node_modules/next/dist/shared/lib/server-inserted-html.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/server/render.d.ts","../../node_modules/next/dist/server/response-cache/index.d.ts","../../node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.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/instrumentation/types.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/lib/i18n-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/after/builtin-request-context.d.ts","../../node_modules/next/dist/server/base-server.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/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/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/shared/lib/modern-browserslist-target.d.ts","../../node_modules/next/dist/shared/lib/constants.d.ts","../../node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../node_modules/next/dist/build/page-extensions-type.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/app-render/work-unit-async-storage-instance.d.ts","../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../node_modules/next/dist/server/request/fallback-params.d.ts","../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.d.ts","../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.d.ts","../../node_modules/next/dist/server/app-render/app-render.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/@types/react/jsx-runtime.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/metadata/metadata-boundary.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/server/app-render/collect-segment-data.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/next/dist/server/route-modules/app-page/module.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/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/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/shared/lib/router/utils/parse-url.d.ts","../../node_modules/next/dist/server/base-http/node.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/lib/coalesced-function.d.ts","../../node_modules/next/dist/server/lib/router-utils/types.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/dist/build/webpack-config.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/client/components/react-dev-overlay/types.d.ts","../../node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../node_modules/next/dist/telemetry/storage.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/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/types.d.ts","../../node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../node_modules/@next/env/dist/index.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.d.ts","../../node_modules/next/dist/client/components/navigation.react-server.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/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/image-types/global.d.ts","../../next-env.d.ts","../../next.config.ts","../../node_modules/source-map-js/source-map.d.ts","../../node_modules/postcss/lib/previous-map.d.ts","../../node_modules/postcss/lib/input.d.ts","../../node_modules/postcss/lib/css-syntax-error.d.ts","../../node_modules/postcss/lib/declaration.d.ts","../../node_modules/postcss/lib/root.d.ts","../../node_modules/postcss/lib/warning.d.ts","../../node_modules/postcss/lib/lazy-result.d.ts","../../node_modules/postcss/lib/no-work-result.d.ts","../../node_modules/postcss/lib/processor.d.ts","../../node_modules/postcss/lib/result.d.ts","../../node_modules/postcss/lib/document.d.ts","../../node_modules/postcss/lib/rule.d.ts","../../node_modules/postcss/lib/node.d.ts","../../node_modules/postcss/lib/comment.d.ts","../../node_modules/postcss/lib/container.d.ts","../../node_modules/postcss/lib/at-rule.d.ts","../../node_modules/postcss/lib/list.d.ts","../../node_modules/postcss/lib/postcss.d.ts","../../node_modules/postcss/lib/postcss.d.mts","../../node_modules/tailwindcss/types/generated/corepluginlist.d.ts","../../node_modules/tailwindcss/types/generated/colors.d.ts","../../node_modules/tailwindcss/types/config.d.ts","../../node_modules/tailwindcss/types/index.d.ts","../../tailwind.config.ts","../../node_modules/zustand/esm/vanilla.d.mts","../../node_modules/zustand/esm/react.d.mts","../../node_modules/zustand/esm/index.d.mts","../../node_modules/cookie/dist/index.d.ts","../../node_modules/cookies-next/lib/common/types.d.ts","../../node_modules/cookies-next/lib/client/cookie-functions.d.ts","../../node_modules/cookies-next/lib/client/types.d.ts","../../node_modules/cookies-next/lib/client/context.d.ts","../../node_modules/cookies-next/lib/client/hooks.d.ts","../../node_modules/cookies-next/lib/client/index.d.ts","../../node_modules/cookies-next/lib/index.d.ts","../../node_modules/axios/index.d.ts","../../src/shared/api/axios.ts","../../src/entities/session/store.ts","../../src/shared/api/geo.ts","../../src/features/geo/usegeostore.ts","../../src/lib/imageurl.ts","../../node_modules/clsx/clsx.d.mts","../../node_modules/tailwind-merge/dist/types.d.ts","../../src/lib/utils.ts","../../src/shared/api/catalog.ts","../../src/shared/api/search.ts","../../src/shared/lib/utils.ts","../../node_modules/next/dist/compiled/@next/font/dist/types.d.ts","../../node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","../../node_modules/next/font/google/index.d.ts","../../node_modules/next-themes/dist/index.d.ts","../../src/components/theme/theme-provider.tsx","../../node_modules/lucide-react/dist/lucide-react.d.ts","../../node_modules/@radix-ui/react-slot/dist/index.d.mts","../../node_modules/class-variance-authority/dist/types.d.ts","../../node_modules/class-variance-authority/dist/index.d.ts","../../src/components/ui/button.tsx","../../node_modules/@radix-ui/react-context/dist/index.d.mts","../../node_modules/@radix-ui/react-primitive/dist/index.d.mts","../../node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts","../../node_modules/@radix-ui/react-focus-scope/dist/index.d.mts","../../node_modules/@radix-ui/react-arrow/dist/index.d.mts","../../node_modules/@radix-ui/rect/dist/index.d.mts","../../node_modules/@radix-ui/react-popper/dist/index.d.mts","../../node_modules/@radix-ui/react-portal/dist/index.d.mts","../../node_modules/@radix-ui/react-roving-focus/dist/index.d.mts","../../node_modules/@radix-ui/react-menu/dist/index.d.mts","../../node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts","../../src/components/ui/dropdown-menu.tsx","../../src/components/theme/mode-toggle.tsx","../../src/components/ui/switch.tsx","../../src/widgets/header.tsx","../../node_modules/sonner/dist/index.d.ts","../../src/components/ui/sonner.tsx","../../src/components/auth/authprovider.tsx","../../src/app/layout.tsx","../../src/components/home/performerbutton.tsx","../../src/app/page.tsx","../../node_modules/react-hook-form/dist/constants.d.ts","../../node_modules/react-hook-form/dist/utils/createsubject.d.ts","../../node_modules/react-hook-form/dist/types/events.d.ts","../../node_modules/react-hook-form/dist/types/path/common.d.ts","../../node_modules/react-hook-form/dist/types/path/eager.d.ts","../../node_modules/react-hook-form/dist/types/path/index.d.ts","../../node_modules/react-hook-form/dist/types/fieldarray.d.ts","../../node_modules/react-hook-form/dist/types/resolvers.d.ts","../../node_modules/react-hook-form/dist/types/form.d.ts","../../node_modules/react-hook-form/dist/types/utils.d.ts","../../node_modules/react-hook-form/dist/types/fields.d.ts","../../node_modules/react-hook-form/dist/types/errors.d.ts","../../node_modules/react-hook-form/dist/types/validator.d.ts","../../node_modules/react-hook-form/dist/types/controller.d.ts","../../node_modules/react-hook-form/dist/types/watch.d.ts","../../node_modules/react-hook-form/dist/types/index.d.ts","../../node_modules/react-hook-form/dist/controller.d.ts","../../node_modules/react-hook-form/dist/form.d.ts","../../node_modules/react-hook-form/dist/formstatesubscribe.d.ts","../../node_modules/react-hook-form/dist/logic/appenderrors.d.ts","../../node_modules/react-hook-form/dist/logic/createformcontrol.d.ts","../../node_modules/react-hook-form/dist/logic/index.d.ts","../../node_modules/react-hook-form/dist/usecontroller.d.ts","../../node_modules/react-hook-form/dist/usefieldarray.d.ts","../../node_modules/react-hook-form/dist/useform.d.ts","../../node_modules/react-hook-form/dist/useformcontext.d.ts","../../node_modules/react-hook-form/dist/useformstate.d.ts","../../node_modules/react-hook-form/dist/usewatch.d.ts","../../node_modules/react-hook-form/dist/utils/get.d.ts","../../node_modules/react-hook-form/dist/utils/set.d.ts","../../node_modules/react-hook-form/dist/utils/index.d.ts","../../node_modules/react-hook-form/dist/watch.d.ts","../../node_modules/react-hook-form/dist/index.d.ts","../../node_modules/zod/v3/helpers/typealiases.d.cts","../../node_modules/zod/v3/helpers/util.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/v3/index.d.cts","../../node_modules/zod/v4/core/json-schema.d.cts","../../node_modules/zod/v4/core/standard-schema.d.cts","../../node_modules/zod/v4/core/registries.d.cts","../../node_modules/zod/v4/core/to-json-schema.d.cts","../../node_modules/zod/v4/core/util.d.cts","../../node_modules/zod/v4/core/versions.d.cts","../../node_modules/zod/v4/core/schemas.d.cts","../../node_modules/zod/v4/core/checks.d.cts","../../node_modules/zod/v4/core/errors.d.cts","../../node_modules/zod/v4/core/core.d.cts","../../node_modules/zod/v4/core/parse.d.cts","../../node_modules/zod/v4/core/regexes.d.cts","../../node_modules/zod/v4/locales/ar.d.cts","../../node_modules/zod/v4/locales/az.d.cts","../../node_modules/zod/v4/locales/be.d.cts","../../node_modules/zod/v4/locales/bg.d.cts","../../node_modules/zod/v4/locales/ca.d.cts","../../node_modules/zod/v4/locales/cs.d.cts","../../node_modules/zod/v4/locales/da.d.cts","../../node_modules/zod/v4/locales/de.d.cts","../../node_modules/zod/v4/locales/en.d.cts","../../node_modules/zod/v4/locales/eo.d.cts","../../node_modules/zod/v4/locales/es.d.cts","../../node_modules/zod/v4/locales/fa.d.cts","../../node_modules/zod/v4/locales/fi.d.cts","../../node_modules/zod/v4/locales/fr.d.cts","../../node_modules/zod/v4/locales/fr-ca.d.cts","../../node_modules/zod/v4/locales/he.d.cts","../../node_modules/zod/v4/locales/hu.d.cts","../../node_modules/zod/v4/locales/hy.d.cts","../../node_modules/zod/v4/locales/id.d.cts","../../node_modules/zod/v4/locales/is.d.cts","../../node_modules/zod/v4/locales/it.d.cts","../../node_modules/zod/v4/locales/ja.d.cts","../../node_modules/zod/v4/locales/ka.d.cts","../../node_modules/zod/v4/locales/kh.d.cts","../../node_modules/zod/v4/locales/km.d.cts","../../node_modules/zod/v4/locales/ko.d.cts","../../node_modules/zod/v4/locales/lt.d.cts","../../node_modules/zod/v4/locales/mk.d.cts","../../node_modules/zod/v4/locales/ms.d.cts","../../node_modules/zod/v4/locales/nl.d.cts","../../node_modules/zod/v4/locales/no.d.cts","../../node_modules/zod/v4/locales/ota.d.cts","../../node_modules/zod/v4/locales/ps.d.cts","../../node_modules/zod/v4/locales/pl.d.cts","../../node_modules/zod/v4/locales/pt.d.cts","../../node_modules/zod/v4/locales/ru.d.cts","../../node_modules/zod/v4/locales/sl.d.cts","../../node_modules/zod/v4/locales/sv.d.cts","../../node_modules/zod/v4/locales/ta.d.cts","../../node_modules/zod/v4/locales/th.d.cts","../../node_modules/zod/v4/locales/tr.d.cts","../../node_modules/zod/v4/locales/ua.d.cts","../../node_modules/zod/v4/locales/uk.d.cts","../../node_modules/zod/v4/locales/ur.d.cts","../../node_modules/zod/v4/locales/uz.d.cts","../../node_modules/zod/v4/locales/vi.d.cts","../../node_modules/zod/v4/locales/zh-cn.d.cts","../../node_modules/zod/v4/locales/zh-tw.d.cts","../../node_modules/zod/v4/locales/yo.d.cts","../../node_modules/zod/v4/locales/index.d.cts","../../node_modules/zod/v4/core/doc.d.cts","../../node_modules/zod/v4/core/api.d.cts","../../node_modules/zod/v4/core/json-schema-processors.d.cts","../../node_modules/zod/v4/core/json-schema-generator.d.cts","../../node_modules/zod/v4/core/index.d.cts","../../node_modules/@hookform/resolvers/zod/dist/zod.d.ts","../../node_modules/@hookform/resolvers/zod/dist/index.d.ts","../../node_modules/zod/v4/classic/errors.d.cts","../../node_modules/zod/v4/classic/parse.d.cts","../../node_modules/zod/v4/classic/schemas.d.cts","../../node_modules/zod/v4/classic/checks.d.cts","../../node_modules/zod/v4/classic/compat.d.cts","../../node_modules/zod/v4/classic/from-json-schema.d.cts","../../node_modules/zod/v4/classic/iso.d.cts","../../node_modules/zod/v4/classic/coerce.d.cts","../../node_modules/zod/v4/classic/external.d.cts","../../node_modules/zod/index.d.cts","../../src/components/ui/input.tsx","../../node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive/dist/index.d.mts","../../node_modules/@radix-ui/react-label/dist/index.d.mts","../../src/components/ui/label.tsx","../../src/components/ui/form.tsx","../../src/components/ui/card.tsx","../../src/features/auth/loginform.tsx","../../src/app/auth/login/page.tsx","../../node_modules/@radix-ui/react-radio-group/dist/index.d.mts","../../src/components/ui/radio-group.tsx","../../src/features/auth/registerform.tsx","../../src/app/auth/register/page.tsx","../../node_modules/@radix-ui/react-checkbox/dist/index.d.mts","../../src/components/ui/checkbox.tsx","../../node_modules/orderedmap/dist/index.d.ts","../../node_modules/prosemirror-model/dist/index.d.ts","../../node_modules/prosemirror-transform/dist/index.d.ts","../../node_modules/prosemirror-view/dist/index.d.ts","../../node_modules/prosemirror-state/dist/index.d.ts","../../node_modules/@tiptap/pm/dist/state/index.d.ts","../../node_modules/@tiptap/pm/dist/model/index.d.ts","../../node_modules/@tiptap/pm/dist/view/index.d.ts","../../node_modules/@tiptap/pm/dist/transform/index.d.ts","../../node_modules/@tiptap/core/dist/index.d.ts","../../node_modules/@tiptap/react/dist/index.d.ts","../../node_modules/@tiptap/extension-blockquote/dist/index.d.ts","../../node_modules/@tiptap/extension-bold/dist/index.d.ts","../../node_modules/@tiptap/extension-code/dist/index.d.ts","../../node_modules/@tiptap/extension-code-block/dist/index.d.ts","../../node_modules/@tiptap/extension-hard-break/dist/index.d.ts","../../node_modules/@tiptap/extension-heading/dist/index.d.ts","../../node_modules/@tiptap/extension-horizontal-rule/dist/index.d.ts","../../node_modules/@tiptap/extension-italic/dist/index.d.ts","../../node_modules/@tiptap/extension-link/dist/index.d.ts","../../node_modules/@tiptap/extension-list/dist/index.d.ts","../../node_modules/@tiptap/extension-paragraph/dist/index.d.ts","../../node_modules/@tiptap/extension-strike/dist/index.d.ts","../../node_modules/@tiptap/extension-underline/dist/index.d.ts","../../node_modules/@tiptap/extensions/dist/index.d.ts","../../node_modules/@tiptap/starter-kit/dist/index.d.ts","../../src/components/ui/rich-text-editor.tsx","../../src/app/dashboard/become-performer/page.tsx","../../src/app/dashboard/offers/page.tsx","../../src/components/ui/textarea.tsx","../../node_modules/@radix-ui/react-select/dist/index.d.mts","../../src/components/ui/select.tsx","../../src/components/ui/image-uploader.tsx","../../src/app/dashboard/offers/[id]/edit/page.tsx","../../src/app/dashboard/offers/create/page.tsx","../../src/components/ui/badge.tsx","../../node_modules/react-easy-crop/types.d.ts","../../node_modules/react-easy-crop/cropper.d.ts","../../node_modules/react-easy-crop/helpers.d.ts","../../node_modules/react-easy-crop/index.d.ts","../../node_modules/@radix-ui/react-slider/dist/index.d.mts","../../src/components/ui/slider.tsx","../../src/components/ui/avatar-uploader.tsx","../../src/components/ui/tag-input.tsx","../../src/components/ui/rating.tsx","../../src/components/ui/description-viewer.tsx","../../src/components/ui/schedule-viewer.tsx","../../src/components/ui/dialog.tsx","../../src/components/ui/change-password-modal.tsx","../../src/components/ui/location-modal.tsx","../../src/components/ui/schedule-modal.tsx","../../src/app/dashboard/profile/page.tsx","../../node_modules/@types/geojson/index.d.ts","../../node_modules/@types/leaflet/index.d.ts","../../node_modules/react-leaflet/lib/hooks.d.ts","../../node_modules/react-leaflet/lib/attributioncontrol.d.ts","../../node_modules/@react-leaflet/core/lib/attribution.d.ts","../../node_modules/@react-leaflet/core/lib/context.d.ts","../../node_modules/@react-leaflet/core/lib/element.d.ts","../../node_modules/@react-leaflet/core/lib/events.d.ts","../../node_modules/@react-leaflet/core/lib/layer.d.ts","../../node_modules/@react-leaflet/core/lib/path.d.ts","../../node_modules/@react-leaflet/core/lib/circle.d.ts","../../node_modules/@react-leaflet/core/lib/div-overlay.d.ts","../../node_modules/@react-leaflet/core/lib/component.d.ts","../../node_modules/@react-leaflet/core/lib/control.d.ts","../../node_modules/@react-leaflet/core/lib/dom.d.ts","../../node_modules/@react-leaflet/core/lib/generic.d.ts","../../node_modules/@react-leaflet/core/lib/grid-layer.d.ts","../../node_modules/@react-leaflet/core/lib/media-overlay.d.ts","../../node_modules/@react-leaflet/core/lib/pane.d.ts","../../node_modules/@react-leaflet/core/lib/index.d.ts","../../node_modules/react-leaflet/lib/circle.d.ts","../../node_modules/react-leaflet/lib/circlemarker.d.ts","../../node_modules/react-leaflet/lib/layergroup.d.ts","../../node_modules/react-leaflet/lib/featuregroup.d.ts","../../node_modules/react-leaflet/lib/geojson.d.ts","../../node_modules/react-leaflet/lib/imageoverlay.d.ts","../../node_modules/react-leaflet/lib/layerscontrol.d.ts","../../node_modules/react-leaflet/lib/mapcontainer.d.ts","../../node_modules/react-leaflet/lib/marker.d.ts","../../node_modules/react-leaflet/lib/pane.d.ts","../../node_modules/react-leaflet/lib/polygon.d.ts","../../node_modules/react-leaflet/lib/polyline.d.ts","../../node_modules/react-leaflet/lib/popup.d.ts","../../node_modules/react-leaflet/lib/rectangle.d.ts","../../node_modules/react-leaflet/lib/scalecontrol.d.ts","../../node_modules/react-leaflet/lib/svgoverlay.d.ts","../../node_modules/react-leaflet/lib/tilelayer.d.ts","../../node_modules/react-leaflet/lib/tooltip.d.ts","../../node_modules/react-leaflet/lib/videooverlay.d.ts","../../node_modules/react-leaflet/lib/wmstilelayer.d.ts","../../node_modules/react-leaflet/lib/zoomcontrol.d.ts","../../node_modules/react-leaflet/lib/index.d.ts","../../src/components/map/livemap.tsx","../../src/app/search/page.tsx","../../src/components/layout/header.tsx","../../node_modules/@radix-ui/react-dialog/dist/index.d.mts","../../node_modules/cmdk/dist/index.d.ts","../../src/components/ui/command.tsx","../types/cache-life.d.ts","../types/app/page.ts","../types/app/auth/login/page.ts","../types/app/auth/register/page.ts","../types/app/dashboard/become-performer/page.ts","../types/app/dashboard/offers/page.ts","../types/app/dashboard/offers/[id]/edit/page.ts","../types/app/dashboard/offers/create/page.ts","../types/app/dashboard/profile/page.ts","../types/app/search/page.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/linkify-it/build/index.cjs.d.ts","../../node_modules/@types/linkify-it/index.d.ts","../../node_modules/@types/mdurl/build/index.cjs.d.ts","../../node_modules/@types/markdown-it/dist/index.cjs.d.ts","../../node_modules/@types/markdown-it/index.d.ts","../../node_modules/@types/mdurl/index.d.ts","../../node_modules/@types/use-sync-external-store/index.d.ts"],"fileIdsList":[[99,145,327,681],[99,145,327,685],[99,145,327,715],[99,145,327,721],[99,145,327,722],[99,145,327,716],[99,145,327,739],[99,145,327,548],[99,145,327,783],[99,145,418,419,420,421],[99,145,466,467],[99,145,466],[99,145,662],[99,145,581,594,661],[99,145],[85,99,145,529],[85,99,145,310,528,529],[85,99,145],[85,99,145,528,529,530,531,535],[85,99,145,528,529,537],[85,99,145,675],[85,99,145,528,529,530,531,534,535,536],[85,99,145,528,529,532,533],[85,99,145,528,529,536],[85,99,145,528,529],[85,99,145,528,529,530,531,534,535],[85,89,99,145,194,195,196,197,198,412,459],[99,145,741],[85,99,145,741,749],[85,99,145,746,751],[85,99,145,741],[99,145,741,746],[99,145,741,745,746,748],[85,99,145,745],[85,99,145,741,745,746,748,749,751,752],[99,145,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758],[99,145,741,745,746,747],[99,145,741,748],[99,145,741,745],[99,145,741,746,748],[99,145,693,694,695,696,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[99,145,697,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[99,145,689,693,694,697,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[99,145,694,697,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[99,145,689],[99,145,692],[99,145,690],[99,145,691],[85,99,145,310,694,695,697,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[99,145,740],[99,145,801],[99,145,801,803],[99,145,804],[99,145,803],[99,142,145],[99,144,145],[145],[99,145,150,178],[99,145,146,151,156,164,175,186],[99,145,146,147,156,164],[94,95,96,99,145],[99,145,148,187],[99,145,149,150,157,165],[99,145,150,175,183],[99,145,151,153,156,164],[99,144,145,152],[99,145,153,154],[99,145,155,156],[99,144,145,156],[99,145,156,157,158,175,186],[99,145,156,157,158,171,175,178],[99,145,153,156,159,164,175,186],[99,145,156,157,159,160,164,175,183,186],[99,145,159,161,175,183,186],[97,98,99,100,101,102,103,141,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],[99,145,156,162],[99,145,163,186,191],[99,145,153,156,164,175],[99,145,165],[99,145,166],[99,144,145,167],[99,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],[99,145,169],[99,145,170],[99,145,156,171,172],[99,145,171,173,187,189],[99,145,156,175,176,178],[99,145,177,178],[99,145,175,176],[99,145,178],[99,145,179],[99,142,145,175,180],[99,145,156,181,182],[99,145,181,182],[99,145,150,164,175,183],[99,145,184],[99,145,164,185],[99,145,159,170,186],[99,145,150,187],[99,145,175,188],[99,145,163,189],[99,145,190],[99,140,145],[99,140,145,156,158,167,175,178,186,189,191],[99,145,175,192],[85,89,99,145,194,195,196,198,412,459,524],[85,89,99,145,194,195,196,197,412,459,524],[85,89,99,145,194,195,197,198,412,459,524],[85,89,99,145,195,196,197,198,412,459,524],[85,89,99,145,194,196,197,198,412,459,524],[83,84,99,145],[99,145,512,525],[99,145,512],[85,99,145,785],[85,99,145,501,504],[99,145,499],[99,145,499,501],[99,145,499,500,502,503],[99,145,159,193,280,436,498],[99,145,499,504],[91,99,145],[99,145,416],[99,145,423],[99,145,202,215,216,217,219,376],[99,145,202,206,208,209,210,211,365,376,378],[99,145,376],[99,145,216,232,309,356,372],[99,145,202],[99,145,396],[99,145,376,378,395],[99,145,295,309,337,464],[99,145,302,319,356,371],[99,145,257],[99,145,360],[99,145,359,360,361],[99,145,359],[93,99,145,159,199,202,209,212,213,214,216,220,288,293,339,347,357,367,376,412],[99,145,202,218,246,291,376,392,393,464],[99,145,218,464],[99,145,291,292,293,376,464],[99,145,464],[99,145,202,218,219,464],[99,145,212,358,364],[99,145,170,310,372],[99,145,310,372],[85,99,145,310],[85,99,145,289,310,311],[99,145,237,255,372,448],[99,145,353,443,444,445,446,447],[99,145,352],[99,145,352,353],[99,145,210,234,235,289],[99,145,236,237,289],[99,145,289],[85,99,145,203,437],[85,99,145,186],[85,99,145,218,244],[85,99,145,218],[99,145,242,247],[85,99,145,243,415],[99,145,518],[85,89,99,145,159,193,194,195,196,197,198,412,457,458,524],[99,145,157,159,206,232,260,278,289,362,376,377,464],[99,145,347,363],[99,145,412],[99,145,201],[99,145,170,295,307,328,330,371,372],[99,145,170,295,307,327,328,329,371,372],[99,145,321,322,323,324,325,326],[99,145,323],[99,145,327],[85,99,145,243,310,415],[85,99,145,310,413,415],[85,99,145,310,415],[99,145,278,368],[99,145,368],[99,145,159,377,415],[99,145,315],[99,144,145,314],[99,145,228,229,231,261,289,302,303,304,306,339,371,374,377],[99,145,305],[99,145,229,237,289],[99,145,302,371],[99,145,302,311,312,313,315,316,317,318,319,320,331,332,333,334,335,336,371,372,464],[99,145,300],[99,145,159,170,206,227,229,231,232,233,237,265,278,287,288,339,367,376,377,378,412,464],[99,145,371],[99,144,145,216,231,288,304,319,367,369,370,377],[99,145,302],[99,144,145,227,261,281,296,297,298,299,300,301],[99,145,159,281,282,296,377,378],[99,145,216,278,288,289,304,367,371,377],[99,145,159,376,378],[99,145,159,175,374,377,378],[99,145,159,170,186,199,206,218,228,229,231,232,233,238,260,261,262,264,265,268,269,271,274,275,276,277,289,366,367,372,374,376,377,378],[99,145,159,175],[99,145,202,203,204,206,213,374,375,412,415,464],[99,145,159,175,186,222,394,396,397,398,464],[99,145,170,186,199,222,232,261,262,269,278,286,289,367,372,374,379,380,386,392,408,409],[99,145,212,213,288,347,358,367,376],[99,145,159,186,203,261,374,376,384],[99,145,294],[99,145,159,405,406,407],[99,145,374,376],[99,145,206,231,261,366,415],[99,145,159,170,269,278,374,380,386,388,392,408,411],[99,145,159,212,347,392,401],[99,145,202,238,366,376,403],[99,145,159,218,238,376,387,388,399,400,402,404],[93,99,145,229,230,231,412,415],[99,145,159,170,186,206,212,220,228,232,233,261,262,264,265,277,278,286,289,347,366,367,372,373,374,379,380,381,383,385,415],[99,145,159,175,212,374,386,405,410],[99,145,342,343,344,345,346],[99,145,268,270],[99,145,272],[99,145,270],[99,145,272,273],[99,145,159,206,227,377],[85,99,145,159,170,201,203,206,228,229,231,232,233,259,374,378,412,415],[99,145,159,170,186,205,210,261,373,377],[99,145,296],[99,145,297],[99,145,298],[99,145,221,225],[99,145,159,206,221,228],[99,145,224,225],[99,145,226],[99,145,221,222],[99,145,221,239],[99,145,221],[99,145,267,268,373],[99,145,266],[99,145,222,372,373],[99,145,263,373],[99,145,222,372],[99,145,339],[99,145,223,228,230,261,289,295,304,307,308,338,374,377],[99,145,237,248,251,252,253,254,255],[99,145,355],[99,145,216,230,231,282,289,302,315,319,348,349,350,351,353,354,357,366,371,376],[99,145,237],[99,145,259],[99,145,159,228,230,240,256,258,260,374,412,415],[99,145,237,248,249,250,251,252,253,254,255,413],[99,145,222],[99,145,282,283,286,367],[99,145,159,268,376],[99,145,159],[99,145,281,302],[99,145,280],[99,145,277,282],[99,145,279,281,376],[99,145,159,205,282,283,284,285,376,377],[85,99,145,234,236,289],[99,145,290],[85,99,145,203],[85,99,145,372],[85,93,99,145,231,233,412,415],[99,145,203,437,438],[85,99,145,247],[85,99,145,170,186,201,241,243,245,246,415],[99,145,218,372,377],[99,145,372,382],[85,99,145,157,159,170,201,247,291,412,413,414],[85,99,145,194,195,196,197,198,412,459,524],[85,86,87,88,89,99,145],[99,145,150],[99,145,389,390,391],[99,145,389],[85,89,99,145,159,161,170,193,194,195,196,197,198,199,201,265,327,378,411,415,459,524],[99,145,425],[99,145,427],[99,145,429],[99,145,519],[99,145,431],[99,145,433,434,435],[99,145,439],[90,92,99,145,417,422,424,426,428,430,432,436,440,442,450,451,453,462,463,464,465],[99,145,441],[99,145,449],[99,145,243],[99,145,452],[99,144,145,282,283,284,286,318,372,454,455,456,459,460,461],[99,145,193],[99,145,485],[99,145,483,485],[99,145,474,482,483,484,486,488],[99,145,472],[99,145,475,480,485,488],[99,145,471,488],[99,145,475,476,479,480,481,488],[99,145,475,476,477,479,480,488],[99,145,472,473,474,475,476,480,481,482,484,485,486,488],[99,145,488],[99,145,470,472,473,474,475,476,477,479,480,481,482,483,484,485,486,487],[99,145,470,488],[99,145,475,477,478,480,481,488],[99,145,479,488],[99,145,480,481,485,488],[99,145,473,483],[99,145,688],[99,145,689,690,691],[99,145,689,690,692],[85,99,145,724],[99,145,724],[99,145,724,725,726],[85,99,145,564],[99,145,564,565,566,567,570,571,572,573,574,575,576,579,580],[99,145,564],[99,145,568,569],[85,99,145,561,564],[99,145,558,559,561],[99,145,554,557,559,561],[99,145,558,561],[85,99,145,549,550,551,554,555,556,558,559,560,561],[99,145,551,554,555,556,557,558,559,560,561,562,563],[99,145,558],[99,145,552,558,559],[99,145,552,553],[99,145,557,559,560],[99,145,557],[99,145,549,554,559,560],[85,99,145,554,557,558,559],[99,145,577,578],[85,99,145,741,759],[85,99,145,741,759,762],[85,99,145,740,741,759,762],[99,145,742,743,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780],[85,99,145,740,741,759],[99,145,175,193],[99,145,490,491],[99,145,489,492],[99,112,116,145,186],[99,112,145,175,186],[99,107,145],[99,109,112,145,183,186],[99,145,164,183],[99,107,145,193],[99,109,112,145,164,186],[99,104,105,108,111,145,156,175,186],[99,112,119,145],[99,104,110,145],[99,112,133,134,145],[99,108,112,145,178,186,193],[99,133,145,193],[99,106,107,145,193],[99,112,145],[99,106,107,108,109,110,111,112,113,114,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,134,135,136,137,138,139,145],[99,112,127,145],[99,112,119,120,145],[99,110,112,120,121,145],[99,111,145],[99,104,107,112,145],[99,112,116,120,121,145],[99,116,145],[99,110,112,115,145,186],[99,104,109,112,119,145],[99,145,175],[99,107,112,133,145,191,193],[99,145,672],[99,145,584,585],[99,145,582,583,584,586,587,592],[99,145,583,584],[99,145,592],[99,145,593],[99,145,584],[99,145,582,583,584,587,588,589,590,591],[99,145,582,583,594],[99,145,661],[99,145,661,666],[99,145,656,659,661,664,665,666,667,668,669,670,671],[99,145,595,597,666],[99,145,661,664],[99,145,596,661,665],[99,145,597,599,601,602,603,604],[99,145,599,601,603,604],[99,145,599,601,603],[99,145,596,599,601,602,604],[99,145,595,597,598,599,600,601,602,603,604,605,606,656,657,658,659,660],[99,145,595,597,598,601],[99,145,597,598,601],[99,145,601,604],[99,145,595,596,598,599,600,602,603,604],[99,145,595,596,597,601,661],[99,145,601,602,603,604],[99,145,603],[99,145,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655],[99,145,495,496],[99,145,495],[99,145,442,680],[99,145,442,684],[85,99,145,428,450,508,523,527,581,663,673,674,677,679,687,714],[85,99,145,450,508,515,523,527,543,581,663,673,674,678,679,717,719,720],[85,99,145,442,450,508,515,523,527,543,679],[85,99,145,450,508,514,517,523,527,543,581,663,673,674,678,679,714,723,730,731,732,733,734,736,737,738],[99,145,466,520,522,542,544,545],[99,145,442,523,527,547],[85,99,145,428,516,523,674,687,719,782],[85,99,145,508,523],[99,145,442,508,527],[85,99,145,442,450,508,527,540],[85,99,145,516,741,781],[85,99,145,521,523,527,539],[85,99,145,521],[85,99,145,507,511,523,527,543,727,729],[85,99,145,517],[85,99,145,517,524,526],[85,99,145,508,523,527,543,581,663,673,674,677,735],[85,99,145,517,523,686],[85,99,145,517,786],[85,99,145,523,527],[85,99,145,517,523],[85,99,145,517,523,538],[85,99,145,517,524,581,677],[85,99,145,515,523,527,543],[85,99,145,517,526,676],[85,99,145,517,523,682],[85,99,145,523],[85,99,145,523,527,698,707,713],[85,99,145,508,523,527,543,677,687,735],[99,145,523,679,723],[85,99,145,514,523,718],[85,99,145,517,728],[99,145,521,543],[85,99,145,507,523,674,723],[99,145,497,505,507],[85,99,145,450,508,523,527,581,663,673,674,678,679],[85,99,145,450,508,523,527,581,663,673,674,678,679,683],[99,145,497,509],[99,145,512,513],[99,145,505,506],[99,145,507],[99,145,442,508,510,523,527,539,540,541],[99,145,493]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","signature":false,"impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","signature":false,"impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","signature":false,"impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","signature":false,"impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","signature":false,"impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","signature":false,"impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","signature":false,"impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","signature":false,"impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","signature":false,"impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","signature":false,"impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","signature":false,"impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","signature":false,"impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","signature":false,"impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","signature":false,"impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","signature":false,"impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","signature":false,"impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","signature":false,"impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","signature":false,"impliedFormat":1},{"version":"0f6666b58e9276ac3a38fdc80993d19208442d6027ab885580d93aec76b4ef00","signature":false,"impliedFormat":1},{"version":"05fd364b8ef02fb1e174fbac8b825bdb1e5a36a016997c8e421f5fab0a6da0a0","signature":false,"impliedFormat":1},{"version":"631eff75b0e35d1b1b31081d55209abc43e16b49426546ab5a9b40bdd40b1f60","signature":false,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","signature":false,"impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","signature":false,"impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","signature":false,"impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","signature":false,"impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","signature":false,"impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","signature":false,"impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","signature":false,"impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","signature":false,"impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","signature":false,"impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","signature":false,"impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","signature":false,"impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","signature":false,"impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","signature":false,"impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","signature":false,"impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","signature":false,"impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","signature":false,"impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","signature":false,"impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","signature":false,"impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","signature":false,"impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","signature":false,"impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","signature":false,"impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","signature":false,"impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","signature":false,"impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","signature":false,"impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","signature":false,"impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","signature":false,"impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","signature":false,"impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","signature":false,"impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","signature":false,"impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","signature":false,"impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","signature":false,"impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","signature":false,"impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","signature":false,"impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","signature":false,"impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","signature":false,"impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","signature":false,"impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","signature":false,"impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","signature":false,"impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","signature":false,"impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","signature":false,"impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","signature":false,"impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","signature":false,"impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","signature":false,"impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","signature":false,"impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","signature":false,"impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","signature":false,"impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","signature":false,"impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","signature":false,"impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","signature":false,"impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","signature":false,"impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","signature":false,"impliedFormat":1},{"version":"4b34bdb6f29a4347b7db9c0f8622686035fe25adb1c9e927acd8d22a2cbb6ccb","signature":false,"impliedFormat":1},{"version":"714435130b9015fae551788df2a88038471a5a11eb471f27c4ede86552842bc9","signature":false,"impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","signature":false,"impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","signature":false,"impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"27fdb0da0daf3b337c5530c5f266efe046a6ceb606e395b346974e4360c36419","signature":false,"impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","signature":false,"impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","signature":false,"impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0e456fd5b101271183d99a9087875a282323e3a3ff0d7bcf1881537eaa8b8e63","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","signature":false,"impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","signature":false,"impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","signature":false,"impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","signature":false,"impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","signature":false,"impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","signature":false,"impliedFormat":1},{"version":"47ab634529c5955b6ad793474ae188fce3e6163e3a3fb5edd7e0e48f14435333","signature":false,"impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","signature":false,"impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","signature":false,"impliedFormat":1},{"version":"fad4e3c207fe23922d0b2d06b01acbfb9714c4f2685cf80fd384c8a100c82fd0","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","signature":false,"impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","signature":false,"impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","signature":false,"impliedFormat":1},{"version":"ddc734b4fae82a01d247e9e342d020976640b5e93b4e9b3a1e30e5518883a060","signature":false,"impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","signature":false,"impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","signature":false,"impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","signature":false,"impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","signature":false,"impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","signature":false,"impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"05db535df8bdc30d9116fe754a3473d1b6479afbc14ae8eb18b605c62677d518","signature":false,"impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","signature":false,"impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","signature":false,"impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","signature":false,"impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","signature":false,"impliedFormat":1},{"version":"42bc0e1a903408137c3df2b06dfd7e402cdab5bbfa5fcfb871b22ebfdb30bd0b","signature":false,"impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","signature":false,"impliedFormat":1},{"version":"3da0083607976261730c44908eab1b6262f727747ef3230a65ecd0153d9e8639","signature":false,"impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","signature":false,"impliedFormat":1},{"version":"dd721e5707f241e4ef4ab36570d9e2a79f66aad63a339e3cbdbac7d9164d2431","signature":false,"impliedFormat":1},{"version":"24f8562308dd8ba6013120557fa7b44950b619610b2c6cb8784c79f11e3c4f90","signature":false,"impliedFormat":1},{"version":"3849a7f92d0e11b785f6ae7bedb25d9aad8d1234b3f1cf530a4e7404be26dd0a","signature":false,"impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","signature":false,"impliedFormat":1},{"version":"57d6ac03382e30e9213641ff4f18cf9402bb246b77c13c8e848c0b1ca2b7ef92","signature":false,"impliedFormat":1},{"version":"f040772329d757ecd38479991101ef7bc9bf8d8f4dd8ee5d96fe00aa264f2a2b","signature":false,"impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","signature":false,"impliedFormat":1},{"version":"57e47d02e88abef89d214cdf52b478104dc17997015746e288cbb580beaef266","signature":false,"impliedFormat":1},{"version":"04a2d0bd8166f057cc980608bd5898bfc91198636af3c1eb6cb4eb5e8652fbea","signature":false,"impliedFormat":1},{"version":"376c21ad92ca004531807ea4498f90a740fd04598b45a19335a865408180eddd","signature":false,"impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","signature":false,"impliedFormat":1},{"version":"a9af0e608929aaf9ce96bd7a7b99c9360636c31d73670e4af09a09950df97841","signature":false,"impliedFormat":1},{"version":"48d37b90a04e753a925228f50304d02c4f95d57bf682f8bb688621c3cd9d32ec","signature":false,"impliedFormat":1},{"version":"361e2b13c6765d7f85bb7600b48fde782b90c7c41105b7dab1f6e7871071ba20","signature":false,"impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","signature":false,"impliedFormat":1},{"version":"b6db56e4903e9c32e533b78ac85522de734b3d3a8541bf24d256058d464bf04b","signature":false,"impliedFormat":1},{"version":"24daa0366f837d22c94a5c0bad5bf1fd0f6b29e1fae92dc47c3072c3fdb2fbd5","signature":false,"impliedFormat":1},{"version":"b68c4ed987ef5693d3dccd85222d60769463aca404f2ffca1c4c42781dce388e","signature":false,"impliedFormat":1},{"version":"cfb5b5d514eb4ad0ee25f313b197f3baa493eee31f27613facd71efb68206720","signature":false,"impliedFormat":1},{"version":"65f43099ded6073336e697512d9b80f2d4fec3182b7b2316abf712e84104db00","signature":false,"impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","signature":false,"impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","signature":false,"impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","signature":false,"impliedFormat":1},{"version":"9715fe982fccf375c88ac4d3cc8f6a126a7b7596be8d60190a0c7d22b45b4be4","signature":false,"impliedFormat":1},{"version":"1fe24e25a00c7dd689cb8c0fb4f1048b4a6d1c50f76aaca2ca5c6cdb44e01442","signature":false,"impliedFormat":1},{"version":"672f293c53a07b8c1c1940797cd5c7984482a0df3dd9c1f14aaee8d3474c2d83","signature":false,"impliedFormat":1},{"version":"0a66cb2511fa8e3e0e6ba9c09923f664a0a00896f486e6f09fc11ff806a12b0c","signature":false,"impliedFormat":1},{"version":"d703f98676a44f90d63b3ffc791faac42c2af0dd2b4a312f4afdb5db471df3de","signature":false,"impliedFormat":1},{"version":"0cfe1d0b90d24f5c105db5a2117192d082f7d048801d22a9ea5c62fae07b80a0","signature":false,"impliedFormat":1},{"version":"ef61792acbfa8c27c9bd113f02731e66229f7d3a169e3c1993b508134f1a58e0","signature":false,"impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","signature":false,"impliedFormat":1},{"version":"3ccf230b00deed31582c84b968cb3a977dae3b3446107d7aa790efaa079c06ac","signature":false,"impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","signature":false,"impliedFormat":1},{"version":"5c2e5ca7d53236bbf483a81ae283e2695e291fe69490cd139b33fa9e71838a69","signature":false,"impliedFormat":1},{"version":"a73bee51e3820392023252c36348e62dd72e6bae30a345166e9c78360f1aba7e","signature":false,"impliedFormat":1},{"version":"6ea68b3b7d342d1716cc4293813410d3f09ff1d1ca4be14c42e6d51e810962e1","signature":false,"impliedFormat":1},{"version":"c319e82ac16a5a5da9e28dfdefdad72cebb5e1e67cbdcc63cce8ae86be1e454f","signature":false,"impliedFormat":1},{"version":"a23185bc5ef590c287c28a91baf280367b50ae4ea40327366ad01f6f4a8edbc5","signature":false,"impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","signature":false,"impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","signature":false,"impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","signature":false,"impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","signature":false,"impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","signature":false,"impliedFormat":1},{"version":"0c7c947ff881c4274c0800deaa0086971e0bfe51f89a33bd3048eaa3792d4876","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"db01d18853469bcb5601b9fc9826931cc84cc1a1944b33cad76fd6f1e3d8c544","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","signature":false,"impliedFormat":1},{"version":"a020158a317c07774393974d26723af551e569f1ba4d6524e8e245f10e11b976","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","signature":false,"impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","signature":false,"impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","signature":false,"impliedFormat":1},{"version":"15b36126e0089bfef173ab61329e8286ce74af5e809d8a72edcafd0cc049057f","signature":false,"impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","signature":false,"impliedFormat":1},{"version":"13283350547389802aa35d9f2188effaeac805499169a06ef5cd77ce2a0bd63f","signature":false,"impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","signature":false,"impliedFormat":1},{"version":"d07cbc787a997d83f7bde3877fec5fb5b12ce8c1b7047eb792996ed9726b4dde","signature":false,"impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","signature":false,"impliedFormat":1},{"version":"8bba776476c48b0e319d243f353190f24096057acede3c2f620fee17ff885dba","signature":false,"impliedFormat":1},{"version":"a3abe92070fbd33714bd837806030b39cfb1f8283a98c7c1f55fffeea388809e","signature":false,"impliedFormat":1},{"version":"ceb6696b98a72f2dae802260c5b0940ea338de65edd372ff9e13ab0a410c3a88","signature":false,"impliedFormat":1},{"version":"2cd914e04d403bdc7263074c63168335d44ce9367e8a74f6896c77d4d26a1038","signature":false,"impliedFormat":1},{"version":"ac60bbee0d4235643cc52b57768b22de8c257c12bd8c2039860540cab1fa1d82","signature":false,"impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","signature":false,"impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","signature":false,"impliedFormat":1},{"version":"208c9af9429dd3c76f5927b971263174aaa4bc7621ddec63f163640cbd3c473c","signature":false,"impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","signature":false,"impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","signature":false,"impliedFormat":1},{"version":"3bc8605900fd1668f6d93ce8e14386478b6caa6fda41be633ee0fe4d0c716e62","signature":false,"impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","signature":false,"impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","signature":false,"impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","signature":false,"impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","signature":false,"impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","signature":false,"impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","signature":false,"impliedFormat":1},{"version":"45490817629431853543adcb91c0673c25af52a456479588b6486daba34f68bb","signature":false,"impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","signature":false,"impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","signature":false,"impliedFormat":1},{"version":"9f31420a5040dbfb49ab94bcaaa5103a9a464e607cabe288958f53303f1da32e","signature":false,"impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","signature":false,"impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","signature":false,"impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","signature":false,"impliedFormat":1},{"version":"f11d0dcaa4a1cba6d6513b04ceb31a262f223f56e18b289c0ba3133b4d3cd9a6","signature":false,"impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","signature":false,"impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","signature":false,"impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","signature":false,"impliedFormat":1},{"version":"6dcf60530c25194a9ee0962230e874ff29d34c59605d8e069a49928759a17e0a","signature":false,"impliedFormat":1},{"version":"56013416784a6b754f3855f8f2bf6ce132320679b8a435389aca0361bce4df6b","signature":false,"impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","signature":false,"impliedFormat":1},{"version":"9c066f3b46cf016e5d072b464821c5b21cc9adcc44743de0f6c75e2509a357ab","signature":false,"impliedFormat":1},{"version":"002eae065e6960458bda3cf695e578b0d1e2785523476f8a9170b103c709cd4f","signature":false,"impliedFormat":1},{"version":"c51641ab4bfa31b7a50a0ca37edff67f56fab3149881024345b13f2b48b7d2de","signature":false,"impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","signature":false,"impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","signature":false,"impliedFormat":1},{"version":"52abbd5035a97ebfb4240ec8ade2741229a7c26450c84eb73490dc5ea048b911","signature":false,"impliedFormat":1},{"version":"1042064ece5bb47d6aba91648fbe0635c17c600ebdf567588b4ca715602f0a9d","signature":false,"impliedFormat":1},{"version":"4360ad4de54de2d5c642c4375d5eab0e7fe94ebe8adca907e6c186bbef75a54d","signature":false,"impliedFormat":1},{"version":"c338dff3233675f87a3869417aaea8b8bf590505106d38907dc1d0144f6402ef","signature":false,"impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","signature":false,"impliedFormat":1},{"version":"9c9cae45dc94c2192c7d25f80649414fa13c425d0399a2c7cb2b979e4e50af42","signature":false,"impliedFormat":1},{"version":"068f063c2420b20f8845afadb38a14c640aed6bb01063df224edb24af92b4550","signature":false,"impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","signature":false,"impliedFormat":1},{"version":"b8719d4483ebef35e9cb67cd5677b7e0103cf2ed8973df6aba6fdd02896ddc6e","signature":false,"impliedFormat":1},{"version":"643672ce383e1c58ea665a92c5481f8441edbd3e91db36e535abccbc9035adeb","signature":false,"impliedFormat":1},{"version":"6dd9bcf10678b889842d467706836a0ab42e6c58711e33918ed127073807ee65","signature":false,"impliedFormat":1},{"version":"8fa022ea514ce0ea78ac9b7092a9f97f08ead20c839c779891019e110fce8307","signature":false,"impliedFormat":1},{"version":"c93235337600b786fd7d0ff9c71a00f37ca65c4d63e5d695fc75153be2690f09","signature":false,"impliedFormat":1},{"version":"10179c817a384983f6925f778a2dac2c9427817f7d79e27d3e9b1c8d0564f1f4","signature":false,"impliedFormat":1},{"version":"ce791f6ea807560f08065d1af6014581eeb54a05abd73294777a281b6dfd73c2","signature":false,"impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","signature":false,"impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","signature":false,"impliedFormat":1},{"version":"c0a666b005521f52e2db0b685d659d7ee9b0b60bc0d347dfc5e826c7957bdb83","signature":false,"impliedFormat":1},{"version":"807d38d00ce6ab9395380c0f64e52f2f158cc804ac22745d8f05f0efdec87c33","signature":false,"impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","signature":false,"impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","signature":false,"impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","signature":false,"impliedFormat":1},{"version":"e17cd049a1448de4944800399daa4a64c5db8657cc9be7ef46be66e2a2cd0e7c","signature":false,"impliedFormat":1},{"version":"d05fb434f4ba073aed74b6c62eff1723c835de2a963dbb091e000a2decb5a691","signature":false,"impliedFormat":1},{"version":"10e6166be454ddb8c81000019ce1069b476b478c316e7c25965a91904ec5c1e3","signature":false,"impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","signature":false,"impliedFormat":1},{"version":"4d4927cbee21750904af7acf940c5e3c491b4d5ebc676530211e389dd375607a","signature":false,"impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","signature":false,"impliedFormat":1},{"version":"703989a003790524b4e34a1758941d05c121d5d352bccca55a5cfb0c76bca592","signature":false,"impliedFormat":1},{"version":"a58abf1f5c8feb335475097abeddd32fd71c4dc2065a3d28cf15cacabad9654a","signature":false,"impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","signature":false,"impliedFormat":1},{"version":"2d7db1d73456e8c5075387d4240c29a2a900847f9c1bff106a2e490da8fbd457","signature":false,"impliedFormat":1},{"version":"2b15c805f48e4e970f8ec0b1915f22d13ca6212375e8987663e2ef5f0205e832","signature":false,"impliedFormat":1},{"version":"671aeae7130038566a8d00affeb1b3e3b131edf93cbcfff6f55ed68f1ca4c1b3","signature":false,"impliedFormat":1},{"version":"f0f05149debcf31b3a717ce8dd16e0323a789905cb9e27239167b604153b8885","signature":false,"impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","signature":false,"impliedFormat":1},{"version":"955c69dde189d5f47a886ed454ff50c69d4d8aaec3a454c9ab9c3551db727861","signature":false,"impliedFormat":1},{"version":"cec8b16ff98600e4f6777d1e1d4ddf815a5556a9c59bc08cc16db4fd4ae2cf00","signature":false,"impliedFormat":1},{"version":"9e21f8e2c0cfea713a4a372f284b60089c0841eb90bf3610539d89dbcd12d65a","signature":false,"impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","signature":false,"impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","signature":false,"impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","signature":false,"impliedFormat":1},{"version":"c226288bda11cee97850f0149cc4ff5a244d42ed3f5a9f6e9b02f1162bf1e3f4","signature":false,"impliedFormat":1},{"version":"210a4ec6fd58f6c0358e68f69501a74aef547c82deb920c1dec7fa04f737915a","signature":false,"impliedFormat":1},{"version":"8eea4cc42d04d26bcbcaf209366956e9f7abaf56b0601c101016bb773730c5fe","signature":false,"impliedFormat":1},{"version":"f5319e38724c54dff74ee734950926a745c203dcce00bb0343cb08fbb2f6b546","signature":false,"impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","signature":false,"impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","signature":false,"impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","signature":false,"impliedFormat":1},{"version":"12b8dfed70961bea1861e5d39e433580e71323abb5d33da6605182ec569db584","signature":false,"impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","signature":false,"impliedFormat":1},{"version":"7e560f533aaf88cf9d3b427dcf6c112dd3f2ee26d610e2587583b6c354c753db","signature":false,"impliedFormat":1},{"version":"71e0082342008e4dfb43202df85ea0986ef8e003c921a1e49999d0234a3019da","signature":false,"impliedFormat":1},{"version":"27ab780875bcbb65e09da7496f2ca36288b0c541abaa75c311450a077d54ec15","signature":false,"impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","signature":false,"impliedFormat":1},{"version":"e71e103fb212e015394def7f1379706fce637fec9f91aa88410a73b7c5cbd4e3","signature":false,"impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","signature":false,"impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","signature":false,"impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","signature":false,"impliedFormat":1},{"version":"bd4131091b773973ca5d2326c60b789ab1f5e02d8843b3587effe6e1ea7c9d86","signature":false,"impliedFormat":1},{"version":"794998dc1c5a19ce77a75086fe829fb9c92f2fd07b5631c7d5e0d04fd9bc540c","signature":false,"impliedFormat":1},{"version":"2b0b12d0ee52373b1e7b09226eae8fbf6a2043916b7c19e2c39b15243f32bde2","signature":false,"impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","signature":false,"impliedFormat":1},{"version":"0427df5c06fafc5fe126d14b9becd24160a288deff40e838bfbd92a35f8d0d00","signature":false,"impliedFormat":1},{"version":"bdc5fd605a6d315ded648abf2c691a22d0b0c774b78c15512c40ddf138e51950","signature":false,"impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","signature":false,"impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","signature":false,"impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","signature":false,"impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","signature":false,"impliedFormat":1},{"version":"6cd4b0986c638d92f7204d1407b1cb3e0a79d7a2d23b0f141c1a0829540ce7ef","signature":false,"impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","signature":false,"impliedFormat":1},{"version":"6511e4503cf74c469c60aafd6589e4d14d5eb0a25f9bf043dcbecdf65f261972","signature":false,"impliedFormat":1},{"version":"d58265e159fc3cb30aa8878ba5e986a314b1759c824ff66d777b9fe42117231a","signature":false,"impliedFormat":1},{"version":"ff8fccaae640b0bb364340216dcc7423e55b6bb182ca2334837fee38636ad32e","signature":false,"impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","signature":false,"impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","signature":false,"impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","signature":false,"impliedFormat":1},{"version":"59ee66cf96b093b18c90a8f6dbb3f0e3b65c758fba7b8b980af9f2726c32c1a2","signature":false,"impliedFormat":1},{"version":"c590195790d7fa35b4abed577a605d283b8336b9e01fa9bf4ae4be49855940f9","signature":false,"impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","signature":false,"impliedFormat":1},{"version":"026a43d8239b8f12d2fc4fa5a7acbc2ad06dd989d8c71286d791d9f57ca22b78","signature":false,"impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","signature":false,"impliedFormat":1},{"version":"14cf3683955f914b4695e92c93aae5f3fe1e60f3321d712605164bfe53b34334","signature":false,"impliedFormat":1},{"version":"12f0fb50e28b9d48fe5b7580580efe7cc0bd38e4b8c02d21c175aa9a4fd839b0","signature":false,"impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","signature":false,"impliedFormat":1},{"version":"7cd657e359eac7829db5f02c856993e8945ffccc71999cdfb4ab3bf801a1bbc6","signature":false,"impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","signature":false,"impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","signature":false,"impliedFormat":1},{"version":"29c2aa0712786a4a504fce3acd50928f086027276f7490965cb467d2ce638bae","signature":false,"impliedFormat":1},{"version":"f14e63395b54caecc486f00a39953ab00b7e4d428a4e2c38325154b08eb5dcc2","signature":false,"impliedFormat":1},{"version":"e749bbd37dadf82c9833278780527c717226e1e2c9bc7b2576c8ec1c40ec5647","signature":false,"impliedFormat":1},{"version":"46e4e179b295f08d0bd0176fe44cf6c89558c9091d3cb3894f9eaaa42ea1add1","signature":false,"impliedFormat":1},{"version":"1101ceda2dfd8e0c7ae87cda8053533a187ecc58c5ef72074afb97d2bf4daa08","signature":false,"impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","signature":false,"impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","signature":false,"impliedFormat":1},{"version":"05c97cddbaf99978f83d96de2d8af86aded9332592f08ce4a284d72d0952c391","signature":false,"impliedFormat":1},{"version":"72179f9dd22a86deaad4cc3490eb0fe69ee084d503b686985965654013f1391b","signature":false,"impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","signature":false,"impliedFormat":1},{"version":"7b6ff760c8a240b40dab6e4419b989f06a5b782f4710d2967e67c695ef3e93c4","signature":false,"impliedFormat":1},{"version":"29164fb428c851bc35b632761daad3ae075993a0bf9c43e9e3bc6468b32d9aa5","signature":false,"impliedFormat":1},{"version":"3c01539405051bffccacffd617254c8d0f665cdce00ec568c6f66ccb712b734f","signature":false,"impliedFormat":1},{"version":"ef9021bdfe54f4df005d0b81170bd2da9bfd86ef552cde2a049ba85c9649658f","signature":false,"impliedFormat":1},{"version":"17a1a0d1c492d73017c6e9a8feb79e9c8a2d41ef08b0fe51debc093a0b2e9459","signature":false,"impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","signature":false,"impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","signature":false,"impliedFormat":1},{"version":"96e1caae9b78cde35c62fee46c1ec9fa5f12c16bc1e2ab08d48e5921e29a6958","signature":false,"impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","signature":false,"impliedFormat":1},{"version":"9e0327857503a958348d9e8e9dd57ed155a1e6ec0071eb5eb946fe06ccdf7680","signature":false,"impliedFormat":1},{"version":"6c800b281b9e89e69165fd11536195488de3ff53004e55905e6c0059a2d8591e","signature":false,"impliedFormat":1},{"version":"01aa917531e116485beca44a14970834687b857757159769c16b228eb1e49c5f","signature":false,"impliedFormat":1},{"version":"397f568f996f8ffcf12d9156342552b0da42f6571eadba6bce61c99e1651977d","signature":false,"impliedFormat":1},{"version":"e2fd426f3cbc5bbff7860378784037c8fa9c1644785eed83c47c902b99b6cda9","signature":false,"impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","signature":false,"impliedFormat":1},{"version":"a52674bc98da7979607e0f44d4c015c59c1b1d264c83fc50ec79ff2cfea06723","signature":false,"impliedFormat":1},{"version":"bcca16e60015db8bbf6bd117e88c5f7269337aebb05fc2b0701ae658a458c9c3","signature":false,"impliedFormat":1},{"version":"5e1246644fab20200cdc7c66348f3c861772669e945f2888ef58b461b81e1cd8","signature":false,"impliedFormat":1},{"version":"eb39550e2485298d91099e8ab2a1f7b32777d9a5ba34e9028ea8df2e64891172","signature":false,"impliedFormat":1},{"version":"e108f38a04a607f9386d68a4c6f3fdae1b712960f11f6482c6f1769bab056c2e","signature":false,"impliedFormat":1},{"version":"a3128a84a9568762a2996df79717d92154d18dd894681fc0ab3a098fa7f8ee3b","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"347791f3792f436950396dd6171d6450234358001ae7c94ca209f1406566ccbf","signature":false,"impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","signature":false,"impliedFormat":1},{"version":"714d8ebb298c7acc9bd1f34bd479c57d12b73371078a0c5a1883a68b8f1b9389","signature":false,"impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","signature":false,"impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","signature":false,"impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","signature":false,"impliedFormat":1},{"version":"51bf55bb6eb80f11b3aa59fb0a9571565a7ea304a19381f6da5630f4b2e206c4","signature":false,"impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","signature":false,"impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","signature":false,"impliedFormat":1},{"version":"02f8ef78d46c5b27f108dbb56709daa0aff625c20247abb0e6bb67cd73439f9f","signature":false,"impliedFormat":1},{"version":"b7fff2d004c5879cae335db8f954eb1d61242d9f2d28515e67902032723caeab","signature":false,"impliedFormat":1},{"version":"5f3dc10ae646f375776b4e028d2bed039a93eebbba105694d8b910feebbe8b9c","signature":false,"impliedFormat":1},{"version":"bb0cd7862b72f5eba39909c9889d566e198fcaddf7207c16737d0c2246112678","signature":false,"impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","signature":false,"impliedFormat":1},{"version":"6812502cc640de74782ce9121592ae3765deb1c5c8e795b179736b308dd65e90","signature":false,"impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","signature":false,"impliedFormat":1},{"version":"2b664c3cc544d0e35276e1fb2d4989f7d4b4027ffc64da34ec83a6ccf2e5c528","signature":false,"impliedFormat":1},{"version":"a3f41ed1b4f2fc3049394b945a68ae4fdefd49fa1739c32f149d32c0545d67f5","signature":false,"impliedFormat":1},{"version":"bad68fd0401eb90fe7da408565c8aee9c7a7021c2577aec92fa1382e8876071a","signature":false,"impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","signature":false,"impliedFormat":1},{"version":"fec01479923e169fb52bd4f668dbeef1d7a7ea6e6d491e15617b46f2cacfa37d","signature":false,"impliedFormat":1},{"version":"8a8fb3097ba52f0ae6530ec6ab34e43e316506eb1d9aa29420a4b1e92a81442d","signature":false,"impliedFormat":1},{"version":"44e09c831fefb6fe59b8e65ad8f68a7ecc0e708d152cfcbe7ba6d6080c31c61e","signature":false,"impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","signature":false,"impliedFormat":1},{"version":"b10bc147143031b250dc36815fd835543f67278245bf2d0a46dca765f215124e","signature":false,"impliedFormat":1},{"version":"87affad8e2243635d3a191fa72ef896842748d812e973b7510a55c6200b3c2a4","signature":false,"impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","signature":false,"impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","signature":false,"impliedFormat":1},{"version":"1e4c6ac595b6d734c056ac285b9ee50d27a2c7afe7d15bd14ed16210e71593b0","signature":false,"impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","signature":false,"impliedFormat":1},{"version":"330896c1a2b9693edd617be24fbf9e5895d6e18c7955d6c08f028f272b37314d","signature":false,"impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","signature":false,"impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","signature":false,"impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","signature":false,"impliedFormat":1},{"version":"3c7b3aecd652169787b3c512d8f274a3511c475f84dcd6cead164e40cad64480","signature":false,"impliedFormat":1},{"version":"9a01f12466488eccd8d9eafc8fecb9926c175a4bf4a8f73a07c3bcf8b3363282","signature":false,"impliedFormat":1},{"version":"b80f624162276f24a4ec78b8e86fbee80ca255938e12f8b58e7a8f1a6937120b","signature":false,"impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","signature":false,"impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","signature":false,"impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","signature":false,"impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","signature":false,"impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","signature":false,"impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","signature":false,"impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","signature":false,"impliedFormat":1},{"version":"b95a6f019095dd1d48fd04965b50dfd63e5743a6e75478343c46d2582a5132bf","signature":false,"impliedFormat":99},{"version":"c2008605e78208cfa9cd70bd29856b72dda7ad89df5dc895920f8e10bcb9cd0a","signature":false,"impliedFormat":99},{"version":"b97cb5616d2ab82a98ec9ada7b9e9cabb1f5da880ec50ea2b8dc5baa4cbf3c16","signature":false,"impliedFormat":99},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","signature":false,"impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","signature":false,"impliedFormat":1},{"version":"00b0f43b3770f66aa1e105327980c0ff17a868d0e5d9f5689f15f8d6bf4fb1f4","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"272a7e7dbe05e8aaba1662ef1a16bbd57975cc352648b24e7a61b7798f3a0ad7","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"a1219ee18b9282b4c6a31f1f0bcc9255b425e99363268ba6752a932cf76662f0","signature":false,"impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","signature":false,"impliedFormat":1},{"version":"1d63055b690a582006435ddd3aa9c03aac16a696fac77ce2ed808f3e5a06efab","signature":false,"impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","signature":false,"impliedFormat":1},{"version":"9a964c445118d72402f630b029a9f48cb1b5682c49df14ec08e66513096929ec","signature":false},{"version":"7d68e98a94d0639cdb903d89ce63c74e0b10b9f6bb0c876da6483230e2476ba9","signature":false},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","signature":false,"impliedFormat":1},{"version":"8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","signature":false,"impliedFormat":1},{"version":"333caa2bfff7f06017f114de738050dd99a765c7eb16571c6d25a38c0d5365dc","signature":false,"impliedFormat":1},{"version":"e61df3640a38d535fd4bc9f4a53aef17c296b58dc4b6394fd576b808dd2fe5e6","signature":false,"impliedFormat":1},{"version":"459920181700cec8cbdf2a5faca127f3f17fd8dd9d9e577ed3f5f3af5d12a2e4","signature":false,"impliedFormat":1},{"version":"4719c209b9c00b579553859407a7e5dcfaa1c472994bd62aa5dd3cc0757eb077","signature":false,"impliedFormat":1},{"version":"7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","signature":false,"impliedFormat":1},{"version":"70790a7f0040993ca66ab8a07a059a0f8256e7bb57d968ae945f696cbff4ac7a","signature":false,"impliedFormat":1},{"version":"d1b9a81e99a0050ca7f2d98d7eedc6cda768f0eb9fa90b602e7107433e64c04c","signature":false,"impliedFormat":1},{"version":"a022503e75d6953d0e82c2c564508a5c7f8556fad5d7f971372d2d40479e4034","signature":false,"impliedFormat":1},{"version":"b215c4f0096f108020f666ffcc1f072c81e9f2f95464e894a5d5f34c5ea2a8b1","signature":false,"impliedFormat":1},{"version":"644491cde678bd462bb922c1d0cfab8f17d626b195ccb7f008612dc31f445d2d","signature":false,"impliedFormat":1},{"version":"dfe54dab1fa4961a6bcfba68c4ca955f8b5bbeb5f2ab3c915aa7adaa2eabc03a","signature":false,"impliedFormat":1},{"version":"1251d53755b03cde02466064260bb88fd83c30006a46395b7d9167340bc59b73","signature":false,"impliedFormat":1},{"version":"47865c5e695a382a916b1eedda1b6523145426e48a2eae4647e96b3b5e52024f","signature":false,"impliedFormat":1},{"version":"4cdf27e29feae6c7826cdd5c91751cc35559125e8304f9e7aed8faef97dcf572","signature":false,"impliedFormat":1},{"version":"331b8f71bfae1df25d564f5ea9ee65a0d847c4a94baa45925b6f38c55c7039bf","signature":false,"impliedFormat":1},{"version":"2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","signature":false,"impliedFormat":1},{"version":"0146fd6262c3fd3da51cb0254bb6b9a4e42931eb2f56329edd4c199cb9aaf804","signature":false,"impliedFormat":1},{"version":"183f480885db5caa5a8acb833c2be04f98056bdcc5fb29e969ff86e07efe57ab","signature":false,"impliedFormat":99},{"version":"b558c9a18ea4e6e4157124465c3ef1063e64640da139e67be5edb22f534f2f08","signature":false,"impliedFormat":1},{"version":"01374379f82be05d25c08d2f30779fa4a4c41895a18b93b33f14aeef51768692","signature":false,"impliedFormat":1},{"version":"b0dee183d4e65cf938242efaf3d833c6b645afb35039d058496965014f158141","signature":false,"impliedFormat":1},{"version":"c0bbbf84d3fbd85dd60d040c81e8964cc00e38124a52e9c5dcdedf45fea3f213","signature":false,"impliedFormat":1},{"version":"7df7f160578bad4512c7593d6e938349221834e23936ef5929d067450e10cc28","signature":false},{"version":"4d7d964609a07368d076ce943b07106c5ebee8138c307d3273ba1cf3a0c3c751","signature":false,"impliedFormat":99},{"version":"0e48c1354203ba2ca366b62a0f22fec9e10c251d9d6420c6d435da1d079e6126","signature":false,"impliedFormat":99},{"version":"0662a451f0584bb3026340c3661c3a89774182976cd373eca502a1d3b5c7b580","signature":false,"impliedFormat":99},{"version":"79c164aa4f8a8418df7717206ea52508f72743224a6b9c705f10724c6dbb5548","signature":false,"impliedFormat":1},{"version":"caa2f926a71f9c5ef3debf83a7394486a989da4137567bdc5f1245fd2b27c183","signature":false,"impliedFormat":1},{"version":"a4cc6642dbac0940ba3d598e7dfa725966e62e2fccaffb0cc4c3500282cb02fb","signature":false,"impliedFormat":1},{"version":"8645296e05213c756446da531f1c636e25321042de5146a053d7b7f131962bc2","signature":false,"impliedFormat":1},{"version":"502cf56784c536d8ae77460a6cdfa2109b5174b76362cfd2af44be1276defde3","signature":false,"impliedFormat":1},{"version":"79b15f48d0a5bb5bc8f6c6d24e85a2436d9fb2d821f96df20a0f14f22d26af04","signature":false,"impliedFormat":1},{"version":"4d7a84192199fcca1d034c52ba04afaaf1846e5d1757d051a8df153b9f8060ee","signature":false,"impliedFormat":1},{"version":"a4571ad82d9be612b057631489b82bf21c9ba2c62a54a95fbf54084d74c91a84","signature":false,"impliedFormat":1},{"version":"faf770b3935c2ba6558b2bb65af5d5de58945d81f496dc1a5938c41a1abb358b","signature":false,"impliedFormat":99},{"version":"d3f63dcecb47ebf02d226a0a61d7215984a071b53ff5287097bae60840e883a2","signature":false},{"version":"5c53fa338f17269006641720ffacb7b8dcffbe1ae490a7748a05c370542e98fa","signature":false},{"version":"8434eb541da544ecf91df31241a572e025e8e09a1189b74104b17d8d4f3b6b88","signature":false},{"version":"12542f4de322c9de3ffb41bdd76304fe049bbd574be648839be64d6bc8900038","signature":false},{"version":"42721654fa733adf2fd711f8b1a765322a56a1098cf352e49f7ef3f339f40e00","signature":false},{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","signature":false,"impliedFormat":99},{"version":"26c57c9f839e6d2048d6c25e81f805ba0ca32a28fd4d824399fd5456c9b0575b","signature":false,"impliedFormat":1},{"version":"baf4730dcce9ea1becc677a43a7fbae1935cbbec60d194f92282ca66d80f95fc","signature":false},{"version":"60082030cae9e5b82f3da9c799eb62f30c4bdb3d174dda5888d40d455d9b6316","signature":false},{"version":"9e025fd7e1fa24aa24957896c1977b2790047a9f4d97f2b3ef47650d28660a2f","signature":false},{"version":"080406305986868acc2affd70b8b93a852a24b932726e1facea204031a3ae89c","signature":false},{"version":"fe93c474ab38ac02e30e3af073412b4f92b740152cf3a751fdaee8cbea982341","signature":false,"impliedFormat":1},{"version":"e0df902c15945ef39f5ca04453ea781f99c05c13edf1db35d4d20dc259383c65","signature":false,"impliedFormat":1},{"version":"1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7","signature":false,"impliedFormat":1},{"version":"6c05d0fcee91437571513c404e62396ee798ff37a2d8bef2104accdc79deb9c0","signature":false,"impliedFormat":1},{"version":"e1ae0d3ccd55edfe75edead6b1d1c9cce04c335abc2a72d2c7a2b1e1ce9c960f","signature":false},{"version":"40eb4eb274d7def754b3352c23328af96a69261fe5e99d20df41f1d5de8d0f5e","signature":false,"impliedFormat":1},{"version":"a346701ad6dcdaa58e388fe0995fc5304c09c395b8cba68ed872780f8c102004","signature":false,"impliedFormat":99},{"version":"2fbe402f0ee5aa8ab55367f88030f79d46211c0a0f342becaa9f648bf8534e9d","signature":false,"impliedFormat":1},{"version":"b94258ef37e67474ac5522e9c519489a55dcb3d4a8f645e335fc68ea2215fe88","signature":false,"impliedFormat":1},{"version":"fae0f4d02169c9c6e4b199a428d42b83298505dfd9d9d6d4b5e6b956c4350f36","signature":false},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","signature":false,"impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","signature":false,"impliedFormat":99},{"version":"7ec047b73f621c526468517fea779fec2007dd05baa880989def59126c98ef79","signature":false,"impliedFormat":99},{"version":"8dd450de6d756cee0761f277c6dc58b0b5a66b8c274b980949318b8cad26d712","signature":false,"impliedFormat":99},{"version":"6b5f886fe41e2e767168e491fe6048398ed6439d44e006d9f51cc31265f08978","signature":false,"impliedFormat":99},{"version":"56a87e37f91f5625eb7d5f8394904f3f1e2a90fb08f347161dc94f1ae586bdd0","signature":false,"impliedFormat":99},{"version":"6b863463764ae572b9ada405bf77aac37b5e5089a3ab420d0862e4471051393b","signature":false,"impliedFormat":99},{"version":"904d6ad970b6bd825449480488a73d9b98432357ab38cf8d31ffd651ae376ff5","signature":false,"impliedFormat":99},{"version":"68b6a7501a56babd7bcd840e0d638ee7ec582f1e70b3c36ebf32e5e5836913c8","signature":false,"impliedFormat":99},{"version":"89783bd45ab35df55203b522f8271500189c3526976af533a599a86caaf31362","signature":false,"impliedFormat":99},{"version":"26e6c521a290630ea31f0205a46a87cab35faac96e2b30606f37bae7bcda4f9d","signature":false,"impliedFormat":99},{"version":"511c39206fc69bec57f51f315b7beaee6c5f855573241bf5c7671a63d6c00594","signature":false},{"version":"085025c1c561388132836258721c1c8ab6b9fcea2371d32074de8f51d5f37aaa","signature":false},{"version":"a1cfa5b32c36e92d7c310216c00b364c69a2a58286243ab4de668de382a44cf4","signature":false},{"version":"d25ef0d5eeb62be72a2e3d6aa99ae18745253b0bc86a839e055278c6e92edf35","signature":false},{"version":"e6b8f3cd057e49a50b57a52acc38cff7c224def2249464d489295e0e1d200af6","signature":false,"impliedFormat":1},{"version":"9186cdc17ebe8380a0a695f577534c13c08f63b9650c54b56fcc8dd401d09ff0","signature":false},{"version":"6b14be1e187126b754f07b358473cafe91b6b5ba99f8d2e5908ffc3e6c73e3fc","signature":false},{"version":"abd49c80df90619258eccb78eec3e4e21cd0c6f5b68960f0382b85607861ff18","signature":false},{"version":"57ff5b5a9de8ec579fabf1652ac9f748e09869a237da45e8f603f2d953d831eb","signature":false},{"version":"a80036d900071ec547fe6eaa09b1e94f369c27f659663bd57567448f58985e03","signature":false},{"version":"91b4ce96f6ad631a0a6920eb0ab928159ff01a439ae0e266ecdc9ea83126a195","signature":false,"impliedFormat":1},{"version":"88efe27bebddb62da9655a9f093e0c27719647e96747f16650489dc9671075d6","signature":false,"impliedFormat":1},{"version":"e348f128032c4807ad9359a1fff29fcbc5f551c81be807bfa86db5a45649b7ba","signature":false,"impliedFormat":1},{"version":"8ee6b07974528da39b7835556e12dd3198c0a13e4a9de321217cd2044f3de22e","signature":false,"impliedFormat":1},{"version":"deefd8c43b40f9797c3921d78d3f9243959621a17b817be7f5d95c149f23a9dd","signature":false,"impliedFormat":1},{"version":"5f12132800d430adbe59b49c2c0354d85a71ada7d756e34250a655baa8ad4ae5","signature":false,"impliedFormat":1},{"version":"1996d1cd7d585a8359a35878f67abdd73cc35b1f675c9c6b147b202fdd8dfc3f","signature":false,"impliedFormat":1},{"version":"b16e757e4c35434065120a2b3bf13a518fc9e621dc9c2ed668f91635a9dc4e75","signature":false,"impliedFormat":1},{"version":"7c18088ccbca1cfe297c22f4cf598a3a36e798efe63f572e39442e9b6af7ccf9","signature":false,"impliedFormat":1},{"version":"d02ced7accb512e6198b796b8d284e7979abde0f089b0a77969747a5f27bfb23","signature":false,"impliedFormat":1},{"version":"4374cefdde5c6e9bad52b0436e887b8325b8f407c12035194ad02c28f1553a3a","signature":false,"impliedFormat":1},{"version":"9b70cad270593f676aecfe4d1611dc766464f0b8138527b0ebbf1ff773578d69","signature":false,"impliedFormat":1},{"version":"b4f85bfb7e831703ac81737361842f1ae4d924b42c5d1af2bff93cca521de4d1","signature":false,"impliedFormat":1},{"version":"ee933420aacba1f60aa70fb8ba47c5e69001b005073b71973114587089a13c7f","signature":false,"impliedFormat":1},{"version":"0a0714999d0a5bdfacd15c7b34cffbcc6f263f6cb0ccb42076cdc541c6987797","signature":false,"impliedFormat":1},{"version":"56584bfc655f9df64afc0f22f7d1122c29e5b74b342c203b891e19de9fa37de8","signature":false,"impliedFormat":1},{"version":"40ec58f0fadd0b3981b3d383e1c12fa0680115ae9f018387fc2cfc0bbcf23204","signature":false,"impliedFormat":1},{"version":"849b9e7283b7309a4556c9b90bb8e2dfc27751f157798065bbc513dcddb09a8c","signature":false,"impliedFormat":1},{"version":"76bba0c97594248c1be19af32d5799f7eff51cec2926d8e4dd59267d7636a0b4","signature":false,"impliedFormat":1},{"version":"10e109212c7be8a9f66e988e5d6c2a8900c9d14bf6beadf5fa70d32ada3425cf","signature":false,"impliedFormat":1},{"version":"2b821aeb31e690092f8eae671dd961a9d0fd598ff4883ce0a600c90e9e8fa716","signature":false,"impliedFormat":1},{"version":"26602933b613e4df3868a6c82e14fffa2393a08531cb333ed27b151923462981","signature":false,"impliedFormat":1},{"version":"f57a588d8f6b3ce5c8b494f2dc759a8885eaee18e80a4952df47de45403fedbe","signature":false,"impliedFormat":1},{"version":"34735727b3fe7a0ed0651a0f88d06449163d1989a2b2de7f047473adc7c1c383","signature":false,"impliedFormat":1},{"version":"a5b13abc88ab3186e713c445e59e2f6eee20c6167943517bc2f56985d89b8c55","signature":false,"impliedFormat":1},{"version":"c8a206a6ba4e32710ebb4a389187772423de0f4f6180b95a7ef1a5a1934c1be6","signature":false,"impliedFormat":1},{"version":"7ae65fe95b18205e241e6695cb2c61c0828d660aca7d08f68781b439a800e6b8","signature":false,"impliedFormat":1},{"version":"c2c8c166199d3a7bd093152437d1f6399d05e458a9ca9364456feecba920cda4","signature":false,"impliedFormat":1},{"version":"369b7270eeeb37982203b2cb18c7302947b89bf5818c1d3d2e95a0418f02b74e","signature":false,"impliedFormat":1},{"version":"94f95d223e2783b0aef4d15d7f6990a6a550fe17d099c501395f690337f7105e","signature":false,"impliedFormat":1},{"version":"039bd8d1e0d151570b66e75ee152877fb0e2f42eca43718632ac195e6884be34","signature":false,"impliedFormat":1},{"version":"d565d66b38d54de037c9d46dede1f12630010d9b45fd9c6b432c7a40b2e30502","signature":false,"impliedFormat":1},{"version":"d7386a1ebe9a3eae227a5561c898c10cacb61a49f941c5a18cdf593f979c693c","signature":false,"impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","signature":false,"impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","signature":false,"impliedFormat":1},{"version":"36eb5babc665b890786550d4a8cb20ef7105673a6d5551fbdd7012877bb26942","signature":false,"impliedFormat":1},{"version":"fec412ded391a7239ef58f455278154b62939370309c1fed322293d98c8796a6","signature":false,"impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","signature":false,"impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","signature":false,"impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","signature":false,"impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","signature":false,"impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","signature":false,"impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","signature":false,"impliedFormat":1},{"version":"93c3e73824ad57f98fd23b39335dbdae2db0bd98199b0dc0b9ccc60bf3c5134a","signature":false,"impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","signature":false,"impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","signature":false,"impliedFormat":1},{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","signature":false,"impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","signature":false,"impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","signature":false,"impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","signature":false,"impliedFormat":1},{"version":"82919acbb38870fcf5786ec1292f0f5afe490f9b3060123e48675831bd947192","signature":false,"impliedFormat":1},{"version":"e222701788ec77bd57c28facbbd142eadf5c749a74d586bc2f317db7e33544b1","signature":false,"impliedFormat":1},{"version":"09154713fae0ed7befacdad783e5bd1970c06fc41a5f866f7f933b96312ce764","signature":false,"impliedFormat":1},{"version":"8d67b13da77316a8a2fabc21d340866ddf8a4b99e76a6c951cc45189142df652","signature":false,"impliedFormat":1},{"version":"a91c8d28d10fee7fe717ddf3743f287b68770c813c98f796b6e38d5d164bd459","signature":false,"impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","signature":false,"impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","signature":false,"impliedFormat":1},{"version":"f6f827cd43e92685f194002d6b52a9408309cda1cec46fb7ca8489a95cbd2fd4","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"a270a1a893d1aee5a3c1c8c276cd2778aa970a2741ee2ccf29cc3210d7da80f5","signature":false,"impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","signature":false,"impliedFormat":1},{"version":"8926594ee895917e90701d8cbb5fdf77fc238b266ac540f929c7253f8ad6233d","signature":false,"impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","signature":false,"impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","signature":false,"impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","signature":false,"impliedFormat":1},{"version":"8e6427dd1a4321b0857499739c641b98657ea6dc7cc9a02c9b2c25a845c3c8e6","signature":false,"impliedFormat":1},{"version":"58da08d1fe876c79c47dcf88be37c5c3fab55d97b34c8c09a666599a2191208d","signature":false,"impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","signature":false,"impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","signature":false,"impliedFormat":1},{"version":"ed8763205f02fb65e84eff7432155258df7f93b7d938f01785cb447d043d53f3","signature":false,"impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","signature":false,"impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","signature":false,"impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","signature":false,"impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","signature":false,"impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","signature":false,"impliedFormat":1},{"version":"d4a5b1d2ff02c37643e18db302488cd64c342b00e2786e65caac4e12bda9219b","signature":false,"impliedFormat":1},{"version":"29f823cbe0166e10e7176a94afe609a24b9e5af3858628c541ff8ce1727023cd","signature":false,"impliedFormat":1},{"version":"2050fff09d41b8747400b517cf5cd22254a148b21b28ed9593a8b4761a9e95bb","signature":false},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","signature":false,"impliedFormat":99},{"version":"71acd198e19fa38447a3cbc5c33f2f5a719d933fccf314aaff0e8b0593271324","signature":false,"impliedFormat":99},{"version":"c092c48319f3f5b718e2eb728069973669751a81c1b57ba64aa1a140a5526579","signature":false},{"version":"dacb35f90a46968cdcb88f6efe05a260015e022953bc27e6c5e1ab1a56901d91","signature":false},{"version":"94dd387a40ea9fe58e71ca576ee0516a078d7764600a41ed15e60d3133bc8620","signature":false},{"version":"b5d15fe4bf6fb265975633ea3ee79788ea823bb63b53bc63d1f2b276d2353406","signature":false},{"version":"48ccda7e9bdf094da0b2d269bee05974c961edea845dc4047e491e0ae7cf5507","signature":false},{"version":"9f7a3c434912fd3feb87af4aabdf0d1b614152ecb5e7b2aa1fff3429879cdd51","signature":false,"impliedFormat":99},{"version":"a97948db464f857dbf7e559e870b9a0215917409483ff1e39d8da09209a80001","signature":false},{"version":"a5f09269e5bc4ff64fdd15b9276f94e8464f556ed29a0b5c929728fac615df8e","signature":false},{"version":"c0a3c4a8b453dbb80c3e2de26a259f3e66f07bb87e7934c4b4ee1e8804b37d81","signature":false},{"version":"2c57db2bf2dbd9e8ef4853be7257d62a1cb72845f7b976bb4ee827d362675f96","signature":false,"impliedFormat":99},{"version":"da5bac7baa99798f885daacdf61488f5f93ddfc099fefd1384300f718f65c4bf","signature":false},{"version":"264f935450101e4b000eb351cf75c9d799ca20a278b260a9e5770303b5f2b6a3","signature":false,"impliedFormat":99},{"version":"f6f171b23ae6db93454343f1b788960f799c8f37043904874a752c0990c6fca6","signature":false,"impliedFormat":99},{"version":"089f9928e7ab1ca2c225e167a80ff1cb5ed0a71c98be7e81f040a51e2cc6bf5e","signature":false,"impliedFormat":99},{"version":"b11acc27c280988d7256bbd8ffe9f1cb5a0e5ed17cddf5335289ee0e81500369","signature":false,"affectsGlobalScope":true,"impliedFormat":99},{"version":"02ab5dbcaa58da1d58c46c7cdfa7f94792c5ccf0fc7c0622ef33755fe415366c","signature":false,"impliedFormat":99},{"version":"e689cc8cd8a102d31c9d3a7b0db0028594202093c4aca25982b425e8ae744556","signature":false,"impliedFormat":99},{"version":"478e59ac0830a0f6360236632d0d589fb0211183aa1ab82292fbca529c0cce35","signature":false,"impliedFormat":99},{"version":"1b4ed9deaba72d4bc8495bf46db690dbf91040da0cb2401db10bad162732c0e2","signature":false,"impliedFormat":99},{"version":"3e94295f73335c9122308a858445d2348949842579ac2bacd30728ab46fe75a7","signature":false,"impliedFormat":99},{"version":"7191462f3b844bae7887ccc78774770aaf91c50986a7456b7d52c29f3444a853","signature":false,"impliedFormat":99},{"version":"b492a8d5bea9b4b46501f63136a2c61577c3a90bd16940de50f6332c56a73c4f","signature":false,"impliedFormat":99},{"version":"63a1b5c2705fa04df65f55c60c6072e3c3635b66c616be9afa7dbec5d90d3311","signature":false,"impliedFormat":99},{"version":"933937379203e9c6793d5c9126b40635dc8966d47814dfc810b37a936dcaaaab","signature":false,"impliedFormat":99},{"version":"8e299dc4dbd4f5271b45e2cc206cc0a3a19537ce2cc8d4bba857319cd56d788f","signature":false,"impliedFormat":99},{"version":"00a808ec5c093d67d1ffe5db7618b79e9c22a3760a556e71a1e285fb99368b8d","signature":false,"impliedFormat":99},{"version":"7bf932c1c467a3b5ad8b7d550db440226fab3f7540c671e74548ca39c067e35c","signature":false,"impliedFormat":99},{"version":"1b953eb91785e08aa68b63dfe79c1cda63639788e5bebe1a22d82ab440364613","signature":false,"impliedFormat":99},{"version":"979a9bb46d5ed5d3644b24c559b1d5d6088a903ee2a45d904ecb9f505b9c748c","signature":false,"impliedFormat":99},{"version":"82df1ac808761d975cd24fefd505e5c8bb75ef28abdb88c03d6b623a6f12baaf","signature":false,"impliedFormat":99},{"version":"ab3522eb8d80d545a5f8860eaa6e69391d0e865aeb75461fd4e88b2a9f1519ae","signature":false,"impliedFormat":99},{"version":"5bd475590a3276366f4fabdcca4cfdeb459301dc5b7842d178253b105bdb7c1c","signature":false,"impliedFormat":99},{"version":"a2fb8c7a0f1d7f5c917e9db6681c06df15c99188e159addf9f738c0d2c6e9bfd","signature":false,"impliedFormat":99},{"version":"d6db56f62efaea506c81126a7ddecc7a7c3cc2808ea90a56e90ba894a539412d","signature":false,"impliedFormat":99},{"version":"365b3bc377ecedcf0aabbd873f63d9b0c5cc615330e1eb76fd5f83eeceb99a82","signature":false,"impliedFormat":99},{"version":"3d8fa64caeeb78824206f41e15873520ad2b6105ced34ee645c8325460357f53","signature":false,"impliedFormat":99},{"version":"9bccadb03167b34956f28ce0bd256bd362ca25dd313e240e8a84dfa21957ab39","signature":false,"impliedFormat":99},{"version":"35c81b5413c31316b7994c35022fc2af72d1519f48f3037716544e1ee6590289","signature":false},{"version":"0663f61c6c4f58b273de15318f56087cf32c824c321482592eef3624dbbebe0c","signature":false},{"version":"46bd3e7d7cff47de32dbf412d669955506e27233fc3d5883b6ade098fd49f337","signature":false},{"version":"348f92f59286a9c3b2adc3999d49dad7c912eb4fdb0df5322c14b2053923ddd0","signature":false},{"version":"1179ef8174e0e4a09d35576199df04803b1db17c0fb35b9326442884bc0b0cce","signature":false,"impliedFormat":99},{"version":"8ddfbd76e696494db7d401097cd3e2853408cf91c2b88d46c828deec6f18b9c3","signature":false},{"version":"7eda856d827dbc7eb7ff909132276ddb2503f4b0433971661ecc8983c1635153","signature":false},{"version":"f6f460d95036314b874c4528e6df828ab07cf0f120954b140e7d357737b420ec","signature":false},{"version":"5ab221c3053eb13b066301422866939504ac91ce99b1ae79f78f3e95a16018ff","signature":false},{"version":"b7f568c75a3f86f50ee5cb302e79c3caffed7e351fb0370229e8aaf5b7955de9","signature":false},{"version":"7265fb1f96126566874476fece0c6f0de6854d3b32902d5d28146689d6a4d0c5","signature":false,"impliedFormat":1},{"version":"a21c9d5884d4bbed1b7303418205e58223716dc3cad7af8bb8210ba77fb7a15d","signature":false,"impliedFormat":1},{"version":"69dd0396f4a5402e44872878a3f90732b07fe59fe985f224084806b71ba8725c","signature":false,"impliedFormat":1},{"version":"215fc8b2fc6b9a6ef1cfb8635862bbcacb6fb3f91bd50ab6440f410f25546053","signature":false,"impliedFormat":1},{"version":"cc3738ba01d9af5ba1206a313896837ff8779791afcd9869e582783550f17f38","signature":false,"impliedFormat":99},{"version":"0cd86ebeac26ee7ec73c12dbaf532e9c9dfd7a2ff48b9ffa2a74b8c3aee5b422","signature":false},{"version":"24b00e5ea6d216b5d4c36cb3b321396ea838705755f046d02e09a87ca98c5033","signature":false},{"version":"f0441c685d5396ab2bb3828df2076ac4a9a4916e6c53e4068aa8f5cb4fa5f36b","signature":false},{"version":"a9392dcbdb36e14a7997e503bd3d3de316821ddc5b6da5ed5c7cdb3f321e41b6","signature":false},{"version":"7086baa4084da78e78e92e50c1bb428d64e7c33c1ae7f50e2eae13aa1af1ece2","signature":false},{"version":"531b4522beb65177a6076b4b9eb3862c0400a88ec54916bb69155869526bb032","signature":false},{"version":"633f2995dc09dc001286697fe198da2358d40e46e5bc74cdfa9fd0746902ab0b","signature":false},{"version":"ed0e85970554cd4512296e6b6ad2622977f23892adbaa5a01add8906e965f95a","signature":false},{"version":"2ffcab6a9bbc2ec22211b3c643f76466ae876d2d8fd784905a6264a211a4f705","signature":false},{"version":"faec7d11745328d860d0e1afb61abdb9a1015dd8dea5ff4d13570bc3bd6f101e","signature":false},{"version":"613f338c85115ddff746cf5ac370ee196a94f475fc2bb6ce5b9c0de1bda1d755","signature":false},{"version":"d30e67059f5c545c5f8f0cc328a36d2e03b8c4a091b4301bc1d6afb2b1491a3a","signature":false,"impliedFormat":1},{"version":"a356d9a0ba90d10ec6c0fa33386c0b0e2843fd6f0a49513c44f7809926ac25ff","signature":false,"impliedFormat":1},{"version":"980ce2b93e7a6acb3ddf674ef7ce38190048c532e51e21f91fa0b4e76bd9da24","signature":false,"impliedFormat":99},{"version":"782d3adbf885a766ca59ac64614b94be24ddf43364aee8fcf0aaeac78f22c409","signature":false,"impliedFormat":99},{"version":"9a3563739f42de842bf6416a4291fd974f41247cf536ce9a46f8e2d27ff3c9ac","signature":false,"impliedFormat":99},{"version":"8fcbab45a764abd33e19fde93b7bbafdd7a84f7eaf24c4d75a8b47a1153c2367","signature":false,"impliedFormat":99},{"version":"7e462fd642d79001523b2750ee16b439dfee35e3fc8d29befd9c9b85a8473555","signature":false,"impliedFormat":99},{"version":"b0c2fde8e0877c3d412550846ae6eb32c5be23bcade4db9752680fdfc8ee2912","signature":false,"impliedFormat":99},{"version":"4528dccc5a895a9f83e4a5d374d13f974d4e7dd5b767b9255db3a16c4a8b6af1","signature":false,"impliedFormat":99},{"version":"35d4cc70e2aebadb8983c4ebee05fb39b2d4251f283626cf2d877777878a25f1","signature":false,"impliedFormat":99},{"version":"3a8e5767ddb941a6e3a3349be35372ba82741e48b2ad0bc5012096f01259271a","signature":false,"impliedFormat":99},{"version":"877eebb657ae8f9ff4fea6d6160d7dbd7cb86c44b4e5969a34faa0f6bb178281","signature":false,"impliedFormat":99},{"version":"7d4cbd66f135c4dee1dc0e8e83d1c64012afd1e60b3e9fb0c614837614c2150e","signature":false,"impliedFormat":99},{"version":"0e85b2d7628363eea950d41358445a657fd52e5c90c665f89d85ded309a8513d","signature":false,"impliedFormat":99},{"version":"113aef5576cd65f310927b17ae5f6ac8745c542a660bace5f019034d536fbd04","signature":false,"impliedFormat":99},{"version":"c3eadb01eeb845c16e05003ba361c48ffaa5aa282b0cc3391cd1f512716cb8f7","signature":false,"impliedFormat":99},{"version":"a2c1678ec68c42795e2ac068a7d026b61680357d2a881c9df211dd0f83d077fd","signature":false,"impliedFormat":99},{"version":"d913ea1d0389ac20bd683211b0189f2fe4b50daf1aec40579a9de9adcaac321c","signature":false,"impliedFormat":99},{"version":"a7af5f01007f450dc8cf2cdbbb11f4d4bf8bf3faa869d21267db5de74ebf665a","signature":false,"impliedFormat":99},{"version":"723ac403322245c7270585a8f878f9a835f4da110f3b0b23e7971d404587685b","signature":false,"impliedFormat":99},{"version":"092ce9ed3440c57a829d2b47f767d6ab08828bc63fd9a4fa2aaec93e905eb9dd","signature":false,"impliedFormat":99},{"version":"8e34268962765c29f02f67e508ae6fb4485533675b316e3624c45f3b4f4d4a59","signature":false,"impliedFormat":99},{"version":"e02ed9f98527f807856ac9dc722a076064cb59f798b28106597527eb36f6ec88","signature":false,"impliedFormat":99},{"version":"0b67d1d5f611d99afc9ba55060a37e947664d61a5152469895ed5b64551c5e12","signature":false,"impliedFormat":99},{"version":"ce4088bd3b3fed9def201b87d072fcbdc8e0b43366a9489949abeca20c55464e","signature":false,"impliedFormat":99},{"version":"f3d31927b7a3d0f2f119a05a102af2bdd1fc4f759fe43d508a64a80b3b341f6b","signature":false,"impliedFormat":99},{"version":"9af1ebdf1ad0f65d11b952adc31dca4b56344c9ab41a5d0fb75dc6c3279e14b1","signature":false,"impliedFormat":99},{"version":"b3d7be31ee4d5386773e05a57ff97f74fc2559116cec17d21a6d0e26065d4b8c","signature":false,"impliedFormat":99},{"version":"9a4496ad6d48bc801a122c11e94ee1e3f0710bda38b125573f67f5cb0add1733","signature":false,"impliedFormat":99},{"version":"7c8d0fe14db06e4c48dc3697f26975e209fc0ac05480c1502e62af6ada3137a5","signature":false,"impliedFormat":99},{"version":"3f51976480d40cb1b00bd5ce27fbb8c8d6c72ff06e5203c2c06d83ec060d7052","signature":false,"impliedFormat":99},{"version":"dc21879e45f3a023b5fe459c3da5f2f3cf995f21a1ac533049d8950ce394c045","signature":false,"impliedFormat":99},{"version":"622d6ce66ac838d5d7e968daf4ae760cf49797e3fbfaa2b21d01e0fb5d625bc9","signature":false,"impliedFormat":99},{"version":"ecfa30418b2200ba6496b5f59b4c09a95cce9ea37c1daaf5a5db9bb306ee038f","signature":false,"impliedFormat":99},{"version":"01e02b5605d954a0329fe44d775c8fde41fa1b494b2506b524f461def33b3d7b","signature":false,"impliedFormat":99},{"version":"d6e7c7254b9a5168f868503a28d54368537783c4989dc060176de6f8d3042bf7","signature":false,"impliedFormat":99},{"version":"b5fced0ac3ffee12413503b6887a047181054a5a133ab2946b81e7d252f09181","signature":false,"impliedFormat":99},{"version":"c874e98cd875727ea62fdcd978ac9e067ce07cf7493aa4b8b193fdc3b7318eea","signature":false,"impliedFormat":99},{"version":"455e843c1f8e0df452f101c9ec0b63ab8e749f296c947249f8bbc29bff58c83c","signature":false,"impliedFormat":99},{"version":"dc52fbf76167f89ba36d883dae3935675700a59f9977d063a8b781947fae76b0","signature":false,"impliedFormat":99},{"version":"f2c5a01d18de21ad039c0eaed43c8ef57b02f4de1f4d85223eaa0c562f124736","signature":false,"impliedFormat":99},{"version":"fc741907f6d8158b2c4722932d745b11dd41f9355a5b325c8cd3cdfbd966d76d","signature":false,"impliedFormat":99},{"version":"01025db83f1558f31b68c4923d98f0de4c9bd487f7712b7429637c527b80d864","signature":false},{"version":"1ac7e1cbbee923c2c3206be60080b0e1845348d4b8ed8171875cfb642b9888dc","signature":false},{"version":"351630ce7cebc56dfbe2b6386e8e0f26b1e59bdb6efe4dbb6b3ecf272d93ce34","signature":false},{"version":"dfcf16e716338e9fe8cf790ac7756f61c85b83b699861df970661e97bf482692","signature":false,"impliedFormat":99},{"version":"bb703864a1bc9ca5ac3589ffd83785f6dc86f7f6c485c97d7ffd53438777cb9e","signature":false,"impliedFormat":1},{"version":"8fa7fb4d29805d85693af6e04048011da77278be9f327a13ed3e0a40d3c56e18","signature":false},{"version":"ff25d2789578679f3f1b1f5dcbb5c87a0dad6488fa583cd1fded8ae83c58b1b5","signature":false},{"version":"c8de5fc125029308d8fbb2aaac034473a6eb28b62858a8a57067e64b02927064","signature":false},{"version":"73c9fa26056a57d42f790b62b83c404d73c233351a65e4cd2641531afc72806c","signature":false},{"version":"b87b1500f4e6d8e62c4251f5bc04f15cfaf3f192c329fe176a63f6da4ecc6c37","signature":false},{"version":"c5b5973fd492671bd7fd70fe7e1981255ec1329b289865f767f97c4f7f84ec5e","signature":false},{"version":"046d3c58ffd403ed6d578fccdf60243748f8e6bee3ae48915e1867fede677ce7","signature":false},{"version":"7d48edcf1f31703847f0a4921c32ac7b3abe15b0b3d2b8152d6a0eccacc2543a","signature":false},{"version":"881aa9248d6b1eb1c49295c0c4fc397937abe78c2f9e4005cfa79f17886ab2e9","signature":false},{"version":"35988090d7e39a1695676adddc0e9339d3a883b0106ad57f4819c0afacc98bc7","signature":false},{"version":"46a85b1f9d195f5a27071b3baeb750131bf523b3951501472e74819e12f3464d","signature":false},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","signature":false,"impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","signature":false,"impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","signature":false,"impliedFormat":1},{"version":"742f21debb3937c3839a63245648238555bdab1ea095d43fd10c88a64029bf76","signature":false,"impliedFormat":1},{"version":"7cfdf3b9a5ba934a058bfc9390c074104dc7223b7e3c16fd5335206d789bc3d3","signature":false,"impliedFormat":1},{"version":"0944f27ebff4b20646b71e7e3faaaae50a6debd40bc63e225de1320dd15c5795","signature":false,"impliedFormat":1},{"version":"8a7219b41d3c1c93f3f3b779146f313efade2404eeece88dcd366df7e2364977","signature":false,"impliedFormat":1},{"version":"a109c4289d59d9019cfe1eeab506fe57817ee549499b02a83a7e9d3bdf662d63","signature":false,"impliedFormat":1},{"version":"5d30565583300c9256072a013ac0318cc603ff769b4c5cafc222394ea93963e1","signature":false,"impliedFormat":1},{"version":"7fa8d75d229eeaee235a801758d9c694e94405013fe77d5d1dd8e3201fc414f1","signature":false,"impliedFormat":1}],"root":[468,469,494,[507,511],[514,517],522,527,[539,542],[544,548],674,[677,681],[683,685],687,[714,717],[719,723],[729,739],[782,784],[787,797]],"options":{"allowJs":true,"composite":false,"declarationMap":false,"emitDeclarationOnly":false,"esModuleInterop":true,"jsx":1,"module":99,"skipLibCheck":true,"strict":true,"target":4,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[790,1],[791,2],[792,3],[794,4],[795,5],[793,6],[796,7],[789,8],[797,9],[788,10],[468,11],[469,12],[663,13],[662,14],[414,15],[532,16],[686,17],[528,18],[785,19],[530,16],[538,20],[531,16],[676,21],[675,18],[537,22],[534,23],[535,16],[529,18],[682,24],[536,25],[718,26],[728,25],[524,27],[533,15],[744,28],[750,29],[752,30],[745,31],[753,32],[751,33],[754,15],[746,34],[747,32],[755,35],[756,28],[759,36],[748,37],[757,38],[758,39],[749,40],[697,41],[699,42],[700,42],[702,42],[701,42],[703,42],[704,42],[705,42],[706,42],[707,42],[708,43],[709,42],[710,42],[711,42],[712,44],[694,45],[693,46],[696,47],[695,48],[698,49],[713,42],[798,15],[740,15],[799,15],[800,15],[741,50],[801,15],[802,51],[804,52],[805,53],[803,15],[806,54],[142,55],[143,55],[144,56],[99,57],[145,58],[146,59],[147,60],[94,15],[97,61],[95,15],[96,15],[148,62],[149,63],[150,64],[151,65],[152,66],[153,67],[154,67],[155,68],[156,69],[157,70],[158,71],[100,15],[98,15],[159,72],[160,73],[161,74],[193,75],[162,76],[163,77],[164,78],[165,79],[166,80],[167,81],[168,82],[169,83],[170,84],[171,85],[172,85],[173,86],[174,15],[175,87],[177,88],[176,89],[178,90],[179,91],[180,92],[181,93],[182,94],[183,95],[184,96],[185,97],[186,98],[187,99],[188,100],[189,101],[190,102],[101,15],[102,15],[103,15],[141,103],[191,104],[192,105],[197,106],[198,107],[196,108],[194,109],[195,110],[83,15],[85,111],[310,18],[807,15],[506,15],[526,112],[525,113],[512,15],[786,114],[498,15],[502,115],[500,116],[503,117],[504,118],[501,15],[499,119],[505,120],[84,15],[523,18],[521,18],[92,121],[417,122],[422,10],[424,123],[218,124],[366,125],[393,126],[293,15],[211,15],[216,15],[357,127],[285,128],[217,15],[395,129],[396,130],[338,131],[354,132],[258,133],[361,134],[362,135],[360,136],[359,15],[358,137],[394,138],[219,139],[292,15],[294,140],[214,15],[229,141],[220,142],[233,141],[262,141],[204,141],[365,143],[375,15],[210,15],[316,144],[317,145],[311,146],[445,15],[319,15],[320,146],[312,147],[449,148],[448,149],[444,15],[398,15],[353,150],[352,15],[443,151],[313,18],[236,152],[234,153],[446,15],[447,15],[235,154],[438,155],[441,156],[245,157],[244,158],[243,159],[452,18],[242,160],[280,15],[455,15],[519,161],[518,15],[458,15],[457,18],[459,162],[200,15],[363,163],[364,164],[387,15],[209,165],[199,15],[202,166],[332,18],[331,167],[330,168],[321,15],[322,15],[329,15],[324,15],[327,169],[323,15],[325,170],[328,171],[326,170],[215,15],[207,15],[208,141],[416,172],[425,173],[429,174],[369,175],[368,15],[277,15],[460,176],[378,177],[314,178],[315,179],[307,180],[299,15],[305,15],[306,181],[336,182],[300,183],[337,184],[334,185],[333,15],[335,15],[289,186],[370,187],[371,188],[301,189],[302,190],[297,191],[349,192],[377,193],[380,194],[278,195],[205,196],[376,197],[201,126],[399,198],[410,199],[397,15],[409,200],[93,15],[385,201],[265,15],[295,202],[381,15],[224,15],[408,203],[213,15],[268,204],[367,205],[407,15],[401,206],[206,15],[402,207],[404,208],[405,209],[388,15],[406,196],[232,210],[386,211],[411,212],[341,15],[344,15],[342,15],[346,15],[343,15],[345,15],[347,213],[340,15],[271,214],[270,15],[276,215],[272,216],[275,217],[274,217],[273,216],[228,218],[260,219],[374,220],[461,15],[433,221],[435,222],[304,15],[434,223],[372,187],[318,187],[212,15],[261,224],[225,225],[226,226],[227,227],[223,228],[348,228],[239,228],[263,229],[240,229],[222,230],[221,15],[269,231],[267,232],[266,233],[264,234],[373,235],[309,236],[339,237],[308,238],[356,239],[355,240],[351,241],[257,242],[259,243],[256,244],[230,245],[288,15],[421,15],[287,246],[350,15],[279,247],[298,248],[296,249],[281,250],[283,251],[456,15],[282,252],[284,252],[419,15],[418,15],[420,15],[454,15],[286,253],[254,18],[91,15],[237,254],[246,15],[291,255],[231,15],[427,18],[437,256],[253,18],[431,146],[252,257],[413,258],[251,256],[203,15],[439,259],[249,18],[250,18],[241,15],[290,15],[248,260],[247,261],[238,262],[303,84],[379,84],[403,15],[383,263],[382,15],[423,15],[255,18],[415,264],[86,18],[89,265],[90,266],[87,18],[88,15],[400,267],[392,268],[391,15],[390,269],[389,15],[412,270],[426,271],[428,272],[430,273],[520,274],[432,275],[436,276],[467,277],[440,277],[466,278],[442,279],[450,280],[451,281],[453,282],[462,283],[465,165],[464,15],[463,284],[688,15],[486,285],[484,286],[485,287],[473,288],[474,286],[481,289],[472,290],[477,291],[487,15],[478,292],[483,293],[489,294],[488,295],[471,296],[479,297],[480,298],[475,299],[482,285],[476,300],[689,301],[692,302],[690,45],[691,303],[725,304],[726,305],[727,306],[724,15],[549,15],[565,307],[566,307],[567,307],[581,308],[568,309],[569,309],[570,310],[562,311],[560,312],[551,15],[555,313],[559,314],[557,315],[564,316],[552,317],[553,318],[554,319],[556,320],[558,321],[561,322],[563,323],[571,309],[572,309],[573,309],[574,307],[575,309],[576,309],[550,309],[577,15],[579,324],[578,309],[580,307],[743,31],[760,325],[761,325],[763,326],[764,327],[742,28],[765,325],[781,328],[762,325],[766,31],[767,31],[768,325],[769,18],[770,325],[771,329],[772,325],[773,325],[774,31],[775,325],[776,325],[777,325],[778,325],[779,325],[780,31],[384,330],[543,18],[470,15],[513,15],[492,331],[491,15],[490,15],[493,332],[81,15],[82,15],[13,15],[14,15],[16,15],[15,15],[2,15],[17,15],[18,15],[19,15],[20,15],[21,15],[22,15],[23,15],[24,15],[3,15],[25,15],[26,15],[4,15],[27,15],[31,15],[28,15],[29,15],[30,15],[32,15],[33,15],[34,15],[5,15],[35,15],[36,15],[37,15],[38,15],[6,15],[42,15],[39,15],[40,15],[41,15],[43,15],[7,15],[44,15],[49,15],[50,15],[45,15],[46,15],[47,15],[48,15],[8,15],[54,15],[51,15],[52,15],[53,15],[55,15],[9,15],[56,15],[57,15],[58,15],[60,15],[59,15],[61,15],[62,15],[10,15],[63,15],[64,15],[65,15],[11,15],[66,15],[67,15],[68,15],[69,15],[70,15],[1,15],[71,15],[72,15],[12,15],[76,15],[74,15],[79,15],[78,15],[73,15],[77,15],[75,15],[80,15],[119,333],[129,334],[118,333],[139,335],[110,336],[109,337],[138,284],[132,338],[137,339],[112,340],[126,341],[111,342],[135,343],[107,344],[106,284],[136,345],[108,346],[113,347],[114,15],[117,347],[104,15],[140,348],[130,349],[121,350],[122,351],[124,352],[120,353],[123,354],[133,284],[115,355],[116,356],[125,357],[105,358],[128,349],[127,347],[131,15],[134,359],[673,360],[586,361],[593,362],[588,15],[589,15],[587,363],[590,364],[582,15],[583,15],[594,365],[585,366],[591,15],[592,367],[584,368],[667,369],[671,370],[668,370],[664,369],[672,371],[669,372],[670,370],[665,373],[666,374],[658,375],[602,376],[604,377],[657,15],[603,378],[661,379],[660,380],[659,381],[595,15],[605,376],[606,15],[597,382],[601,383],[596,15],[598,384],[599,385],[600,15],[607,386],[608,386],[609,386],[610,386],[611,386],[612,386],[613,386],[614,386],[615,386],[616,386],[617,386],[618,386],[619,386],[621,386],[620,386],[622,386],[623,386],[624,386],[625,386],[656,387],[626,386],[627,386],[628,386],[629,386],[630,386],[631,386],[632,386],[633,386],[634,386],[635,386],[636,386],[637,386],[638,386],[640,386],[639,386],[641,386],[642,386],[643,386],[644,386],[645,386],[646,386],[647,386],[648,386],[649,386],[650,386],[651,386],[652,386],[655,386],[653,386],[654,386],[497,388],[496,389],[495,15],[681,390],[685,391],[715,392],[721,393],[722,393],[716,394],[739,395],[546,396],[548,397],[783,398],[545,399],[547,400],[784,401],[782,402],[540,403],[522,404],[730,405],[723,406],[527,407],[679,406],[736,408],[687,409],[787,410],[733,411],[735,412],[539,413],[678,414],[720,415],[674,406],[677,416],[737,408],[683,417],[732,418],[714,419],[738,420],[734,421],[719,422],[729,423],[544,424],[541,406],[731,425],[717,406],[508,426],[680,427],[684,428],[510,429],[511,15],[514,430],[507,431],[515,432],[509,432],[516,432],[517,430],[542,433],[494,434]],"changeFileSet":[790,791,792,794,795,793,796,789,797,788,468,469,663,662,414,532,686,528,785,530,538,531,676,675,537,534,535,529,682,536,718,728,524,533,744,750,752,745,753,751,754,746,747,755,756,759,748,757,758,749,697,699,700,702,701,703,704,705,706,707,708,709,710,711,712,694,693,696,695,698,713,798,740,799,800,741,801,802,804,805,803,806,142,143,144,99,145,146,147,94,97,95,96,148,149,150,151,152,153,154,155,156,157,158,100,98,159,160,161,193,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,176,178,179,180,181,182,183,184,185,186,187,188,189,190,101,102,103,141,191,192,197,198,196,194,195,83,85,310,807,506,526,525,512,786,498,502,500,503,504,501,499,505,84,523,521,92,417,422,424,218,366,393,293,211,216,357,285,217,395,396,338,354,258,361,362,360,359,358,394,219,292,294,214,229,220,233,262,204,365,375,210,316,317,311,445,319,320,312,449,448,444,398,353,352,443,313,236,234,446,447,235,438,441,245,244,243,452,242,280,455,519,518,458,457,459,200,363,364,387,209,199,202,332,331,330,321,322,329,324,327,323,325,328,326,215,207,208,416,425,429,369,368,277,460,378,314,315,307,299,305,306,336,300,337,334,333,335,289,370,371,301,302,297,349,377,380,278,205,376,201,399,410,397,409,93,385,265,295,381,224,408,213,268,367,407,401,206,402,404,405,388,406,232,386,411,341,344,342,346,343,345,347,340,271,270,276,272,275,274,273,228,260,374,461,433,435,304,434,372,318,212,261,225,226,227,223,348,239,263,240,222,221,269,267,266,264,373,309,339,308,356,355,351,257,259,256,230,288,421,287,350,279,298,296,281,283,456,282,284,419,418,420,454,286,254,91,237,246,291,231,427,437,253,431,252,413,251,203,439,249,250,241,290,248,247,238,303,379,403,383,382,423,255,415,86,89,90,87,88,400,392,391,390,389,412,426,428,430,520,432,436,467,440,466,442,450,451,453,462,465,464,463,688,486,484,485,473,474,481,472,477,487,478,483,489,488,471,479,480,475,482,476,689,692,690,691,725,726,727,724,549,565,566,567,581,568,569,570,562,560,551,555,559,557,564,552,553,554,556,558,561,563,571,572,573,574,575,576,550,577,579,578,580,743,760,761,763,764,742,765,781,762,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,384,543,470,513,492,491,490,493,81,82,13,14,16,15,2,17,18,19,20,21,22,23,24,3,25,26,4,27,31,28,29,30,32,33,34,5,35,36,37,38,6,42,39,40,41,43,7,44,49,50,45,46,47,48,8,54,51,52,53,55,9,56,57,58,60,59,61,62,10,63,64,65,11,66,67,68,69,70,1,71,72,12,76,74,79,78,73,77,75,80,119,129,118,139,110,109,138,132,137,112,126,111,135,107,106,136,108,113,114,117,104,140,130,121,122,124,120,123,133,115,116,125,105,128,127,131,134,673,586,593,588,589,587,590,582,583,594,585,591,592,584,667,671,668,664,672,669,670,665,666,658,602,604,657,603,661,660,659,595,605,606,597,601,596,598,599,600,607,608,609,610,611,612,613,614,615,616,617,618,619,621,620,622,623,624,625,656,626,627,628,629,630,631,632,633,634,635,636,637,638,640,639,641,642,643,644,645,646,647,648,649,650,651,652,655,653,654,497,496,495,681,685,715,721,722,716,739,546,548,783,545,547,784,782,540,522,730,723,527,679,736,687,787,733,735,539,678,720,674,677,737,683,732,714,738,734,719,729,544,541,731,717,508,680,684,510,511,514,507,515,509,516,517,542,494],"version":"5.9.3"} \ No newline at end of file +{"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.es2023.d.ts","../../node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.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.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/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/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/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.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/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/revalidate.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/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/route-kind.d.ts","../../node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../node_modules/next/dist/server/route-definitions/app-page-route-definition.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/build/webpack/plugins/flight-manifest-plugin.d.ts","../../node_modules/next/dist/server/route-modules/route-module.d.ts","../../node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../node_modules/next/dist/server/load-components.d.ts","../../node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.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/shared/lib/router/utils/middleware-route-matcher.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/bloom-filter.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/shared/lib/amp-context.shared-runtime.d.ts","../../node_modules/next/dist/shared/lib/server-inserted-html.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/server/render.d.ts","../../node_modules/next/dist/server/response-cache/index.d.ts","../../node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.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/instrumentation/types.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/lib/i18n-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/after/builtin-request-context.d.ts","../../node_modules/next/dist/server/base-server.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/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/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/shared/lib/modern-browserslist-target.d.ts","../../node_modules/next/dist/shared/lib/constants.d.ts","../../node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../node_modules/next/dist/build/page-extensions-type.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/app-render/work-unit-async-storage-instance.d.ts","../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../node_modules/next/dist/server/request/fallback-params.d.ts","../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.d.ts","../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.d.ts","../../node_modules/next/dist/server/app-render/app-render.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/@types/react/jsx-runtime.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/metadata/metadata-boundary.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/server/app-render/collect-segment-data.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/next/dist/server/route-modules/app-page/module.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/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/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/shared/lib/router/utils/parse-url.d.ts","../../node_modules/next/dist/server/base-http/node.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/lib/coalesced-function.d.ts","../../node_modules/next/dist/server/lib/router-utils/types.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/dist/build/webpack-config.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/client/components/react-dev-overlay/types.d.ts","../../node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../node_modules/next/dist/telemetry/storage.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/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/types.d.ts","../../node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../node_modules/@next/env/dist/index.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.d.ts","../../node_modules/next/dist/client/components/navigation.react-server.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/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/image-types/global.d.ts","../../next-env.d.ts","../../next.config.ts","../../node_modules/source-map-js/source-map.d.ts","../../node_modules/postcss/lib/previous-map.d.ts","../../node_modules/postcss/lib/input.d.ts","../../node_modules/postcss/lib/css-syntax-error.d.ts","../../node_modules/postcss/lib/declaration.d.ts","../../node_modules/postcss/lib/root.d.ts","../../node_modules/postcss/lib/warning.d.ts","../../node_modules/postcss/lib/lazy-result.d.ts","../../node_modules/postcss/lib/no-work-result.d.ts","../../node_modules/postcss/lib/processor.d.ts","../../node_modules/postcss/lib/result.d.ts","../../node_modules/postcss/lib/document.d.ts","../../node_modules/postcss/lib/rule.d.ts","../../node_modules/postcss/lib/node.d.ts","../../node_modules/postcss/lib/comment.d.ts","../../node_modules/postcss/lib/container.d.ts","../../node_modules/postcss/lib/at-rule.d.ts","../../node_modules/postcss/lib/list.d.ts","../../node_modules/postcss/lib/postcss.d.ts","../../node_modules/postcss/lib/postcss.d.mts","../../node_modules/tailwindcss/types/generated/corepluginlist.d.ts","../../node_modules/tailwindcss/types/generated/colors.d.ts","../../node_modules/tailwindcss/types/config.d.ts","../../node_modules/tailwindcss/types/index.d.ts","../../tailwind.config.ts","../../node_modules/zustand/esm/vanilla.d.mts","../../node_modules/zustand/esm/react.d.mts","../../node_modules/zustand/esm/index.d.mts","../../node_modules/cookie/dist/index.d.ts","../../node_modules/cookies-next/lib/common/types.d.ts","../../node_modules/cookies-next/lib/client/cookie-functions.d.ts","../../node_modules/cookies-next/lib/client/types.d.ts","../../node_modules/cookies-next/lib/client/context.d.ts","../../node_modules/cookies-next/lib/client/hooks.d.ts","../../node_modules/cookies-next/lib/client/index.d.ts","../../node_modules/cookies-next/lib/index.d.ts","../../node_modules/axios/index.d.ts","../../src/shared/api/axios.ts","../../src/entities/session/store.ts","../../src/shared/api/geo.ts","../../src/features/geo/usegeostore.ts","../../src/lib/imageurl.ts","../../node_modules/clsx/clsx.d.mts","../../node_modules/tailwind-merge/dist/types.d.ts","../../src/lib/utils.ts","../../src/shared/api/catalog.ts","../../src/shared/api/search.ts","../../src/shared/lib/utils.ts","../../node_modules/next/dist/compiled/@next/font/dist/types.d.ts","../../node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","../../node_modules/next/font/google/index.d.ts","../../node_modules/next-themes/dist/index.d.ts","../../src/components/theme/theme-provider.tsx","../../node_modules/lucide-react/dist/lucide-react.d.ts","../../node_modules/@radix-ui/react-slot/dist/index.d.mts","../../node_modules/class-variance-authority/dist/types.d.ts","../../node_modules/class-variance-authority/dist/index.d.ts","../../src/components/ui/button.tsx","../../node_modules/@radix-ui/react-context/dist/index.d.mts","../../node_modules/@radix-ui/react-primitive/dist/index.d.mts","../../node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts","../../node_modules/@radix-ui/react-focus-scope/dist/index.d.mts","../../node_modules/@radix-ui/react-arrow/dist/index.d.mts","../../node_modules/@radix-ui/rect/dist/index.d.mts","../../node_modules/@radix-ui/react-popper/dist/index.d.mts","../../node_modules/@radix-ui/react-portal/dist/index.d.mts","../../node_modules/@radix-ui/react-roving-focus/dist/index.d.mts","../../node_modules/@radix-ui/react-menu/dist/index.d.mts","../../node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts","../../src/components/ui/dropdown-menu.tsx","../../src/components/theme/mode-toggle.tsx","../../src/components/ui/switch.tsx","../../src/widgets/header.tsx","../../node_modules/sonner/dist/index.d.ts","../../src/components/ui/sonner.tsx","../../src/components/auth/authprovider.tsx","../../src/app/layout.tsx","../../src/components/home/performerbutton.tsx","../../src/app/page.tsx","../../node_modules/react-hook-form/dist/constants.d.ts","../../node_modules/react-hook-form/dist/utils/createsubject.d.ts","../../node_modules/react-hook-form/dist/types/events.d.ts","../../node_modules/react-hook-form/dist/types/path/common.d.ts","../../node_modules/react-hook-form/dist/types/path/eager.d.ts","../../node_modules/react-hook-form/dist/types/path/index.d.ts","../../node_modules/react-hook-form/dist/types/fieldarray.d.ts","../../node_modules/react-hook-form/dist/types/resolvers.d.ts","../../node_modules/react-hook-form/dist/types/form.d.ts","../../node_modules/react-hook-form/dist/types/utils.d.ts","../../node_modules/react-hook-form/dist/types/fields.d.ts","../../node_modules/react-hook-form/dist/types/errors.d.ts","../../node_modules/react-hook-form/dist/types/validator.d.ts","../../node_modules/react-hook-form/dist/types/controller.d.ts","../../node_modules/react-hook-form/dist/types/watch.d.ts","../../node_modules/react-hook-form/dist/types/index.d.ts","../../node_modules/react-hook-form/dist/controller.d.ts","../../node_modules/react-hook-form/dist/form.d.ts","../../node_modules/react-hook-form/dist/formstatesubscribe.d.ts","../../node_modules/react-hook-form/dist/logic/appenderrors.d.ts","../../node_modules/react-hook-form/dist/logic/createformcontrol.d.ts","../../node_modules/react-hook-form/dist/logic/index.d.ts","../../node_modules/react-hook-form/dist/usecontroller.d.ts","../../node_modules/react-hook-form/dist/usefieldarray.d.ts","../../node_modules/react-hook-form/dist/useform.d.ts","../../node_modules/react-hook-form/dist/useformcontext.d.ts","../../node_modules/react-hook-form/dist/useformstate.d.ts","../../node_modules/react-hook-form/dist/usewatch.d.ts","../../node_modules/react-hook-form/dist/utils/get.d.ts","../../node_modules/react-hook-form/dist/utils/set.d.ts","../../node_modules/react-hook-form/dist/utils/index.d.ts","../../node_modules/react-hook-form/dist/watch.d.ts","../../node_modules/react-hook-form/dist/index.d.ts","../../node_modules/zod/v3/helpers/typealiases.d.cts","../../node_modules/zod/v3/helpers/util.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/v3/index.d.cts","../../node_modules/zod/v4/core/json-schema.d.cts","../../node_modules/zod/v4/core/standard-schema.d.cts","../../node_modules/zod/v4/core/registries.d.cts","../../node_modules/zod/v4/core/to-json-schema.d.cts","../../node_modules/zod/v4/core/util.d.cts","../../node_modules/zod/v4/core/versions.d.cts","../../node_modules/zod/v4/core/schemas.d.cts","../../node_modules/zod/v4/core/checks.d.cts","../../node_modules/zod/v4/core/errors.d.cts","../../node_modules/zod/v4/core/core.d.cts","../../node_modules/zod/v4/core/parse.d.cts","../../node_modules/zod/v4/core/regexes.d.cts","../../node_modules/zod/v4/locales/ar.d.cts","../../node_modules/zod/v4/locales/az.d.cts","../../node_modules/zod/v4/locales/be.d.cts","../../node_modules/zod/v4/locales/bg.d.cts","../../node_modules/zod/v4/locales/ca.d.cts","../../node_modules/zod/v4/locales/cs.d.cts","../../node_modules/zod/v4/locales/da.d.cts","../../node_modules/zod/v4/locales/de.d.cts","../../node_modules/zod/v4/locales/en.d.cts","../../node_modules/zod/v4/locales/eo.d.cts","../../node_modules/zod/v4/locales/es.d.cts","../../node_modules/zod/v4/locales/fa.d.cts","../../node_modules/zod/v4/locales/fi.d.cts","../../node_modules/zod/v4/locales/fr.d.cts","../../node_modules/zod/v4/locales/fr-ca.d.cts","../../node_modules/zod/v4/locales/he.d.cts","../../node_modules/zod/v4/locales/hu.d.cts","../../node_modules/zod/v4/locales/hy.d.cts","../../node_modules/zod/v4/locales/id.d.cts","../../node_modules/zod/v4/locales/is.d.cts","../../node_modules/zod/v4/locales/it.d.cts","../../node_modules/zod/v4/locales/ja.d.cts","../../node_modules/zod/v4/locales/ka.d.cts","../../node_modules/zod/v4/locales/kh.d.cts","../../node_modules/zod/v4/locales/km.d.cts","../../node_modules/zod/v4/locales/ko.d.cts","../../node_modules/zod/v4/locales/lt.d.cts","../../node_modules/zod/v4/locales/mk.d.cts","../../node_modules/zod/v4/locales/ms.d.cts","../../node_modules/zod/v4/locales/nl.d.cts","../../node_modules/zod/v4/locales/no.d.cts","../../node_modules/zod/v4/locales/ota.d.cts","../../node_modules/zod/v4/locales/ps.d.cts","../../node_modules/zod/v4/locales/pl.d.cts","../../node_modules/zod/v4/locales/pt.d.cts","../../node_modules/zod/v4/locales/ru.d.cts","../../node_modules/zod/v4/locales/sl.d.cts","../../node_modules/zod/v4/locales/sv.d.cts","../../node_modules/zod/v4/locales/ta.d.cts","../../node_modules/zod/v4/locales/th.d.cts","../../node_modules/zod/v4/locales/tr.d.cts","../../node_modules/zod/v4/locales/ua.d.cts","../../node_modules/zod/v4/locales/uk.d.cts","../../node_modules/zod/v4/locales/ur.d.cts","../../node_modules/zod/v4/locales/uz.d.cts","../../node_modules/zod/v4/locales/vi.d.cts","../../node_modules/zod/v4/locales/zh-cn.d.cts","../../node_modules/zod/v4/locales/zh-tw.d.cts","../../node_modules/zod/v4/locales/yo.d.cts","../../node_modules/zod/v4/locales/index.d.cts","../../node_modules/zod/v4/core/doc.d.cts","../../node_modules/zod/v4/core/api.d.cts","../../node_modules/zod/v4/core/json-schema-processors.d.cts","../../node_modules/zod/v4/core/json-schema-generator.d.cts","../../node_modules/zod/v4/core/index.d.cts","../../node_modules/@hookform/resolvers/zod/dist/zod.d.ts","../../node_modules/@hookform/resolvers/zod/dist/index.d.ts","../../node_modules/zod/v4/classic/errors.d.cts","../../node_modules/zod/v4/classic/parse.d.cts","../../node_modules/zod/v4/classic/schemas.d.cts","../../node_modules/zod/v4/classic/checks.d.cts","../../node_modules/zod/v4/classic/compat.d.cts","../../node_modules/zod/v4/classic/from-json-schema.d.cts","../../node_modules/zod/v4/classic/iso.d.cts","../../node_modules/zod/v4/classic/coerce.d.cts","../../node_modules/zod/v4/classic/external.d.cts","../../node_modules/zod/index.d.cts","../../src/components/ui/input.tsx","../../node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive/dist/index.d.mts","../../node_modules/@radix-ui/react-label/dist/index.d.mts","../../src/components/ui/label.tsx","../../src/components/ui/form.tsx","../../src/components/ui/card.tsx","../../src/features/auth/loginform.tsx","../../src/app/auth/login/page.tsx","../../node_modules/@radix-ui/react-radio-group/dist/index.d.mts","../../src/components/ui/radio-group.tsx","../../src/features/auth/registerform.tsx","../../src/app/auth/register/page.tsx","../../node_modules/@radix-ui/react-checkbox/dist/index.d.mts","../../src/components/ui/checkbox.tsx","../../node_modules/orderedmap/dist/index.d.ts","../../node_modules/prosemirror-model/dist/index.d.ts","../../node_modules/prosemirror-transform/dist/index.d.ts","../../node_modules/prosemirror-view/dist/index.d.ts","../../node_modules/prosemirror-state/dist/index.d.ts","../../node_modules/@tiptap/pm/dist/state/index.d.ts","../../node_modules/@tiptap/pm/dist/model/index.d.ts","../../node_modules/@tiptap/pm/dist/view/index.d.ts","../../node_modules/@tiptap/pm/dist/transform/index.d.ts","../../node_modules/@tiptap/core/dist/index.d.ts","../../node_modules/@tiptap/react/dist/index.d.ts","../../node_modules/@tiptap/extension-blockquote/dist/index.d.ts","../../node_modules/@tiptap/extension-bold/dist/index.d.ts","../../node_modules/@tiptap/extension-code/dist/index.d.ts","../../node_modules/@tiptap/extension-code-block/dist/index.d.ts","../../node_modules/@tiptap/extension-hard-break/dist/index.d.ts","../../node_modules/@tiptap/extension-heading/dist/index.d.ts","../../node_modules/@tiptap/extension-horizontal-rule/dist/index.d.ts","../../node_modules/@tiptap/extension-italic/dist/index.d.ts","../../node_modules/@tiptap/extension-link/dist/index.d.ts","../../node_modules/@tiptap/extension-list/dist/index.d.ts","../../node_modules/@tiptap/extension-paragraph/dist/index.d.ts","../../node_modules/@tiptap/extension-strike/dist/index.d.ts","../../node_modules/@tiptap/extension-underline/dist/index.d.ts","../../node_modules/@tiptap/extensions/dist/index.d.ts","../../node_modules/@tiptap/starter-kit/dist/index.d.ts","../../src/components/ui/rich-text-editor.tsx","../../src/app/dashboard/become-performer/page.tsx","../../src/app/dashboard/offers/page.tsx","../../src/components/ui/textarea.tsx","../../node_modules/@radix-ui/react-select/dist/index.d.mts","../../src/components/ui/select.tsx","../../src/components/ui/image-uploader.tsx","../../src/app/dashboard/offers/[id]/edit/page.tsx","../../src/app/dashboard/offers/create/page.tsx","../../src/components/ui/badge.tsx","../../node_modules/react-easy-crop/types.d.ts","../../node_modules/react-easy-crop/cropper.d.ts","../../node_modules/react-easy-crop/helpers.d.ts","../../node_modules/react-easy-crop/index.d.ts","../../node_modules/@radix-ui/react-slider/dist/index.d.mts","../../src/components/ui/slider.tsx","../../src/components/ui/avatar-uploader.tsx","../../src/components/ui/tag-input.tsx","../../src/components/ui/rating.tsx","../../src/components/ui/description-viewer.tsx","../../src/components/ui/schedule-viewer.tsx","../../src/components/ui/dialog.tsx","../../src/components/ui/change-password-modal.tsx","../../src/components/ui/location-modal.tsx","../../src/components/ui/schedule-modal.tsx","../../src/app/dashboard/profile/page.tsx","../../src/app/offers/[id]/page.tsx","../../node_modules/@types/geojson/index.d.ts","../../node_modules/@types/leaflet/index.d.ts","../../node_modules/react-leaflet/lib/hooks.d.ts","../../node_modules/react-leaflet/lib/attributioncontrol.d.ts","../../node_modules/@react-leaflet/core/lib/attribution.d.ts","../../node_modules/@react-leaflet/core/lib/context.d.ts","../../node_modules/@react-leaflet/core/lib/element.d.ts","../../node_modules/@react-leaflet/core/lib/events.d.ts","../../node_modules/@react-leaflet/core/lib/layer.d.ts","../../node_modules/@react-leaflet/core/lib/path.d.ts","../../node_modules/@react-leaflet/core/lib/circle.d.ts","../../node_modules/@react-leaflet/core/lib/div-overlay.d.ts","../../node_modules/@react-leaflet/core/lib/component.d.ts","../../node_modules/@react-leaflet/core/lib/control.d.ts","../../node_modules/@react-leaflet/core/lib/dom.d.ts","../../node_modules/@react-leaflet/core/lib/generic.d.ts","../../node_modules/@react-leaflet/core/lib/grid-layer.d.ts","../../node_modules/@react-leaflet/core/lib/media-overlay.d.ts","../../node_modules/@react-leaflet/core/lib/pane.d.ts","../../node_modules/@react-leaflet/core/lib/index.d.ts","../../node_modules/react-leaflet/lib/circle.d.ts","../../node_modules/react-leaflet/lib/circlemarker.d.ts","../../node_modules/react-leaflet/lib/layergroup.d.ts","../../node_modules/react-leaflet/lib/featuregroup.d.ts","../../node_modules/react-leaflet/lib/geojson.d.ts","../../node_modules/react-leaflet/lib/imageoverlay.d.ts","../../node_modules/react-leaflet/lib/layerscontrol.d.ts","../../node_modules/react-leaflet/lib/mapcontainer.d.ts","../../node_modules/react-leaflet/lib/marker.d.ts","../../node_modules/react-leaflet/lib/pane.d.ts","../../node_modules/react-leaflet/lib/polygon.d.ts","../../node_modules/react-leaflet/lib/polyline.d.ts","../../node_modules/react-leaflet/lib/popup.d.ts","../../node_modules/react-leaflet/lib/rectangle.d.ts","../../node_modules/react-leaflet/lib/scalecontrol.d.ts","../../node_modules/react-leaflet/lib/svgoverlay.d.ts","../../node_modules/react-leaflet/lib/tilelayer.d.ts","../../node_modules/react-leaflet/lib/tooltip.d.ts","../../node_modules/react-leaflet/lib/videooverlay.d.ts","../../node_modules/react-leaflet/lib/wmstilelayer.d.ts","../../node_modules/react-leaflet/lib/zoomcontrol.d.ts","../../node_modules/react-leaflet/lib/index.d.ts","../../src/components/map/livemap.tsx","../../src/app/search/page.tsx","../../src/components/layout/header.tsx","../../node_modules/@radix-ui/react-dialog/dist/index.d.mts","../../node_modules/cmdk/dist/index.d.ts","../../src/components/ui/command.tsx","../types/cache-life.d.ts","../types/app/page.ts","../types/app/auth/login/page.ts","../types/app/auth/register/page.ts","../types/app/dashboard/become-performer/page.ts","../types/app/dashboard/offers/page.ts","../types/app/dashboard/offers/[id]/edit/page.ts","../types/app/dashboard/offers/create/page.ts","../types/app/dashboard/profile/page.ts","../types/app/offers/[id]/page.ts","../types/app/search/page.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/linkify-it/build/index.cjs.d.ts","../../node_modules/@types/linkify-it/index.d.ts","../../node_modules/@types/mdurl/build/index.cjs.d.ts","../../node_modules/@types/markdown-it/dist/index.cjs.d.ts","../../node_modules/@types/markdown-it/index.d.ts","../../node_modules/@types/mdurl/index.d.ts","../../node_modules/@types/use-sync-external-store/index.d.ts"],"fileIdsList":[[99,145,327,681],[99,145,327,685],[99,145,327,715],[99,145,327,721],[99,145,327,722],[99,145,327,716],[99,145,327,739],[99,145,327,740],[99,145,327,548],[99,145,327,784],[99,145,418,419,420,421],[99,145,466,467],[99,145,466],[99,145,662],[99,145,581,594,661],[99,145],[85,99,145,529],[85,99,145,310,528,529],[85,99,145],[85,99,145,528,529,530,531,535],[85,99,145,528,529,537],[85,99,145,675],[85,99,145,528,529,530,531,534,535,536],[85,99,145,528,529,532,533],[85,99,145,528,529,536],[85,99,145,528,529],[85,99,145,528,529,530,531,534,535],[85,89,99,145,194,195,196,197,198,412,459],[99,145,742],[85,99,145,742,750],[85,99,145,747,752],[85,99,145,742],[99,145,742,747],[99,145,742,746,747,749],[85,99,145,746],[85,99,145,742,746,747,749,750,752,753],[99,145,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759],[99,145,742,746,747,748],[99,145,742,749],[99,145,742,746],[99,145,742,747,749],[99,145,693,694,695,696,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[99,145,697,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[99,145,689,693,694,697,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[99,145,694,697,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[99,145,689],[99,145,692],[99,145,690],[99,145,691],[85,99,145,310,694,695,697,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[99,145,741],[99,145,803],[99,145,803,805],[99,145,806],[99,145,805],[99,142,145],[99,144,145],[145],[99,145,150,178],[99,145,146,151,156,164,175,186],[99,145,146,147,156,164],[94,95,96,99,145],[99,145,148,187],[99,145,149,150,157,165],[99,145,150,175,183],[99,145,151,153,156,164],[99,144,145,152],[99,145,153,154],[99,145,155,156],[99,144,145,156],[99,145,156,157,158,175,186],[99,145,156,157,158,171,175,178],[99,145,153,156,159,164,175,186],[99,145,156,157,159,160,164,175,183,186],[99,145,159,161,175,183,186],[97,98,99,100,101,102,103,141,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],[99,145,156,162],[99,145,163,186,191],[99,145,153,156,164,175],[99,145,165],[99,145,166],[99,144,145,167],[99,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],[99,145,169],[99,145,170],[99,145,156,171,172],[99,145,171,173,187,189],[99,145,156,175,176,178],[99,145,177,178],[99,145,175,176],[99,145,178],[99,145,179],[99,142,145,175,180],[99,145,156,181,182],[99,145,181,182],[99,145,150,164,175,183],[99,145,184],[99,145,164,185],[99,145,159,170,186],[99,145,150,187],[99,145,175,188],[99,145,163,189],[99,145,190],[99,140,145],[99,140,145,156,158,167,175,178,186,189,191],[99,145,175,192],[85,89,99,145,194,195,196,198,412,459,524],[85,89,99,145,194,195,196,197,412,459,524],[85,89,99,145,194,195,197,198,412,459,524],[85,89,99,145,195,196,197,198,412,459,524],[85,89,99,145,194,196,197,198,412,459,524],[83,84,99,145],[99,145,512,525],[99,145,512],[85,99,145,786],[85,99,145,501,504],[99,145,499],[99,145,499,501],[99,145,499,500,502,503],[99,145,159,193,280,436,498],[99,145,499,504],[91,99,145],[99,145,416],[99,145,423],[99,145,202,215,216,217,219,376],[99,145,202,206,208,209,210,211,365,376,378],[99,145,376],[99,145,216,232,309,356,372],[99,145,202],[99,145,396],[99,145,376,378,395],[99,145,295,309,337,464],[99,145,302,319,356,371],[99,145,257],[99,145,360],[99,145,359,360,361],[99,145,359],[93,99,145,159,199,202,209,212,213,214,216,220,288,293,339,347,357,367,376,412],[99,145,202,218,246,291,376,392,393,464],[99,145,218,464],[99,145,291,292,293,376,464],[99,145,464],[99,145,202,218,219,464],[99,145,212,358,364],[99,145,170,310,372],[99,145,310,372],[85,99,145,310],[85,99,145,289,310,311],[99,145,237,255,372,448],[99,145,353,443,444,445,446,447],[99,145,352],[99,145,352,353],[99,145,210,234,235,289],[99,145,236,237,289],[99,145,289],[85,99,145,203,437],[85,99,145,186],[85,99,145,218,244],[85,99,145,218],[99,145,242,247],[85,99,145,243,415],[99,145,518],[85,89,99,145,159,193,194,195,196,197,198,412,457,458,524],[99,145,157,159,206,232,260,278,289,362,376,377,464],[99,145,347,363],[99,145,412],[99,145,201],[99,145,170,295,307,328,330,371,372],[99,145,170,295,307,327,328,329,371,372],[99,145,321,322,323,324,325,326],[99,145,323],[99,145,327],[85,99,145,243,310,415],[85,99,145,310,413,415],[85,99,145,310,415],[99,145,278,368],[99,145,368],[99,145,159,377,415],[99,145,315],[99,144,145,314],[99,145,228,229,231,261,289,302,303,304,306,339,371,374,377],[99,145,305],[99,145,229,237,289],[99,145,302,371],[99,145,302,311,312,313,315,316,317,318,319,320,331,332,333,334,335,336,371,372,464],[99,145,300],[99,145,159,170,206,227,229,231,232,233,237,265,278,287,288,339,367,376,377,378,412,464],[99,145,371],[99,144,145,216,231,288,304,319,367,369,370,377],[99,145,302],[99,144,145,227,261,281,296,297,298,299,300,301],[99,145,159,281,282,296,377,378],[99,145,216,278,288,289,304,367,371,377],[99,145,159,376,378],[99,145,159,175,374,377,378],[99,145,159,170,186,199,206,218,228,229,231,232,233,238,260,261,262,264,265,268,269,271,274,275,276,277,289,366,367,372,374,376,377,378],[99,145,159,175],[99,145,202,203,204,206,213,374,375,412,415,464],[99,145,159,175,186,222,394,396,397,398,464],[99,145,170,186,199,222,232,261,262,269,278,286,289,367,372,374,379,380,386,392,408,409],[99,145,212,213,288,347,358,367,376],[99,145,159,186,203,261,374,376,384],[99,145,294],[99,145,159,405,406,407],[99,145,374,376],[99,145,206,231,261,366,415],[99,145,159,170,269,278,374,380,386,388,392,408,411],[99,145,159,212,347,392,401],[99,145,202,238,366,376,403],[99,145,159,218,238,376,387,388,399,400,402,404],[93,99,145,229,230,231,412,415],[99,145,159,170,186,206,212,220,228,232,233,261,262,264,265,277,278,286,289,347,366,367,372,373,374,379,380,381,383,385,415],[99,145,159,175,212,374,386,405,410],[99,145,342,343,344,345,346],[99,145,268,270],[99,145,272],[99,145,270],[99,145,272,273],[99,145,159,206,227,377],[85,99,145,159,170,201,203,206,228,229,231,232,233,259,374,378,412,415],[99,145,159,170,186,205,210,261,373,377],[99,145,296],[99,145,297],[99,145,298],[99,145,221,225],[99,145,159,206,221,228],[99,145,224,225],[99,145,226],[99,145,221,222],[99,145,221,239],[99,145,221],[99,145,267,268,373],[99,145,266],[99,145,222,372,373],[99,145,263,373],[99,145,222,372],[99,145,339],[99,145,223,228,230,261,289,295,304,307,308,338,374,377],[99,145,237,248,251,252,253,254,255],[99,145,355],[99,145,216,230,231,282,289,302,315,319,348,349,350,351,353,354,357,366,371,376],[99,145,237],[99,145,259],[99,145,159,228,230,240,256,258,260,374,412,415],[99,145,237,248,249,250,251,252,253,254,255,413],[99,145,222],[99,145,282,283,286,367],[99,145,159,268,376],[99,145,159],[99,145,281,302],[99,145,280],[99,145,277,282],[99,145,279,281,376],[99,145,159,205,282,283,284,285,376,377],[85,99,145,234,236,289],[99,145,290],[85,99,145,203],[85,99,145,372],[85,93,99,145,231,233,412,415],[99,145,203,437,438],[85,99,145,247],[85,99,145,170,186,201,241,243,245,246,415],[99,145,218,372,377],[99,145,372,382],[85,99,145,157,159,170,201,247,291,412,413,414],[85,99,145,194,195,196,197,198,412,459,524],[85,86,87,88,89,99,145],[99,145,150],[99,145,389,390,391],[99,145,389],[85,89,99,145,159,161,170,193,194,195,196,197,198,199,201,265,327,378,411,415,459,524],[99,145,425],[99,145,427],[99,145,429],[99,145,519],[99,145,431],[99,145,433,434,435],[99,145,439],[90,92,99,145,417,422,424,426,428,430,432,436,440,442,450,451,453,462,463,464,465],[99,145,441],[99,145,449],[99,145,243],[99,145,452],[99,144,145,282,283,284,286,318,372,454,455,456,459,460,461],[99,145,193],[99,145,485],[99,145,483,485],[99,145,474,482,483,484,486,488],[99,145,472],[99,145,475,480,485,488],[99,145,471,488],[99,145,475,476,479,480,481,488],[99,145,475,476,477,479,480,488],[99,145,472,473,474,475,476,480,481,482,484,485,486,488],[99,145,488],[99,145,470,472,473,474,475,476,477,479,480,481,482,483,484,485,486,487],[99,145,470,488],[99,145,475,477,478,480,481,488],[99,145,479,488],[99,145,480,481,485,488],[99,145,473,483],[99,145,688],[99,145,689,690,691],[99,145,689,690,692],[85,99,145,724],[99,145,724],[99,145,724,725,726],[85,99,145,564],[99,145,564,565,566,567,570,571,572,573,574,575,576,579,580],[99,145,564],[99,145,568,569],[85,99,145,561,564],[99,145,558,559,561],[99,145,554,557,559,561],[99,145,558,561],[85,99,145,549,550,551,554,555,556,558,559,560,561],[99,145,551,554,555,556,557,558,559,560,561,562,563],[99,145,558],[99,145,552,558,559],[99,145,552,553],[99,145,557,559,560],[99,145,557],[99,145,549,554,559,560],[85,99,145,554,557,558,559],[99,145,577,578],[85,99,145,742,760],[85,99,145,742,760,763],[85,99,145,741,742,760,763],[99,145,743,744,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781],[85,99,145,741,742,760],[99,145,175,193],[99,145,490,491],[99,145,489,492],[99,112,116,145,186],[99,112,145,175,186],[99,107,145],[99,109,112,145,183,186],[99,145,164,183],[99,107,145,193],[99,109,112,145,164,186],[99,104,105,108,111,145,156,175,186],[99,112,119,145],[99,104,110,145],[99,112,133,134,145],[99,108,112,145,178,186,193],[99,133,145,193],[99,106,107,145,193],[99,112,145],[99,106,107,108,109,110,111,112,113,114,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,134,135,136,137,138,139,145],[99,112,127,145],[99,112,119,120,145],[99,110,112,120,121,145],[99,111,145],[99,104,107,112,145],[99,112,116,120,121,145],[99,116,145],[99,110,112,115,145,186],[99,104,109,112,119,145],[99,145,175],[99,107,112,133,145,191,193],[99,145,672],[99,145,584,585],[99,145,582,583,584,586,587,592],[99,145,583,584],[99,145,592],[99,145,593],[99,145,584],[99,145,582,583,584,587,588,589,590,591],[99,145,582,583,594],[99,145,661],[99,145,661,666],[99,145,656,659,661,664,665,666,667,668,669,670,671],[99,145,595,597,666],[99,145,661,664],[99,145,596,661,665],[99,145,597,599,601,602,603,604],[99,145,599,601,603,604],[99,145,599,601,603],[99,145,596,599,601,602,604],[99,145,595,597,598,599,600,601,602,603,604,605,606,656,657,658,659,660],[99,145,595,597,598,601],[99,145,597,598,601],[99,145,601,604],[99,145,595,596,598,599,600,602,603,604],[99,145,595,596,597,601,661],[99,145,601,602,603,604],[99,145,603],[99,145,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655],[99,145,495,496],[99,145,495],[99,145,442,680],[99,145,442,684],[85,99,145,428,450,508,523,527,581,663,673,674,677,679,687,714],[85,99,145,450,508,515,523,527,543,581,663,673,674,678,679,717,719,720],[85,99,145,442,450,508,515,523,527,543,679],[85,99,145,450,508,514,517,523,527,543,581,663,673,674,678,679,714,723,730,731,732,733,734,736,737,738],[99,145,466,520,522,542,544,545],[85,99,145,450,515,523,527,543],[99,145,442,523,527,547],[85,99,145,428,516,523,674,687,719,783],[85,99,145,508,523],[99,145,442,508,527],[85,99,145,442,450,508,527,540],[85,99,145,516,742,782],[85,99,145,521,523,527,539],[85,99,145,521],[85,99,145,507,511,523,527,543,727,729],[85,99,145,517],[85,99,145,517,524,526],[85,99,145,508,523,527,543,581,663,673,674,677,735],[85,99,145,517,523,686],[85,99,145,517,787],[85,99,145,523,527],[85,99,145,517,523],[85,99,145,517,523,538],[85,99,145,517,524,581,677],[85,99,145,515,523,527,543],[85,99,145,517,526,676],[85,99,145,517,523,682],[85,99,145,523],[85,99,145,523,527,698,707,713],[85,99,145,508,523,527,543,677,687,735],[99,145,523,679,723],[85,99,145,514,523,718],[85,99,145,517,728],[99,145,521,543],[85,99,145,507,523,674,723],[99,145,497,505,507],[85,99,145,450,508,523,527,581,663,673,674,678,679],[85,99,145,450,508,523,527,581,663,673,674,678,679,683],[99,145,497,509],[99,145,512,513],[99,145,505,506],[99,145,507],[99,145,442,508,510,523,527,539,540,541],[99,145,493]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","signature":false,"impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","signature":false,"impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","signature":false,"impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","signature":false,"impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","signature":false,"impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","signature":false,"impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","signature":false,"impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","signature":false,"impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","signature":false,"impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","signature":false,"impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","signature":false,"impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","signature":false,"impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","signature":false,"impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","signature":false,"impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","signature":false,"impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","signature":false,"impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","signature":false,"impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","signature":false,"impliedFormat":1},{"version":"0f6666b58e9276ac3a38fdc80993d19208442d6027ab885580d93aec76b4ef00","signature":false,"impliedFormat":1},{"version":"05fd364b8ef02fb1e174fbac8b825bdb1e5a36a016997c8e421f5fab0a6da0a0","signature":false,"impliedFormat":1},{"version":"631eff75b0e35d1b1b31081d55209abc43e16b49426546ab5a9b40bdd40b1f60","signature":false,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","signature":false,"impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","signature":false,"impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","signature":false,"impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","signature":false,"impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","signature":false,"impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","signature":false,"impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","signature":false,"impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","signature":false,"impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","signature":false,"impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","signature":false,"impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","signature":false,"impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","signature":false,"impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","signature":false,"impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","signature":false,"impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","signature":false,"impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","signature":false,"impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","signature":false,"impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","signature":false,"impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","signature":false,"impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","signature":false,"impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","signature":false,"impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","signature":false,"impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","signature":false,"impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","signature":false,"impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","signature":false,"impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","signature":false,"impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","signature":false,"impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","signature":false,"impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","signature":false,"impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","signature":false,"impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","signature":false,"impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","signature":false,"impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","signature":false,"impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","signature":false,"impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","signature":false,"impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","signature":false,"impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","signature":false,"impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","signature":false,"impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","signature":false,"impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","signature":false,"impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","signature":false,"impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","signature":false,"impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","signature":false,"impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","signature":false,"impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","signature":false,"impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","signature":false,"impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","signature":false,"impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","signature":false,"impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","signature":false,"impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","signature":false,"impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","signature":false,"impliedFormat":1},{"version":"4b34bdb6f29a4347b7db9c0f8622686035fe25adb1c9e927acd8d22a2cbb6ccb","signature":false,"impliedFormat":1},{"version":"714435130b9015fae551788df2a88038471a5a11eb471f27c4ede86552842bc9","signature":false,"impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","signature":false,"impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","signature":false,"impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"27fdb0da0daf3b337c5530c5f266efe046a6ceb606e395b346974e4360c36419","signature":false,"impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","signature":false,"impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","signature":false,"impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"0e456fd5b101271183d99a9087875a282323e3a3ff0d7bcf1881537eaa8b8e63","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","signature":false,"impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","signature":false,"impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","signature":false,"impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","signature":false,"impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","signature":false,"impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","signature":false,"impliedFormat":1},{"version":"47ab634529c5955b6ad793474ae188fce3e6163e3a3fb5edd7e0e48f14435333","signature":false,"impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","signature":false,"impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","signature":false,"impliedFormat":1},{"version":"fad4e3c207fe23922d0b2d06b01acbfb9714c4f2685cf80fd384c8a100c82fd0","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","signature":false,"impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","signature":false,"impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","signature":false,"impliedFormat":1},{"version":"ddc734b4fae82a01d247e9e342d020976640b5e93b4e9b3a1e30e5518883a060","signature":false,"impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","signature":false,"impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","signature":false,"impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","signature":false,"impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","signature":false,"impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","signature":false,"impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"05db535df8bdc30d9116fe754a3473d1b6479afbc14ae8eb18b605c62677d518","signature":false,"impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","signature":false,"impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","signature":false,"impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","signature":false,"impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","signature":false,"impliedFormat":1},{"version":"42bc0e1a903408137c3df2b06dfd7e402cdab5bbfa5fcfb871b22ebfdb30bd0b","signature":false,"impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","signature":false,"impliedFormat":1},{"version":"3da0083607976261730c44908eab1b6262f727747ef3230a65ecd0153d9e8639","signature":false,"impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","signature":false,"impliedFormat":1},{"version":"dd721e5707f241e4ef4ab36570d9e2a79f66aad63a339e3cbdbac7d9164d2431","signature":false,"impliedFormat":1},{"version":"24f8562308dd8ba6013120557fa7b44950b619610b2c6cb8784c79f11e3c4f90","signature":false,"impliedFormat":1},{"version":"3849a7f92d0e11b785f6ae7bedb25d9aad8d1234b3f1cf530a4e7404be26dd0a","signature":false,"impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","signature":false,"impliedFormat":1},{"version":"57d6ac03382e30e9213641ff4f18cf9402bb246b77c13c8e848c0b1ca2b7ef92","signature":false,"impliedFormat":1},{"version":"f040772329d757ecd38479991101ef7bc9bf8d8f4dd8ee5d96fe00aa264f2a2b","signature":false,"impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","signature":false,"impliedFormat":1},{"version":"57e47d02e88abef89d214cdf52b478104dc17997015746e288cbb580beaef266","signature":false,"impliedFormat":1},{"version":"04a2d0bd8166f057cc980608bd5898bfc91198636af3c1eb6cb4eb5e8652fbea","signature":false,"impliedFormat":1},{"version":"376c21ad92ca004531807ea4498f90a740fd04598b45a19335a865408180eddd","signature":false,"impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","signature":false,"impliedFormat":1},{"version":"a9af0e608929aaf9ce96bd7a7b99c9360636c31d73670e4af09a09950df97841","signature":false,"impliedFormat":1},{"version":"48d37b90a04e753a925228f50304d02c4f95d57bf682f8bb688621c3cd9d32ec","signature":false,"impliedFormat":1},{"version":"361e2b13c6765d7f85bb7600b48fde782b90c7c41105b7dab1f6e7871071ba20","signature":false,"impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","signature":false,"impliedFormat":1},{"version":"b6db56e4903e9c32e533b78ac85522de734b3d3a8541bf24d256058d464bf04b","signature":false,"impliedFormat":1},{"version":"24daa0366f837d22c94a5c0bad5bf1fd0f6b29e1fae92dc47c3072c3fdb2fbd5","signature":false,"impliedFormat":1},{"version":"b68c4ed987ef5693d3dccd85222d60769463aca404f2ffca1c4c42781dce388e","signature":false,"impliedFormat":1},{"version":"cfb5b5d514eb4ad0ee25f313b197f3baa493eee31f27613facd71efb68206720","signature":false,"impliedFormat":1},{"version":"65f43099ded6073336e697512d9b80f2d4fec3182b7b2316abf712e84104db00","signature":false,"impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","signature":false,"impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","signature":false,"impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","signature":false,"impliedFormat":1},{"version":"9715fe982fccf375c88ac4d3cc8f6a126a7b7596be8d60190a0c7d22b45b4be4","signature":false,"impliedFormat":1},{"version":"1fe24e25a00c7dd689cb8c0fb4f1048b4a6d1c50f76aaca2ca5c6cdb44e01442","signature":false,"impliedFormat":1},{"version":"672f293c53a07b8c1c1940797cd5c7984482a0df3dd9c1f14aaee8d3474c2d83","signature":false,"impliedFormat":1},{"version":"0a66cb2511fa8e3e0e6ba9c09923f664a0a00896f486e6f09fc11ff806a12b0c","signature":false,"impliedFormat":1},{"version":"d703f98676a44f90d63b3ffc791faac42c2af0dd2b4a312f4afdb5db471df3de","signature":false,"impliedFormat":1},{"version":"0cfe1d0b90d24f5c105db5a2117192d082f7d048801d22a9ea5c62fae07b80a0","signature":false,"impliedFormat":1},{"version":"ef61792acbfa8c27c9bd113f02731e66229f7d3a169e3c1993b508134f1a58e0","signature":false,"impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","signature":false,"impliedFormat":1},{"version":"3ccf230b00deed31582c84b968cb3a977dae3b3446107d7aa790efaa079c06ac","signature":false,"impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","signature":false,"impliedFormat":1},{"version":"5c2e5ca7d53236bbf483a81ae283e2695e291fe69490cd139b33fa9e71838a69","signature":false,"impliedFormat":1},{"version":"a73bee51e3820392023252c36348e62dd72e6bae30a345166e9c78360f1aba7e","signature":false,"impliedFormat":1},{"version":"6ea68b3b7d342d1716cc4293813410d3f09ff1d1ca4be14c42e6d51e810962e1","signature":false,"impliedFormat":1},{"version":"c319e82ac16a5a5da9e28dfdefdad72cebb5e1e67cbdcc63cce8ae86be1e454f","signature":false,"impliedFormat":1},{"version":"a23185bc5ef590c287c28a91baf280367b50ae4ea40327366ad01f6f4a8edbc5","signature":false,"impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","signature":false,"impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","signature":false,"impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","signature":false,"impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","signature":false,"impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","signature":false,"impliedFormat":1},{"version":"0c7c947ff881c4274c0800deaa0086971e0bfe51f89a33bd3048eaa3792d4876","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"db01d18853469bcb5601b9fc9826931cc84cc1a1944b33cad76fd6f1e3d8c544","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","signature":false,"impliedFormat":1},{"version":"a020158a317c07774393974d26723af551e569f1ba4d6524e8e245f10e11b976","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","signature":false,"impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","signature":false,"impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","signature":false,"impliedFormat":1},{"version":"15b36126e0089bfef173ab61329e8286ce74af5e809d8a72edcafd0cc049057f","signature":false,"impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","signature":false,"impliedFormat":1},{"version":"13283350547389802aa35d9f2188effaeac805499169a06ef5cd77ce2a0bd63f","signature":false,"impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","signature":false,"impliedFormat":1},{"version":"d07cbc787a997d83f7bde3877fec5fb5b12ce8c1b7047eb792996ed9726b4dde","signature":false,"impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","signature":false,"impliedFormat":1},{"version":"8bba776476c48b0e319d243f353190f24096057acede3c2f620fee17ff885dba","signature":false,"impliedFormat":1},{"version":"a3abe92070fbd33714bd837806030b39cfb1f8283a98c7c1f55fffeea388809e","signature":false,"impliedFormat":1},{"version":"ceb6696b98a72f2dae802260c5b0940ea338de65edd372ff9e13ab0a410c3a88","signature":false,"impliedFormat":1},{"version":"2cd914e04d403bdc7263074c63168335d44ce9367e8a74f6896c77d4d26a1038","signature":false,"impliedFormat":1},{"version":"ac60bbee0d4235643cc52b57768b22de8c257c12bd8c2039860540cab1fa1d82","signature":false,"impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","signature":false,"impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","signature":false,"impliedFormat":1},{"version":"208c9af9429dd3c76f5927b971263174aaa4bc7621ddec63f163640cbd3c473c","signature":false,"impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","signature":false,"impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","signature":false,"impliedFormat":1},{"version":"3bc8605900fd1668f6d93ce8e14386478b6caa6fda41be633ee0fe4d0c716e62","signature":false,"impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","signature":false,"impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","signature":false,"impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","signature":false,"impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","signature":false,"impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","signature":false,"impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","signature":false,"impliedFormat":1},{"version":"45490817629431853543adcb91c0673c25af52a456479588b6486daba34f68bb","signature":false,"impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","signature":false,"impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","signature":false,"impliedFormat":1},{"version":"9f31420a5040dbfb49ab94bcaaa5103a9a464e607cabe288958f53303f1da32e","signature":false,"impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","signature":false,"impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","signature":false,"impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","signature":false,"impliedFormat":1},{"version":"f11d0dcaa4a1cba6d6513b04ceb31a262f223f56e18b289c0ba3133b4d3cd9a6","signature":false,"impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","signature":false,"impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","signature":false,"impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","signature":false,"impliedFormat":1},{"version":"6dcf60530c25194a9ee0962230e874ff29d34c59605d8e069a49928759a17e0a","signature":false,"impliedFormat":1},{"version":"56013416784a6b754f3855f8f2bf6ce132320679b8a435389aca0361bce4df6b","signature":false,"impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","signature":false,"impliedFormat":1},{"version":"9c066f3b46cf016e5d072b464821c5b21cc9adcc44743de0f6c75e2509a357ab","signature":false,"impliedFormat":1},{"version":"002eae065e6960458bda3cf695e578b0d1e2785523476f8a9170b103c709cd4f","signature":false,"impliedFormat":1},{"version":"c51641ab4bfa31b7a50a0ca37edff67f56fab3149881024345b13f2b48b7d2de","signature":false,"impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","signature":false,"impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","signature":false,"impliedFormat":1},{"version":"52abbd5035a97ebfb4240ec8ade2741229a7c26450c84eb73490dc5ea048b911","signature":false,"impliedFormat":1},{"version":"1042064ece5bb47d6aba91648fbe0635c17c600ebdf567588b4ca715602f0a9d","signature":false,"impliedFormat":1},{"version":"4360ad4de54de2d5c642c4375d5eab0e7fe94ebe8adca907e6c186bbef75a54d","signature":false,"impliedFormat":1},{"version":"c338dff3233675f87a3869417aaea8b8bf590505106d38907dc1d0144f6402ef","signature":false,"impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","signature":false,"impliedFormat":1},{"version":"9c9cae45dc94c2192c7d25f80649414fa13c425d0399a2c7cb2b979e4e50af42","signature":false,"impliedFormat":1},{"version":"068f063c2420b20f8845afadb38a14c640aed6bb01063df224edb24af92b4550","signature":false,"impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","signature":false,"impliedFormat":1},{"version":"b8719d4483ebef35e9cb67cd5677b7e0103cf2ed8973df6aba6fdd02896ddc6e","signature":false,"impliedFormat":1},{"version":"643672ce383e1c58ea665a92c5481f8441edbd3e91db36e535abccbc9035adeb","signature":false,"impliedFormat":1},{"version":"6dd9bcf10678b889842d467706836a0ab42e6c58711e33918ed127073807ee65","signature":false,"impliedFormat":1},{"version":"8fa022ea514ce0ea78ac9b7092a9f97f08ead20c839c779891019e110fce8307","signature":false,"impliedFormat":1},{"version":"c93235337600b786fd7d0ff9c71a00f37ca65c4d63e5d695fc75153be2690f09","signature":false,"impliedFormat":1},{"version":"10179c817a384983f6925f778a2dac2c9427817f7d79e27d3e9b1c8d0564f1f4","signature":false,"impliedFormat":1},{"version":"ce791f6ea807560f08065d1af6014581eeb54a05abd73294777a281b6dfd73c2","signature":false,"impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","signature":false,"impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","signature":false,"impliedFormat":1},{"version":"c0a666b005521f52e2db0b685d659d7ee9b0b60bc0d347dfc5e826c7957bdb83","signature":false,"impliedFormat":1},{"version":"807d38d00ce6ab9395380c0f64e52f2f158cc804ac22745d8f05f0efdec87c33","signature":false,"impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","signature":false,"impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","signature":false,"impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","signature":false,"impliedFormat":1},{"version":"e17cd049a1448de4944800399daa4a64c5db8657cc9be7ef46be66e2a2cd0e7c","signature":false,"impliedFormat":1},{"version":"d05fb434f4ba073aed74b6c62eff1723c835de2a963dbb091e000a2decb5a691","signature":false,"impliedFormat":1},{"version":"10e6166be454ddb8c81000019ce1069b476b478c316e7c25965a91904ec5c1e3","signature":false,"impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","signature":false,"impliedFormat":1},{"version":"4d4927cbee21750904af7acf940c5e3c491b4d5ebc676530211e389dd375607a","signature":false,"impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","signature":false,"impliedFormat":1},{"version":"703989a003790524b4e34a1758941d05c121d5d352bccca55a5cfb0c76bca592","signature":false,"impliedFormat":1},{"version":"a58abf1f5c8feb335475097abeddd32fd71c4dc2065a3d28cf15cacabad9654a","signature":false,"impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","signature":false,"impliedFormat":1},{"version":"2d7db1d73456e8c5075387d4240c29a2a900847f9c1bff106a2e490da8fbd457","signature":false,"impliedFormat":1},{"version":"2b15c805f48e4e970f8ec0b1915f22d13ca6212375e8987663e2ef5f0205e832","signature":false,"impliedFormat":1},{"version":"671aeae7130038566a8d00affeb1b3e3b131edf93cbcfff6f55ed68f1ca4c1b3","signature":false,"impliedFormat":1},{"version":"f0f05149debcf31b3a717ce8dd16e0323a789905cb9e27239167b604153b8885","signature":false,"impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","signature":false,"impliedFormat":1},{"version":"955c69dde189d5f47a886ed454ff50c69d4d8aaec3a454c9ab9c3551db727861","signature":false,"impliedFormat":1},{"version":"cec8b16ff98600e4f6777d1e1d4ddf815a5556a9c59bc08cc16db4fd4ae2cf00","signature":false,"impliedFormat":1},{"version":"9e21f8e2c0cfea713a4a372f284b60089c0841eb90bf3610539d89dbcd12d65a","signature":false,"impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","signature":false,"impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","signature":false,"impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","signature":false,"impliedFormat":1},{"version":"c226288bda11cee97850f0149cc4ff5a244d42ed3f5a9f6e9b02f1162bf1e3f4","signature":false,"impliedFormat":1},{"version":"210a4ec6fd58f6c0358e68f69501a74aef547c82deb920c1dec7fa04f737915a","signature":false,"impliedFormat":1},{"version":"8eea4cc42d04d26bcbcaf209366956e9f7abaf56b0601c101016bb773730c5fe","signature":false,"impliedFormat":1},{"version":"f5319e38724c54dff74ee734950926a745c203dcce00bb0343cb08fbb2f6b546","signature":false,"impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","signature":false,"impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","signature":false,"impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","signature":false,"impliedFormat":1},{"version":"12b8dfed70961bea1861e5d39e433580e71323abb5d33da6605182ec569db584","signature":false,"impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","signature":false,"impliedFormat":1},{"version":"7e560f533aaf88cf9d3b427dcf6c112dd3f2ee26d610e2587583b6c354c753db","signature":false,"impliedFormat":1},{"version":"71e0082342008e4dfb43202df85ea0986ef8e003c921a1e49999d0234a3019da","signature":false,"impliedFormat":1},{"version":"27ab780875bcbb65e09da7496f2ca36288b0c541abaa75c311450a077d54ec15","signature":false,"impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","signature":false,"impliedFormat":1},{"version":"e71e103fb212e015394def7f1379706fce637fec9f91aa88410a73b7c5cbd4e3","signature":false,"impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","signature":false,"impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","signature":false,"impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","signature":false,"impliedFormat":1},{"version":"bd4131091b773973ca5d2326c60b789ab1f5e02d8843b3587effe6e1ea7c9d86","signature":false,"impliedFormat":1},{"version":"794998dc1c5a19ce77a75086fe829fb9c92f2fd07b5631c7d5e0d04fd9bc540c","signature":false,"impliedFormat":1},{"version":"2b0b12d0ee52373b1e7b09226eae8fbf6a2043916b7c19e2c39b15243f32bde2","signature":false,"impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","signature":false,"impliedFormat":1},{"version":"0427df5c06fafc5fe126d14b9becd24160a288deff40e838bfbd92a35f8d0d00","signature":false,"impliedFormat":1},{"version":"bdc5fd605a6d315ded648abf2c691a22d0b0c774b78c15512c40ddf138e51950","signature":false,"impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","signature":false,"impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","signature":false,"impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","signature":false,"impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","signature":false,"impliedFormat":1},{"version":"6cd4b0986c638d92f7204d1407b1cb3e0a79d7a2d23b0f141c1a0829540ce7ef","signature":false,"impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","signature":false,"impliedFormat":1},{"version":"6511e4503cf74c469c60aafd6589e4d14d5eb0a25f9bf043dcbecdf65f261972","signature":false,"impliedFormat":1},{"version":"d58265e159fc3cb30aa8878ba5e986a314b1759c824ff66d777b9fe42117231a","signature":false,"impliedFormat":1},{"version":"ff8fccaae640b0bb364340216dcc7423e55b6bb182ca2334837fee38636ad32e","signature":false,"impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","signature":false,"impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","signature":false,"impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","signature":false,"impliedFormat":1},{"version":"59ee66cf96b093b18c90a8f6dbb3f0e3b65c758fba7b8b980af9f2726c32c1a2","signature":false,"impliedFormat":1},{"version":"c590195790d7fa35b4abed577a605d283b8336b9e01fa9bf4ae4be49855940f9","signature":false,"impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","signature":false,"impliedFormat":1},{"version":"026a43d8239b8f12d2fc4fa5a7acbc2ad06dd989d8c71286d791d9f57ca22b78","signature":false,"impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","signature":false,"impliedFormat":1},{"version":"14cf3683955f914b4695e92c93aae5f3fe1e60f3321d712605164bfe53b34334","signature":false,"impliedFormat":1},{"version":"12f0fb50e28b9d48fe5b7580580efe7cc0bd38e4b8c02d21c175aa9a4fd839b0","signature":false,"impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","signature":false,"impliedFormat":1},{"version":"7cd657e359eac7829db5f02c856993e8945ffccc71999cdfb4ab3bf801a1bbc6","signature":false,"impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","signature":false,"impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","signature":false,"impliedFormat":1},{"version":"29c2aa0712786a4a504fce3acd50928f086027276f7490965cb467d2ce638bae","signature":false,"impliedFormat":1},{"version":"f14e63395b54caecc486f00a39953ab00b7e4d428a4e2c38325154b08eb5dcc2","signature":false,"impliedFormat":1},{"version":"e749bbd37dadf82c9833278780527c717226e1e2c9bc7b2576c8ec1c40ec5647","signature":false,"impliedFormat":1},{"version":"46e4e179b295f08d0bd0176fe44cf6c89558c9091d3cb3894f9eaaa42ea1add1","signature":false,"impliedFormat":1},{"version":"1101ceda2dfd8e0c7ae87cda8053533a187ecc58c5ef72074afb97d2bf4daa08","signature":false,"impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","signature":false,"impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","signature":false,"impliedFormat":1},{"version":"05c97cddbaf99978f83d96de2d8af86aded9332592f08ce4a284d72d0952c391","signature":false,"impliedFormat":1},{"version":"72179f9dd22a86deaad4cc3490eb0fe69ee084d503b686985965654013f1391b","signature":false,"impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","signature":false,"impliedFormat":1},{"version":"7b6ff760c8a240b40dab6e4419b989f06a5b782f4710d2967e67c695ef3e93c4","signature":false,"impliedFormat":1},{"version":"29164fb428c851bc35b632761daad3ae075993a0bf9c43e9e3bc6468b32d9aa5","signature":false,"impliedFormat":1},{"version":"3c01539405051bffccacffd617254c8d0f665cdce00ec568c6f66ccb712b734f","signature":false,"impliedFormat":1},{"version":"ef9021bdfe54f4df005d0b81170bd2da9bfd86ef552cde2a049ba85c9649658f","signature":false,"impliedFormat":1},{"version":"17a1a0d1c492d73017c6e9a8feb79e9c8a2d41ef08b0fe51debc093a0b2e9459","signature":false,"impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","signature":false,"impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","signature":false,"impliedFormat":1},{"version":"96e1caae9b78cde35c62fee46c1ec9fa5f12c16bc1e2ab08d48e5921e29a6958","signature":false,"impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","signature":false,"impliedFormat":1},{"version":"9e0327857503a958348d9e8e9dd57ed155a1e6ec0071eb5eb946fe06ccdf7680","signature":false,"impliedFormat":1},{"version":"6c800b281b9e89e69165fd11536195488de3ff53004e55905e6c0059a2d8591e","signature":false,"impliedFormat":1},{"version":"01aa917531e116485beca44a14970834687b857757159769c16b228eb1e49c5f","signature":false,"impliedFormat":1},{"version":"397f568f996f8ffcf12d9156342552b0da42f6571eadba6bce61c99e1651977d","signature":false,"impliedFormat":1},{"version":"e2fd426f3cbc5bbff7860378784037c8fa9c1644785eed83c47c902b99b6cda9","signature":false,"impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","signature":false,"impliedFormat":1},{"version":"a52674bc98da7979607e0f44d4c015c59c1b1d264c83fc50ec79ff2cfea06723","signature":false,"impliedFormat":1},{"version":"bcca16e60015db8bbf6bd117e88c5f7269337aebb05fc2b0701ae658a458c9c3","signature":false,"impliedFormat":1},{"version":"5e1246644fab20200cdc7c66348f3c861772669e945f2888ef58b461b81e1cd8","signature":false,"impliedFormat":1},{"version":"eb39550e2485298d91099e8ab2a1f7b32777d9a5ba34e9028ea8df2e64891172","signature":false,"impliedFormat":1},{"version":"e108f38a04a607f9386d68a4c6f3fdae1b712960f11f6482c6f1769bab056c2e","signature":false,"impliedFormat":1},{"version":"a3128a84a9568762a2996df79717d92154d18dd894681fc0ab3a098fa7f8ee3b","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"347791f3792f436950396dd6171d6450234358001ae7c94ca209f1406566ccbf","signature":false,"impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","signature":false,"impliedFormat":1},{"version":"714d8ebb298c7acc9bd1f34bd479c57d12b73371078a0c5a1883a68b8f1b9389","signature":false,"impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","signature":false,"impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","signature":false,"impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","signature":false,"impliedFormat":1},{"version":"51bf55bb6eb80f11b3aa59fb0a9571565a7ea304a19381f6da5630f4b2e206c4","signature":false,"impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","signature":false,"impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","signature":false,"impliedFormat":1},{"version":"02f8ef78d46c5b27f108dbb56709daa0aff625c20247abb0e6bb67cd73439f9f","signature":false,"impliedFormat":1},{"version":"b7fff2d004c5879cae335db8f954eb1d61242d9f2d28515e67902032723caeab","signature":false,"impliedFormat":1},{"version":"5f3dc10ae646f375776b4e028d2bed039a93eebbba105694d8b910feebbe8b9c","signature":false,"impliedFormat":1},{"version":"bb0cd7862b72f5eba39909c9889d566e198fcaddf7207c16737d0c2246112678","signature":false,"impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","signature":false,"impliedFormat":1},{"version":"6812502cc640de74782ce9121592ae3765deb1c5c8e795b179736b308dd65e90","signature":false,"impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","signature":false,"impliedFormat":1},{"version":"2b664c3cc544d0e35276e1fb2d4989f7d4b4027ffc64da34ec83a6ccf2e5c528","signature":false,"impliedFormat":1},{"version":"a3f41ed1b4f2fc3049394b945a68ae4fdefd49fa1739c32f149d32c0545d67f5","signature":false,"impliedFormat":1},{"version":"bad68fd0401eb90fe7da408565c8aee9c7a7021c2577aec92fa1382e8876071a","signature":false,"impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","signature":false,"impliedFormat":1},{"version":"fec01479923e169fb52bd4f668dbeef1d7a7ea6e6d491e15617b46f2cacfa37d","signature":false,"impliedFormat":1},{"version":"8a8fb3097ba52f0ae6530ec6ab34e43e316506eb1d9aa29420a4b1e92a81442d","signature":false,"impliedFormat":1},{"version":"44e09c831fefb6fe59b8e65ad8f68a7ecc0e708d152cfcbe7ba6d6080c31c61e","signature":false,"impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","signature":false,"impliedFormat":1},{"version":"b10bc147143031b250dc36815fd835543f67278245bf2d0a46dca765f215124e","signature":false,"impliedFormat":1},{"version":"87affad8e2243635d3a191fa72ef896842748d812e973b7510a55c6200b3c2a4","signature":false,"impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","signature":false,"impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","signature":false,"impliedFormat":1},{"version":"1e4c6ac595b6d734c056ac285b9ee50d27a2c7afe7d15bd14ed16210e71593b0","signature":false,"impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","signature":false,"impliedFormat":1},{"version":"330896c1a2b9693edd617be24fbf9e5895d6e18c7955d6c08f028f272b37314d","signature":false,"impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","signature":false,"impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","signature":false,"impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","signature":false,"impliedFormat":1},{"version":"3c7b3aecd652169787b3c512d8f274a3511c475f84dcd6cead164e40cad64480","signature":false,"impliedFormat":1},{"version":"9a01f12466488eccd8d9eafc8fecb9926c175a4bf4a8f73a07c3bcf8b3363282","signature":false,"impliedFormat":1},{"version":"b80f624162276f24a4ec78b8e86fbee80ca255938e12f8b58e7a8f1a6937120b","signature":false,"impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","signature":false,"impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","signature":false,"impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","signature":false,"impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","signature":false,"impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","signature":false,"impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","signature":false,"impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","signature":false,"impliedFormat":1},{"version":"b95a6f019095dd1d48fd04965b50dfd63e5743a6e75478343c46d2582a5132bf","signature":false,"impliedFormat":99},{"version":"c2008605e78208cfa9cd70bd29856b72dda7ad89df5dc895920f8e10bcb9cd0a","signature":false,"impliedFormat":99},{"version":"b97cb5616d2ab82a98ec9ada7b9e9cabb1f5da880ec50ea2b8dc5baa4cbf3c16","signature":false,"impliedFormat":99},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","signature":false,"impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","signature":false,"impliedFormat":1},{"version":"00b0f43b3770f66aa1e105327980c0ff17a868d0e5d9f5689f15f8d6bf4fb1f4","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"272a7e7dbe05e8aaba1662ef1a16bbd57975cc352648b24e7a61b7798f3a0ad7","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"a1219ee18b9282b4c6a31f1f0bcc9255b425e99363268ba6752a932cf76662f0","signature":false,"impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","signature":false,"impliedFormat":1},{"version":"1d63055b690a582006435ddd3aa9c03aac16a696fac77ce2ed808f3e5a06efab","signature":false,"impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","signature":false,"impliedFormat":1},{"version":"9a964c445118d72402f630b029a9f48cb1b5682c49df14ec08e66513096929ec","signature":false},{"version":"7d68e98a94d0639cdb903d89ce63c74e0b10b9f6bb0c876da6483230e2476ba9","signature":false},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","signature":false,"impliedFormat":1},{"version":"8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","signature":false,"impliedFormat":1},{"version":"333caa2bfff7f06017f114de738050dd99a765c7eb16571c6d25a38c0d5365dc","signature":false,"impliedFormat":1},{"version":"e61df3640a38d535fd4bc9f4a53aef17c296b58dc4b6394fd576b808dd2fe5e6","signature":false,"impliedFormat":1},{"version":"459920181700cec8cbdf2a5faca127f3f17fd8dd9d9e577ed3f5f3af5d12a2e4","signature":false,"impliedFormat":1},{"version":"4719c209b9c00b579553859407a7e5dcfaa1c472994bd62aa5dd3cc0757eb077","signature":false,"impliedFormat":1},{"version":"7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","signature":false,"impliedFormat":1},{"version":"70790a7f0040993ca66ab8a07a059a0f8256e7bb57d968ae945f696cbff4ac7a","signature":false,"impliedFormat":1},{"version":"d1b9a81e99a0050ca7f2d98d7eedc6cda768f0eb9fa90b602e7107433e64c04c","signature":false,"impliedFormat":1},{"version":"a022503e75d6953d0e82c2c564508a5c7f8556fad5d7f971372d2d40479e4034","signature":false,"impliedFormat":1},{"version":"b215c4f0096f108020f666ffcc1f072c81e9f2f95464e894a5d5f34c5ea2a8b1","signature":false,"impliedFormat":1},{"version":"644491cde678bd462bb922c1d0cfab8f17d626b195ccb7f008612dc31f445d2d","signature":false,"impliedFormat":1},{"version":"dfe54dab1fa4961a6bcfba68c4ca955f8b5bbeb5f2ab3c915aa7adaa2eabc03a","signature":false,"impliedFormat":1},{"version":"1251d53755b03cde02466064260bb88fd83c30006a46395b7d9167340bc59b73","signature":false,"impliedFormat":1},{"version":"47865c5e695a382a916b1eedda1b6523145426e48a2eae4647e96b3b5e52024f","signature":false,"impliedFormat":1},{"version":"4cdf27e29feae6c7826cdd5c91751cc35559125e8304f9e7aed8faef97dcf572","signature":false,"impliedFormat":1},{"version":"331b8f71bfae1df25d564f5ea9ee65a0d847c4a94baa45925b6f38c55c7039bf","signature":false,"impliedFormat":1},{"version":"2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","signature":false,"impliedFormat":1},{"version":"0146fd6262c3fd3da51cb0254bb6b9a4e42931eb2f56329edd4c199cb9aaf804","signature":false,"impliedFormat":1},{"version":"183f480885db5caa5a8acb833c2be04f98056bdcc5fb29e969ff86e07efe57ab","signature":false,"impliedFormat":99},{"version":"b558c9a18ea4e6e4157124465c3ef1063e64640da139e67be5edb22f534f2f08","signature":false,"impliedFormat":1},{"version":"01374379f82be05d25c08d2f30779fa4a4c41895a18b93b33f14aeef51768692","signature":false,"impliedFormat":1},{"version":"b0dee183d4e65cf938242efaf3d833c6b645afb35039d058496965014f158141","signature":false,"impliedFormat":1},{"version":"c0bbbf84d3fbd85dd60d040c81e8964cc00e38124a52e9c5dcdedf45fea3f213","signature":false,"impliedFormat":1},{"version":"7df7f160578bad4512c7593d6e938349221834e23936ef5929d067450e10cc28","signature":false},{"version":"4d7d964609a07368d076ce943b07106c5ebee8138c307d3273ba1cf3a0c3c751","signature":false,"impliedFormat":99},{"version":"0e48c1354203ba2ca366b62a0f22fec9e10c251d9d6420c6d435da1d079e6126","signature":false,"impliedFormat":99},{"version":"0662a451f0584bb3026340c3661c3a89774182976cd373eca502a1d3b5c7b580","signature":false,"impliedFormat":99},{"version":"79c164aa4f8a8418df7717206ea52508f72743224a6b9c705f10724c6dbb5548","signature":false,"impliedFormat":1},{"version":"caa2f926a71f9c5ef3debf83a7394486a989da4137567bdc5f1245fd2b27c183","signature":false,"impliedFormat":1},{"version":"a4cc6642dbac0940ba3d598e7dfa725966e62e2fccaffb0cc4c3500282cb02fb","signature":false,"impliedFormat":1},{"version":"8645296e05213c756446da531f1c636e25321042de5146a053d7b7f131962bc2","signature":false,"impliedFormat":1},{"version":"502cf56784c536d8ae77460a6cdfa2109b5174b76362cfd2af44be1276defde3","signature":false,"impliedFormat":1},{"version":"79b15f48d0a5bb5bc8f6c6d24e85a2436d9fb2d821f96df20a0f14f22d26af04","signature":false,"impliedFormat":1},{"version":"4d7a84192199fcca1d034c52ba04afaaf1846e5d1757d051a8df153b9f8060ee","signature":false,"impliedFormat":1},{"version":"a4571ad82d9be612b057631489b82bf21c9ba2c62a54a95fbf54084d74c91a84","signature":false,"impliedFormat":1},{"version":"faf770b3935c2ba6558b2bb65af5d5de58945d81f496dc1a5938c41a1abb358b","signature":false,"impliedFormat":99},{"version":"d3f63dcecb47ebf02d226a0a61d7215984a071b53ff5287097bae60840e883a2","signature":false},{"version":"5c53fa338f17269006641720ffacb7b8dcffbe1ae490a7748a05c370542e98fa","signature":false},{"version":"8434eb541da544ecf91df31241a572e025e8e09a1189b74104b17d8d4f3b6b88","signature":false},{"version":"12542f4de322c9de3ffb41bdd76304fe049bbd574be648839be64d6bc8900038","signature":false},{"version":"42721654fa733adf2fd711f8b1a765322a56a1098cf352e49f7ef3f339f40e00","signature":false},{"version":"c57b441e0c0a9cbdfa7d850dae1f8a387d6f81cbffbc3cd0465d530084c2417d","signature":false,"impliedFormat":99},{"version":"26c57c9f839e6d2048d6c25e81f805ba0ca32a28fd4d824399fd5456c9b0575b","signature":false,"impliedFormat":1},{"version":"baf4730dcce9ea1becc677a43a7fbae1935cbbec60d194f92282ca66d80f95fc","signature":false},{"version":"60082030cae9e5b82f3da9c799eb62f30c4bdb3d174dda5888d40d455d9b6316","signature":false},{"version":"9e025fd7e1fa24aa24957896c1977b2790047a9f4d97f2b3ef47650d28660a2f","signature":false},{"version":"080406305986868acc2affd70b8b93a852a24b932726e1facea204031a3ae89c","signature":false},{"version":"fe93c474ab38ac02e30e3af073412b4f92b740152cf3a751fdaee8cbea982341","signature":false,"impliedFormat":1},{"version":"e0df902c15945ef39f5ca04453ea781f99c05c13edf1db35d4d20dc259383c65","signature":false,"impliedFormat":1},{"version":"1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7","signature":false,"impliedFormat":1},{"version":"6c05d0fcee91437571513c404e62396ee798ff37a2d8bef2104accdc79deb9c0","signature":false,"impliedFormat":1},{"version":"e1ae0d3ccd55edfe75edead6b1d1c9cce04c335abc2a72d2c7a2b1e1ce9c960f","signature":false},{"version":"40eb4eb274d7def754b3352c23328af96a69261fe5e99d20df41f1d5de8d0f5e","signature":false,"impliedFormat":1},{"version":"a346701ad6dcdaa58e388fe0995fc5304c09c395b8cba68ed872780f8c102004","signature":false,"impliedFormat":99},{"version":"2fbe402f0ee5aa8ab55367f88030f79d46211c0a0f342becaa9f648bf8534e9d","signature":false,"impliedFormat":1},{"version":"b94258ef37e67474ac5522e9c519489a55dcb3d4a8f645e335fc68ea2215fe88","signature":false,"impliedFormat":1},{"version":"fae0f4d02169c9c6e4b199a428d42b83298505dfd9d9d6d4b5e6b956c4350f36","signature":false},{"version":"a9373d52584b48809ffd61d74f5b3dfd127da846e3c4ee3c415560386df3994b","signature":false,"impliedFormat":99},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","signature":false,"impliedFormat":99},{"version":"7ec047b73f621c526468517fea779fec2007dd05baa880989def59126c98ef79","signature":false,"impliedFormat":99},{"version":"8dd450de6d756cee0761f277c6dc58b0b5a66b8c274b980949318b8cad26d712","signature":false,"impliedFormat":99},{"version":"6b5f886fe41e2e767168e491fe6048398ed6439d44e006d9f51cc31265f08978","signature":false,"impliedFormat":99},{"version":"56a87e37f91f5625eb7d5f8394904f3f1e2a90fb08f347161dc94f1ae586bdd0","signature":false,"impliedFormat":99},{"version":"6b863463764ae572b9ada405bf77aac37b5e5089a3ab420d0862e4471051393b","signature":false,"impliedFormat":99},{"version":"904d6ad970b6bd825449480488a73d9b98432357ab38cf8d31ffd651ae376ff5","signature":false,"impliedFormat":99},{"version":"68b6a7501a56babd7bcd840e0d638ee7ec582f1e70b3c36ebf32e5e5836913c8","signature":false,"impliedFormat":99},{"version":"89783bd45ab35df55203b522f8271500189c3526976af533a599a86caaf31362","signature":false,"impliedFormat":99},{"version":"26e6c521a290630ea31f0205a46a87cab35faac96e2b30606f37bae7bcda4f9d","signature":false,"impliedFormat":99},{"version":"511c39206fc69bec57f51f315b7beaee6c5f855573241bf5c7671a63d6c00594","signature":false},{"version":"085025c1c561388132836258721c1c8ab6b9fcea2371d32074de8f51d5f37aaa","signature":false},{"version":"a1cfa5b32c36e92d7c310216c00b364c69a2a58286243ab4de668de382a44cf4","signature":false},{"version":"d25ef0d5eeb62be72a2e3d6aa99ae18745253b0bc86a839e055278c6e92edf35","signature":false},{"version":"e6b8f3cd057e49a50b57a52acc38cff7c224def2249464d489295e0e1d200af6","signature":false,"impliedFormat":1},{"version":"9186cdc17ebe8380a0a695f577534c13c08f63b9650c54b56fcc8dd401d09ff0","signature":false},{"version":"6b14be1e187126b754f07b358473cafe91b6b5ba99f8d2e5908ffc3e6c73e3fc","signature":false},{"version":"abd49c80df90619258eccb78eec3e4e21cd0c6f5b68960f0382b85607861ff18","signature":false},{"version":"57ff5b5a9de8ec579fabf1652ac9f748e09869a237da45e8f603f2d953d831eb","signature":false},{"version":"a80036d900071ec547fe6eaa09b1e94f369c27f659663bd57567448f58985e03","signature":false},{"version":"91b4ce96f6ad631a0a6920eb0ab928159ff01a439ae0e266ecdc9ea83126a195","signature":false,"impliedFormat":1},{"version":"88efe27bebddb62da9655a9f093e0c27719647e96747f16650489dc9671075d6","signature":false,"impliedFormat":1},{"version":"e348f128032c4807ad9359a1fff29fcbc5f551c81be807bfa86db5a45649b7ba","signature":false,"impliedFormat":1},{"version":"8ee6b07974528da39b7835556e12dd3198c0a13e4a9de321217cd2044f3de22e","signature":false,"impliedFormat":1},{"version":"deefd8c43b40f9797c3921d78d3f9243959621a17b817be7f5d95c149f23a9dd","signature":false,"impliedFormat":1},{"version":"5f12132800d430adbe59b49c2c0354d85a71ada7d756e34250a655baa8ad4ae5","signature":false,"impliedFormat":1},{"version":"1996d1cd7d585a8359a35878f67abdd73cc35b1f675c9c6b147b202fdd8dfc3f","signature":false,"impliedFormat":1},{"version":"b16e757e4c35434065120a2b3bf13a518fc9e621dc9c2ed668f91635a9dc4e75","signature":false,"impliedFormat":1},{"version":"7c18088ccbca1cfe297c22f4cf598a3a36e798efe63f572e39442e9b6af7ccf9","signature":false,"impliedFormat":1},{"version":"d02ced7accb512e6198b796b8d284e7979abde0f089b0a77969747a5f27bfb23","signature":false,"impliedFormat":1},{"version":"4374cefdde5c6e9bad52b0436e887b8325b8f407c12035194ad02c28f1553a3a","signature":false,"impliedFormat":1},{"version":"9b70cad270593f676aecfe4d1611dc766464f0b8138527b0ebbf1ff773578d69","signature":false,"impliedFormat":1},{"version":"b4f85bfb7e831703ac81737361842f1ae4d924b42c5d1af2bff93cca521de4d1","signature":false,"impliedFormat":1},{"version":"ee933420aacba1f60aa70fb8ba47c5e69001b005073b71973114587089a13c7f","signature":false,"impliedFormat":1},{"version":"0a0714999d0a5bdfacd15c7b34cffbcc6f263f6cb0ccb42076cdc541c6987797","signature":false,"impliedFormat":1},{"version":"56584bfc655f9df64afc0f22f7d1122c29e5b74b342c203b891e19de9fa37de8","signature":false,"impliedFormat":1},{"version":"40ec58f0fadd0b3981b3d383e1c12fa0680115ae9f018387fc2cfc0bbcf23204","signature":false,"impliedFormat":1},{"version":"849b9e7283b7309a4556c9b90bb8e2dfc27751f157798065bbc513dcddb09a8c","signature":false,"impliedFormat":1},{"version":"76bba0c97594248c1be19af32d5799f7eff51cec2926d8e4dd59267d7636a0b4","signature":false,"impliedFormat":1},{"version":"10e109212c7be8a9f66e988e5d6c2a8900c9d14bf6beadf5fa70d32ada3425cf","signature":false,"impliedFormat":1},{"version":"2b821aeb31e690092f8eae671dd961a9d0fd598ff4883ce0a600c90e9e8fa716","signature":false,"impliedFormat":1},{"version":"26602933b613e4df3868a6c82e14fffa2393a08531cb333ed27b151923462981","signature":false,"impliedFormat":1},{"version":"f57a588d8f6b3ce5c8b494f2dc759a8885eaee18e80a4952df47de45403fedbe","signature":false,"impliedFormat":1},{"version":"34735727b3fe7a0ed0651a0f88d06449163d1989a2b2de7f047473adc7c1c383","signature":false,"impliedFormat":1},{"version":"a5b13abc88ab3186e713c445e59e2f6eee20c6167943517bc2f56985d89b8c55","signature":false,"impliedFormat":1},{"version":"c8a206a6ba4e32710ebb4a389187772423de0f4f6180b95a7ef1a5a1934c1be6","signature":false,"impliedFormat":1},{"version":"7ae65fe95b18205e241e6695cb2c61c0828d660aca7d08f68781b439a800e6b8","signature":false,"impliedFormat":1},{"version":"c2c8c166199d3a7bd093152437d1f6399d05e458a9ca9364456feecba920cda4","signature":false,"impliedFormat":1},{"version":"369b7270eeeb37982203b2cb18c7302947b89bf5818c1d3d2e95a0418f02b74e","signature":false,"impliedFormat":1},{"version":"94f95d223e2783b0aef4d15d7f6990a6a550fe17d099c501395f690337f7105e","signature":false,"impliedFormat":1},{"version":"039bd8d1e0d151570b66e75ee152877fb0e2f42eca43718632ac195e6884be34","signature":false,"impliedFormat":1},{"version":"d565d66b38d54de037c9d46dede1f12630010d9b45fd9c6b432c7a40b2e30502","signature":false,"impliedFormat":1},{"version":"d7386a1ebe9a3eae227a5561c898c10cacb61a49f941c5a18cdf593f979c693c","signature":false,"impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","signature":false,"impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","signature":false,"impliedFormat":1},{"version":"36eb5babc665b890786550d4a8cb20ef7105673a6d5551fbdd7012877bb26942","signature":false,"impliedFormat":1},{"version":"fec412ded391a7239ef58f455278154b62939370309c1fed322293d98c8796a6","signature":false,"impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","signature":false,"impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","signature":false,"impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","signature":false,"impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","signature":false,"impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","signature":false,"impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","signature":false,"impliedFormat":1},{"version":"93c3e73824ad57f98fd23b39335dbdae2db0bd98199b0dc0b9ccc60bf3c5134a","signature":false,"impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","signature":false,"impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","signature":false,"impliedFormat":1},{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","signature":false,"impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","signature":false,"impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","signature":false,"impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","signature":false,"impliedFormat":1},{"version":"82919acbb38870fcf5786ec1292f0f5afe490f9b3060123e48675831bd947192","signature":false,"impliedFormat":1},{"version":"e222701788ec77bd57c28facbbd142eadf5c749a74d586bc2f317db7e33544b1","signature":false,"impliedFormat":1},{"version":"09154713fae0ed7befacdad783e5bd1970c06fc41a5f866f7f933b96312ce764","signature":false,"impliedFormat":1},{"version":"8d67b13da77316a8a2fabc21d340866ddf8a4b99e76a6c951cc45189142df652","signature":false,"impliedFormat":1},{"version":"a91c8d28d10fee7fe717ddf3743f287b68770c813c98f796b6e38d5d164bd459","signature":false,"impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","signature":false,"impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","signature":false,"impliedFormat":1},{"version":"f6f827cd43e92685f194002d6b52a9408309cda1cec46fb7ca8489a95cbd2fd4","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","signature":false,"impliedFormat":1},{"version":"a270a1a893d1aee5a3c1c8c276cd2778aa970a2741ee2ccf29cc3210d7da80f5","signature":false,"impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","signature":false,"impliedFormat":1},{"version":"8926594ee895917e90701d8cbb5fdf77fc238b266ac540f929c7253f8ad6233d","signature":false,"impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","signature":false,"impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","signature":false,"impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","signature":false,"impliedFormat":1},{"version":"8e6427dd1a4321b0857499739c641b98657ea6dc7cc9a02c9b2c25a845c3c8e6","signature":false,"impliedFormat":1},{"version":"58da08d1fe876c79c47dcf88be37c5c3fab55d97b34c8c09a666599a2191208d","signature":false,"impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","signature":false,"impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","signature":false,"impliedFormat":1},{"version":"ed8763205f02fb65e84eff7432155258df7f93b7d938f01785cb447d043d53f3","signature":false,"impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","signature":false,"impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","signature":false,"impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","signature":false,"impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","signature":false,"impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","signature":false,"impliedFormat":1},{"version":"d4a5b1d2ff02c37643e18db302488cd64c342b00e2786e65caac4e12bda9219b","signature":false,"impliedFormat":1},{"version":"29f823cbe0166e10e7176a94afe609a24b9e5af3858628c541ff8ce1727023cd","signature":false,"impliedFormat":1},{"version":"2050fff09d41b8747400b517cf5cd22254a148b21b28ed9593a8b4761a9e95bb","signature":false},{"version":"caf4af98bf464ad3e10c46cf7d340556f89197aab0f87f032c7b84eb8ddb24d9","signature":false,"impliedFormat":99},{"version":"71acd198e19fa38447a3cbc5c33f2f5a719d933fccf314aaff0e8b0593271324","signature":false,"impliedFormat":99},{"version":"c092c48319f3f5b718e2eb728069973669751a81c1b57ba64aa1a140a5526579","signature":false},{"version":"dacb35f90a46968cdcb88f6efe05a260015e022953bc27e6c5e1ab1a56901d91","signature":false},{"version":"94dd387a40ea9fe58e71ca576ee0516a078d7764600a41ed15e60d3133bc8620","signature":false},{"version":"b5d15fe4bf6fb265975633ea3ee79788ea823bb63b53bc63d1f2b276d2353406","signature":false},{"version":"48ccda7e9bdf094da0b2d269bee05974c961edea845dc4047e491e0ae7cf5507","signature":false},{"version":"9f7a3c434912fd3feb87af4aabdf0d1b614152ecb5e7b2aa1fff3429879cdd51","signature":false,"impliedFormat":99},{"version":"a97948db464f857dbf7e559e870b9a0215917409483ff1e39d8da09209a80001","signature":false},{"version":"a5f09269e5bc4ff64fdd15b9276f94e8464f556ed29a0b5c929728fac615df8e","signature":false},{"version":"c0a3c4a8b453dbb80c3e2de26a259f3e66f07bb87e7934c4b4ee1e8804b37d81","signature":false},{"version":"2c57db2bf2dbd9e8ef4853be7257d62a1cb72845f7b976bb4ee827d362675f96","signature":false,"impliedFormat":99},{"version":"da5bac7baa99798f885daacdf61488f5f93ddfc099fefd1384300f718f65c4bf","signature":false},{"version":"264f935450101e4b000eb351cf75c9d799ca20a278b260a9e5770303b5f2b6a3","signature":false,"impliedFormat":99},{"version":"f6f171b23ae6db93454343f1b788960f799c8f37043904874a752c0990c6fca6","signature":false,"impliedFormat":99},{"version":"089f9928e7ab1ca2c225e167a80ff1cb5ed0a71c98be7e81f040a51e2cc6bf5e","signature":false,"impliedFormat":99},{"version":"b11acc27c280988d7256bbd8ffe9f1cb5a0e5ed17cddf5335289ee0e81500369","signature":false,"affectsGlobalScope":true,"impliedFormat":99},{"version":"02ab5dbcaa58da1d58c46c7cdfa7f94792c5ccf0fc7c0622ef33755fe415366c","signature":false,"impliedFormat":99},{"version":"e689cc8cd8a102d31c9d3a7b0db0028594202093c4aca25982b425e8ae744556","signature":false,"impliedFormat":99},{"version":"478e59ac0830a0f6360236632d0d589fb0211183aa1ab82292fbca529c0cce35","signature":false,"impliedFormat":99},{"version":"1b4ed9deaba72d4bc8495bf46db690dbf91040da0cb2401db10bad162732c0e2","signature":false,"impliedFormat":99},{"version":"3e94295f73335c9122308a858445d2348949842579ac2bacd30728ab46fe75a7","signature":false,"impliedFormat":99},{"version":"7191462f3b844bae7887ccc78774770aaf91c50986a7456b7d52c29f3444a853","signature":false,"impliedFormat":99},{"version":"b492a8d5bea9b4b46501f63136a2c61577c3a90bd16940de50f6332c56a73c4f","signature":false,"impliedFormat":99},{"version":"63a1b5c2705fa04df65f55c60c6072e3c3635b66c616be9afa7dbec5d90d3311","signature":false,"impliedFormat":99},{"version":"933937379203e9c6793d5c9126b40635dc8966d47814dfc810b37a936dcaaaab","signature":false,"impliedFormat":99},{"version":"8e299dc4dbd4f5271b45e2cc206cc0a3a19537ce2cc8d4bba857319cd56d788f","signature":false,"impliedFormat":99},{"version":"00a808ec5c093d67d1ffe5db7618b79e9c22a3760a556e71a1e285fb99368b8d","signature":false,"impliedFormat":99},{"version":"7bf932c1c467a3b5ad8b7d550db440226fab3f7540c671e74548ca39c067e35c","signature":false,"impliedFormat":99},{"version":"1b953eb91785e08aa68b63dfe79c1cda63639788e5bebe1a22d82ab440364613","signature":false,"impliedFormat":99},{"version":"979a9bb46d5ed5d3644b24c559b1d5d6088a903ee2a45d904ecb9f505b9c748c","signature":false,"impliedFormat":99},{"version":"82df1ac808761d975cd24fefd505e5c8bb75ef28abdb88c03d6b623a6f12baaf","signature":false,"impliedFormat":99},{"version":"ab3522eb8d80d545a5f8860eaa6e69391d0e865aeb75461fd4e88b2a9f1519ae","signature":false,"impliedFormat":99},{"version":"5bd475590a3276366f4fabdcca4cfdeb459301dc5b7842d178253b105bdb7c1c","signature":false,"impliedFormat":99},{"version":"a2fb8c7a0f1d7f5c917e9db6681c06df15c99188e159addf9f738c0d2c6e9bfd","signature":false,"impliedFormat":99},{"version":"d6db56f62efaea506c81126a7ddecc7a7c3cc2808ea90a56e90ba894a539412d","signature":false,"impliedFormat":99},{"version":"365b3bc377ecedcf0aabbd873f63d9b0c5cc615330e1eb76fd5f83eeceb99a82","signature":false,"impliedFormat":99},{"version":"3d8fa64caeeb78824206f41e15873520ad2b6105ced34ee645c8325460357f53","signature":false,"impliedFormat":99},{"version":"9bccadb03167b34956f28ce0bd256bd362ca25dd313e240e8a84dfa21957ab39","signature":false,"impliedFormat":99},{"version":"35c81b5413c31316b7994c35022fc2af72d1519f48f3037716544e1ee6590289","signature":false},{"version":"0663f61c6c4f58b273de15318f56087cf32c824c321482592eef3624dbbebe0c","signature":false},{"version":"46bd3e7d7cff47de32dbf412d669955506e27233fc3d5883b6ade098fd49f337","signature":false},{"version":"348f92f59286a9c3b2adc3999d49dad7c912eb4fdb0df5322c14b2053923ddd0","signature":false},{"version":"1179ef8174e0e4a09d35576199df04803b1db17c0fb35b9326442884bc0b0cce","signature":false,"impliedFormat":99},{"version":"8ddfbd76e696494db7d401097cd3e2853408cf91c2b88d46c828deec6f18b9c3","signature":false},{"version":"daaf1a66db73632b8573b027fd473642385bcb2957641c6469dbaa8ad9ba71d4","signature":false},{"version":"50e8fd550bf13ecaf10d9c69b65c24cc52761ab933ad9627b6fa97e09029a292","signature":false},{"version":"50ecb5e3fd372088ade9e94611645d1173f15f4b2acfccab1a0d2ae536cd374f","signature":false},{"version":"b7f568c75a3f86f50ee5cb302e79c3caffed7e351fb0370229e8aaf5b7955de9","signature":false},{"version":"7265fb1f96126566874476fece0c6f0de6854d3b32902d5d28146689d6a4d0c5","signature":false,"impliedFormat":1},{"version":"a21c9d5884d4bbed1b7303418205e58223716dc3cad7af8bb8210ba77fb7a15d","signature":false,"impliedFormat":1},{"version":"69dd0396f4a5402e44872878a3f90732b07fe59fe985f224084806b71ba8725c","signature":false,"impliedFormat":1},{"version":"215fc8b2fc6b9a6ef1cfb8635862bbcacb6fb3f91bd50ab6440f410f25546053","signature":false,"impliedFormat":1},{"version":"cc3738ba01d9af5ba1206a313896837ff8779791afcd9869e582783550f17f38","signature":false,"impliedFormat":99},{"version":"0cd86ebeac26ee7ec73c12dbaf532e9c9dfd7a2ff48b9ffa2a74b8c3aee5b422","signature":false},{"version":"24b00e5ea6d216b5d4c36cb3b321396ea838705755f046d02e09a87ca98c5033","signature":false},{"version":"f0441c685d5396ab2bb3828df2076ac4a9a4916e6c53e4068aa8f5cb4fa5f36b","signature":false},{"version":"a9392dcbdb36e14a7997e503bd3d3de316821ddc5b6da5ed5c7cdb3f321e41b6","signature":false},{"version":"7086baa4084da78e78e92e50c1bb428d64e7c33c1ae7f50e2eae13aa1af1ece2","signature":false},{"version":"531b4522beb65177a6076b4b9eb3862c0400a88ec54916bb69155869526bb032","signature":false},{"version":"633f2995dc09dc001286697fe198da2358d40e46e5bc74cdfa9fd0746902ab0b","signature":false},{"version":"ed0e85970554cd4512296e6b6ad2622977f23892adbaa5a01add8906e965f95a","signature":false},{"version":"2ffcab6a9bbc2ec22211b3c643f76466ae876d2d8fd784905a6264a211a4f705","signature":false},{"version":"faec7d11745328d860d0e1afb61abdb9a1015dd8dea5ff4d13570bc3bd6f101e","signature":false},{"version":"613f338c85115ddff746cf5ac370ee196a94f475fc2bb6ce5b9c0de1bda1d755","signature":false},{"version":"200428a4fb072f5eb08dd72dd940f1b3877a6557c8bd2400bd7b420e24f2bf9e","signature":false},{"version":"d30e67059f5c545c5f8f0cc328a36d2e03b8c4a091b4301bc1d6afb2b1491a3a","signature":false,"impliedFormat":1},{"version":"a356d9a0ba90d10ec6c0fa33386c0b0e2843fd6f0a49513c44f7809926ac25ff","signature":false,"impliedFormat":1},{"version":"980ce2b93e7a6acb3ddf674ef7ce38190048c532e51e21f91fa0b4e76bd9da24","signature":false,"impliedFormat":99},{"version":"782d3adbf885a766ca59ac64614b94be24ddf43364aee8fcf0aaeac78f22c409","signature":false,"impliedFormat":99},{"version":"9a3563739f42de842bf6416a4291fd974f41247cf536ce9a46f8e2d27ff3c9ac","signature":false,"impliedFormat":99},{"version":"8fcbab45a764abd33e19fde93b7bbafdd7a84f7eaf24c4d75a8b47a1153c2367","signature":false,"impliedFormat":99},{"version":"7e462fd642d79001523b2750ee16b439dfee35e3fc8d29befd9c9b85a8473555","signature":false,"impliedFormat":99},{"version":"b0c2fde8e0877c3d412550846ae6eb32c5be23bcade4db9752680fdfc8ee2912","signature":false,"impliedFormat":99},{"version":"4528dccc5a895a9f83e4a5d374d13f974d4e7dd5b767b9255db3a16c4a8b6af1","signature":false,"impliedFormat":99},{"version":"35d4cc70e2aebadb8983c4ebee05fb39b2d4251f283626cf2d877777878a25f1","signature":false,"impliedFormat":99},{"version":"3a8e5767ddb941a6e3a3349be35372ba82741e48b2ad0bc5012096f01259271a","signature":false,"impliedFormat":99},{"version":"877eebb657ae8f9ff4fea6d6160d7dbd7cb86c44b4e5969a34faa0f6bb178281","signature":false,"impliedFormat":99},{"version":"7d4cbd66f135c4dee1dc0e8e83d1c64012afd1e60b3e9fb0c614837614c2150e","signature":false,"impliedFormat":99},{"version":"0e85b2d7628363eea950d41358445a657fd52e5c90c665f89d85ded309a8513d","signature":false,"impliedFormat":99},{"version":"113aef5576cd65f310927b17ae5f6ac8745c542a660bace5f019034d536fbd04","signature":false,"impliedFormat":99},{"version":"c3eadb01eeb845c16e05003ba361c48ffaa5aa282b0cc3391cd1f512716cb8f7","signature":false,"impliedFormat":99},{"version":"a2c1678ec68c42795e2ac068a7d026b61680357d2a881c9df211dd0f83d077fd","signature":false,"impliedFormat":99},{"version":"d913ea1d0389ac20bd683211b0189f2fe4b50daf1aec40579a9de9adcaac321c","signature":false,"impliedFormat":99},{"version":"a7af5f01007f450dc8cf2cdbbb11f4d4bf8bf3faa869d21267db5de74ebf665a","signature":false,"impliedFormat":99},{"version":"723ac403322245c7270585a8f878f9a835f4da110f3b0b23e7971d404587685b","signature":false,"impliedFormat":99},{"version":"092ce9ed3440c57a829d2b47f767d6ab08828bc63fd9a4fa2aaec93e905eb9dd","signature":false,"impliedFormat":99},{"version":"8e34268962765c29f02f67e508ae6fb4485533675b316e3624c45f3b4f4d4a59","signature":false,"impliedFormat":99},{"version":"e02ed9f98527f807856ac9dc722a076064cb59f798b28106597527eb36f6ec88","signature":false,"impliedFormat":99},{"version":"0b67d1d5f611d99afc9ba55060a37e947664d61a5152469895ed5b64551c5e12","signature":false,"impliedFormat":99},{"version":"ce4088bd3b3fed9def201b87d072fcbdc8e0b43366a9489949abeca20c55464e","signature":false,"impliedFormat":99},{"version":"f3d31927b7a3d0f2f119a05a102af2bdd1fc4f759fe43d508a64a80b3b341f6b","signature":false,"impliedFormat":99},{"version":"9af1ebdf1ad0f65d11b952adc31dca4b56344c9ab41a5d0fb75dc6c3279e14b1","signature":false,"impliedFormat":99},{"version":"b3d7be31ee4d5386773e05a57ff97f74fc2559116cec17d21a6d0e26065d4b8c","signature":false,"impliedFormat":99},{"version":"9a4496ad6d48bc801a122c11e94ee1e3f0710bda38b125573f67f5cb0add1733","signature":false,"impliedFormat":99},{"version":"7c8d0fe14db06e4c48dc3697f26975e209fc0ac05480c1502e62af6ada3137a5","signature":false,"impliedFormat":99},{"version":"3f51976480d40cb1b00bd5ce27fbb8c8d6c72ff06e5203c2c06d83ec060d7052","signature":false,"impliedFormat":99},{"version":"dc21879e45f3a023b5fe459c3da5f2f3cf995f21a1ac533049d8950ce394c045","signature":false,"impliedFormat":99},{"version":"622d6ce66ac838d5d7e968daf4ae760cf49797e3fbfaa2b21d01e0fb5d625bc9","signature":false,"impliedFormat":99},{"version":"ecfa30418b2200ba6496b5f59b4c09a95cce9ea37c1daaf5a5db9bb306ee038f","signature":false,"impliedFormat":99},{"version":"01e02b5605d954a0329fe44d775c8fde41fa1b494b2506b524f461def33b3d7b","signature":false,"impliedFormat":99},{"version":"d6e7c7254b9a5168f868503a28d54368537783c4989dc060176de6f8d3042bf7","signature":false,"impliedFormat":99},{"version":"b5fced0ac3ffee12413503b6887a047181054a5a133ab2946b81e7d252f09181","signature":false,"impliedFormat":99},{"version":"c874e98cd875727ea62fdcd978ac9e067ce07cf7493aa4b8b193fdc3b7318eea","signature":false,"impliedFormat":99},{"version":"455e843c1f8e0df452f101c9ec0b63ab8e749f296c947249f8bbc29bff58c83c","signature":false,"impliedFormat":99},{"version":"dc52fbf76167f89ba36d883dae3935675700a59f9977d063a8b781947fae76b0","signature":false,"impliedFormat":99},{"version":"f2c5a01d18de21ad039c0eaed43c8ef57b02f4de1f4d85223eaa0c562f124736","signature":false,"impliedFormat":99},{"version":"fc741907f6d8158b2c4722932d745b11dd41f9355a5b325c8cd3cdfbd966d76d","signature":false,"impliedFormat":99},{"version":"01025db83f1558f31b68c4923d98f0de4c9bd487f7712b7429637c527b80d864","signature":false},{"version":"f663ae026b77db62f1f7960939acbd391b87cf43bf0773dd9009e33ba840df0c","signature":false},{"version":"351630ce7cebc56dfbe2b6386e8e0f26b1e59bdb6efe4dbb6b3ecf272d93ce34","signature":false},{"version":"dfcf16e716338e9fe8cf790ac7756f61c85b83b699861df970661e97bf482692","signature":false,"impliedFormat":99},{"version":"bb703864a1bc9ca5ac3589ffd83785f6dc86f7f6c485c97d7ffd53438777cb9e","signature":false,"impliedFormat":1},{"version":"8fa7fb4d29805d85693af6e04048011da77278be9f327a13ed3e0a40d3c56e18","signature":false},{"version":"ff25d2789578679f3f1b1f5dcbb5c87a0dad6488fa583cd1fded8ae83c58b1b5","signature":false},{"version":"c8de5fc125029308d8fbb2aaac034473a6eb28b62858a8a57067e64b02927064","signature":false},{"version":"73c9fa26056a57d42f790b62b83c404d73c233351a65e4cd2641531afc72806c","signature":false},{"version":"b87b1500f4e6d8e62c4251f5bc04f15cfaf3f192c329fe176a63f6da4ecc6c37","signature":false},{"version":"c5b5973fd492671bd7fd70fe7e1981255ec1329b289865f767f97c4f7f84ec5e","signature":false},{"version":"046d3c58ffd403ed6d578fccdf60243748f8e6bee3ae48915e1867fede677ce7","signature":false},{"version":"7d48edcf1f31703847f0a4921c32ac7b3abe15b0b3d2b8152d6a0eccacc2543a","signature":false},{"version":"881aa9248d6b1eb1c49295c0c4fc397937abe78c2f9e4005cfa79f17886ab2e9","signature":false},{"version":"35988090d7e39a1695676adddc0e9339d3a883b0106ad57f4819c0afacc98bc7","signature":false},{"version":"89c6f00492a54aa0a59e2b6dbc638627acd4dbd6d17d4ae2d13004ac25699a01","signature":false},{"version":"46a85b1f9d195f5a27071b3baeb750131bf523b3951501472e74819e12f3464d","signature":false},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","signature":false,"impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","signature":false,"impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","signature":false,"impliedFormat":1},{"version":"742f21debb3937c3839a63245648238555bdab1ea095d43fd10c88a64029bf76","signature":false,"impliedFormat":1},{"version":"7cfdf3b9a5ba934a058bfc9390c074104dc7223b7e3c16fd5335206d789bc3d3","signature":false,"impliedFormat":1},{"version":"0944f27ebff4b20646b71e7e3faaaae50a6debd40bc63e225de1320dd15c5795","signature":false,"impliedFormat":1},{"version":"8a7219b41d3c1c93f3f3b779146f313efade2404eeece88dcd366df7e2364977","signature":false,"impliedFormat":1},{"version":"a109c4289d59d9019cfe1eeab506fe57817ee549499b02a83a7e9d3bdf662d63","signature":false,"impliedFormat":1},{"version":"5d30565583300c9256072a013ac0318cc603ff769b4c5cafc222394ea93963e1","signature":false,"impliedFormat":1},{"version":"7fa8d75d229eeaee235a801758d9c694e94405013fe77d5d1dd8e3201fc414f1","signature":false,"impliedFormat":1}],"root":[468,469,494,[507,511],[514,517],522,527,[539,542],[544,548],674,[677,681],[683,685],687,[714,717],[719,723],[729,740],[783,785],[788,799]],"options":{"allowJs":true,"composite":false,"declarationMap":false,"emitDeclarationOnly":false,"esModuleInterop":true,"jsx":1,"module":99,"skipLibCheck":true,"strict":true,"target":4,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[791,1],[792,2],[793,3],[795,4],[796,5],[794,6],[797,7],[798,8],[790,9],[799,10],[789,11],[468,12],[469,13],[663,14],[662,15],[414,16],[532,17],[686,18],[528,19],[786,20],[530,17],[538,21],[531,17],[676,22],[675,19],[537,23],[534,24],[535,17],[529,19],[682,25],[536,26],[718,27],[728,26],[524,28],[533,16],[745,29],[751,30],[753,31],[746,32],[754,33],[752,34],[755,16],[747,35],[748,33],[756,36],[757,29],[760,37],[749,38],[758,39],[759,40],[750,41],[697,42],[699,43],[700,43],[702,43],[701,43],[703,43],[704,43],[705,43],[706,43],[707,43],[708,44],[709,43],[710,43],[711,43],[712,45],[694,46],[693,47],[696,48],[695,49],[698,50],[713,43],[800,16],[741,16],[801,16],[802,16],[742,51],[803,16],[804,52],[806,53],[807,54],[805,16],[808,55],[142,56],[143,56],[144,57],[99,58],[145,59],[146,60],[147,61],[94,16],[97,62],[95,16],[96,16],[148,63],[149,64],[150,65],[151,66],[152,67],[153,68],[154,68],[155,69],[156,70],[157,71],[158,72],[100,16],[98,16],[159,73],[160,74],[161,75],[193,76],[162,77],[163,78],[164,79],[165,80],[166,81],[167,82],[168,83],[169,84],[170,85],[171,86],[172,86],[173,87],[174,16],[175,88],[177,89],[176,90],[178,91],[179,92],[180,93],[181,94],[182,95],[183,96],[184,97],[185,98],[186,99],[187,100],[188,101],[189,102],[190,103],[101,16],[102,16],[103,16],[141,104],[191,105],[192,106],[197,107],[198,108],[196,109],[194,110],[195,111],[83,16],[85,112],[310,19],[809,16],[506,16],[526,113],[525,114],[512,16],[787,115],[498,16],[502,116],[500,117],[503,118],[504,119],[501,16],[499,120],[505,121],[84,16],[523,19],[521,19],[92,122],[417,123],[422,11],[424,124],[218,125],[366,126],[393,127],[293,16],[211,16],[216,16],[357,128],[285,129],[217,16],[395,130],[396,131],[338,132],[354,133],[258,134],[361,135],[362,136],[360,137],[359,16],[358,138],[394,139],[219,140],[292,16],[294,141],[214,16],[229,142],[220,143],[233,142],[262,142],[204,142],[365,144],[375,16],[210,16],[316,145],[317,146],[311,147],[445,16],[319,16],[320,147],[312,148],[449,149],[448,150],[444,16],[398,16],[353,151],[352,16],[443,152],[313,19],[236,153],[234,154],[446,16],[447,16],[235,155],[438,156],[441,157],[245,158],[244,159],[243,160],[452,19],[242,161],[280,16],[455,16],[519,162],[518,16],[458,16],[457,19],[459,163],[200,16],[363,164],[364,165],[387,16],[209,166],[199,16],[202,167],[332,19],[331,168],[330,169],[321,16],[322,16],[329,16],[324,16],[327,170],[323,16],[325,171],[328,172],[326,171],[215,16],[207,16],[208,142],[416,173],[425,174],[429,175],[369,176],[368,16],[277,16],[460,177],[378,178],[314,179],[315,180],[307,181],[299,16],[305,16],[306,182],[336,183],[300,184],[337,185],[334,186],[333,16],[335,16],[289,187],[370,188],[371,189],[301,190],[302,191],[297,192],[349,193],[377,194],[380,195],[278,196],[205,197],[376,198],[201,127],[399,199],[410,200],[397,16],[409,201],[93,16],[385,202],[265,16],[295,203],[381,16],[224,16],[408,204],[213,16],[268,205],[367,206],[407,16],[401,207],[206,16],[402,208],[404,209],[405,210],[388,16],[406,197],[232,211],[386,212],[411,213],[341,16],[344,16],[342,16],[346,16],[343,16],[345,16],[347,214],[340,16],[271,215],[270,16],[276,216],[272,217],[275,218],[274,218],[273,217],[228,219],[260,220],[374,221],[461,16],[433,222],[435,223],[304,16],[434,224],[372,188],[318,188],[212,16],[261,225],[225,226],[226,227],[227,228],[223,229],[348,229],[239,229],[263,230],[240,230],[222,231],[221,16],[269,232],[267,233],[266,234],[264,235],[373,236],[309,237],[339,238],[308,239],[356,240],[355,241],[351,242],[257,243],[259,244],[256,245],[230,246],[288,16],[421,16],[287,247],[350,16],[279,248],[298,249],[296,250],[281,251],[283,252],[456,16],[282,253],[284,253],[419,16],[418,16],[420,16],[454,16],[286,254],[254,19],[91,16],[237,255],[246,16],[291,256],[231,16],[427,19],[437,257],[253,19],[431,147],[252,258],[413,259],[251,257],[203,16],[439,260],[249,19],[250,19],[241,16],[290,16],[248,261],[247,262],[238,263],[303,85],[379,85],[403,16],[383,264],[382,16],[423,16],[255,19],[415,265],[86,19],[89,266],[90,267],[87,19],[88,16],[400,268],[392,269],[391,16],[390,270],[389,16],[412,271],[426,272],[428,273],[430,274],[520,275],[432,276],[436,277],[467,278],[440,278],[466,279],[442,280],[450,281],[451,282],[453,283],[462,284],[465,166],[464,16],[463,285],[688,16],[486,286],[484,287],[485,288],[473,289],[474,287],[481,290],[472,291],[477,292],[487,16],[478,293],[483,294],[489,295],[488,296],[471,297],[479,298],[480,299],[475,300],[482,286],[476,301],[689,302],[692,303],[690,46],[691,304],[725,305],[726,306],[727,307],[724,16],[549,16],[565,308],[566,308],[567,308],[581,309],[568,310],[569,310],[570,311],[562,312],[560,313],[551,16],[555,314],[559,315],[557,316],[564,317],[552,318],[553,319],[554,320],[556,321],[558,322],[561,323],[563,324],[571,310],[572,310],[573,310],[574,308],[575,310],[576,310],[550,310],[577,16],[579,325],[578,310],[580,308],[744,32],[761,326],[762,326],[764,327],[765,328],[743,29],[766,326],[782,329],[763,326],[767,32],[768,32],[769,326],[770,19],[771,326],[772,330],[773,326],[774,326],[775,32],[776,326],[777,326],[778,326],[779,326],[780,326],[781,32],[384,331],[543,19],[470,16],[513,16],[492,332],[491,16],[490,16],[493,333],[81,16],[82,16],[13,16],[14,16],[16,16],[15,16],[2,16],[17,16],[18,16],[19,16],[20,16],[21,16],[22,16],[23,16],[24,16],[3,16],[25,16],[26,16],[4,16],[27,16],[31,16],[28,16],[29,16],[30,16],[32,16],[33,16],[34,16],[5,16],[35,16],[36,16],[37,16],[38,16],[6,16],[42,16],[39,16],[40,16],[41,16],[43,16],[7,16],[44,16],[49,16],[50,16],[45,16],[46,16],[47,16],[48,16],[8,16],[54,16],[51,16],[52,16],[53,16],[55,16],[9,16],[56,16],[57,16],[58,16],[60,16],[59,16],[61,16],[62,16],[10,16],[63,16],[64,16],[65,16],[11,16],[66,16],[67,16],[68,16],[69,16],[70,16],[1,16],[71,16],[72,16],[12,16],[76,16],[74,16],[79,16],[78,16],[73,16],[77,16],[75,16],[80,16],[119,334],[129,335],[118,334],[139,336],[110,337],[109,338],[138,285],[132,339],[137,340],[112,341],[126,342],[111,343],[135,344],[107,345],[106,285],[136,346],[108,347],[113,348],[114,16],[117,348],[104,16],[140,349],[130,350],[121,351],[122,352],[124,353],[120,354],[123,355],[133,285],[115,356],[116,357],[125,358],[105,359],[128,350],[127,348],[131,16],[134,360],[673,361],[586,362],[593,363],[588,16],[589,16],[587,364],[590,365],[582,16],[583,16],[594,366],[585,367],[591,16],[592,368],[584,369],[667,370],[671,371],[668,371],[664,370],[672,372],[669,373],[670,371],[665,374],[666,375],[658,376],[602,377],[604,378],[657,16],[603,379],[661,380],[660,381],[659,382],[595,16],[605,377],[606,16],[597,383],[601,384],[596,16],[598,385],[599,386],[600,16],[607,387],[608,387],[609,387],[610,387],[611,387],[612,387],[613,387],[614,387],[615,387],[616,387],[617,387],[618,387],[619,387],[621,387],[620,387],[622,387],[623,387],[624,387],[625,387],[656,388],[626,387],[627,387],[628,387],[629,387],[630,387],[631,387],[632,387],[633,387],[634,387],[635,387],[636,387],[637,387],[638,387],[640,387],[639,387],[641,387],[642,387],[643,387],[644,387],[645,387],[646,387],[647,387],[648,387],[649,387],[650,387],[651,387],[652,387],[655,387],[653,387],[654,387],[497,389],[496,390],[495,16],[681,391],[685,392],[715,393],[721,394],[722,394],[716,395],[739,396],[546,397],[740,398],[548,399],[784,400],[545,401],[547,402],[785,403],[783,404],[540,405],[522,406],[730,407],[723,408],[527,409],[679,408],[736,410],[687,411],[788,412],[733,413],[735,414],[539,415],[678,416],[720,417],[674,408],[677,418],[737,410],[683,419],[732,420],[714,421],[738,422],[734,423],[719,424],[729,425],[544,426],[541,408],[731,427],[717,408],[508,428],[680,429],[684,430],[510,431],[511,16],[514,432],[507,433],[515,434],[509,434],[516,434],[517,432],[542,435],[494,436]],"changeFileSet":[791,792,793,795,796,794,797,798,790,799,789,468,469,663,662,414,532,686,528,786,530,538,531,676,675,537,534,535,529,682,536,718,728,524,533,745,751,753,746,754,752,755,747,748,756,757,760,749,758,759,750,697,699,700,702,701,703,704,705,706,707,708,709,710,711,712,694,693,696,695,698,713,800,741,801,802,742,803,804,806,807,805,808,142,143,144,99,145,146,147,94,97,95,96,148,149,150,151,152,153,154,155,156,157,158,100,98,159,160,161,193,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,176,178,179,180,181,182,183,184,185,186,187,188,189,190,101,102,103,141,191,192,197,198,196,194,195,83,85,310,809,506,526,525,512,787,498,502,500,503,504,501,499,505,84,523,521,92,417,422,424,218,366,393,293,211,216,357,285,217,395,396,338,354,258,361,362,360,359,358,394,219,292,294,214,229,220,233,262,204,365,375,210,316,317,311,445,319,320,312,449,448,444,398,353,352,443,313,236,234,446,447,235,438,441,245,244,243,452,242,280,455,519,518,458,457,459,200,363,364,387,209,199,202,332,331,330,321,322,329,324,327,323,325,328,326,215,207,208,416,425,429,369,368,277,460,378,314,315,307,299,305,306,336,300,337,334,333,335,289,370,371,301,302,297,349,377,380,278,205,376,201,399,410,397,409,93,385,265,295,381,224,408,213,268,367,407,401,206,402,404,405,388,406,232,386,411,341,344,342,346,343,345,347,340,271,270,276,272,275,274,273,228,260,374,461,433,435,304,434,372,318,212,261,225,226,227,223,348,239,263,240,222,221,269,267,266,264,373,309,339,308,356,355,351,257,259,256,230,288,421,287,350,279,298,296,281,283,456,282,284,419,418,420,454,286,254,91,237,246,291,231,427,437,253,431,252,413,251,203,439,249,250,241,290,248,247,238,303,379,403,383,382,423,255,415,86,89,90,87,88,400,392,391,390,389,412,426,428,430,520,432,436,467,440,466,442,450,451,453,462,465,464,463,688,486,484,485,473,474,481,472,477,487,478,483,489,488,471,479,480,475,482,476,689,692,690,691,725,726,727,724,549,565,566,567,581,568,569,570,562,560,551,555,559,557,564,552,553,554,556,558,561,563,571,572,573,574,575,576,550,577,579,578,580,744,761,762,764,765,743,766,782,763,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,384,543,470,513,492,491,490,493,81,82,13,14,16,15,2,17,18,19,20,21,22,23,24,3,25,26,4,27,31,28,29,30,32,33,34,5,35,36,37,38,6,42,39,40,41,43,7,44,49,50,45,46,47,48,8,54,51,52,53,55,9,56,57,58,60,59,61,62,10,63,64,65,11,66,67,68,69,70,1,71,72,12,76,74,79,78,73,77,75,80,119,129,118,139,110,109,138,132,137,112,126,111,135,107,106,136,108,113,114,117,104,140,130,121,122,124,120,123,133,115,116,125,105,128,127,131,134,673,586,593,588,589,587,590,582,583,594,585,591,592,584,667,671,668,664,672,669,670,665,666,658,602,604,657,603,661,660,659,595,605,606,597,601,596,598,599,600,607,608,609,610,611,612,613,614,615,616,617,618,619,621,620,622,623,624,625,656,626,627,628,629,630,631,632,633,634,635,636,637,638,640,639,641,642,643,644,645,646,647,648,649,650,651,652,655,653,654,497,496,495,681,685,715,721,722,716,739,546,740,548,784,545,547,785,783,540,522,730,723,527,679,736,687,788,733,735,539,678,720,674,677,737,683,732,714,738,734,719,729,544,541,731,717,508,680,684,510,511,514,507,515,509,516,517,542,494],"version":"5.9.3"} \ No newline at end of file diff --git a/.next/cache/eslint/.cache_1htwym1 b/.next/cache/eslint/.cache_1htwym1 new file mode 100644 index 0000000..d9eaee3 --- /dev/null +++ b/.next/cache/eslint/.cache_1htwym1 @@ -0,0 +1 @@ +[{"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\auth\\login\\page.tsx":"1","E:\\GIT\\mvp\\nashel-frontend\\src\\app\\auth\\register\\page.tsx":"2","E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\become-performer\\page.tsx":"3","E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx":"4","E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx":"5","E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx":"6","E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx":"7","E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout.tsx":"8","E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":"9","E:\\GIT\\mvp\\nashel-frontend\\src\\app\\page.tsx":"10","E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx":"11","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":"12","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx":"13","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\layout\\header.tsx":"14","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\map\\LiveMap.tsx":"15","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\mode-toggle.tsx":"16","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":"17","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\avatar-uploader.tsx":"18","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\badge.tsx":"19","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\button.tsx":"20","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\card.tsx":"21","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\change-password-modal.tsx":"22","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\checkbox.tsx":"23","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\command.tsx":"24","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\description-viewer.tsx":"25","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\dialog.tsx":"26","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\dropdown-menu.tsx":"27","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\form.tsx":"28","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\image-uploader.tsx":"29","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\input.tsx":"30","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\label.tsx":"31","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\location-modal.tsx":"32","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\radio-group.tsx":"33","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\rating.tsx":"34","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\rich-text-editor.tsx":"35","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\schedule-modal.tsx":"36","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\schedule-viewer.tsx":"37","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\select.tsx":"38","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\slider.tsx":"39","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":"40","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\switch.tsx":"41","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\tag-input.tsx":"42","E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\textarea.tsx":"43","E:\\GIT\\mvp\\nashel-frontend\\src\\entities\\session\\store.ts":"44","E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx":"45","E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\RegisterForm.tsx":"46","E:\\GIT\\mvp\\nashel-frontend\\src\\features\\geo\\useGeoStore.ts":"47","E:\\GIT\\mvp\\nashel-frontend\\src\\lib\\imageUrl.ts":"48","E:\\GIT\\mvp\\nashel-frontend\\src\\lib\\utils.ts":"49","E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\api\\axios.ts":"50","E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\api\\catalog.ts":"51","E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\api\\geo.ts":"52","E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\api\\search.ts":"53","E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\lib\\utils.ts":"54","E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":"55"},{"size":848,"mtime":1770970373900,"results":"56","hashOfConfig":"57"},{"size":838,"mtime":1770970378515,"results":"58","hashOfConfig":"57"},{"size":29767,"mtime":1772457034909,"results":"59","hashOfConfig":"57"},{"size":19542,"mtime":1772825423002,"results":"60","hashOfConfig":"57"},{"size":10190,"mtime":1772823438756,"results":"61","hashOfConfig":"57"},{"size":17048,"mtime":1772825424966,"results":"62","hashOfConfig":"57"},{"size":38210,"mtime":1772795933162,"results":"63","hashOfConfig":"57"},{"size":1509,"mtime":1772721590878,"results":"64","hashOfConfig":"57"},{"size":20489,"mtime":1772829186757,"results":"65","hashOfConfig":"57"},{"size":3503,"mtime":1772742488792,"results":"66","hashOfConfig":"57"},{"size":28196,"mtime":1772827231833,"results":"67","hashOfConfig":"57"},{"size":796,"mtime":1770985097488,"results":"68","hashOfConfig":"57"},{"size":984,"mtime":1771005727845,"results":"69","hashOfConfig":"57"},{"size":4420,"mtime":1772456929957,"results":"70","hashOfConfig":"57"},{"size":11192,"mtime":1772749563835,"results":"71","hashOfConfig":"57"},{"size":1500,"mtime":1770974425616,"results":"72","hashOfConfig":"57"},{"size":327,"mtime":1770967526514,"results":"73","hashOfConfig":"57"},{"size":9496,"mtime":1772746032043,"results":"74","hashOfConfig":"57"},{"size":1119,"mtime":1770970205414,"results":"75","hashOfConfig":"57"},{"size":2188,"mtime":1770968906213,"results":"76","hashOfConfig":"57"},{"size":2099,"mtime":1770970211099,"results":"77","hashOfConfig":"57"},{"size":7315,"mtime":1772195270946,"results":"78","hashOfConfig":"57"},{"size":1169,"mtime":1770974140812,"results":"79","hashOfConfig":"57"},{"size":2789,"mtime":1770979649466,"results":"80","hashOfConfig":"57"},{"size":6270,"mtime":1771226941521,"results":"81","hashOfConfig":"57"},{"size":4690,"mtime":1772220809616,"results":"82","hashOfConfig":"57"},{"size":7996,"mtime":1770968930077,"results":"83","hashOfConfig":"57"},{"size":4561,"mtime":1770970201193,"results":"84","hashOfConfig":"57"},{"size":5720,"mtime":1772825448082,"results":"85","hashOfConfig":"57"},{"size":904,"mtime":1770968123445,"results":"86","hashOfConfig":"57"},{"size":763,"mtime":1770970193041,"results":"87","hashOfConfig":"57"},{"size":4684,"mtime":1772195323951,"results":"88","hashOfConfig":"57"},{"size":1488,"mtime":1771229486266,"results":"89","hashOfConfig":"57"},{"size":2973,"mtime":1771009238177,"results":"90","hashOfConfig":"57"},{"size":8310,"mtime":1771446431285,"results":"91","hashOfConfig":"57"},{"size":17882,"mtime":1772484293950,"results":"92","hashOfConfig":"57"},{"size":9071,"mtime":1772484502861,"results":"93","hashOfConfig":"57"},{"size":6225,"mtime":1772446231978,"results":"94","hashOfConfig":"57"},{"size":1180,"mtime":1770980368665,"results":"95","hashOfConfig":"57"},{"size":1071,"mtime":1770968119989,"results":"96","hashOfConfig":"57"},{"size":1803,"mtime":1772721461949,"results":"97","hashOfConfig":"57"},{"size":5738,"mtime":1771005110024,"results":"98","hashOfConfig":"57"},{"size":779,"mtime":1771183078413,"results":"99","hashOfConfig":"57"},{"size":8566,"mtime":1772223171895,"results":"100","hashOfConfig":"57"},{"size":6540,"mtime":1772482672791,"results":"101","hashOfConfig":"57"},{"size":20246,"mtime":1772482626911,"results":"102","hashOfConfig":"57"},{"size":5377,"mtime":1772721484347,"results":"103","hashOfConfig":"57"},{"size":825,"mtime":1772746670043,"results":"104","hashOfConfig":"57"},{"size":174,"mtime":1770967558260,"results":"105","hashOfConfig":"57"},{"size":2957,"mtime":1770971051482,"results":"106","hashOfConfig":"57"},{"size":2574,"mtime":1772823617533,"results":"107","hashOfConfig":"57"},{"size":1538,"mtime":1772721450864,"results":"108","hashOfConfig":"57"},{"size":1795,"mtime":1772821149169,"results":"109","hashOfConfig":"57"},{"size":657,"mtime":1770975603644,"results":"110","hashOfConfig":"57"},{"size":8314,"mtime":1772743310738,"results":"111","hashOfConfig":"57"},{"filePath":"112","messages":"113","suppressedMessages":"114","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1b5x52k",{"filePath":"115","messages":"116","suppressedMessages":"117","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"118","messages":"119","suppressedMessages":"120","errorCount":5,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"121","messages":"122","suppressedMessages":"123","errorCount":7,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"124","messages":"125","suppressedMessages":"126","errorCount":1,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"127","messages":"128","suppressedMessages":"129","errorCount":5,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"130","messages":"131","suppressedMessages":"132","errorCount":4,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"133","messages":"134","suppressedMessages":"135","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"136","messages":"137","suppressedMessages":"138","errorCount":1,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"139","messages":"140","suppressedMessages":"141","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"142","messages":"143","suppressedMessages":"144","errorCount":7,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":1,"fixableWarningCount":0,"source":null},{"filePath":"145","messages":"146","suppressedMessages":"147","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"148","messages":"149","suppressedMessages":"150","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"151","messages":"152","suppressedMessages":"153","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"154","messages":"155","suppressedMessages":"156","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"157","messages":"158","suppressedMessages":"159","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"160","messages":"161","suppressedMessages":"162","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"163","messages":"164","suppressedMessages":"165","errorCount":2,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"166","messages":"167","suppressedMessages":"168","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"169","messages":"170","suppressedMessages":"171","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"172","messages":"173","suppressedMessages":"174","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"175","messages":"176","suppressedMessages":"177","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"178","messages":"179","suppressedMessages":"180","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"181","messages":"182","suppressedMessages":"183","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"184","messages":"185","suppressedMessages":"186","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"187","messages":"188","suppressedMessages":"189","errorCount":6,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"190","messages":"191","suppressedMessages":"192","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"193","messages":"194","suppressedMessages":"195","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"196","messages":"197","suppressedMessages":"198","errorCount":4,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"199","messages":"200","suppressedMessages":"201","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"202","messages":"203","suppressedMessages":"204","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"205","messages":"206","suppressedMessages":"207","errorCount":2,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"208","messages":"209","suppressedMessages":"210","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"211","messages":"212","suppressedMessages":"213","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"214","messages":"215","suppressedMessages":"216","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"217","messages":"218","suppressedMessages":"219","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"220","messages":"221","suppressedMessages":"222","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"223","messages":"224","suppressedMessages":"225","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"226","messages":"227","suppressedMessages":"228","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"229","messages":"230","suppressedMessages":"231","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"232","messages":"233","suppressedMessages":"234","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"235","messages":"236","suppressedMessages":"237","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"238","messages":"239","suppressedMessages":"240","errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"241","messages":"242","suppressedMessages":"243","errorCount":3,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"244","messages":"245","suppressedMessages":"246","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"247","messages":"248","suppressedMessages":"249","errorCount":2,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"250","messages":"251","suppressedMessages":"252","errorCount":4,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"253","messages":"254","suppressedMessages":"255","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"256","messages":"257","suppressedMessages":"258","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"259","messages":"260","suppressedMessages":"261","errorCount":3,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"262","messages":"263","suppressedMessages":"264","errorCount":2,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"265","messages":"266","suppressedMessages":"267","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"268","messages":"269","suppressedMessages":"270","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"271","messages":"272","suppressedMessages":"273","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"274","messages":"275","suppressedMessages":"276","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\auth\\login\\page.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\auth\\register\\page.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\become-performer\\page.tsx",["277","278","279","280","281"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx",["282","283","284","285","286","287","288"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx",["289","290"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx",["291","292","293","294","295"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx",["296","297","298","299","300"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx",["301","302","303","304"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\page.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx",["305","306","307","308","309","310","311","312","313"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx",["314"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\layout\\header.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\map\\LiveMap.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\mode-toggle.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\avatar-uploader.tsx",["315","316","317"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\badge.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\button.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\card.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\change-password-modal.tsx",["318"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\checkbox.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\command.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\description-viewer.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\dialog.tsx",["319","320","321","322","323","324"],["325"],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\dropdown-menu.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\form.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\image-uploader.tsx",["326","327","328","329","330"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\input.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\label.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\location-modal.tsx",["331","332"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\radio-group.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\rating.tsx",["333"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\rich-text-editor.tsx",["334"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\schedule-modal.tsx",["335"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\schedule-viewer.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\select.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\slider.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\switch.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\tag-input.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\textarea.tsx",["336"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\entities\\session\\store.ts",["337","338","339"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\RegisterForm.tsx",["340","341"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\geo\\useGeoStore.ts",["342","343","344","345"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\lib\\imageUrl.ts",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\lib\\utils.ts",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\api\\axios.ts",["346","347","348"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\api\\catalog.ts",["349","350"],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\api\\geo.ts",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\api\\search.ts",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\lib\\utils.ts",[],[],"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx",[],[],{"ruleId":"351","severity":2,"message":"352","line":11,"column":29,"nodeType":"353","messageId":"354","endLine":11,"endColumn":44,"suggestions":"355"},{"ruleId":"351","severity":2,"message":"356","line":11,"column":46,"nodeType":"353","messageId":"354","endLine":11,"endColumn":56,"suggestions":"357"},{"ruleId":"351","severity":2,"message":"358","line":11,"column":58,"nodeType":"353","messageId":"354","endLine":11,"endColumn":67,"suggestions":"359"},{"ruleId":"351","severity":2,"message":"360","line":174,"column":11,"nodeType":"353","messageId":"354","endLine":174,"endColumn":29},{"ruleId":"361","severity":2,"message":"362","line":197,"column":51,"nodeType":"363","messageId":"364","endLine":197,"endColumn":54,"suggestions":"365"},{"ruleId":"351","severity":2,"message":"366","line":27,"column":69,"nodeType":"353","messageId":"354","endLine":27,"endColumn":79,"suggestions":"367"},{"ruleId":"351","severity":2,"message":"368","line":95,"column":22,"nodeType":"353","messageId":"354","endLine":95,"endColumn":27},{"ruleId":"351","severity":2,"message":"368","line":128,"column":18,"nodeType":"353","messageId":"354","endLine":128,"endColumn":23},{"ruleId":"369","severity":2,"message":"370","line":289,"column":110,"nodeType":"371","messageId":"372","suggestions":"373"},{"ruleId":"369","severity":2,"message":"370","line":289,"column":115,"nodeType":"371","messageId":"372","suggestions":"374"},{"ruleId":"369","severity":2,"message":"370","line":289,"column":118,"nodeType":"371","messageId":"372","suggestions":"375"},{"ruleId":"369","severity":2,"message":"370","line":289,"column":127,"nodeType":"371","messageId":"372","suggestions":"376"},{"ruleId":"351","severity":2,"message":"377","line":10,"column":81,"nodeType":"353","messageId":"354","endLine":10,"endColumn":90,"suggestions":"378"},{"ruleId":"379","severity":1,"message":"380","line":130,"column":37,"nodeType":"381","endLine":130,"endColumn":125},{"ruleId":"351","severity":2,"message":"382","line":12,"column":5,"nodeType":"353","messageId":"354","endLine":12,"endColumn":20,"suggestions":"383"},{"ruleId":"351","severity":2,"message":"366","line":27,"column":69,"nodeType":"353","messageId":"354","endLine":27,"endColumn":79,"suggestions":"384"},{"ruleId":"351","severity":2,"message":"385","line":30,"column":37,"nodeType":"353","messageId":"354","endLine":30,"endColumn":45,"suggestions":"386"},{"ruleId":"351","severity":2,"message":"368","line":113,"column":22,"nodeType":"353","messageId":"354","endLine":113,"endColumn":27},{"ruleId":"351","severity":2,"message":"368","line":147,"column":18,"nodeType":"353","messageId":"354","endLine":147,"endColumn":23},{"ruleId":"351","severity":2,"message":"387","line":8,"column":94,"nodeType":"353","messageId":"354","endLine":8,"endColumn":100,"suggestions":"388"},{"ruleId":"389","severity":1,"message":"390","line":80,"column":8,"nodeType":"391","endLine":80,"endColumn":56,"suggestions":"392"},{"ruleId":"351","severity":2,"message":"368","line":112,"column":18,"nodeType":"353","messageId":"354","endLine":112,"endColumn":23},{"ruleId":"351","severity":2,"message":"368","line":122,"column":18,"nodeType":"353","messageId":"354","endLine":122,"endColumn":23},{"ruleId":"361","severity":2,"message":"362","line":190,"column":61,"nodeType":"363","messageId":"364","endLine":190,"endColumn":64,"suggestions":"393"},{"ruleId":"361","severity":2,"message":"362","line":30,"column":29,"nodeType":"363","messageId":"364","endLine":30,"endColumn":32,"suggestions":"394"},{"ruleId":"379","severity":1,"message":"380","line":119,"column":33,"nodeType":"381","endLine":123,"endColumn":35},{"ruleId":"379","severity":1,"message":"380","line":163,"column":41,"nodeType":"381","endLine":163,"endColumn":122},{"ruleId":"379","severity":1,"message":"380","line":305,"column":37,"nodeType":"381","endLine":305,"endColumn":205},{"ruleId":"351","severity":2,"message":"395","line":5,"column":40,"nodeType":"353","messageId":"354","endLine":5,"endColumn":49,"suggestions":"396"},{"ruleId":"397","severity":2,"message":"398","line":147,"column":13,"nodeType":"353","messageId":"399","endLine":147,"endColumn":128,"fix":"400"},{"ruleId":"361","severity":2,"message":"362","line":147,"column":88,"nodeType":"363","messageId":"364","endLine":147,"endColumn":91,"suggestions":"401"},{"ruleId":"369","severity":2,"message":"402","line":249,"column":71,"nodeType":"371","messageId":"372","suggestions":"403"},{"ruleId":"369","severity":2,"message":"402","line":249,"column":78,"nodeType":"371","messageId":"372","suggestions":"404"},{"ruleId":"369","severity":2,"message":"402","line":249,"column":84,"nodeType":"371","messageId":"372","suggestions":"405"},{"ruleId":"369","severity":2,"message":"402","line":249,"column":89,"nodeType":"371","messageId":"372","suggestions":"406"},{"ruleId":"379","severity":1,"message":"380","line":313,"column":61,"nodeType":"381","endLine":317,"endColumn":63},{"ruleId":"379","severity":1,"message":"380","line":372,"column":57,"nodeType":"381","endLine":377,"endColumn":59},{"ruleId":"351","severity":2,"message":"407","line":8,"column":13,"nodeType":"353","messageId":"354","endLine":8,"endColumn":19},{"ruleId":"351","severity":2,"message":"408","line":4,"column":10,"nodeType":"353","messageId":"354","endLine":4,"endColumn":16,"suggestions":"409"},{"ruleId":"361","severity":2,"message":"362","line":41,"column":50,"nodeType":"363","messageId":"364","endLine":41,"endColumn":53,"suggestions":"410"},{"ruleId":"379","severity":1,"message":"380","line":211,"column":25,"nodeType":"381","endLine":215,"endColumn":27},{"ruleId":"361","severity":2,"message":"362","line":60,"column":25,"nodeType":"363","messageId":"364","endLine":60,"endColumn":28,"suggestions":"411"},{"ruleId":"351","severity":2,"message":"412","line":13,"column":32,"nodeType":"353","messageId":"354","endLine":13,"endColumn":44},{"ruleId":"413","severity":2,"message":"414","line":58,"column":11,"nodeType":"353","messageId":"415","endLine":58,"endColumn":28,"suggestions":"416"},{"ruleId":"413","severity":2,"message":"414","line":69,"column":11,"nodeType":"353","messageId":"415","endLine":69,"endColumn":28,"suggestions":"417"},{"ruleId":"413","severity":2,"message":"414","line":83,"column":11,"nodeType":"353","messageId":"415","endLine":83,"endColumn":27,"suggestions":"418"},{"ruleId":"413","severity":2,"message":"414","line":94,"column":11,"nodeType":"353","messageId":"415","endLine":94,"endColumn":33,"suggestions":"419"},{"ruleId":"361","severity":2,"message":"362","line":113,"column":89,"nodeType":"363","messageId":"364","endLine":113,"endColumn":92,"suggestions":"420"},{"ruleId":"421","severity":2,"message":"422","line":113,"column":26,"nodeType":"423","messageId":"424","endLine":113,"endColumn":57,"suppressions":"425"},{"ruleId":"351","severity":2,"message":"426","line":5,"column":33,"nodeType":"353","messageId":"354","endLine":5,"endColumn":42,"suggestions":"427"},{"ruleId":"351","severity":2,"message":"428","line":5,"column":44,"nodeType":"353","messageId":"354","endLine":5,"endColumn":54,"suggestions":"429"},{"ruleId":"351","severity":2,"message":"368","line":40,"column":18,"nodeType":"353","messageId":"354","endLine":40,"endColumn":23},{"ruleId":"351","severity":2,"message":"430","line":60,"column":65,"nodeType":"353","messageId":"354","endLine":60,"endColumn":70},{"ruleId":"379","severity":1,"message":"380","line":95,"column":29,"nodeType":"381","endLine":95,"endColumn":130},{"ruleId":"351","severity":2,"message":"431","line":3,"column":10,"nodeType":"353","messageId":"354","endLine":3,"endColumn":18,"suggestions":"432"},{"ruleId":"361","severity":2,"message":"362","line":63,"column":25,"nodeType":"363","messageId":"364","endLine":63,"endColumn":28,"suggestions":"433"},{"ruleId":"351","severity":2,"message":"434","line":29,"column":15,"nodeType":"353","messageId":"354","endLine":29,"endColumn":24},{"ruleId":"351","severity":2,"message":"435","line":58,"column":11,"nodeType":"353","messageId":"354","endLine":58,"endColumn":26},{"ruleId":"361","severity":2,"message":"362","line":187,"column":25,"nodeType":"363","messageId":"364","endLine":187,"endColumn":28,"suggestions":"436"},{"ruleId":"413","severity":2,"message":"414","line":5,"column":18,"nodeType":"353","messageId":"415","endLine":5,"endColumn":31,"suggestions":"437"},{"ruleId":"361","severity":2,"message":"362","line":38,"column":22,"nodeType":"363","messageId":"364","endLine":38,"endColumn":25,"suggestions":"438"},{"ruleId":"361","severity":2,"message":"362","line":103,"column":28,"nodeType":"363","messageId":"364","endLine":103,"endColumn":31,"suggestions":"439"},{"ruleId":"351","severity":2,"message":"440","line":107,"column":21,"nodeType":"353","messageId":"354","endLine":107,"endColumn":36},{"ruleId":"351","severity":2,"message":"441","line":24,"column":6,"nodeType":"353","messageId":"354","endLine":24,"endColumn":14},{"ruleId":"361","severity":2,"message":"362","line":87,"column":31,"nodeType":"363","messageId":"364","endLine":87,"endColumn":34,"suggestions":"442"},{"ruleId":"361","severity":2,"message":"362","line":95,"column":20,"nodeType":"363","messageId":"364","endLine":95,"endColumn":23,"suggestions":"443"},{"ruleId":"361","severity":2,"message":"362","line":107,"column":24,"nodeType":"363","messageId":"364","endLine":107,"endColumn":27,"suggestions":"444"},{"ruleId":"361","severity":2,"message":"362","line":108,"column":38,"nodeType":"363","messageId":"364","endLine":108,"endColumn":41,"suggestions":"445"},{"ruleId":"361","severity":2,"message":"362","line":109,"column":24,"nodeType":"363","messageId":"364","endLine":109,"endColumn":27,"suggestions":"446"},{"ruleId":"361","severity":2,"message":"362","line":22,"column":18,"nodeType":"363","messageId":"364","endLine":22,"endColumn":21,"suggestions":"447"},{"ruleId":"361","severity":2,"message":"362","line":24,"column":30,"nodeType":"363","messageId":"364","endLine":24,"endColumn":33,"suggestions":"448"},{"ruleId":"361","severity":2,"message":"362","line":39,"column":32,"nodeType":"363","messageId":"364","endLine":39,"endColumn":35,"suggestions":"449"},{"ruleId":"361","severity":2,"message":"362","line":8,"column":23,"nodeType":"363","messageId":"364","endLine":8,"endColumn":26,"suggestions":"450"},{"ruleId":"361","severity":2,"message":"362","line":22,"column":32,"nodeType":"363","messageId":"364","endLine":22,"endColumn":35,"suggestions":"451"},"@typescript-eslint/no-unused-vars","'CardDescription' is defined but never used.","Identifier","unusedVar",["452"],"'CardHeader' is defined but never used.",["453"],"'CardTitle' is defined but never used.",["454"],"'handleScheduleOpen' is assigned a value but never used.","@typescript-eslint/no-explicit-any","Unexpected any. Specify a different type.","TSAnyKeyword","unexpectedAny",["455","456"],"'CardFooter' is defined but never used.",["457"],"'error' is defined but never used.","react/no-unescaped-entities","`\"` can be escaped with `"`, `“`, `"`, `”`.","JSXText","unescapedEntityAlts",["458","459","460","461"],["462","463","464","465"],["466","467","468","469"],["470","471","472","473"],"'ImageIcon' is defined but never used.",["474"],"@next/next/no-img-element","Using `` could result in slower LCP and higher bandwidth. Consider using `` from `next/image` or a custom image loader to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element","JSXOpeningElement","'FormDescription' is defined but never used.",["475"],["476"],"'Category' is defined but never used.",["477"],"'LogOut' is defined but never used.",["478"],"react-hooks/exhaustive-deps","React Hook React.useEffect has a missing dependency: 'getProfile'. Either include it or remove the dependency array.","ArrayExpression",["479"],["480","481"],["482","483"],"'Briefcase' is defined but never used.",["484"],"prefer-const","'items' is never reassigned. Use 'const' instead.","useConst",{"range":"485","text":"486"},["487","488"],"`'` can be escaped with `'`, `‘`, `'`, `’`.",["489","490","491","492"],["493","494","495","496"],["497","498","499","500"],["501","502","503","504"],"'isAuth' is assigned a value but never used.","'Upload' is defined but never used.",["505"],["506","507"],["508","509"],"'onOpenChange' is defined but never used.","@typescript-eslint/no-empty-object-type","An interface declaring no members is equivalent to its supertype.","noEmptyInterfaceWithSuper",["510"],["511"],["512"],["513"],["514","515"],"@typescript-eslint/no-require-imports","A `require()` style import is forbidden.","CallExpression","noRequireImports",["516"],"'ArrowLeft' is defined but never used.",["517"],"'ArrowRight' is defined but never used.",["518"],"'index' is defined but never used.","'useState' is defined but never used.",["519"],["520","521"],"'starValue' is assigned a value but never used.","'handleLinkClick' is assigned a value but never used.",["522","523"],["524"],["525","526"],["527","528"],"'confirmPassword' is assigned a value but never used.","'UserRole' is defined but never used.",["529","530"],["531","532"],["533","534"],["535","536"],["537","538"],["539","540"],["541","542"],["543","544"],["545","546"],["547","548"],{"messageId":"549","data":"550","fix":"551","desc":"552"},{"messageId":"549","data":"553","fix":"554","desc":"555"},{"messageId":"549","data":"556","fix":"557","desc":"558"},{"messageId":"559","fix":"560","desc":"561"},{"messageId":"562","fix":"563","desc":"564"},{"messageId":"549","data":"565","fix":"566","desc":"567"},{"messageId":"568","data":"569","fix":"570","desc":"571"},{"messageId":"568","data":"572","fix":"573","desc":"574"},{"messageId":"568","data":"575","fix":"576","desc":"577"},{"messageId":"568","data":"578","fix":"579","desc":"580"},{"messageId":"568","data":"581","fix":"582","desc":"571"},{"messageId":"568","data":"583","fix":"584","desc":"574"},{"messageId":"568","data":"585","fix":"586","desc":"577"},{"messageId":"568","data":"587","fix":"588","desc":"580"},{"messageId":"568","data":"589","fix":"590","desc":"571"},{"messageId":"568","data":"591","fix":"592","desc":"574"},{"messageId":"568","data":"593","fix":"594","desc":"577"},{"messageId":"568","data":"595","fix":"596","desc":"580"},{"messageId":"568","data":"597","fix":"598","desc":"571"},{"messageId":"568","data":"599","fix":"600","desc":"574"},{"messageId":"568","data":"601","fix":"602","desc":"577"},{"messageId":"568","data":"603","fix":"604","desc":"580"},{"messageId":"549","data":"605","fix":"606","desc":"607"},{"messageId":"549","data":"608","fix":"609","desc":"610"},{"messageId":"549","data":"611","fix":"612","desc":"567"},{"messageId":"549","data":"613","fix":"614","desc":"615"},{"messageId":"549","data":"616","fix":"617","desc":"618"},{"desc":"619","fix":"620"},{"messageId":"559","fix":"621","desc":"561"},{"messageId":"562","fix":"622","desc":"564"},{"messageId":"559","fix":"623","desc":"561"},{"messageId":"562","fix":"624","desc":"564"},{"messageId":"549","data":"625","fix":"626","desc":"627"},[5904,6029],"const items: { type: 'offer' | 'performer', performer: SearchResultItem, offer?: any, distance: number, price: number }[] = [];",{"messageId":"559","fix":"628","desc":"561"},{"messageId":"562","fix":"629","desc":"564"},{"messageId":"568","data":"630","fix":"631","desc":"632"},{"messageId":"568","data":"633","fix":"634","desc":"635"},{"messageId":"568","data":"636","fix":"637","desc":"638"},{"messageId":"568","data":"639","fix":"640","desc":"641"},{"messageId":"568","data":"642","fix":"643","desc":"632"},{"messageId":"568","data":"644","fix":"645","desc":"635"},{"messageId":"568","data":"646","fix":"647","desc":"638"},{"messageId":"568","data":"648","fix":"649","desc":"641"},{"messageId":"568","data":"650","fix":"651","desc":"632"},{"messageId":"568","data":"652","fix":"653","desc":"635"},{"messageId":"568","data":"654","fix":"655","desc":"638"},{"messageId":"568","data":"656","fix":"657","desc":"641"},{"messageId":"568","data":"658","fix":"659","desc":"632"},{"messageId":"568","data":"660","fix":"661","desc":"635"},{"messageId":"568","data":"662","fix":"663","desc":"638"},{"messageId":"568","data":"664","fix":"665","desc":"641"},{"messageId":"549","data":"666","fix":"667","desc":"668"},{"messageId":"559","fix":"669","desc":"561"},{"messageId":"562","fix":"670","desc":"564"},{"messageId":"559","fix":"671","desc":"561"},{"messageId":"562","fix":"672","desc":"564"},{"messageId":"673","fix":"674","desc":"675"},{"messageId":"673","fix":"676","desc":"675"},{"messageId":"673","fix":"677","desc":"675"},{"messageId":"673","fix":"678","desc":"675"},{"messageId":"559","fix":"679","desc":"561"},{"messageId":"562","fix":"680","desc":"564"},{"kind":"681","justification":"682"},{"messageId":"549","data":"683","fix":"684","desc":"685"},{"messageId":"549","data":"686","fix":"687","desc":"688"},{"messageId":"689","data":"690","fix":"691","desc":"692"},{"messageId":"559","fix":"693","desc":"561"},{"messageId":"562","fix":"694","desc":"564"},{"messageId":"559","fix":"695","desc":"561"},{"messageId":"562","fix":"696","desc":"564"},{"messageId":"673","fix":"697","desc":"675"},{"messageId":"559","fix":"698","desc":"561"},{"messageId":"562","fix":"699","desc":"564"},{"messageId":"559","fix":"700","desc":"561"},{"messageId":"562","fix":"701","desc":"564"},{"messageId":"559","fix":"702","desc":"561"},{"messageId":"562","fix":"703","desc":"564"},{"messageId":"559","fix":"704","desc":"561"},{"messageId":"562","fix":"705","desc":"564"},{"messageId":"559","fix":"706","desc":"561"},{"messageId":"562","fix":"707","desc":"564"},{"messageId":"559","fix":"708","desc":"561"},{"messageId":"562","fix":"709","desc":"564"},{"messageId":"559","fix":"710","desc":"561"},{"messageId":"562","fix":"711","desc":"564"},{"messageId":"559","fix":"712","desc":"561"},{"messageId":"562","fix":"713","desc":"564"},{"messageId":"559","fix":"714","desc":"561"},{"messageId":"562","fix":"715","desc":"564"},{"messageId":"559","fix":"716","desc":"561"},{"messageId":"562","fix":"717","desc":"564"},{"messageId":"559","fix":"718","desc":"561"},{"messageId":"562","fix":"719","desc":"564"},{"messageId":"559","fix":"720","desc":"561"},{"messageId":"562","fix":"721","desc":"564"},"removeUnusedVar",{"varName":"722"},{"range":"723","text":"682"},"Remove unused variable \"CardDescription\".",{"varName":"724"},{"range":"725","text":"682"},"Remove unused variable \"CardHeader\".",{"varName":"726"},{"range":"727","text":"682"},"Remove unused variable \"CardTitle\".","suggestUnknown",{"range":"728","text":"729"},"Use `unknown` instead, this will force you to explicitly, and safely assert the type is correct.","suggestNever",{"range":"730","text":"731"},"Use `never` instead, this is useful when instantiating generic type parameters that you don't need to know the type of.",{"varName":"732"},{"range":"733","text":"682"},"Remove unused variable \"CardFooter\".","replaceWithAlt",{"alt":"734"},{"range":"735","text":"736"},"Replace with `"`.",{"alt":"737"},{"range":"738","text":"739"},"Replace with `“`.",{"alt":"740"},{"range":"741","text":"742"},"Replace with `"`.",{"alt":"743"},{"range":"744","text":"745"},"Replace with `”`.",{"alt":"734"},{"range":"746","text":"747"},{"alt":"737"},{"range":"748","text":"749"},{"alt":"740"},{"range":"750","text":"751"},{"alt":"743"},{"range":"752","text":"753"},{"alt":"734"},{"range":"754","text":"755"},{"alt":"737"},{"range":"756","text":"757"},{"alt":"740"},{"range":"758","text":"759"},{"alt":"743"},{"range":"760","text":"761"},{"alt":"734"},{"range":"762","text":"763"},{"alt":"737"},{"range":"764","text":"765"},{"alt":"740"},{"range":"766","text":"767"},{"alt":"743"},{"range":"768","text":"769"},{"varName":"770"},{"range":"771","text":"682"},"Remove unused variable \"ImageIcon\".",{"varName":"772"},{"range":"773","text":"682"},"Remove unused variable \"FormDescription\".",{"varName":"732"},{"range":"774","text":"682"},{"varName":"775"},{"range":"776","text":"682"},"Remove unused variable \"Category\".",{"varName":"777"},{"range":"778","text":"682"},"Remove unused variable \"LogOut\".","Update the dependencies array to be: [isAuth, isLoading, user, router, isInitialized, getProfile]",{"range":"779","text":"780"},{"range":"781","text":"729"},{"range":"782","text":"731"},{"range":"783","text":"729"},{"range":"784","text":"731"},{"varName":"785"},{"range":"786","text":"682"},"Remove unused variable \"Briefcase\".",{"range":"787","text":"729"},{"range":"788","text":"731"},{"alt":"789"},{"range":"790","text":"791"},"Replace with `'`.",{"alt":"792"},{"range":"793","text":"794"},"Replace with `‘`.",{"alt":"795"},{"range":"796","text":"797"},"Replace with `'`.",{"alt":"798"},{"range":"799","text":"800"},"Replace with `’`.",{"alt":"789"},{"range":"801","text":"802"},{"alt":"792"},{"range":"803","text":"804"},{"alt":"795"},{"range":"805","text":"806"},{"alt":"798"},{"range":"807","text":"808"},{"alt":"789"},{"range":"809","text":"810"},{"alt":"792"},{"range":"811","text":"812"},{"alt":"795"},{"range":"813","text":"814"},{"alt":"798"},{"range":"815","text":"816"},{"alt":"789"},{"range":"817","text":"818"},{"alt":"792"},{"range":"819","text":"820"},{"alt":"795"},{"range":"821","text":"822"},{"alt":"798"},{"range":"823","text":"824"},{"varName":"825"},{"range":"826","text":"682"},"Remove unused variable \"Upload\".",{"range":"827","text":"729"},{"range":"828","text":"731"},{"range":"829","text":"729"},{"range":"830","text":"731"},"replaceEmptyInterfaceWithSuper",{"range":"831","text":"832"},"Replace empty interface with a type alias.",{"range":"833","text":"834"},{"range":"835","text":"836"},{"range":"837","text":"838"},{"range":"839","text":"729"},{"range":"840","text":"731"},"directive","",{"varName":"841"},{"range":"842","text":"682"},"Remove unused variable \"ArrowLeft\".",{"varName":"843"},{"range":"844","text":"682"},"Remove unused variable \"ArrowRight\".","removeUnusedImportDeclaration",{"varName":"845"},{"range":"846","text":"682"},"Remove unused import declaration.",{"range":"847","text":"729"},{"range":"848","text":"731"},{"range":"849","text":"729"},{"range":"850","text":"731"},{"range":"851","text":"852"},{"range":"853","text":"729"},{"range":"854","text":"731"},{"range":"855","text":"729"},{"range":"856","text":"731"},{"range":"857","text":"729"},{"range":"858","text":"731"},{"range":"859","text":"729"},{"range":"860","text":"731"},{"range":"861","text":"729"},{"range":"862","text":"731"},{"range":"863","text":"729"},{"range":"864","text":"731"},{"range":"865","text":"729"},{"range":"866","text":"731"},{"range":"867","text":"729"},{"range":"868","text":"731"},{"range":"869","text":"729"},{"range":"870","text":"731"},{"range":"871","text":"729"},{"range":"872","text":"731"},{"range":"873","text":"729"},{"range":"874","text":"731"},{"range":"875","text":"729"},{"range":"876","text":"731"},"CardDescription",[370,387],"CardHeader",[387,399],"CardTitle",[399,410],[7037,7040],"unknown",[7037,7040],"never","CardFooter",[759,771],""",[13549,13592],"Добавьте важные детали ("Опыт\", \"Гарантия\")","“",[13549,13592],"Добавьте важные детали (“Опыт\", \"Гарантия\")",""",[13549,13592],"Добавьте важные детали ("Опыт\", \"Гарантия\")","”",[13549,13592],"Добавьте важные детали (”Опыт\", \"Гарантия\")",[13549,13592],"Добавьте важные детали (\"Опыт", \"Гарантия\")",[13549,13592],"Добавьте важные детали (\"Опыт“, \"Гарантия\")",[13549,13592],"Добавьте важные детали (\"Опыт", \"Гарантия\")",[13549,13592],"Добавьте важные детали (\"Опыт”, \"Гарантия\")",[13549,13592],"Добавьте важные детали (\"Опыт\", "Гарантия\")",[13549,13592],"Добавьте важные детали (\"Опыт\", “Гарантия\")",[13549,13592],"Добавьте важные детали (\"Опыт\", "Гарантия\")",[13549,13592],"Добавьте важные детали (\"Опыт\", ”Гарантия\")",[13549,13592],"Добавьте важные детали (\"Опыт\", \"Гарантия")",[13549,13592],"Добавьте важные детали (\"Опыт\", \"Гарантия“)",[13549,13592],"Добавьте важные детали (\"Опыт\", \"Гарантия")",[13549,13592],"Добавьте важные детали (\"Опыт\", \"Гарантия”)","ImageIcon",[489,509],"FormDescription",[337,359],[759,771],"Category",[926,936],"LogOut",[393,401],[3373,3421],"[isAuth, isLoading, user, router, isInitialized, getProfile]",[7172,7175],[7172,7175],[1174,1177],[1174,1177],"Briefcase",[164,175],[5983,5986],[5983,5986],"'",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или 'няня'.\r\n ","‘",[11798,11924],"\r\n Укажите название услуги, например ‘уборка' или 'няня'.\r\n ","'",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или 'няня'.\r\n ","’",[11798,11924],"\r\n Укажите название услуги, например ’уборка' или 'няня'.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или 'няня'.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка‘ или 'няня'.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или 'няня'.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка’ или 'няня'.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или 'няня'.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или ‘няня'.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или 'няня'.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или ’няня'.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или 'няня'.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или 'няня‘.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или 'няня'.\r\n ",[11798,11924],"\r\n Укажите название услуги, например 'уборка' или 'няня’.\r\n ","Upload",[57,64],[1472,1475],[1472,1475],[1967,1970],[1967,1970],[1845,1921],"type DialogHeaderProps = React.HTMLAttributes",[2159,2235],"type DialogFooterProps = React.HTMLAttributes",[2530,2609],"type DialogTitleProps = React.HTMLAttributes",[2843,2930],"type DialogDescriptionProps = React.HTMLAttributes",[3588,3591],[3588,3591],"ArrowLeft",[221,232],"ArrowRight",[232,244],"useState",[14,47],[1732,1735],[1732,1735],[6364,6367],[6364,6367],[80,166],"type TextareaProps = React.TextareaHTMLAttributes",[1040,1043],[1040,1043],[3419,3422],[3419,3422],[3274,3277],[3274,3277],[3661,3664],[3661,3664],[4001,4004],[4001,4004],[4061,4064],[4061,4064],[4106,4109],[4106,4109],[678,681],[678,681],[722,725],[722,725],[1126,1129],[1126,1129],[170,173],[170,173],[490,493],[490,493]] \ No newline at end of file diff --git a/.next/cache/webpack/client-development/0.pack.gz b/.next/cache/webpack/client-development/0.pack.gz index bf1068a..5c4a4b7 100644 Binary files a/.next/cache/webpack/client-development/0.pack.gz and b/.next/cache/webpack/client-development/0.pack.gz differ diff --git a/.next/cache/webpack/client-development/1.pack.gz b/.next/cache/webpack/client-development/1.pack.gz index 84bec77..0a9e6d4 100644 Binary files a/.next/cache/webpack/client-development/1.pack.gz and b/.next/cache/webpack/client-development/1.pack.gz differ diff --git a/.next/cache/webpack/client-development/10.pack.gz b/.next/cache/webpack/client-development/10.pack.gz deleted file mode 100644 index 0319351..0000000 Binary files a/.next/cache/webpack/client-development/10.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/11.pack.gz b/.next/cache/webpack/client-development/11.pack.gz deleted file mode 100644 index 204d138..0000000 Binary files a/.next/cache/webpack/client-development/11.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/12.pack.gz b/.next/cache/webpack/client-development/12.pack.gz deleted file mode 100644 index 2a92c9b..0000000 Binary files a/.next/cache/webpack/client-development/12.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/13.pack.gz b/.next/cache/webpack/client-development/13.pack.gz deleted file mode 100644 index 1861385..0000000 Binary files a/.next/cache/webpack/client-development/13.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/14.pack.gz b/.next/cache/webpack/client-development/14.pack.gz deleted file mode 100644 index 6fe809d..0000000 Binary files a/.next/cache/webpack/client-development/14.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/15.pack.gz b/.next/cache/webpack/client-development/15.pack.gz deleted file mode 100644 index 4682378..0000000 Binary files a/.next/cache/webpack/client-development/15.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/16.pack.gz b/.next/cache/webpack/client-development/16.pack.gz deleted file mode 100644 index 471aa1a..0000000 Binary files a/.next/cache/webpack/client-development/16.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/17.pack.gz b/.next/cache/webpack/client-development/17.pack.gz deleted file mode 100644 index 8e9ad37..0000000 Binary files a/.next/cache/webpack/client-development/17.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/18.pack.gz b/.next/cache/webpack/client-development/18.pack.gz deleted file mode 100644 index e0ca1bd..0000000 Binary files a/.next/cache/webpack/client-development/18.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/19.pack.gz b/.next/cache/webpack/client-development/19.pack.gz deleted file mode 100644 index 4c8d122..0000000 Binary files a/.next/cache/webpack/client-development/19.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/2.pack.gz b/.next/cache/webpack/client-development/2.pack.gz deleted file mode 100644 index d159c77..0000000 Binary files a/.next/cache/webpack/client-development/2.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/20.pack.gz b/.next/cache/webpack/client-development/20.pack.gz deleted file mode 100644 index 1ab526e..0000000 Binary files a/.next/cache/webpack/client-development/20.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/3.pack.gz b/.next/cache/webpack/client-development/3.pack.gz deleted file mode 100644 index d8d63f6..0000000 Binary files a/.next/cache/webpack/client-development/3.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/4.pack.gz b/.next/cache/webpack/client-development/4.pack.gz deleted file mode 100644 index e4e32bb..0000000 Binary files a/.next/cache/webpack/client-development/4.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/5.pack.gz b/.next/cache/webpack/client-development/5.pack.gz deleted file mode 100644 index 386bcc6..0000000 Binary files a/.next/cache/webpack/client-development/5.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/6.pack.gz b/.next/cache/webpack/client-development/6.pack.gz deleted file mode 100644 index 5a6aacd..0000000 Binary files a/.next/cache/webpack/client-development/6.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/7.pack.gz b/.next/cache/webpack/client-development/7.pack.gz deleted file mode 100644 index cfa9e6f..0000000 Binary files a/.next/cache/webpack/client-development/7.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/8.pack.gz b/.next/cache/webpack/client-development/8.pack.gz deleted file mode 100644 index 8066a3a..0000000 Binary files a/.next/cache/webpack/client-development/8.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/9.pack.gz b/.next/cache/webpack/client-development/9.pack.gz deleted file mode 100644 index 4a96048..0000000 Binary files a/.next/cache/webpack/client-development/9.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/index.pack.gz b/.next/cache/webpack/client-development/index.pack.gz index 823c92b..2090307 100644 Binary files a/.next/cache/webpack/client-development/index.pack.gz and b/.next/cache/webpack/client-development/index.pack.gz differ diff --git a/.next/cache/webpack/client-development/index.pack.gz.old b/.next/cache/webpack/client-development/index.pack.gz.old index 3992db6..36fb938 100644 Binary files a/.next/cache/webpack/client-development/index.pack.gz.old and b/.next/cache/webpack/client-development/index.pack.gz.old differ diff --git a/.next/cache/webpack/client-production/0.pack b/.next/cache/webpack/client-production/0.pack index 81da13c..eceaf6f 100644 Binary files a/.next/cache/webpack/client-production/0.pack and b/.next/cache/webpack/client-production/0.pack differ diff --git a/.next/cache/webpack/client-production/index.pack b/.next/cache/webpack/client-production/index.pack index a53eede..8882b75 100644 Binary files a/.next/cache/webpack/client-production/index.pack and b/.next/cache/webpack/client-production/index.pack differ diff --git a/.next/cache/webpack/edge-server-production/index.pack b/.next/cache/webpack/edge-server-production/index.pack index 8023c1f..e4cfc79 100644 Binary files a/.next/cache/webpack/edge-server-production/index.pack and b/.next/cache/webpack/edge-server-production/index.pack differ diff --git a/.next/cache/webpack/server-development/0.pack.gz b/.next/cache/webpack/server-development/0.pack.gz index 218c238..d20976c 100644 Binary files a/.next/cache/webpack/server-development/0.pack.gz and b/.next/cache/webpack/server-development/0.pack.gz differ diff --git a/.next/cache/webpack/server-development/1.pack.gz b/.next/cache/webpack/server-development/1.pack.gz deleted file mode 100644 index 00102f0..0000000 Binary files a/.next/cache/webpack/server-development/1.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/10.pack.gz b/.next/cache/webpack/server-development/10.pack.gz deleted file mode 100644 index 9be3f53..0000000 Binary files a/.next/cache/webpack/server-development/10.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/11.pack.gz b/.next/cache/webpack/server-development/11.pack.gz deleted file mode 100644 index e63f507..0000000 Binary files a/.next/cache/webpack/server-development/11.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/12.pack.gz b/.next/cache/webpack/server-development/12.pack.gz deleted file mode 100644 index 884bcc5..0000000 Binary files a/.next/cache/webpack/server-development/12.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/13.pack.gz b/.next/cache/webpack/server-development/13.pack.gz deleted file mode 100644 index 4bfa6c7..0000000 Binary files a/.next/cache/webpack/server-development/13.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/14.pack.gz b/.next/cache/webpack/server-development/14.pack.gz deleted file mode 100644 index 26bd198..0000000 Binary files a/.next/cache/webpack/server-development/14.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/15.pack.gz b/.next/cache/webpack/server-development/15.pack.gz deleted file mode 100644 index 37050b9..0000000 Binary files a/.next/cache/webpack/server-development/15.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/2.pack.gz b/.next/cache/webpack/server-development/2.pack.gz deleted file mode 100644 index 4182d0f..0000000 Binary files a/.next/cache/webpack/server-development/2.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/3.pack.gz b/.next/cache/webpack/server-development/3.pack.gz deleted file mode 100644 index a517079..0000000 Binary files a/.next/cache/webpack/server-development/3.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/4.pack.gz b/.next/cache/webpack/server-development/4.pack.gz deleted file mode 100644 index 81975e1..0000000 Binary files a/.next/cache/webpack/server-development/4.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/5.pack.gz b/.next/cache/webpack/server-development/5.pack.gz deleted file mode 100644 index ff245a2..0000000 Binary files a/.next/cache/webpack/server-development/5.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/6.pack.gz b/.next/cache/webpack/server-development/6.pack.gz deleted file mode 100644 index 9319d76..0000000 Binary files a/.next/cache/webpack/server-development/6.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/7.pack.gz b/.next/cache/webpack/server-development/7.pack.gz deleted file mode 100644 index 871e0a5..0000000 Binary files a/.next/cache/webpack/server-development/7.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/8.pack.gz b/.next/cache/webpack/server-development/8.pack.gz deleted file mode 100644 index 01ba285..0000000 Binary files a/.next/cache/webpack/server-development/8.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/9.pack.gz b/.next/cache/webpack/server-development/9.pack.gz deleted file mode 100644 index 8393ae1..0000000 Binary files a/.next/cache/webpack/server-development/9.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/index.pack.gz b/.next/cache/webpack/server-development/index.pack.gz index 996af19..e7efdcd 100644 Binary files a/.next/cache/webpack/server-development/index.pack.gz and b/.next/cache/webpack/server-development/index.pack.gz differ diff --git a/.next/cache/webpack/server-development/index.pack.gz.old b/.next/cache/webpack/server-development/index.pack.gz.old deleted file mode 100644 index a0e68f8..0000000 Binary files a/.next/cache/webpack/server-development/index.pack.gz.old and /dev/null differ diff --git a/.next/cache/webpack/server-production/0.pack b/.next/cache/webpack/server-production/0.pack index 2fb7f1c..f000ecc 100644 Binary files a/.next/cache/webpack/server-production/0.pack and b/.next/cache/webpack/server-production/0.pack differ diff --git a/.next/cache/webpack/server-production/index.pack b/.next/cache/webpack/server-production/index.pack index c7eb724..455ed5b 100644 Binary files a/.next/cache/webpack/server-production/index.pack and b/.next/cache/webpack/server-production/index.pack differ diff --git a/.next/react-loadable-manifest.json b/.next/react-loadable-manifest.json index e5c01bd..2c5afcb 100644 --- a/.next/react-loadable-manifest.json +++ b/.next/react-loadable-manifest.json @@ -4,11 +4,5 @@ "files": [ "static/chunks/_app-pages-browser_node_modules_next_dist_client_dev_noop-turbopack-hmr_js.js" ] - }, - "app\\search\\page.tsx -> @/components/map/LiveMap": { - "id": "app\\search\\page.tsx -> @/components/map/LiveMap", - "files": [ - "static/chunks/_app-pages-browser_src_components_map_LiveMap_tsx.js" - ] } } \ No newline at end of file diff --git a/.next/server/app-paths-manifest.json b/.next/server/app-paths-manifest.json index 3e3349f..81e84b6 100644 --- a/.next/server/app-paths-manifest.json +++ b/.next/server/app-paths-manifest.json @@ -1,7 +1,3 @@ { - "/search/page": "app/search/page.js", - "/dashboard/offers/[id]/edit/page": "app/dashboard/offers/[id]/edit/page.js", - "/dashboard/offers/page": "app/dashboard/offers/page.js", - "/offers/[id]/page": "app/offers/[id]/page.js", - "/dashboard/profile/page": "app/dashboard/profile/page.js" + "/offers/[id]/page": "app/offers/[id]/page.js" } \ No newline at end of file diff --git a/.next/server/app/_not-found/page.js b/.next/server/app/_not-found/page.js deleted file mode 100644 index 6032458..0000000 --- a/.next/server/app/_not-found/page.js +++ /dev/null @@ -1,538 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "app/_not-found/page"; -exports.ids = ["app/_not-found/page"]; -exports.modules = { - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "../app-render/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/server/app-render/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/action-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/after-task-async-storage.external": -/*!***********************************************************************************!*\ - !*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***! - \***********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/work-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/server/app-render/work-async-storage.external.js" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-async-storage.external.js"); - -/***/ }), - -/***/ "./work-unit-async-storage.external": -/*!**********************************************************************************!*\ - !*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***! - \**********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js"); - -/***/ }), - -/***/ "assert": -/*!*************************!*\ - !*** external "assert" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("assert"); - -/***/ }), - -/***/ "crypto": -/*!*************************!*\ - !*** external "crypto" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("crypto"); - -/***/ }), - -/***/ "events": -/*!*************************!*\ - !*** external "events" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("events"); - -/***/ }), - -/***/ "fs": -/*!*********************!*\ - !*** external "fs" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("fs"); - -/***/ }), - -/***/ "http": -/*!***********************!*\ - !*** external "http" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http"); - -/***/ }), - -/***/ "http2": -/*!************************!*\ - !*** external "http2" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http2"); - -/***/ }), - -/***/ "https": -/*!************************!*\ - !*** external "https" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("https"); - -/***/ }), - -/***/ "os": -/*!*********************!*\ - !*** external "os" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("os"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ "stream": -/*!*************************!*\ - !*** external "stream" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("stream"); - -/***/ }), - -/***/ "tty": -/*!**********************!*\ - !*** external "tty" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("tty"); - -/***/ }), - -/***/ "url": -/*!**********************!*\ - !*** external "url" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("url"); - -/***/ }), - -/***/ "util": -/*!***********************!*\ - !*** external "util" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), - -/***/ "zlib": -/*!***********************!*\ - !*** external "zlib" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("zlib"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=..%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=..%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/module.compiled.js?91d2\");\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nconst notFound0 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23));\nconst module1 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\"));\nconst module2 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23));\nconst module3 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/forbidden-error */ \"(rsc)/./node_modules/next/dist/client/components/forbidden-error.js\", 23));\nconst module4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/unauthorized-error */ \"(rsc)/./node_modules/next/dist/client/components/unauthorized-error.js\", 23));\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\"/_not-found\", {\n children: ['__PAGE__', {}, {\n page: [\n notFound0,\n \"next/dist/client/components/not-found-error\"\n ]\n }]\n }, {}]\n },\n {\n 'layout': [module1, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\"],\n'not-found': [module2, \"next/dist/client/components/not-found-error\"],\n'forbidden': [module3, \"next/dist/client/components/forbidden-error\"],\n'unauthorized': [module4, \"next/dist/client/components/unauthorized-error\"],\n \n }\n ]\n }.children;\nconst pages = [];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/_not-found/page\",\n pathname: \"/_not-found\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkZfbm90LWZvdW5kJTJGcGFnZSZwYWdlPSUyRl9ub3QtZm91bmQlMkZwYWdlJmFwcFBhdGhzPSZwYWdlUGF0aD0uLiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRm5vdC1mb3VuZC1lcnJvci5qcyZhcHBEaXI9RSUzQSU1Q0dJVCU1Q212cCU1Q25hc2hlbC1mcm9udGVuZCU1Q3NyYyU1Q2FwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9RSUzQSU1Q0dJVCU1Q212cCU1Q25hc2hlbC1mcm9udGVuZCZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD1zdGFuZGFsb25lJnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdCQUF3QiwwTkFBZ0Y7QUFDeEcsc0JBQXNCLG9KQUF3RjtBQUM5RyxzQkFBc0IsME5BQWdGO0FBQ3RHLHNCQUFzQiwwTkFBZ0Y7QUFDdEcsc0JBQXNCLGdPQUFtRjtBQUd2RztBQUNzRDtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixXQUFXLElBQUk7QUFDZixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUN1QjtBQUM2RDtBQUNwRiw2QkFBNkIsbUJBQW1CO0FBQ2hEO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsdUdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyxrRUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IG5vdEZvdW5kMCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKTtcbmNvbnN0IG1vZHVsZTEgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKTtcbmNvbnN0IG1vZHVsZTIgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIik7XG5jb25zdCBtb2R1bGUzID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZm9yYmlkZGVuLWVycm9yXCIpO1xuY29uc3QgbW9kdWxlNCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC1lcnJvclwiKTtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc3NyJ1xufTtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgICAgY2hpbGRyZW46IFtcIi9fbm90LWZvdW5kXCIsIHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICAgICAgcGFnZTogW1xuICAgICAgICAgICAgICAgIG5vdEZvdW5kMCxcbiAgICAgICAgICAgICAgICBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XVxuICAgICAgICAgIH0sIHt9XVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbbW9kdWxlMSwgXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogW21vZHVsZTIsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiXSxcbidmb3JiaWRkZW4nOiBbbW9kdWxlMywgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZm9yYmlkZGVuLWVycm9yXCJdLFxuJ3VuYXV0aG9yaXplZCc6IFttb2R1bGU0LCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy91bmF1dGhvcml6ZWQtZXJyb3JcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfS5jaGlsZHJlbjtcbmNvbnN0IHBhZ2VzID0gW107XG5leHBvcnQgeyB0cmVlLCBwYWdlcyB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBHbG9iYWxFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIjtcbmNvbnN0IF9fbmV4dF9hcHBfcmVxdWlyZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfX1xuY29uc3QgX19uZXh0X2FwcF9sb2FkX2NodW5rX18gPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoKVxuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICBwYWdlOiBcIi9fbm90LWZvdW5kL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL19ub3QtZm91bmRcIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiAnJyxcbiAgICAgICAgZmlsZW5hbWU6ICcnLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=..%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(rsc)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(ssr)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(rsc)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(rsc)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(rsc)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(rsc)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(ssr)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(ssr)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(ssr)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(ssr)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* __next_internal_client_entry_do_not_use__ AuthProvider auto */ \n\n\n\nfunction AuthProvider({ children }) {\n const { checkAuth, isInitialized } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_2__.useSessionStore)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AuthProvider.useEffect\": ()=>{\n // Проверяем авторизацию при загрузке приложения\n checkAuth();\n }\n }[\"AuthProvider.useEffect\"], [\n checkAuth\n ]);\n // Показываем загрузку только на первой проверке\n if (!isInitialized) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-blue-600\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 19,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: children\n }, void 0, false);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hdXRoL0F1dGhQcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFaUM7QUFDeUI7QUFDcEI7QUFFL0IsU0FBU0csYUFBYSxFQUFFQyxRQUFRLEVBQWlDO0lBQ3BFLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUUsR0FBR0wsd0VBQWVBO0lBRXBERCxnREFBU0E7a0NBQUM7WUFDTixnREFBZ0Q7WUFDaERLO1FBQ0o7aUNBQUc7UUFBQ0E7S0FBVTtJQUVkLGdEQUFnRDtJQUNoRCxJQUFJLENBQUNDLGVBQWU7UUFDaEIscUJBQ0ksOERBQUNDO1lBQUlDLFdBQVU7c0JBQ1gsNEVBQUNOLG1GQUFPQTtnQkFBQ00sV0FBVTs7Ozs7Ozs7Ozs7SUFHL0I7SUFFQSxxQkFBTztrQkFBR0o7O0FBQ2QiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXGF1dGhcXEF1dGhQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxuaW1wb3J0IHsgTG9hZGVyMiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuXG5leHBvcnQgZnVuY3Rpb24gQXV0aFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICBjb25zdCB7IGNoZWNrQXV0aCwgaXNJbml0aWFsaXplZCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNGOINC/0YDQuCDQt9Cw0LPRgNGD0LfQutC1INC/0YDQuNC70L7QttC10L3QuNGPXG4gICAgICAgIGNoZWNrQXV0aCgpXG4gICAgfSwgW2NoZWNrQXV0aF0pXG5cbiAgICAvLyDQn9C+0LrQsNC30YvQstCw0LXQvCDQt9Cw0LPRgNGD0LfQutGDINGC0L7Qu9GM0LrQviDQvdCwINC/0LXRgNCy0L7QuSDQv9GA0L7QstC10YDQutC1XG4gICAgaWYgKCFpc0luaXRpYWxpemVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggbWluLWgtc2NyZWVuIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cImgtOCB3LTggYW5pbWF0ZS1zcGluIHRleHQtYmx1ZS02MDBcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU2Vzc2lvblN0b3JlIiwiTG9hZGVyMiIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwiY2hlY2tBdXRoIiwiaXNJbml0aWFsaXplZCIsImRpdiIsImNsYXNzTmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/auth/AuthProvider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/mode-toggle.tsx": -/*!**********************************************!*\ - !*** ./src/components/theme/mode-toggle.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModeToggle: () => (/* binding */ ModeToggle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/sun.js\");\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/moon.js\");\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* __next_internal_client_entry_do_not_use__ ModeToggle auto */ \n\n\n\n\n\nfunction ModeToggle() {\n const { setTheme } = (0,next_themes__WEBPACK_IMPORTED_MODULE_2__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"outline\",\n size: \"icon\",\n className: \"rounded-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 22,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 23,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Toggle theme\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 24,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 21,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuContent, {\n align: \"end\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"light\"),\n children: \"Светлая\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 28,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"dark\"),\n children: \"Темная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 31,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"system\"),\n children: \"Системная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 27,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS9tb2RlLXRvZ2dsZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFOEI7QUFDVTtBQUNGO0FBRVM7QUFNVDtBQUUvQixTQUFTUztJQUNaLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdQLHFEQUFRQTtJQUU3QixxQkFDSSw4REFBQ0Usc0VBQVlBOzswQkFDVCw4REFBQ0csNkVBQW1CQTtnQkFBQ0csT0FBTzswQkFDeEIsNEVBQUNQLHlEQUFNQTtvQkFBQ1EsU0FBUTtvQkFBVUMsTUFBSztvQkFBT0MsV0FBVTs7c0NBQzVDLDhEQUFDWixvRkFBR0E7NEJBQUNZLFdBQVU7Ozs7OztzQ0FDZiw4REFBQ2Isb0ZBQUlBOzRCQUFDYSxXQUFVOzs7Ozs7c0NBQ2hCLDhEQUFDQzs0QkFBS0QsV0FBVTtzQ0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBR2xDLDhEQUFDUiw2RUFBbUJBO2dCQUFDVSxPQUFNOztrQ0FDdkIsOERBQUNULDBFQUFnQkE7d0JBQUNVLFNBQVMsSUFBTVAsU0FBUztrQ0FBVTs7Ozs7O2tDQUdwRCw4REFBQ0gsMEVBQWdCQTt3QkFBQ1UsU0FBUyxJQUFNUCxTQUFTO2tDQUFTOzs7Ozs7a0NBR25ELDhEQUFDSCwwRUFBZ0JBO3dCQUFDVSxTQUFTLElBQU1QLFNBQVM7a0NBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1yRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdGhlbWVcXG1vZGUtdG9nZ2xlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgTW9vbiwgU3VuIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuXHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCJcclxuaW1wb3J0IHtcclxuICAgIERyb3Bkb3duTWVudSxcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2Ryb3Bkb3duLW1lbnVcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVUb2dnbGUoKSB7XHJcbiAgICBjb25zdCB7IHNldFRoZW1lIH0gPSB1c2VUaGVtZSgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51VHJpZ2dlciBhc0NoaWxkPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiIHNpemU9XCJpY29uXCIgY2xhc3NOYW1lPVwicm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFN1biBjbGFzc05hbWU9XCJoLVsxLjJyZW1dIHctWzEuMnJlbV0gcm90YXRlLTAgc2NhbGUtMTAwIHRyYW5zaXRpb24tYWxsIGRhcms6LXJvdGF0ZS05MCBkYXJrOnNjYWxlLTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxNb29uIGNsYXNzTmFtZT1cImFic29sdXRlIGgtWzEuMnJlbV0gdy1bMS4ycmVtXSByb3RhdGUtOTAgc2NhbGUtMCB0cmFuc2l0aW9uLWFsbCBkYXJrOnJvdGF0ZS0wIGRhcms6c2NhbGUtMTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+VG9nZ2xlIHRoZW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51VHJpZ2dlcj5cclxuICAgICAgICAgICAgPERyb3Bkb3duTWVudUNvbnRlbnQgYWxpZ249XCJlbmRcIj5cclxuICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIG9uQ2xpY2s9eygpID0+IHNldFRoZW1lKFwibGlnaHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LLQtdGC0LvQsNGPXHJcbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51SXRlbSBvbkNsaWNrPXsoKSA9PiBzZXRUaGVtZShcImRhcmtcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCi0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gb25DbGljaz17KCkgPT4gc2V0VGhlbWUoXCJzeXN0ZW1cIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LjRgdGC0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgPC9Ecm9wZG93bk1lbnU+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiTW9vbiIsIlN1biIsInVzZVRoZW1lIiwiQnV0dG9uIiwiRHJvcGRvd25NZW51IiwiRHJvcGRvd25NZW51Q29udGVudCIsIkRyb3Bkb3duTWVudUl0ZW0iLCJEcm9wZG93bk1lbnVUcmlnZ2VyIiwiTW9kZVRvZ2dsZSIsInNldFRoZW1lIiwiYXNDaGlsZCIsInZhcmlhbnQiLCJzaXplIiwiY2xhc3NOYW1lIiwic3BhbiIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/mode-toggle.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ ThemeProvider auto */ \n\n\nfunction ThemeProvider({ children, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_themes__WEBPACK_IMPORTED_MODULE_2__.ThemeProvider, {\n ...props,\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\theme-provider.tsx\",\n lineNumber: 8,\n columnNumber: 12\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS90aGVtZS1wcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUU4QjtBQUNtQztBQUcxRCxTQUFTQyxjQUFjLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUEyQjtJQUNwRSxxQkFBTyw4REFBQ0Ysc0RBQWtCQTtRQUFFLEdBQUdFLEtBQUs7a0JBQUdEOzs7Ozs7QUFDM0MiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHRoZW1lXFx0aGVtZS1wcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgYXMgTmV4dFRoZW1lc1Byb3ZpZGVyIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuaW1wb3J0IHsgdHlwZSBUaGVtZVByb3ZpZGVyUHJvcHMgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIoeyBjaGlsZHJlbiwgLi4ucHJvcHMgfTogVGhlbWVQcm92aWRlclByb3BzKSB7XHJcbiAgICByZXR1cm4gPE5leHRUaGVtZXNQcm92aWRlciB7Li4ucHJvcHN9PntjaGlsZHJlbn08L05leHRUaGVtZXNQcm92aWRlcj5cclxufVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUaGVtZVByb3ZpZGVyIiwiTmV4dFRoZW1lc1Byb3ZpZGVyIiwiY2hpbGRyZW4iLCJwcm9wcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/theme-provider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/button.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/button.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ buttonVariants: () => (/* binding */ buttonVariants)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst buttonVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n});\nconst Button = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, size, asChild = false, ...props }, ref)=>{\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot : \"button\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Comp, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(buttonVariants({\n variant,\n size,\n className\n })),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\button.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, undefined);\n});\nButton.displayName = \"Button\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9idXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDYTtBQUNzQjtBQUUxQjtBQUV2QyxNQUFNSSxpQkFBaUJGLDZEQUFHQSxDQUN0Qiw0VkFDQTtJQUNJRyxVQUFVO1FBQ05DLFNBQVM7WUFDTEMsU0FBUztZQUNUQyxhQUNJO1lBQ0pDLFNBQ0k7WUFDSkMsV0FDSTtZQUNKQyxPQUFPO1lBQ1BDLE1BQU07UUFDVjtRQUNBQyxNQUFNO1lBQ0ZOLFNBQVM7WUFDVE8sSUFBSTtZQUNKQyxJQUFJO1lBQ0pDLE1BQU07UUFDVjtJQUNKO0lBQ0FDLGlCQUFpQjtRQUNiWCxTQUFTO1FBQ1RPLE1BQU07SUFDVjtBQUNKO0FBU0osTUFBTUssdUJBQVNsQiw2Q0FBZ0IsQ0FDM0IsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFZCxPQUFPLEVBQUVPLElBQUksRUFBRVEsVUFBVSxLQUFLLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUN0RCxNQUFNQyxPQUFPSCxVQUFVcEIsc0RBQUlBLEdBQUc7SUFDOUIscUJBQ0ksOERBQUN1QjtRQUNHSixXQUFXakIscURBQUVBLENBQUNDLGVBQWU7WUFBRUU7WUFBU087WUFBTU87UUFBVTtRQUN4REcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosT0FBT08sV0FBVyxHQUFHO0FBRVkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxidXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIlxyXG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgYnV0dG9uVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIFsmX3N2Z106cG9pbnRlci1ldmVudHMtbm9uZSBbJl9zdmddOnNpemUtNCBbJl9zdmddOnNocmluay0wXCIsXHJcbiAgICB7XHJcbiAgICAgICAgdmFyaWFudHM6IHtcclxuICAgICAgICAgICAgdmFyaWFudDoge1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogXCJiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkvOTBcIixcclxuICAgICAgICAgICAgICAgIGRlc3RydWN0aXZlOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIGhvdmVyOmJnLWRlc3RydWN0aXZlLzkwXCIsXHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICAgICAgXCJiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1zZWNvbmRhcnkvODBcIixcclxuICAgICAgICAgICAgICAgIGdob3N0OiBcImhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBcInRleHQtcHJpbWFyeSB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lXCIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNpemU6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFwiaC0xMCBweC00IHB5LTJcIixcclxuICAgICAgICAgICAgICAgIHNtOiBcImgtOSByb3VuZGVkLW1kIHB4LTNcIixcclxuICAgICAgICAgICAgICAgIGxnOiBcImgtMTEgcm91bmRlZC1tZCBweC04XCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImgtMTAgdy0xMFwiLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVmYXVsdFZhcmlhbnRzOiB7XHJcbiAgICAgICAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICBzaXplOiBcImRlZmF1bHRcIixcclxuICAgICAgICB9LFxyXG4gICAgfVxyXG4pXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzXHJcbiAgICBleHRlbmRzIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PixcclxuICAgIFZhcmlhbnRQcm9wczx0eXBlb2YgYnV0dG9uVmFyaWFudHM+IHtcclxuICAgIGFzQ2hpbGQ/OiBib29sZWFuXHJcbn1cclxuXHJcbmNvbnN0IEJ1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihcclxuICAgICh7IGNsYXNzTmFtZSwgdmFyaWFudCwgc2l6ZSwgYXNDaGlsZCA9IGZhbHNlLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgICAgICBjb25zdCBDb21wID0gYXNDaGlsZCA/IFNsb3QgOiBcImJ1dHRvblwiXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPENvbXBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oYnV0dG9uVmFyaWFudHMoeyB2YXJpYW50LCBzaXplLCBjbGFzc05hbWUgfSkpfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbkJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiQnV0dG9uXCJcclxuXHJcbmV4cG9ydCB7IEJ1dHRvbiwgYnV0dG9uVmFyaWFudHMgfVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTbG90IiwiY3ZhIiwiY24iLCJidXR0b25WYXJpYW50cyIsInZhcmlhbnRzIiwidmFyaWFudCIsImRlZmF1bHQiLCJkZXN0cnVjdGl2ZSIsIm91dGxpbmUiLCJzZWNvbmRhcnkiLCJnaG9zdCIsImxpbmsiLCJzaXplIiwic20iLCJsZyIsImljb24iLCJkZWZhdWx0VmFyaWFudHMiLCJCdXR0b24iLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiYXNDaGlsZCIsInByb3BzIiwicmVmIiwiQ29tcCIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/button.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/dropdown-menu.tsx": -/*!*********************************************!*\ - !*** ./src/components/ui/dropdown-menu.tsx ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropdownMenu: () => (/* binding */ DropdownMenu),\n/* harmony export */ DropdownMenuCheckboxItem: () => (/* binding */ DropdownMenuCheckboxItem),\n/* harmony export */ DropdownMenuContent: () => (/* binding */ DropdownMenuContent),\n/* harmony export */ DropdownMenuGroup: () => (/* binding */ DropdownMenuGroup),\n/* harmony export */ DropdownMenuItem: () => (/* binding */ DropdownMenuItem),\n/* harmony export */ DropdownMenuLabel: () => (/* binding */ DropdownMenuLabel),\n/* harmony export */ DropdownMenuPortal: () => (/* binding */ DropdownMenuPortal),\n/* harmony export */ DropdownMenuRadioGroup: () => (/* binding */ DropdownMenuRadioGroup),\n/* harmony export */ DropdownMenuRadioItem: () => (/* binding */ DropdownMenuRadioItem),\n/* harmony export */ DropdownMenuSeparator: () => (/* binding */ DropdownMenuSeparator),\n/* harmony export */ DropdownMenuShortcut: () => (/* binding */ DropdownMenuShortcut),\n/* harmony export */ DropdownMenuSub: () => (/* binding */ DropdownMenuSub),\n/* harmony export */ DropdownMenuSubContent: () => (/* binding */ DropdownMenuSubContent),\n/* harmony export */ DropdownMenuSubTrigger: () => (/* binding */ DropdownMenuSubTrigger),\n/* harmony export */ DropdownMenuTrigger: () => (/* binding */ DropdownMenuTrigger)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ \"(ssr)/./node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle.js\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ DropdownMenu,DropdownMenuTrigger,DropdownMenuContent,DropdownMenuItem,DropdownMenuCheckboxItem,DropdownMenuRadioItem,DropdownMenuLabel,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuGroup,DropdownMenuPortal,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuRadioGroup auto */ \n\n\n\n\nconst DropdownMenu = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst DropdownMenuTrigger = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Trigger;\nconst DropdownMenuGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Group;\nconst DropdownMenuPortal = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal;\nconst DropdownMenuSub = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Sub;\nconst DropdownMenuRadioGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioGroup;\nconst DropdownMenuSubTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\", inset && \"pl-8\", className),\n ...props,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-auto h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 27,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubTrigger.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger.displayName;\nconst DropdownMenuSubContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent.displayName;\nconst DropdownMenuContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, sideOffset = 4, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n sideOffset: sideOffset,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 63,\n columnNumber: 5\n }, undefined));\nDropdownMenuContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\nconst DropdownMenuItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 83,\n columnNumber: 5\n }, undefined));\nDropdownMenuItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item.displayName;\nconst DropdownMenuCheckboxItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, checked, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n checked: checked,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 109,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 108,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 99,\n columnNumber: 5\n }, undefined));\nDropdownMenuCheckboxItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem.displayName;\nconst DropdownMenuRadioItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-2 w-2 fill-current\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 133,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 132,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 123,\n columnNumber: 5\n }, undefined));\nDropdownMenuRadioItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem.displayName;\nconst DropdownMenuLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 147,\n columnNumber: 5\n }, undefined));\nDropdownMenuLabel.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label.displayName;\nconst DropdownMenuSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 163,\n columnNumber: 5\n }, undefined));\nDropdownMenuSeparator.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator.displayName;\nconst DropdownMenuShortcut = ({ className, ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"ml-auto text-xs tracking-widest opacity-60\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 176,\n columnNumber: 9\n }, undefined);\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRThCO0FBQ3dDO0FBQ1o7QUFFbkI7QUFFdkMsTUFBTU0sZUFBZUwsK0RBQTBCO0FBRS9DLE1BQU1PLHNCQUFzQlAsa0VBQTZCO0FBRXpELE1BQU1TLG9CQUFvQlQsZ0VBQTJCO0FBRXJELE1BQU1XLHFCQUFxQlgsaUVBQTRCO0FBRXZELE1BQU1hLGtCQUFrQmIsOERBQXlCO0FBRWpELE1BQU1lLHlCQUF5QmYscUVBQWdDO0FBRS9ELE1BQU1pQix1Q0FBeUJsQiw2Q0FBZ0IsQ0FLN0MsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN6Qyw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdJQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7O1lBRVJEOzBCQUNELDhEQUFDbkIscUdBQVlBO2dCQUFDaUIsV0FBVTs7Ozs7Ozs7Ozs7O0FBR2hDRix1QkFBdUJRLFdBQVcsR0FDOUJ6QixxRUFBZ0MsQ0FBQ3lCLFdBQVc7QUFFaEQsTUFBTUMsdUNBQXlCM0IsNkNBQWdCLENBRzdDLENBQUMsRUFBRW9CLFNBQVMsRUFBRSxHQUFHRyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHliQUNBZTtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQkksdUJBQXVCRCxXQUFXLEdBQzlCekIscUVBQWdDLENBQUN5QixXQUFXO0FBRWhELE1BQU1HLG9DQUFzQjdCLDZDQUFnQixDQUcxQyxDQUFDLEVBQUVvQixTQUFTLEVBQUVVLGFBQWEsQ0FBQyxFQUFFLEdBQUdQLE9BQU8sRUFBRUMsb0JBQ3hDLDhEQUFDdkIsaUVBQTRCO2tCQUN6Qiw0RUFBQ0Esa0VBQTZCO1lBQzFCdUIsS0FBS0E7WUFDTE0sWUFBWUE7WUFDWlYsV0FBV2YscURBQUVBLENBQ1QseWJBQ0FlO1lBRUgsR0FBR0csS0FBSzs7Ozs7Ozs7Ozs7QUFJckJNLG9CQUFvQkgsV0FBVyxHQUFHekIsa0VBQTZCLENBQUN5QixXQUFXO0FBRTNFLE1BQU1NLGlDQUFtQmhDLDZDQUFnQixDQUt2QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVDLEtBQUssRUFBRSxHQUFHRSxPQUFPLEVBQUVDLG9CQUMvQiw4REFBQ3ZCLCtEQUEwQjtRQUN2QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULG1PQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQlMsaUJBQWlCTixXQUFXLEdBQUd6QiwrREFBMEIsQ0FBQ3lCLFdBQVc7QUFFckUsTUFBTVEseUNBQTJCbEMsNkNBQWdCLENBRy9DLENBQUMsRUFBRW9CLFNBQVMsRUFBRUUsUUFBUSxFQUFFYSxPQUFPLEVBQUUsR0FBR1osT0FBTyxFQUFFQyxvQkFDM0MsOERBQUN2Qix1RUFBa0M7UUFDL0J1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FDVCx3T0FDQWU7UUFFSmUsU0FBU0E7UUFDUixHQUFHWixLQUFLOzswQkFFVCw4REFBQ2M7Z0JBQUtqQixXQUFVOzBCQUNaLDRFQUFDbkIsd0VBQW1DOzhCQUNoQyw0RUFBQ0MscUdBQUtBO3dCQUFDa0IsV0FBVTs7Ozs7Ozs7Ozs7Ozs7OztZQUd4QkU7Ozs7Ozs7QUFHVFkseUJBQXlCUixXQUFXLEdBQ2hDekIsdUVBQWtDLENBQUN5QixXQUFXO0FBRWxELE1BQU1hLHNDQUF3QnZDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUNsQyw4REFBQ3ZCLG9FQUErQjtRQUM1QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdPQUNBZTtRQUVILEdBQUdHLEtBQUs7OzBCQUVULDhEQUFDYztnQkFBS2pCLFdBQVU7MEJBQ1osNEVBQUNuQix3RUFBbUM7OEJBQ2hDLDRFQUFDRyxxR0FBTUE7d0JBQUNnQixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7O1lBR3pCRTs7Ozs7OztBQUdUaUIsc0JBQXNCYixXQUFXLEdBQUd6QixvRUFBK0IsQ0FBQ3lCLFdBQVc7QUFFL0UsTUFBTWUsa0NBQW9CekMsNkNBQWdCLENBS3hDLENBQUMsRUFBRW9CLFNBQVMsRUFBRUMsS0FBSyxFQUFFLEdBQUdFLE9BQU8sRUFBRUMsb0JBQy9CLDhEQUFDdkIsZ0VBQTJCO1FBQ3hCdUIsS0FBS0E7UUFDTEosV0FBV2YscURBQUVBLENBQ1QscUNBQ0FnQixTQUFTLFFBQ1REO1FBRUgsR0FBR0csS0FBSzs7Ozs7O0FBR2pCa0Isa0JBQWtCZixXQUFXLEdBQUd6QixnRUFBMkIsQ0FBQ3lCLFdBQVc7QUFFdkUsTUFBTWlCLHNDQUF3QjNDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUUsR0FBR0csT0FBTyxFQUFFQyxvQkFDeEIsOERBQUN2QixvRUFBK0I7UUFDNUJ1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FBQyw0QkFBNEJlO1FBQ3pDLEdBQUdHLEtBQUs7Ozs7OztBQUdqQm9CLHNCQUFzQmpCLFdBQVcsR0FBR3pCLG9FQUErQixDQUFDeUIsV0FBVztBQUUvRSxNQUFNbUIsdUJBQXVCLENBQUMsRUFDMUJ6QixTQUFTLEVBQ1QsR0FBR0csT0FDaUM7SUFDcEMscUJBQ0ksOERBQUNjO1FBQ0dqQixXQUFXZixxREFBRUEsQ0FBQyw4Q0FBOENlO1FBQzNELEdBQUdHLEtBQUs7Ozs7OztBQUdyQjtBQUNBc0IscUJBQXFCbkIsV0FBVyxHQUFHO0FBa0JsQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGRyb3Bkb3duLW1lbnUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBEcm9wZG93bk1lbnVQcmltaXRpdmUgZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kcm9wZG93bi1tZW51XCJcclxuaW1wb3J0IHsgQ2hlY2ssIENoZXZyb25SaWdodCwgQ2lyY2xlIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51ID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlJvb3RcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVRyaWdnZXIgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuVHJpZ2dlclxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51R3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuR3JvdXBcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVBvcnRhbCA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Qb3J0YWxcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YiA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvR3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9Hcm91cFxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U3ViVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViVHJpZ2dlcj4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJUcmlnZ2VyPiAmIHtcclxuICAgICAgICBpbnNldD86IGJvb2xlYW5cclxuICAgIH1cclxuPigoeyBjbGFzc05hbWUsIGluc2V0LCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXJcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcImZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHgtMiBweS0xLjUgdGV4dC1zbSBvdXRsaW5lLW5vbmUgZm9jdXM6YmctYWNjZW50IGRhdGEtW3N0YXRlPW9wZW5dOmJnLWFjY2VudFwiLFxyXG4gICAgICAgICAgICBpbnNldCAmJiBcInBsLThcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDxDaGV2cm9uUmlnaHQgY2xhc3NOYW1lPVwibWwtYXV0byBoLTQgdy00XCIgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXI+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YlRyaWdnZXIuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXIuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YkNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJDb250ZW50XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJ6LTUwIG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LWxnIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4gZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAgZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wIGRhdGEtW3N0YXRlPWNsb3NlZF06em9vbS1vdXQtOTUgZGF0YS1bc3RhdGU9b3Blbl06em9vbS1pbi05NSBkYXRhLVtzaWRlPWJvdHRvbV06c2xpZGUtaW4tZnJvbS10b3AtMiBkYXRhLVtzaWRlPWxlZnRdOnNsaWRlLWluLWZyb20tcmlnaHQtMiBkYXRhLVtzaWRlPXJpZ2h0XTpzbGlkZS1pbi1mcm9tLWxlZnQtMiBkYXRhLVtzaWRlPXRvcF06c2xpZGUtaW4tZnJvbS1ib3R0b20tMlwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YkNvbnRlbnQuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIHNpZGVPZmZzZXQgPSA0LCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUG9ydGFsPlxyXG4gICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudFxyXG4gICAgICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICAgICAgc2lkZU9mZnNldD17c2lkZU9mZnNldH1cclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgIFwiei01MCBtaW4tdy1bOHJlbV0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXBvcG92ZXIgcC0xIHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZCBkYXRhLVtzdGF0ZT1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWNsb3NlZF06YW5pbWF0ZS1vdXQgZGF0YS1bc3RhdGU9Y2xvc2VkXTpmYWRlLW91dC0wIGRhdGEtW3N0YXRlPW9wZW5dOmZhZGUtaW4tMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3N0YXRlPW9wZW5dOnpvb20taW4tOTUgZGF0YS1bc2lkZT1ib3R0b21dOnNsaWRlLWluLWZyb20tdG9wLTIgZGF0YS1bc2lkZT1sZWZ0XTpzbGlkZS1pbi1mcm9tLXJpZ2h0LTIgZGF0YS1bc2lkZT1yaWdodF06c2xpZGUtaW4tZnJvbS1sZWZ0LTIgZGF0YS1bc2lkZT10b3BdOnNsaWRlLWluLWZyb20tYm90dG9tLTJcIixcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlBvcnRhbD5cclxuKSlcclxuRHJvcGRvd25NZW51Q29udGVudC5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Db250ZW50LmRpc3BsYXlOYW1lXHJcblxyXG5jb25zdCBEcm9wZG93bk1lbnVJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW0+ICYge1xyXG4gICAgICAgIGluc2V0PzogYm9vbGVhblxyXG4gICAgfVxyXG4+KCh7IGNsYXNzTmFtZSwgaW5zZXQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB4LTIgcHktMS41IHRleHQtc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgIGluc2V0ICYmIFwicGwtOFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudUl0ZW0uZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbS5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ2hlY2tib3hJdGVtPlxyXG4+KCh7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIGNoZWNrZWQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW1cclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInJlbGF0aXZlIGZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHktMS41IHBsLTggcHItMiB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpiZy1hY2NlbnQgZm9jdXM6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBkYXRhLVtkaXNhYmxlZF06cG9pbnRlci1ldmVudHMtbm9uZSBkYXRhLVtkaXNhYmxlZF06b3BhY2l0eS01MFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICA8Q2hlY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkNoZWNrYm94SXRlbT5cclxuKSlcclxuRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLmRpc3BsYXlOYW1lID1cclxuICAgIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvSXRlbSA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlJhZGlvSXRlbT5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB5LTEuNSBwbC04IHByLTIgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMgZm9jdXM6YmctYWNjZW50IGZvY3VzOnRleHQtYWNjZW50LWZvcmVncm91bmQgZGF0YS1bZGlzYWJsZWRdOnBvaW50ZXItZXZlbnRzLW5vbmUgZGF0YS1bZGlzYWJsZWRdOm9wYWNpdHktNTBcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0yIGZsZXggaC0zLjUgdy0zLjUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbUluZGljYXRvcj5cclxuICAgICAgICAgICAgICAgIDxDaXJjbGUgY2xhc3NOYW1lPVwiaC0yIHctMiBmaWxsLWN1cnJlbnRcIiAvPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0+XHJcbikpXHJcbkRyb3Bkb3duTWVudVJhZGlvSXRlbS5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUxhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4gJiB7XHJcbiAgICAgICAgaW5zZXQ/OiBib29sZWFuXHJcbiAgICB9XHJcbj4oKHsgY2xhc3NOYW1lLCBpbnNldCwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkxhYmVsXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJweC0yIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIixcclxuICAgICAgICAgICAgaW5zZXQgJiYgXCJwbC04XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51TGFiZWwuZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuTGFiZWwuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVNlcGFyYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU2VwYXJhdG9yPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvcj5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TZXBhcmF0b3JcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFwiLW14LTEgbXktMSBoLXB4IGJnLW11dGVkXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51U2VwYXJhdG9yLmRpc3BsYXlOYW1lID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvci5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U2hvcnRjdXQgPSAoe1xyXG4gICAgY2xhc3NOYW1lLFxyXG4gICAgLi4ucHJvcHNcclxufTogUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFNwYW5FbGVtZW50PikgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwibWwtYXV0byB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdCBvcGFjaXR5LTYwXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcbkRyb3Bkb3duTWVudVNob3J0Y3V0LmRpc3BsYXlOYW1lID0gXCJEcm9wZG93bk1lbnVTaG9ydGN1dFwiXHJcblxyXG5leHBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51UmFkaW9JdGVtLFxyXG4gICAgRHJvcGRvd25NZW51TGFiZWwsXHJcbiAgICBEcm9wZG93bk1lbnVTZXBhcmF0b3IsXHJcbiAgICBEcm9wZG93bk1lbnVTaG9ydGN1dCxcclxuICAgIERyb3Bkb3duTWVudUdyb3VwLFxyXG4gICAgRHJvcGRvd25NZW51UG9ydGFsLFxyXG4gICAgRHJvcGRvd25NZW51U3ViLFxyXG4gICAgRHJvcGRvd25NZW51U3ViQ29udGVudCxcclxuICAgIERyb3Bkb3duTWVudVN1YlRyaWdnZXIsXHJcbiAgICBEcm9wZG93bk1lbnVSYWRpb0dyb3VwLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZSIsIkNoZWNrIiwiQ2hldnJvblJpZ2h0IiwiQ2lyY2xlIiwiY24iLCJEcm9wZG93bk1lbnUiLCJSb290IiwiRHJvcGRvd25NZW51VHJpZ2dlciIsIlRyaWdnZXIiLCJEcm9wZG93bk1lbnVHcm91cCIsIkdyb3VwIiwiRHJvcGRvd25NZW51UG9ydGFsIiwiUG9ydGFsIiwiRHJvcGRvd25NZW51U3ViIiwiU3ViIiwiRHJvcGRvd25NZW51UmFkaW9Hcm91cCIsIlJhZGlvR3JvdXAiLCJEcm9wZG93bk1lbnVTdWJUcmlnZ2VyIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImluc2V0IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlN1YlRyaWdnZXIiLCJkaXNwbGF5TmFtZSIsIkRyb3Bkb3duTWVudVN1YkNvbnRlbnQiLCJTdWJDb250ZW50IiwiRHJvcGRvd25NZW51Q29udGVudCIsInNpZGVPZmZzZXQiLCJDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkl0ZW0iLCJEcm9wZG93bk1lbnVDaGVja2JveEl0ZW0iLCJjaGVja2VkIiwiQ2hlY2tib3hJdGVtIiwic3BhbiIsIkl0ZW1JbmRpY2F0b3IiLCJEcm9wZG93bk1lbnVSYWRpb0l0ZW0iLCJSYWRpb0l0ZW0iLCJEcm9wZG93bk1lbnVMYWJlbCIsIkxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiU2VwYXJhdG9yIiwiRHJvcGRvd25NZW51U2hvcnRjdXQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/dropdown-menu.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toaster: () => (/* binding */ Toaster)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ Toaster auto */ \n\n\nconst Toaster = ({ ...props })=>{\n const { theme = \"system\" } = (0,next_themes__WEBPACK_IMPORTED_MODULE_1__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(sonner__WEBPACK_IMPORTED_MODULE_2__.Toaster, {\n theme: theme,\n className: \"toaster group\",\n toastOptions: {\n classNames: {\n toast: \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toaster]:text-muted-foreground\",\n actionButton: \"group-[.toaster]:bg-primary group-[.toaster]:text-primary-foreground\",\n cancelButton: \"group-[.toaster]:bg-muted group-[.toaster]:text-muted-foreground\"\n }\n },\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\sonner.tsx\",\n lineNumber: 12,\n columnNumber: 9\n }, undefined);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zb25uZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVzQztBQUNJO0FBSTFDLE1BQU1DLFVBQVUsQ0FBQyxFQUFFLEdBQUdFLE9BQXFCO0lBQ3ZDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLEVBQUUsR0FBR0oscURBQVFBO0lBRXJDLHFCQUNJLDhEQUFDRSwyQ0FBTUE7UUFDSEUsT0FBT0E7UUFDUEMsV0FBVTtRQUNWQyxjQUFjO1lBQ1ZDLFlBQVk7Z0JBQ1JDLE9BQ0k7Z0JBQ0pDLGFBQWE7Z0JBQ2JDLGNBQ0k7Z0JBQ0pDLGNBQ0k7WUFDUjtRQUNKO1FBQ0MsR0FBR1IsS0FBSzs7Ozs7O0FBR3JCO0FBRWtCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcc29ubmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5pbXBvcnQgeyBUb2FzdGVyIGFzIFNvbm5lciB9IGZyb20gXCJzb25uZXJcIlxyXG5cclxudHlwZSBUb2FzdGVyUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgU29ubmVyPlxyXG5cclxuY29uc3QgVG9hc3RlciA9ICh7IC4uLnByb3BzIH06IFRvYXN0ZXJQcm9wcykgPT4ge1xyXG4gICAgY29uc3QgeyB0aGVtZSA9IFwic3lzdGVtXCIgfSA9IHVzZVRoZW1lKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTb25uZXJcclxuICAgICAgICAgICAgdGhlbWU9e3RoZW1lIGFzIFRvYXN0ZXJQcm9wc1tcInRoZW1lXCJdfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0b2FzdGVyIGdyb3VwXCJcclxuICAgICAgICAgICAgdG9hc3RPcHRpb25zPXt7XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9hc3Q6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JvdXAgdG9hc3QgZ3JvdXAtWy50b2FzdGVyXTpiZy1iYWNrZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06dGV4dC1mb3JlZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06Ym9yZGVyLWJvcmRlciBncm91cC1bLnRvYXN0ZXJdOnNoYWRvdy1sZ1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImdyb3VwLVsudG9hc3Rlcl06dGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctcHJpbWFyeSBncm91cC1bLnRvYXN0ZXJdOnRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctbXV0ZWQgZ3JvdXAtWy50b2FzdGVyXTp0ZXh0LW11dGVkLWZvcmVncm91bmRcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgeyBUb2FzdGVyIH1cclxuIl0sIm5hbWVzIjpbInVzZVRoZW1lIiwiVG9hc3RlciIsIlNvbm5lciIsInByb3BzIiwidGhlbWUiLCJjbGFzc05hbWUiLCJ0b2FzdE9wdGlvbnMiLCJjbGFzc05hbWVzIiwidG9hc3QiLCJkZXNjcmlwdGlvbiIsImFjdGlvbkJ1dHRvbiIsImNhbmNlbEJ1dHRvbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/sonner.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/switch.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/switch.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Switch: () => (/* binding */ Switch)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Switch auto */ \n\n\n/**\r\n * Переключатель (тумблер) — аналог Shadcn Switch.\r\n * Используется для тумблера «На линии» в шапке.\r\n */ const Switch = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, checked = false, onCheckedChange, disabled, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n disabled: disabled,\n ref: ref,\n onClick: ()=>onCheckedChange?.(!checked),\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors\", \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\", \"disabled:cursor-not-allowed disabled:opacity-50\", checked ? \"bg-green-500\" : \"bg-input\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform\", checked ? \"translate-x-5\" : \"translate-x-0\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined);\n});\nSwitch.displayName = \"Switch\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zd2l0Y2gudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFOEI7QUFDUztBQU92Qzs7O0NBR0MsR0FDRCxNQUFNRSx1QkFBU0YsNkNBQWdCLENBQzNCLENBQUMsRUFBRUksU0FBUyxFQUFFQyxVQUFVLEtBQUssRUFBRUMsZUFBZSxFQUFFQyxRQUFRLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUNsRSxxQkFDSSw4REFBQ0M7UUFDR0MsTUFBSztRQUNMQyxNQUFLO1FBQ0xDLGdCQUFjUjtRQUNkRSxVQUFVQTtRQUNWRSxLQUFLQTtRQUNMSyxTQUFTLElBQU1SLGtCQUFrQixDQUFDRDtRQUNsQ0QsV0FBV0gscURBQUVBLENBQ1QsNkhBQ0EsNElBQ0EsbURBQ0FJLFVBQVUsaUJBQWlCLFlBQzNCRDtRQUVILEdBQUdJLEtBQUs7a0JBRVQsNEVBQUNPO1lBQ0dYLFdBQVdILHFEQUFFQSxDQUNULHNHQUNBSSxVQUFVLGtCQUFrQjs7Ozs7Ozs7Ozs7QUFLaEQ7QUFFSkgsT0FBT2MsV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxzd2l0Y2gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuaW50ZXJmYWNlIFN3aXRjaFByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuXHJcbiAgICBvbkNoZWNrZWRDaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZFxyXG59XHJcblxyXG4vKipcclxuICog0J/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70YwgKNGC0YPQvNCx0LvQtdGAKSDigJQg0LDQvdCw0LvQvtCzIFNoYWRjbiBTd2l0Y2guXHJcbiAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YLRg9C80LHQu9C10YDQsCDCq9Cd0LAg0LvQuNC90LjQuMK7INCyINGI0LDQv9C60LUuXHJcbiAqL1xyXG5jb25zdCBTd2l0Y2ggPSBSZWFjdC5mb3J3YXJkUmVmPEhUTUxCdXR0b25FbGVtZW50LCBTd2l0Y2hQcm9wcz4oXHJcbiAgICAoeyBjbGFzc05hbWUsIGNoZWNrZWQgPSBmYWxzZSwgb25DaGVja2VkQ2hhbmdlLCBkaXNhYmxlZCwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcclxuICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cclxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cclxuICAgICAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGVja2VkQ2hhbmdlPy4oIWNoZWNrZWQpfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICBcInBlZXIgaW5saW5lLWZsZXggaC02IHctMTEgc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItdHJhbnNwYXJlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIixcclxuICAgICAgICAgICAgICAgICAgICBcImZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LWJhY2tncm91bmRcIixcclxuICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwiYmctZ3JlZW4tNTAwXCIgOiBcImJnLWlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicG9pbnRlci1ldmVudHMtbm9uZSBibG9jayBoLTUgdy01IHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1sZyByaW5nLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm1cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwidHJhbnNsYXRlLXgtNVwiIDogXCJ0cmFuc2xhdGUteC0wXCJcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcblN3aXRjaC5kaXNwbGF5TmFtZSA9IFwiU3dpdGNoXCJcclxuXHJcbmV4cG9ydCB7IFN3aXRjaCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiU3dpdGNoIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImNoZWNrZWQiLCJvbkNoZWNrZWRDaGFuZ2UiLCJkaXNhYmxlZCIsInByb3BzIiwicmVmIiwiYnV0dG9uIiwidHlwZSIsInJvbGUiLCJhcmlhLWNoZWNrZWQiLCJvbkNsaWNrIiwic3BhbiIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/switch.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/entities/session/store.ts": -/*!***************************************!*\ - !*** ./src/entities/session/store.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSessionStore: () => (/* binding */ useSessionStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/shared/api/axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n\n\nconst useSessionStore = (0,zustand__WEBPACK_IMPORTED_MODULE_2__.create)((set, get)=>({\n user: null,\n isAuth: false,\n isLoading: false,\n isInitialized: false,\n checkAuth: async ()=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (!token) {\n set({\n isInitialized: true,\n isAuth: false\n });\n return;\n }\n set({\n isLoading: true\n });\n try {\n await get().getProfile();\n set({\n isAuth: true,\n isInitialized: true\n });\n } catch (error) {\n console.error(\"Auth check failed\", error);\n // Токен недействителен, очищаем состояние\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false,\n isInitialized: true\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n login: async (phone, password)=>{\n set({\n isLoading: true\n });\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/login\", {\n phone,\n password\n });\n const { accessToken, refreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", refreshToken);\n set({\n isAuth: true\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n register: async (data)=>{\n set({\n isLoading: true\n });\n try {\n // Убираем confirmPassword перед отправкой на бэкенд\n const { confirmPassword, ...registerData } = data;\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/register\", registerData);\n } finally{\n set({\n isLoading: false\n });\n }\n },\n logout: ()=>{\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false\n });\n if (false) {}\n },\n getProfile: async ()=>{\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.get(\"/profile\", {\n params: {\n _t: Date.now()\n } // bypass cache\n });\n set({\n user: response.data,\n isAuth: true\n });\n } catch (error) {\n console.error(\"Profile load failed\", error);\n }\n },\n updateProfile: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile\", data);\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePhone: async (newPhone)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-phone\", {\n newPhone\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformer: async ()=>{\n set({\n isLoading: true\n });\n try {\n // Исправлен путь: убрали лишний /api, так как он уже есть в baseURL\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\");\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformerFull: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\", {\n description: data.description,\n competencies: data.competencies,\n location: data.location,\n currentLocation: null,\n isAlwaysReady: data.workSchedule.isAlwaysReady,\n workingDays: data.workSchedule.isAlwaysReady ? null : JSON.stringify(data.workSchedule.schedulePerDay)\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateCompetencies: async (competencies)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/competencies\", {\n Competencies: competencies\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n uploadAvatar: async (file)=>{\n set({\n isLoading: true\n });\n try {\n const formData = new FormData();\n formData.append(\"file\", file);\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/avatar\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePassword: async (oldPassword, newPassword)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-password\", {\n accountId: userId,\n oldPassword,\n newPassword\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateLocation: async (location, currentLocation)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/location\", {\n accountId: userId,\n location,\n currentLocation\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateSchedule: async (isAlwaysReady, schedulePerDay)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n const workingDaysJson = isAlwaysReady ? \"[]\" : JSON.stringify(schedulePerDay || {});\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/schedule\", {\n accountId: userId,\n isAlwaysReady,\n workingDaysJson\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LGdCQUFnQixPQUFPdEIsZUFBZUs7WUFDbEM1QyxJQUFJO2dCQUFFSSxXQUFXO1lBQUs7WUFDdEIsSUFBSTtnQkFDQSxNQUFNb0QsU0FBU3ZELE1BQU1DLElBQUksRUFBRXVEO2dCQUMzQixJQUFJLENBQUNELFFBQVEsTUFBTSxJQUFJRSxNQUFNO2dCQUU3QixNQUFNSSxrQkFBa0J2QixnQkFDbEIsT0FDQUcsS0FBS0MsU0FBUyxDQUFDQyxrQkFBa0IsQ0FBQztnQkFFeEMsTUFBTTlDLGtEQUFHQSxDQUFDaUMsR0FBRyxDQUFDLHFCQUFxQjtvQkFDL0I0QixXQUFXSDtvQkFDWGpCO29CQUNBdUI7Z0JBQ0o7Z0JBQ0EsTUFBTTdELE1BQU1PLFVBQVU7WUFDMUIsU0FBVTtnQkFDTlIsSUFBSTtvQkFBRUksV0FBVztnQkFBTTtZQUMzQjtRQUNKO0lBQ0osSUFBSSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcZW50aXRpZXNcXHNlc3Npb25cXHN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHNldENvb2tpZSwgZGVsZXRlQ29va2llLCBnZXRDb29raWUgfSBmcm9tIFwiY29va2llcy1uZXh0XCI7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvYXhpb3NcIjtcclxuXHJcbmludGVyZmFjZSBVc2VyIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBwaG9uZTogc3RyaW5nO1xyXG4gICAgcm9sZXM6IHN0cmluZ1tdO1xyXG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xyXG4gICAgcGF0cm9ueW1pYz86IHN0cmluZztcclxuICAgIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xyXG4gICAgaW5uPzogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgICBsb2NhdGlvbj86IHN0cmluZztcclxuICAgIGN1cnJlbnRMb2NhdGlvbj86IHN0cmluZztcclxuICAgIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgICBhdmF0YXJVcmw/OiBzdHJpbmc7XHJcbiAgICBjb21wZXRlbmNpZXM6IHN0cmluZ1tdO1xyXG4gICAgd29ya1NjaGVkdWxlPzoge1xyXG4gICAgICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICAgICAgc2NoZWR1bGVQZXJEYXk/OiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7IHN0YXJ0OiBzdHJpbmc7IGVuZDogc3RyaW5nIH0+PjtcclxuICAgIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBXb3JrU2NoZWR1bGVEYXRhIHtcclxuICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICBzY2hlZHVsZVBlckRheTogUmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9Pj47XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZXNzaW9uU3RhdGUge1xyXG4gICAgdXNlcjogVXNlciB8IG51bGw7XHJcbiAgICBpc0F1dGg6IGJvb2xlYW47XHJcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xyXG4gICAgY2hlY2tBdXRoOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgbG9naW46IChwaG9uZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgcmVnaXN0ZXI6IChkYXRhOiBhbnkpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBsb2dvdXQ6ICgpID0+IHZvaWQ7XHJcbiAgICBnZXRQcm9maWxlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlUHJvZmlsZTogKGRhdGE6IHsgZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcsIHBhdHJvbnltaWM/OiBzdHJpbmcsIGNvbXBhbnlOYW1lPzogc3RyaW5nLCBpbm4/OiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBjaGFuZ2VQaG9uZTogKG5ld1Bob25lOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXI6ICgpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiAoZGF0YToge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICAgICAgY29tcGV0ZW5jaWVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb2NhdGlvbjogc3RyaW5nO1xyXG4gICAgICAgIHdvcmtTY2hlZHVsZTogV29ya1NjaGVkdWxlRGF0YTtcclxuICAgIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICB1cGRhdGVDb21wZXRlbmNpZXM6IChjb21wZXRlbmNpZXM6IHN0cmluZ1tdKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBsb2FkQXZhdGFyOiAoZmlsZTogRmlsZSkgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIGNoYW5nZVBhc3N3b3JkOiAob2xkUGFzc3dvcmQ6IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIHVwZGF0ZUxvY2F0aW9uOiAobG9jYXRpb246IHN0cmluZywgY3VycmVudExvY2F0aW9uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlU2NoZWR1bGU6IChpc0Fsd2F5c1JlYWR5OiBib29sZWFuLCBzY2hlZHVsZVBlckRheT86IFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfT4+KSA9PiBQcm9taXNlPHZvaWQ+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdXNlU2Vzc2lvblN0b3JlID0gY3JlYXRlPFNlc3Npb25TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgdXNlcjogbnVsbCxcclxuICAgIGlzQXV0aDogZmFsc2UsXHJcbiAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgaXNJbml0aWFsaXplZDogZmFsc2UsXHJcblxyXG4gICAgY2hlY2tBdXRoOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuXHJcbiAgICAgICAgaWYgKCF0b2tlbikge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0luaXRpYWxpemVkOiB0cnVlLCBpc0F1dGg6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICAgICAgc2V0KHsgaXNBdXRoOiB0cnVlLCBpc0luaXRpYWxpemVkOiB0cnVlIH0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJBdXRoIGNoZWNrIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIC8vINCi0L7QutC10L0g0L3QtdC00LXQudGB0YLQstC40YLQtdC70LXQvSwg0L7Rh9C40YnQsNC10Lwg0YHQvtGB0YLQvtGP0L3QuNC1XHJcbiAgICAgICAgICAgIGRlbGV0ZUNvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IG51bGwsIGlzQXV0aDogZmFsc2UsIGlzSW5pdGlhbGl6ZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGxvZ2luOiBhc3luYyAocGhvbmUsIHBhc3N3b3JkKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9sb2dpblwiLCB7IHBob25lLCBwYXNzd29yZCB9KTtcclxuICAgICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgc2V0Q29va2llKFwiYWNjZXNzVG9rZW5cIiwgYWNjZXNzVG9rZW4pO1xyXG4gICAgICAgICAgICBzZXRDb29raWUoXCJyZWZyZXNoVG9rZW5cIiwgcmVmcmVzaFRva2VuKTtcclxuXHJcbiAgICAgICAgICAgIHNldCh7IGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICByZWdpc3RlcjogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQo9Cx0LjRgNCw0LXQvCBjb25maXJtUGFzc3dvcmQg0L/QtdGA0LXQtCDQvtGC0L/RgNCw0LLQutC+0Lkg0L3QsCDQsdGN0LrQtdC90LRcclxuICAgICAgICAgICAgY29uc3QgeyBjb25maXJtUGFzc3dvcmQsIC4uLnJlZ2lzdGVyRGF0YSB9ID0gZGF0YTtcclxuICAgICAgICAgICAgYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9yZWdpc3RlclwiLCByZWdpc3RlckRhdGEpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBsb2dvdXQ6ICgpID0+IHtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgc2V0KHsgdXNlcjogbnVsbCwgaXNBdXRoOiBmYWxzZSB9KTtcclxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiL2F1dGgvbG9naW5cIjtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFByb2ZpbGU6IGFzeW5jICgpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQoXCIvcHJvZmlsZVwiLCB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHsgX3Q6IERhdGUubm93KCkgfSAvLyBieXBhc3MgY2FjaGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IHJlc3BvbnNlLmRhdGEsIGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiUHJvZmlsZSBsb2FkIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVQcm9maWxlOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucHV0KFwiL3Byb2ZpbGVcIiwgZGF0YSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgY2hhbmdlUGhvbmU6IGFzeW5jIChuZXdQaG9uZSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1waG9uZVwiLCB7IG5ld1Bob25lIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGJlY29tZVBlcmZvcm1lcjogYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQmNGB0L/RgNCw0LLQu9C10L0g0L/Rg9GC0Yw6INGD0LHRgNCw0LvQuCDQu9C40YjQvdC40LkgL2FwaSwg0YLQsNC6INC60LDQuiDQvtC9INGD0LbQtSDQtdGB0YLRjCDQsiBiYXNlVVJMXHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYmVjb21lLXBlcmZvcm1lclwiKTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2JlY29tZS1wZXJmb3JtZXJcIiwge1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRhdGEuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICBjb21wZXRlbmNpZXM6IGRhdGEuY29tcGV0ZW5jaWVzLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGRhdGEubG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgICAgICBpc0Fsd2F5c1JlYWR5OiBkYXRhLndvcmtTY2hlZHVsZS5pc0Fsd2F5c1JlYWR5LFxyXG4gICAgICAgICAgICAgICAgd29ya2luZ0RheXM6IGRhdGEud29ya1NjaGVkdWxlLmlzQWx3YXlzUmVhZHlcclxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KGRhdGEud29ya1NjaGVkdWxlLnNjaGVkdWxlUGVyRGF5KSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgdXBkYXRlQ29tcGV0ZW5jaWVzOiBhc3luYyAoY29tcGV0ZW5jaWVzKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wdXQoXCIvcHJvZmlsZS9jb21wZXRlbmNpZXNcIiwgeyBDb21wZXRlbmNpZXM6IGNvbXBldGVuY2llcyB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGxvYWRBdmF0YXI6IGFzeW5jIChmaWxlKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYXZhdGFyXCIsIGZvcm1EYXRhLCB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBjaGFuZ2VQYXNzd29yZDogYXN5bmMgKG9sZFBhc3N3b3JkLCBuZXdQYXNzd29yZCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1c2VySWQgPSBnZXQoKS51c2VyPy5pZDtcclxuICAgICAgICAgICAgaWYgKCF1c2VySWQpIHRocm93IG5ldyBFcnJvcihcItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L1cIik7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1wYXNzd29yZFwiLCB7XHJcbiAgICAgICAgICAgICAgICBhY2NvdW50SWQ6IHVzZXJJZCxcclxuICAgICAgICAgICAgICAgIG9sZFBhc3N3b3JkLFxyXG4gICAgICAgICAgICAgICAgbmV3UGFzc3dvcmQsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVMb2NhdGlvbjogYXN5bmMgKGxvY2F0aW9uLCBjdXJyZW50TG9jYXRpb24pID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL2xvY2F0aW9uXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb24sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZVNjaGVkdWxlOiBhc3luYyAoaXNBbHdheXNSZWFkeSwgc2NoZWR1bGVQZXJEYXkpID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgd29ya2luZ0RheXNKc29uID0gaXNBbHdheXNSZWFkeVxyXG4gICAgICAgICAgICAgICAgPyBcIltdXCJcclxuICAgICAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkoc2NoZWR1bGVQZXJEYXkgfHwge30pO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL3NjaGVkdWxlXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgaXNBbHdheXNSZWFkeSxcclxuICAgICAgICAgICAgICAgIHdvcmtpbmdEYXlzSnNvbixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbn0pKTtcclxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsInNldENvb2tpZSIsImRlbGV0ZUNvb2tpZSIsImdldENvb2tpZSIsImFwaSIsInVzZVNlc3Npb25TdG9yZSIsInNldCIsImdldCIsInVzZXIiLCJpc0F1dGgiLCJpc0xvYWRpbmciLCJpc0luaXRpYWxpemVkIiwiY2hlY2tBdXRoIiwidG9rZW4iLCJnZXRQcm9maWxlIiwiZXJyb3IiLCJjb25zb2xlIiwibG9naW4iLCJwaG9uZSIsInBhc3N3b3JkIiwicmVzcG9uc2UiLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJyZWZyZXNoVG9rZW4iLCJkYXRhIiwicmVnaXN0ZXIiLCJjb25maXJtUGFzc3dvcmQiLCJyZWdpc3RlckRhdGEiLCJsb2dvdXQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJwYXJhbXMiLCJfdCIsIkRhdGUiLCJub3ciLCJ1cGRhdGVQcm9maWxlIiwicHV0IiwiY2hhbmdlUGhvbmUiLCJuZXdQaG9uZSIsImJlY29tZVBlcmZvcm1lciIsImJlY29tZVBlcmZvcm1lckZ1bGwiLCJkZXNjcmlwdGlvbiIsImNvbXBldGVuY2llcyIsImN1cnJlbnRMb2NhdGlvbiIsImlzQWx3YXlzUmVhZHkiLCJ3b3JrU2NoZWR1bGUiLCJ3b3JraW5nRGF5cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzY2hlZHVsZVBlckRheSIsInVwZGF0ZUNvbXBldGVuY2llcyIsIkNvbXBldGVuY2llcyIsInVwbG9hZEF2YXRhciIsImZpbGUiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiaGVhZGVycyIsImNoYW5nZVBhc3N3b3JkIiwib2xkUGFzc3dvcmQiLCJuZXdQYXNzd29yZCIsInVzZXJJZCIsImlkIiwiRXJyb3IiLCJhY2NvdW50SWQiLCJ1cGRhdGVMb2NhdGlvbiIsInVwZGF0ZVNjaGVkdWxlIiwid29ya2luZ0RheXNKc29uIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/entities/session/store.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/features/geo/useGeoStore.ts": -/*!*****************************************!*\ - !*** ./src/features/geo/useGeoStore.ts ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useGeoStore: () => (/* binding */ useGeoStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/shared/api/geo */ \"(ssr)/./src/shared/api/geo.ts\");\n\n\nconst useGeoStore = (0,zustand__WEBPACK_IMPORTED_MODULE_1__.create)((set, get)=>({\n isOnline: false,\n watchId: null,\n isUpdating: false,\n error: null,\n lastCoords: null,\n goOnline: (performerId)=>{\n if (true) {\n set({\n error: \"Геолокация не поддерживается вашим браузером.\"\n });\n return;\n }\n // Таймер для периодической отправки (каждые 10 секунд)\n let sendInterval = null;\n const watchId = navigator.geolocation.watchPosition(async (position)=>{\n const { latitude, longitude } = position.coords;\n set({\n lastCoords: {\n lat: latitude,\n lon: longitude\n },\n error: null\n });\n // Отправляем при первом получении координат\n try {\n set({\n isUpdating: true\n });\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude,\n longitude,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки статуса:\", err);\n set({\n error: \"Не удалось обновить статус на сервере.\"\n });\n } finally{\n set({\n isUpdating: false\n });\n }\n }, (err)=>{\n console.error(\"[Geo] Ошибка геолокации:\", err);\n let errorMsg = \"Ошибка определения местоположения.\";\n if (err.code === err.PERMISSION_DENIED) {\n errorMsg = \"Доступ к геолокации запрещён. Разрешите в настройках браузера.\";\n }\n set({\n error: errorMsg\n });\n }, {\n enableHighAccuracy: true,\n maximumAge: 10000,\n timeout: 15000\n });\n // Дополнительно: периодическая отправка каждые 10 секунд\n sendInterval = setInterval(async ()=>{\n const state = get();\n if (state.lastCoords && state.isOnline) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: state.lastCoords.lat,\n longitude: state.lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка периодической отправки:\", err);\n }\n }\n }, 10000);\n // Сохраняем watchId и intervalId в замыкании для очистки\n set({\n isOnline: true,\n watchId,\n error: null\n });\n // Храним intervalId в window для очистки при goOffline\n window.__geoInterval = sendInterval;\n },\n goOffline: async (performerId)=>{\n const { watchId, lastCoords } = get();\n // Останавливаем слежение\n if (watchId !== null) {\n navigator.geolocation.clearWatch(watchId);\n }\n // Останавливаем интервал\n if (window.__geoInterval) {\n clearInterval(window.__geoInterval);\n window.__geoInterval = null;\n }\n // Отправляем статус Offline\n if (lastCoords) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: lastCoords.lat,\n longitude: lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Offline\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки Offline:\", err);\n }\n }\n set({\n isOnline: false,\n watchId: null,\n lastCoords: null,\n error: null\n });\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFPckIsMkRBQWNBLENBQUNxQyxPQUFPO29CQUNqQztnQkFDSixFQUFFLE9BQU9kLEtBQUs7b0JBQ1ZDLFFBQVFqQixLQUFLLENBQUMsa0NBQWtDZ0I7Z0JBQ3BEO1lBQ0o7WUFFQXJCLElBQUk7Z0JBQUVFLFVBQVU7Z0JBQU9DLFNBQVM7Z0JBQU1HLFlBQVk7Z0JBQU1ELE9BQU87WUFBSztRQUN4RTtJQUNKLElBQUkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGZlYXR1cmVzXFxnZW9cXHVzZUdlb1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHVwZGF0ZUdlb1N0YXR1cywgUGVyZm9ybWVyU3RhdGUgfSBmcm9tIFwiQC9zaGFyZWQvYXBpL2dlb1wiO1xyXG5cclxuaW50ZXJmYWNlIEdlb1N0YXRlIHtcclxuICAgIC8qKiDQktC60LvRjtGH0ZHQvSDQu9C4INGC0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsgKi9cclxuICAgIGlzT25saW5lOiBib29sZWFuO1xyXG4gICAgLyoqIElEINGC0LXQutGD0YnQtdCz0L4gd2F0Y2hQb3NpdGlvbiAqL1xyXG4gICAgd2F0Y2hJZDogbnVtYmVyIHwgbnVsbDtcclxuICAgIC8qKiDQmNC00ZHRgiDQu9C4INC+0LHQvdC+0LLQu9C10L3QuNC1ICovXHJcbiAgICBpc1VwZGF0aW5nOiBib29sZWFuO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90Y/RjyDQvtGI0LjQsdC60LAgKi9cclxuICAgIGVycm9yOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90LjQtSDQuNC30LLQtdGB0YLQvdGL0LUg0LrQvtC+0YDQtNC40L3QsNGC0YsgKi9cclxuICAgIGxhc3RDb29yZHM6IHsgbGF0OiBudW1iZXI7IGxvbjogbnVtYmVyIH0gfCBudWxsO1xyXG5cclxuICAgIC8qKiDQktC60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L7RgtGB0LvQtdC20LjQstCw0L3QuNC1INCz0LXQvtC/0L7Qt9C40YbQuNC4ICovXHJcbiAgICBnb09ubGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgICAvKiog0JLRi9C60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQvtGC0L/RgNCw0LLQuNGC0YwgT2ZmbGluZSDQuCDQvtGB0YLQsNC90L7QstC40YLRjCDQvtGC0YHQu9C10LbQuNCy0LDQvdC40LUgKi9cclxuICAgIGdvT2ZmbGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB1c2VHZW9TdG9yZSA9IGNyZWF0ZTxHZW9TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgaXNPbmxpbmU6IGZhbHNlLFxyXG4gICAgd2F0Y2hJZDogbnVsbCxcclxuICAgIGlzVXBkYXRpbmc6IGZhbHNlLFxyXG4gICAgZXJyb3I6IG51bGwsXHJcbiAgICBsYXN0Q29vcmRzOiBudWxsLFxyXG5cclxuICAgIGdvT25saW5lOiAocGVyZm9ybWVySWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiIHx8ICFuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcclxuICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0JPQtdC+0LvQvtC60LDRhtC40Y8g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINCy0LDRiNC40Lwg0LHRgNCw0YPQt9C10YDQvtC8LlwiIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQotCw0LnQvNC10YAg0LTQu9GPINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60LggKNC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LQpXHJcbiAgICAgICAgbGV0IHNlbmRJbnRlcnZhbDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGNvbnN0IHdhdGNoSWQgPSBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihcclxuICAgICAgICAgICAgYXN5bmMgKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IGxhdGl0dWRlLCBsb25naXR1ZGUgfSA9IHBvc2l0aW9uLmNvb3JkcztcclxuICAgICAgICAgICAgICAgIHNldCh7IGxhc3RDb29yZHM6IHsgbGF0OiBsYXRpdHVkZSwgbG9uOiBsb25naXR1ZGUgfSwgZXJyb3I6IG51bGwgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8g0J7RgtC/0YDQsNCy0LvRj9C10Lwg0L/RgNC4INC/0LXRgNCy0L7QvCDQv9C+0LvRg9GH0LXQvdC40Lgg0LrQvtC+0YDQtNC40L3QsNGCXHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldCh7IGlzVXBkYXRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlR2VvU3RhdHVzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWVySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC+0YLQv9GA0LDQstC60Lgg0YHRgtCw0YLRg9GB0LA6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINGB0YLQsNGC0YPRgSDQvdCwINGB0LXRgNCy0LXRgNC1LlwiIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXQoeyBpc1VwZGF0aW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQs9C10L7Qu9C+0LrQsNGG0LjQuDpcIiwgZXJyKTtcclxuICAgICAgICAgICAgICAgIGxldCBlcnJvck1zZyA9IFwi0J7RiNC40LHQutCwINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjRjy5cIjtcclxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gZXJyLlBFUk1JU1NJT05fREVOSUVEKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2cgPSBcItCU0L7RgdGC0YPQvyDQuiDQs9C10L7Qu9C+0LrQsNGG0LjQuCDQt9Cw0L/RgNC10YnRkdC9LiDQoNCw0LfRgNC10YjQuNGC0LUg0LIg0L3QsNGB0YLRgNC+0LnQutCw0YUg0LHRgNCw0YPQt9C10YDQsC5cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNldCh7IGVycm9yOiBlcnJvck1zZyB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbWF4aW11bUFnZTogMTAwMDAsICAgICAvLyDQmtGN0Ygg0L/QvtC30LjRhtC40LggMTAg0YHQtdC6XHJcbiAgICAgICAgICAgICAgICB0aW1lb3V0OiAxNTAwMCwgICAgICAgICAvLyDQotCw0LnQvNCw0YPRgiAxNSDRgdC10LpcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+OiDQv9C10YDQuNC+0LTQuNGH0LXRgdC60LDRjyDQvtGC0L/RgNCw0LLQutCwINC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LRcclxuICAgICAgICBzZW5kSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gZ2V0KCk7XHJcbiAgICAgICAgICAgIGlmIChzdGF0ZS5sYXN0Q29vcmRzICYmIHN0YXRlLmlzT25saW5lKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUdlb1N0YXR1cyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60Lg6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDAwMCk7XHJcblxyXG4gICAgICAgIC8vINCh0L7RhdGA0LDQvdGP0LXQvCB3YXRjaElkINC4IGludGVydmFsSWQg0LIg0LfQsNC80YvQutCw0L3QuNC4INC00LvRjyDQvtGH0LjRgdGC0LrQuFxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiB0cnVlLCB3YXRjaElkLCBlcnJvcjogbnVsbCB9KTtcclxuXHJcbiAgICAgICAgLy8g0KXRgNCw0L3QuNC8IGludGVydmFsSWQg0LIgd2luZG93INC00LvRjyDQvtGH0LjRgdGC0LrQuCDQv9GA0LggZ29PZmZsaW5lXHJcbiAgICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwgPSBzZW5kSW50ZXJ2YWw7XHJcbiAgICB9LFxyXG5cclxuICAgIGdvT2ZmbGluZTogYXN5bmMgKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCB7IHdhdGNoSWQsIGxhc3RDb29yZHMgfSA9IGdldCgpO1xyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDRgdC70LXQttC10L3QuNC1XHJcbiAgICAgICAgaWYgKHdhdGNoSWQgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2god2F0Y2hJZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDQuNC90YLQtdGA0LLQsNC7XHJcbiAgICAgICAgaWYgKCh3aW5kb3cgYXMgYW55KS5fX2dlb0ludGVydmFsKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwpO1xyXG4gICAgICAgICAgICAod2luZG93IGFzIGFueSkuX19nZW9JbnRlcnZhbCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGC0L/RgNCw0LLQu9GP0LXQvCDRgdGC0LDRgtGD0YEgT2ZmbGluZVxyXG4gICAgICAgIGlmIChsYXN0Q29vcmRzKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVHZW9TdGF0dXMoe1xyXG4gICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBsYXN0Q29vcmRzLmxhdCxcclxuICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IGxhc3RDb29yZHMubG9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5PZmZsaW5lLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQvtGC0L/RgNCw0LLQutC4IE9mZmxpbmU6XCIsIGVycik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiBmYWxzZSwgd2F0Y2hJZDogbnVsbCwgbGFzdENvb3JkczogbnVsbCwgZXJyb3I6IG51bGwgfSk7XHJcbiAgICB9LFxyXG59KSk7XHJcbiJdLCJuYW1lcyI6WyJjcmVhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJQZXJmb3JtZXJTdGF0ZSIsInVzZUdlb1N0b3JlIiwic2V0IiwiZ2V0IiwiaXNPbmxpbmUiLCJ3YXRjaElkIiwiaXNVcGRhdGluZyIsImVycm9yIiwibGFzdENvb3JkcyIsImdvT25saW5lIiwicGVyZm9ybWVySWQiLCJuYXZpZ2F0b3IiLCJnZW9sb2NhdGlvbiIsInNlbmRJbnRlcnZhbCIsIndhdGNoUG9zaXRpb24iLCJwb3NpdGlvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY29vcmRzIiwibGF0IiwibG9uIiwic3RhdGUiLCJBdmFpbGFibGUiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3JNc2ciLCJjb2RlIiwiUEVSTUlTU0lPTl9ERU5JRUQiLCJlbmFibGVIaWdoQWNjdXJhY3kiLCJtYXhpbXVtQWdlIiwidGltZW91dCIsInNldEludGVydmFsIiwid2luZG93IiwiX19nZW9JbnRlcnZhbCIsImdvT2ZmbGluZSIsImNsZWFyV2F0Y2giLCJjbGVhckludGVydmFsIiwiT2ZmbGluZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/features/geo/useGeoStore.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/axios.ts": -/*!*********************************!*\ - !*** ./src/shared/api/axios.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ api: () => (/* binding */ api)\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ \"(ssr)/./node_modules/axios/lib/axios.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst api = axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create({\n baseURL: \"http://127.0.0.1:5000/api\" || 0,\n headers: {\n \"Content-Type\": \"application/json\"\n }\n});\n// Interceptor for adding Auth token\napi.interceptors.request.use((config)=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (token && config.headers) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n console.log(`🚀 Sending request to: ${config.baseURL}${config.url}`);\n return config;\n});\nlet isRefreshing = false;\nlet failedQueue = [];\nconst processQueue = (error, token = null)=>{\n failedQueue.forEach((prom)=>{\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n// Response interceptor for token refresh\napi.interceptors.response.use((response)=>response, async (error)=>{\n const originalRequest = error.config;\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (isRefreshing) {\n return new Promise((resolve, reject)=>{\n failedQueue.push({\n resolve,\n reject\n });\n }).then((token)=>{\n originalRequest.headers.Authorization = `Bearer ${token}`;\n return api(originalRequest);\n }).catch((err)=>Promise.reject(err));\n }\n originalRequest._retry = true;\n isRefreshing = true;\n const refreshToken = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"refreshToken\");\n try {\n const response = await axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post(`${\"http://127.0.0.1:5000/api\" || 0}/auth/refresh`, {\n refreshToken\n });\n const { accessToken, refreshToken: newRefreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", newRefreshToken);\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${accessToken}`;\n processQueue(null, accessToken);\n return api(originalRequest);\n } catch (refreshError) {\n processQueue(refreshError, null);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n if (false) {}\n return Promise.reject(refreshError);\n } finally{\n isRefreshing = false;\n }\n }\n return Promise.reject(error);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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XHNoYXJlZFxcYXBpXFxheGlvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHsgQXhpb3NFcnJvciB9IGZyb20gXCJheGlvc1wiO1xyXG5pbXBvcnQgeyBnZXRDb29raWUsIHNldENvb2tpZSwgZGVsZXRlQ29va2llIH0gZnJvbSBcImNvb2tpZXMtbmV4dFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGFwaSA9IGF4aW9zLmNyZWF0ZSh7XHJcbiAgICBiYXNlVVJMOiBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfVVJMIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo1MDAwL2FwaVwiLFxyXG4gICAgaGVhZGVyczoge1xyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgfSxcclxufSk7XHJcblxyXG4vLyBJbnRlcmNlcHRvciBmb3IgYWRkaW5nIEF1dGggdG9rZW5cclxuYXBpLmludGVyY2VwdG9ycy5yZXF1ZXN0LnVzZSgoY29uZmlnKSA9PiB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGdldENvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgaWYgKHRva2VuICYmIGNvbmZpZy5oZWFkZXJzKSB7XHJcbiAgICAgICAgY29uZmlnLmhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHt0b2tlbn1gO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coYPCfmoAgU2VuZGluZyByZXF1ZXN0IHRvOiAke2NvbmZpZy5iYXNlVVJMfSR7Y29uZmlnLnVybH1gKTtcclxuICAgIHJldHVybiBjb25maWc7XHJcbn0pO1xyXG5cclxubGV0IGlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG5sZXQgZmFpbGVkUXVldWU6IGFueVtdID0gW107XHJcblxyXG5jb25zdCBwcm9jZXNzUXVldWUgPSAoZXJyb3I6IGFueSwgdG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICBmYWlsZWRRdWV1ZS5mb3JFYWNoKChwcm9tKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHByb20ucmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9tLnJlc29sdmUodG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZmFpbGVkUXVldWUgPSBbXTtcclxufTtcclxuXHJcbi8vIFJlc3BvbnNlIGludGVyY2VwdG9yIGZvciB0b2tlbiByZWZyZXNoXHJcbmFwaS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKFxyXG4gICAgKHJlc3BvbnNlKSA9PiByZXNwb25zZSxcclxuICAgIGFzeW5jIChlcnJvcjogQXhpb3NFcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUmVxdWVzdDogYW55ID0gZXJyb3IuY29uZmlnO1xyXG5cclxuICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAxICYmICFvcmlnaW5hbFJlcXVlc3QuX3JldHJ5KSB7XHJcbiAgICAgICAgICAgIGlmIChpc1JlZnJlc2hpbmcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkUXVldWUucHVzaCh7IHJlc29sdmUsIHJlamVjdCB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHRva2VuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsUmVxdWVzdC5oZWFkZXJzLkF1dGhvcml6YXRpb24gPSBgQmVhcmVyICR7dG9rZW59YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IFByb21pc2UucmVqZWN0KGVycikpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBvcmlnaW5hbFJlcXVlc3QuX3JldHJ5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IGdldENvb2tpZShcInJlZnJlc2hUb2tlblwiKTtcclxuXHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7cHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX1VSTCB8fCBcImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9hcGlcIn0vYXV0aC9yZWZyZXNoYCxcclxuICAgICAgICAgICAgICAgICAgICB7IHJlZnJlc2hUb2tlbiB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbjogbmV3UmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcImFjY2Vzc1Rva2VuXCIsIGFjY2Vzc1Rva2VuKTtcclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcInJlZnJlc2hUb2tlblwiLCBuZXdSZWZyZXNoVG9rZW4pO1xyXG5cclxuICAgICAgICAgICAgICAgIGFwaS5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vbltcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7YWNjZXNzVG9rZW59YDtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShudWxsLCBhY2Nlc3NUb2tlbik7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChyZWZyZXNoRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShyZWZyZXNoRXJyb3IsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlQ29va2llKFwiYWNjZXNzVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gXCIvYXV0aC9sb2dpblwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlZnJlc2hFcnJvcik7XHJcbiAgICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgICAgICBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcclxuICAgIH1cclxuKTtcclxuIl0sIm5hbWVzIjpbImF4aW9zIiwiZ2V0Q29va2llIiwic2V0Q29va2llIiwiZGVsZXRlQ29va2llIiwiYXBpIiwiY3JlYXRlIiwiYmFzZVVSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfVVJMIiwiaGVhZGVycyIsImludGVyY2VwdG9ycyIsInJlcXVlc3QiLCJ1c2UiLCJjb25maWciLCJ0b2tlbiIsIkF1dGhvcml6YXRpb24iLCJjb25zb2xlIiwibG9nIiwidXJsIiwiaXNSZWZyZXNoaW5nIiwiZmFpbGVkUXVldWUiLCJwcm9jZXNzUXVldWUiLCJlcnJvciIsImZvckVhY2giLCJwcm9tIiwicmVqZWN0IiwicmVzb2x2ZSIsInJlc3BvbnNlIiwib3JpZ2luYWxSZXF1ZXN0Iiwic3RhdHVzIiwiX3JldHJ5IiwiUHJvbWlzZSIsInB1c2giLCJ0aGVuIiwiY2F0Y2giLCJlcnIiLCJyZWZyZXNoVG9rZW4iLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJuZXdSZWZyZXNoVG9rZW4iLCJkYXRhIiwiZGVmYXVsdHMiLCJjb21tb24iLCJyZWZyZXNoRXJyb3IiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/axios.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/geo.ts": -/*!*******************************!*\ - !*** ./src/shared/api/geo.ts ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PerformerState: () => (/* binding */ PerformerState),\n/* harmony export */ searchNearby: () => (/* binding */ searchNearby),\n/* harmony export */ updateGeoStatus: () => (/* binding */ updateGeoStatus)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n// --- Типы ---\n/** Статус исполнителя на карте */ var PerformerState = /*#__PURE__*/ function(PerformerState) {\n PerformerState[PerformerState[\"Offline\"] = 0] = \"Offline\";\n PerformerState[PerformerState[\"Available\"] = 1] = \"Available\";\n PerformerState[PerformerState[\"OnJob\"] = 2] = \"OnJob\";\n return PerformerState;\n}({});\n// --- API-вызовы ---\n/**\r\n * PATCH /api/geo/status — Обновить геопозицию и статус исполнителя.\r\n * Вызывается каждые 10-15 секунд при активном тумблере «На линии».\r\n */ const updateGeoStatus = async (payload)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.patch(\"/geo/status\", payload);\n};\n/**\r\n * GET /api/geo/nearby — Поиск доступных исполнителей в радиусе.\r\n * @param lat - Широта центра\r\n * @param lon - Долгота центра\r\n * @param radius - Радиус в метрах\r\n */ const searchNearby = async (lat, lon, radius)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/geo/nearby\", {\n params: {\n lat,\n lon,\n radius\n }\n });\n return response.data;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9nZW8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QjtBQUU5QixlQUFlO0FBRWYsZ0NBQWdDLEdBQ3pCLDRDQUFLQzs7OztXQUFBQTtNQUlYO0FBaUJELHFCQUFxQjtBQUVyQjs7O0NBR0MsR0FDTSxNQUFNQyxrQkFBa0IsT0FBT0M7SUFDbEMsTUFBTUgsdUNBQUdBLENBQUNJLEtBQUssQ0FBQyxlQUFlRDtBQUNuQyxFQUFFO0FBRUY7Ozs7O0NBS0MsR0FDTSxNQUFNRSxlQUFlLE9BQ3hCQyxLQUNBQyxLQUNBQztJQUVBLE1BQU1DLFdBQVcsTUFBTVQsdUNBQUdBLENBQUNVLEdBQUcsQ0FBb0IsZUFBZTtRQUM3REMsUUFBUTtZQUFFTDtZQUFLQztZQUFLQztRQUFPO0lBQy9CO0lBQ0EsT0FBT0MsU0FBU0csSUFBSTtBQUN4QixFQUFFIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGFwaVxcZ2VvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCI7XHJcblxyXG4vLyAtLS0g0KLQuNC/0YsgLS0tXHJcblxyXG4vKiog0KHRgtCw0YLRg9GBINC40YHQv9C+0LvQvdC40YLQtdC70Y8g0L3QsCDQutCw0YDRgtC1ICovXHJcbmV4cG9ydCBlbnVtIFBlcmZvcm1lclN0YXRlIHtcclxuICAgIE9mZmxpbmUgPSAwLFxyXG4gICAgQXZhaWxhYmxlID0gMSxcclxuICAgIE9uSm9iID0gMixcclxufVxyXG5cclxuLyoqINCX0LDQv9GA0L7RgSDQvdCwINC+0LHQvdC+0LLQu9C10L3QuNC1INGB0YLQsNGC0YPRgdCwICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlU3RhdHVzUGF5bG9hZCB7XHJcbiAgICBwZXJmb3JtZXJJZDogc3RyaW5nO1xyXG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcclxuICAgIGxvbmdpdHVkZTogbnVtYmVyO1xyXG4gICAgc3RhdGU6IFBlcmZvcm1lclN0YXRlO1xyXG59XHJcblxyXG4vKiog0JHQu9C40LbQsNC50YjQuNC5INC40YHQv9C+0LvQvdC40YLQtdC70YwgKNC+0YLQstC10YIg0L7RgiBBUEkpICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmVhcmJ5UGVyZm9ybWVyIHtcclxuICAgIHBlcmZvcm1lcklkOiBzdHJpbmc7XHJcbiAgICBsYXRpdHVkZTogbnVtYmVyO1xyXG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIC0tLSBBUEkt0LLRi9C30L7QstGLIC0tLVxyXG5cclxuLyoqXHJcbiAqIFBBVENIIC9hcGkvZ2VvL3N0YXR1cyDigJQg0J7QsdC90L7QstC40YLRjCDQs9C10L7Qv9C+0LfQuNGG0LjRjiDQuCDRgdGC0LDRgtGD0YEg0LjRgdC/0L7Qu9C90LjRgtC10LvRjy5cclxuICog0JLRi9C30YvQstCw0LXRgtGB0Y8g0LrQsNC20LTRi9C1IDEwLTE1INGB0LXQutGD0L3QtCDQv9GA0Lgg0LDQutGC0LjQstC90L7QvCDRgtGD0LzQsdC70LXRgNC1IMKr0J3QsCDQu9C40L3QuNC4wrsuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdXBkYXRlR2VvU3RhdHVzID0gYXN5bmMgKHBheWxvYWQ6IFVwZGF0ZVN0YXR1c1BheWxvYWQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgIGF3YWl0IGFwaS5wYXRjaChcIi9nZW8vc3RhdHVzXCIsIHBheWxvYWQpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEdFVCAvYXBpL2dlby9uZWFyYnkg4oCUINCf0L7QuNGB0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC40YHQv9C+0LvQvdC40YLQtdC70LXQuSDQsiDRgNCw0LTQuNGD0YHQtS5cclxuICogQHBhcmFtIGxhdCAtINCo0LjRgNC+0YLQsCDRhtC10L3RgtGA0LBcclxuICogQHBhcmFtIGxvbiAtINCU0L7Qu9Cz0L7RgtCwINGG0LXQvdGC0YDQsFxyXG4gKiBAcGFyYW0gcmFkaXVzIC0g0KDQsNC00LjRg9GBINCyINC80LXRgtGA0LDRhVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNlYXJjaE5lYXJieSA9IGFzeW5jIChcclxuICAgIGxhdDogbnVtYmVyLFxyXG4gICAgbG9uOiBudW1iZXIsXHJcbiAgICByYWRpdXM6IG51bWJlclxyXG4pOiBQcm9taXNlPE5lYXJieVBlcmZvcm1lcltdPiA9PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQ8TmVhcmJ5UGVyZm9ybWVyW10+KFwiL2dlby9uZWFyYnlcIiwge1xyXG4gICAgICAgIHBhcmFtczogeyBsYXQsIGxvbiwgcmFkaXVzIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xyXG59O1xyXG4iXSwibmFtZXMiOlsiYXBpIiwiUGVyZm9ybWVyU3RhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJwYXlsb2FkIiwicGF0Y2giLCJzZWFyY2hOZWFyYnkiLCJsYXQiLCJsb24iLCJyYWRpdXMiLCJyZXNwb25zZSIsImdldCIsInBhcmFtcyIsImRhdGEiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/geo.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/lib/utils.ts": -/*!*********************************!*\ - !*** ./src/shared/lib/utils.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn),\n/* harmony export */ formatPhoneNumber: () => (/* binding */ formatPhoneNumber)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\nfunction formatPhoneNumber(phone) {\n if (!phone) return \"—\";\n // Remove all non-digits\n const cleaned = phone.replace(/\\D/g, \"\");\n // Check if it's a Russian number (+7 or 8)\n if (cleaned.length === 11) {\n const country = cleaned[0] === \"8\" ? \"8\" : \"+7\";\n return `${country} (${cleaned.slice(1, 4)}) ${cleaned.slice(4, 7)}-${cleaned.slice(7, 9)}-${cleaned.slice(9, 11)}`;\n }\n return phone;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRDO0FBQ0o7QUFFakMsU0FBU0UsR0FBRyxHQUFHQyxNQUFvQjtJQUN0QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3hCO0FBRU8sU0FBU0Msa0JBQWtCQyxLQUF5QjtJQUN2RCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUVuQix3QkFBd0I7SUFDeEIsTUFBTUMsVUFBVUQsTUFBTUUsT0FBTyxDQUFDLE9BQU87SUFFckMsMkNBQTJDO0lBQzNDLElBQUlELFFBQVFFLE1BQU0sS0FBSyxJQUFJO1FBQ3ZCLE1BQU1DLFVBQVVILE9BQU8sQ0FBQyxFQUFFLEtBQUssTUFBTSxNQUFNO1FBQzNDLE9BQU8sR0FBR0csUUFBUSxFQUFFLEVBQUVILFFBQVFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFSixRQUFRSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRUosUUFBUUksS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUVKLFFBQVFJLEtBQUssQ0FBQyxHQUFHLEtBQUs7SUFDdEg7SUFFQSxPQUFPTDtBQUNYIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGxpYlxcdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSBcImNsc3hcIlxyXG5pbXBvcnQgeyB0d01lcmdlIH0gZnJvbSBcInRhaWx3aW5kLW1lcmdlXCJcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjbiguLi5pbnB1dHM6IENsYXNzVmFsdWVbXSkge1xyXG4gICAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UGhvbmVOdW1iZXIocGhvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gXCLigJRcIjtcclxuXHJcbiAgICAvLyBSZW1vdmUgYWxsIG5vbi1kaWdpdHNcclxuICAgIGNvbnN0IGNsZWFuZWQgPSBwaG9uZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgaXQncyBhIFJ1c3NpYW4gbnVtYmVyICgrNyBvciA4KVxyXG4gICAgaWYgKGNsZWFuZWQubGVuZ3RoID09PSAxMSkge1xyXG4gICAgICAgIGNvbnN0IGNvdW50cnkgPSBjbGVhbmVkWzBdID09PSBcIjhcIiA/IFwiOFwiIDogXCIrN1wiO1xyXG4gICAgICAgIHJldHVybiBgJHtjb3VudHJ5fSAoJHtjbGVhbmVkLnNsaWNlKDEsIDQpfSkgJHtjbGVhbmVkLnNsaWNlKDQsIDcpfS0ke2NsZWFuZWQuc2xpY2UoNywgOSl9LSR7Y2xlYW5lZC5zbGljZSg5LCAxMSl9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGhvbmU7XHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiLCJmb3JtYXRQaG9uZU51bWJlciIsInBob25lIiwiY2xlYW5lZCIsInJlcGxhY2UiLCJsZW5ndGgiLCJjb3VudHJ5Iiwic2xpY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: () => (/* binding */ Header)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/theme/mode-toggle */ \"(ssr)/./src/components/theme/mode-toggle.tsx\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_switch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/switch */ \"(ssr)/./src/components/ui/switch.tsx\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/search.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/briefcase.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/log-out.js\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/features/geo/useGeoStore */ \"(ssr)/./src/features/geo/useGeoStore.ts\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \n\n\n\n\n\n\n\n\nfunction Header() {\n const { isAuth, user, logout } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_6__.useSessionStore)();\n const { isOnline, isUpdating, error: geoError, goOnline, goOffline } = (0,_features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__.useGeoStore)();\n // Проверяем, является ли пользователь исполнителем или компанией\n const isMasterOrCompany = user?.roles?.includes(\"Candidate\") || user?.roles?.includes(\"Company\") || user?.roles?.includes(\"Master\");\n /** Обработчик переключения тумблера «На линии» */ const handleToggleOnline = (checked)=>{\n if (!user?.id) return;\n if (checked) {\n goOnline(user.id);\n } else {\n goOffline(user.id);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container mx-auto flex h-16 items-center justify-between px-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n className: \"flex items-center space-x-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl font-black tracking-tight text-blue-600 dark:text-blue-500\",\n children: \"Nashel\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 42,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 41,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"hidden md:flex gap-6 items-center text-sm font-medium transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/search\",\n className: \"flex items-center gap-2 hover:text-blue-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 51,\n columnNumber: 29\n }, this),\n \"Поиск\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 47,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"hover:text-blue-600\",\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 54,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 46,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 40,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n isAuth && isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden sm:flex items-center gap-2 mr-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: `h-4 w-4 transition-colors ${isOnline ? \"text-green-500\" : \"text-muted-foreground\"}`\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 67,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_switch__WEBPACK_IMPORTED_MODULE_4__.Switch, {\n id: \"geo-online-toggle\",\n checked: isOnline,\n onCheckedChange: handleToggleOnline,\n disabled: isUpdating\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 68,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"geo-online-toggle\",\n className: `text-xs font-medium cursor-pointer select-none transition-colors ${isOnline ? \"text-green-600 dark:text-green-400\" : \"text-muted-foreground\"}`,\n children: isOnline ? \"Готов к заказу\" : \"Офлайн\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 74,\n columnNumber: 29\n }, this),\n geoError && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-red-500 max-w-[120px] truncate\",\n title: geoError,\n children: geoError\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 81,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 66,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__.ModeToggle, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, this),\n isAuth ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n className: \"hidden sm:flex items-center gap-2 focus-visible:ring-0 focus-visible:ring-offset-0 focus:outline-none focus:ring-0 outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 93,\n columnNumber: 37\n }, this),\n user?.roles?.includes(\"Company\") && user?.companyName ? user.companyName : user?.firstName && user?.lastName ? `${user.firstName} ${user.lastName}` : \"Профиль\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 92,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 91,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuContent, {\n align: \"end\",\n className: \"w-56\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuLabel, {\n children: \"Мой аккаунт\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 100,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 101,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/profile\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 104,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Профиль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 105,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 103,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 102,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 110,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 111,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 109,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 108,\n columnNumber: 33\n }, this),\n isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/offers\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 117,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 118,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 116,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 115,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 122,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n className: \"text-destructive focus:text-destructive cursor-pointer\",\n onClick: ()=>logout(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 124,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Выйти из аккаунта\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 125,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 123,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 99,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 90,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n asChild: true,\n className: \"hidden sm:flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/auth/login\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 132,\n columnNumber: 33\n }, this),\n \"Войти\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 131,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 130,\n columnNumber: 25\n }, this),\n isMasterOrCompany ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n children: \"Подобрать заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 139,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 138,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/become-performer\",\n children: \"Стать исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 145,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 144,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 63,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 39,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FDaEUsNEVBQUM1QyxrREFBSUE7Z0NBQUNvQyxNQUFLOzBDQUE4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNyRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcd2lkZ2V0c1xcSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiXHJcbmltcG9ydCB7IE1vZGVUb2dnbGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL21vZGUtdG9nZ2xlXCJcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxyXG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3N3aXRjaFwiXHJcbmltcG9ydCB7IFNlYXJjaCwgVXNlciwgTG9nT3V0LCBCcmllZmNhc2UsIE1hcFBpbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5pbXBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51Q29udGVudCxcclxuICAgIERyb3Bkb3duTWVudUl0ZW0sXHJcbiAgICBEcm9wZG93bk1lbnVMYWJlbCxcclxuICAgIERyb3Bkb3duTWVudVNlcGFyYXRvcixcclxuICAgIERyb3Bkb3duTWVudVRyaWdnZXIsXHJcbn0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51XCJcclxuXHJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxyXG5pbXBvcnQgeyB1c2VHZW9TdG9yZSB9IGZyb20gXCJAL2ZlYXR1cmVzL2dlby91c2VHZW9TdG9yZVwiXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSGVhZGVyKCkge1xyXG4gICAgY29uc3QgeyBpc0F1dGgsIHVzZXIsIGxvZ291dCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcclxuICAgIGNvbnN0IHsgaXNPbmxpbmUsIGlzVXBkYXRpbmcsIGVycm9yOiBnZW9FcnJvciwgZ29PbmxpbmUsIGdvT2ZmbGluZSB9ID0gdXNlR2VvU3RvcmUoKVxyXG5cclxuICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQuNGB0L/QvtC70L3QuNGC0LXQu9C10Lwg0LjQu9C4INC60L7QvNC/0LDQvdC40LXQuVxyXG4gICAgY29uc3QgaXNNYXN0ZXJPckNvbXBhbnkgPSB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDYW5kaWRhdGVcIikgfHwgdXNlcj8ucm9sZXM/LmluY2x1ZGVzKFwiQ29tcGFueVwiKSB8fCB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJNYXN0ZXJcIilcclxuXHJcbiAgICAvKiog0J7QsdGA0LDQsdC+0YLRh9C40Log0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINGC0YPQvNCx0LvQtdGA0LAgwqvQndCwINC70LjQvdC40LjCuyAqL1xyXG4gICAgY29uc3QgaGFuZGxlVG9nZ2xlT25saW5lID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoIXVzZXI/LmlkKSByZXR1cm5cclxuICAgICAgICBpZiAoY2hlY2tlZCkge1xyXG4gICAgICAgICAgICBnb09ubGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGdvT2ZmbGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwic3RpY2t5IHRvcC0wIHotNTAgdy1mdWxsIGJvcmRlci1iIGJnLWJhY2tncm91bmQvOTUgYmFja2Ryb3AtYmx1ciBzdXBwb3J0cy1bYmFja2Ryb3AtZmlsdGVyXTpiZy1iYWNrZ3JvdW5kLzYwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG14LWF1dG8gZmxleCBoLTE2IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYmxhY2sgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTYwMCBkYXJrOnRleHQtYmx1ZS01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hc2hlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuYXYgY2xhc3NOYW1lPVwiaGlkZGVuIG1kOmZsZXggZ2FwLTYgaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1jb2xvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvc2VhcmNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGhvdmVyOnRleHQtYmx1ZS02MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC40YHQulxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL29yZGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJob3Zlcjp0ZXh0LWJsdWUtNjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0JzQvtC4INC30LDQutCw0LfRi1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCi0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsg4oCUINCy0LjQtNC10L0g0YLQvtC70YzQutC+INC40YHQv9C+0LvQvdC40YLQtdC70Y/QvC/QutC+0LzQv9Cw0L3QuNGP0LwgKi99XHJcbiAgICAgICAgICAgICAgICAgICAge2lzQXV0aCAmJiBpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIHNtOmZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1yLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBQaW4gY2xhc3NOYW1lPXtgaC00IHctNCB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTUwMFwiIDogXCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIn1gfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZ2VvLW9ubGluZS10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2lzT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17aGFuZGxlVG9nZ2xlT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1VwZGF0aW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9XCJnZW8tb25saW5lLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdGV4dC14cyBmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTYwMCBkYXJrOnRleHQtZ3JlZW4tNDAwXCIgOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwifWB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzT25saW5lID8gXCLQk9C+0YLQvtCyINC6INC30LDQutCw0LfRg1wiIDogXCLQntGE0LvQsNC50L1cIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3IgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1yZWQtNTAwIG1heC13LVsxMjBweF0gdHJ1bmNhdGVcIiB0aXRsZT17Z2VvRXJyb3J9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3J9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPE1vZGVUb2dnbGUgLz5cclxuICAgICAgICAgICAgICAgICAgICB7aXNBdXRoID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVRyaWdnZXIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzTmFtZT1cImhpZGRlbiBzbTpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBmb2N1cy12aXNpYmxlOnJpbmctMCBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMCBvdXRsaW5lLW5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDb21wYW55XCIpICYmIHVzZXI/LmNvbXBhbnlOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHVzZXIuY29tcGFueU5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKHVzZXI/LmZpcnN0TmFtZSAmJiB1c2VyPy5sYXN0TmFtZSA/IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YCA6IFwi0J/RgNC+0YTQuNC70YxcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51Q29udGVudCBhbGlnbj1cImVuZFwiIGNsYXNzTmFtZT1cInctNTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51TGFiZWw+0JzQvtC5INCw0LrQutCw0YPQvdGCPC9Ecm9wZG93bk1lbnVMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51U2VwYXJhdG9yIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9kYXNoYm9hcmQvcHJvZmlsZVwiIGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyIHctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwibXItMiBoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPtCf0YDQvtGE0LjQu9GMPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvb3JkZXJzXCIgY2xhc3NOYW1lPVwiY3Vyc29yLXBvaW50ZXIgdy1mdWxsIGZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QnNC+0Lgg0LfQsNC60LDQt9GLPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2Rhc2hib2FyZC9vZmZlcnNcIiBjbGFzc05hbWU9XCJjdXJzb3ItcG9pbnRlciB3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnJpZWZjYXNlIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0JzQvtC4INGD0YHQu9GD0LPQuDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVNlcGFyYXRvciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGNsYXNzTmFtZT1cInRleHQtZGVzdHJ1Y3RpdmUgZm9jdXM6dGV4dC1kZXN0cnVjdGl2ZSBjdXJzb3ItcG9pbnRlclwiIG9uQ2xpY2s9eygpID0+IGxvZ291dCgpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExvZ091dCBjbGFzc05hbWU9XCJtci0yIGgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QktGL0LnRgtC4INC40Lcg0LDQutC60LDRg9C90YLQsDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImdob3N0XCIgYXNDaGlsZCBjbGFzc05hbWU9XCJoaWRkZW4gc206ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvYXV0aC9sb2dpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVc2VyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCS0L7QudGC0LhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7aXNNYXN0ZXJPckNvbXBhbnkgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgdGV4dC13aGl0ZVwiIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL29yZGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNC+0LHRgNCw0YLRjCDQt9Cw0LrQsNC30YtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlXCIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvZGFzaGJvYXJkL2JlY29tZS1wZXJmb3JtZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodGC0LDRgtGMINC40YHQv9C+0LvQvdC40YLQtdC70LXQvFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJMaW5rIiwiTW9kZVRvZ2dsZSIsIkJ1dHRvbiIsIlN3aXRjaCIsIlNlYXJjaCIsIlVzZXIiLCJMb2dPdXQiLCJCcmllZmNhc2UiLCJNYXBQaW4iLCJEcm9wZG93bk1lbnUiLCJEcm9wZG93bk1lbnVDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkRyb3Bkb3duTWVudUxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiRHJvcGRvd25NZW51VHJpZ2dlciIsInVzZVNlc3Npb25TdG9yZSIsInVzZUdlb1N0b3JlIiwiSGVhZGVyIiwiaXNBdXRoIiwidXNlciIsImxvZ291dCIsImlzT25saW5lIiwiaXNVcGRhdGluZyIsImVycm9yIiwiZ2VvRXJyb3IiLCJnb09ubGluZSIsImdvT2ZmbGluZSIsImlzTWFzdGVyT3JDb21wYW55Iiwicm9sZXMiLCJpbmNsdWRlcyIsImhhbmRsZVRvZ2dsZU9ubGluZSIsImNoZWNrZWQiLCJpZCIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsImhyZWYiLCJzcGFuIiwibmF2Iiwib25DaGVja2VkQ2hhbmdlIiwiZGlzYWJsZWQiLCJsYWJlbCIsImh0bWxGb3IiLCJ0aXRsZSIsImFzQ2hpbGQiLCJ2YXJpYW50IiwiY29tcGFueU5hbWUiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/widgets/Header.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/globals.css": -/*!*****************************!*\ - !*** ./src/app/globals.css ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"96c14632c738\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXGdsb2JhbHMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOTZjMTQ2MzJjNzM4XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/layout.tsx": -/*!****************************!*\ - !*** ./src/app/layout.tsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src\\\\\\\\app\\\\\\\\layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\",\\\"cyrillic\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n/* harmony import */ var leaflet_dist_leaflet_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! leaflet/dist/leaflet.css */ \"(rsc)/./node_modules/leaflet/dist/leaflet.css\");\n/* harmony import */ var _components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/theme/theme-provider */ \"(rsc)/./src/components/theme/theme-provider.tsx\");\n/* harmony import */ var _widgets_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/widgets/Header */ \"(rsc)/./src/widgets/Header.tsx\");\n/* harmony import */ var _components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/sonner */ \"(rsc)/./src/components/ui/sonner.tsx\");\n/* harmony import */ var _components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/auth/AuthProvider */ \"(rsc)/./src/components/auth/AuthProvider.tsx\");\n\n\n\n\n\n\n\n\nconst metadata = {\n title: \"Nashel - Маркетплейс услуг\",\n description: \"Найди мастера за 60 минут\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"ru\",\n suppressHydrationWarning: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: `${(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default().className)} min-h-screen bg-background text-foreground antialiased`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__.ThemeProvider, {\n attribute: \"class\",\n defaultTheme: \"system\",\n enableSystem: true,\n disableTransitionOnChange: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__.AuthProvider, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex min-h-screen flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_widgets_Header__WEBPACK_IMPORTED_MODULE_4__.Header, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 34,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 32,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__.Toaster, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 36,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 31,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 25,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQVNNQTtBQVBpQjtBQUNXO0FBQ2dDO0FBQ3hCO0FBQ087QUFDYTtBQUl2RCxNQUFNSyxXQUFxQjtJQUM5QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2pCLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQy9CQyxRQUFRLEVBR1Y7SUFDRSxxQkFDSSw4REFBQ0M7UUFBS0MsTUFBSztRQUFLQyx3QkFBd0I7a0JBQ3BDLDRFQUFDQztZQUFLQyxXQUFXLEdBQUdkLHdLQUFlLENBQUMsdURBQXVELENBQUM7c0JBQ3hGLDRFQUFDQywyRUFBYUE7Z0JBQ1ZjLFdBQVU7Z0JBQ1ZDLGNBQWE7Z0JBQ2JDLFlBQVk7Z0JBQ1pDLHlCQUF5QjswQkFFekIsNEVBQUNkLHVFQUFZQTs7c0NBQ1QsOERBQUNlOzRCQUFJTCxXQUFVOzs4Q0FDWCw4REFBQ1osbURBQU1BOzs7Ozs4Q0FDUCw4REFBQ2tCO29DQUFLTixXQUFVOzhDQUFVTDs7Ozs7Ozs7Ozs7O3NDQUU5Qiw4REFBQ04sMERBQU9BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1oQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcYXBwXFxsYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tIFwibmV4dFwiO1xyXG5pbXBvcnQgeyBJbnRlciB9IGZyb20gXCJuZXh0L2ZvbnQvZ29vZ2xlXCI7XHJcbmltcG9ydCBcIi4vZ2xvYmFscy5jc3NcIjtcclxuaW1wb3J0IFwibGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzXCI7XHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL3RoZW1lLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL3dpZGdldHMvSGVhZGVyXCI7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3Nvbm5lclwiO1xyXG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL2F1dGgvQXV0aFByb3ZpZGVyXCI7XHJcblxyXG5jb25zdCBpbnRlciA9IEludGVyKHsgc3Vic2V0czogW1wibGF0aW5cIiwgXCJjeXJpbGxpY1wiXSB9KTtcclxuXHJcbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XHJcbiAgICB0aXRsZTogXCJOYXNoZWwgLSDQnNCw0YDQutC10YLQv9C70LXQudGBINGD0YHQu9GD0LNcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcItCd0LDQudC00Lgg0LzQsNGB0YLQtdGA0LAg0LfQsCA2MCDQvNC40L3Rg9GCXCIsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSb290TGF5b3V0KHtcclxuICAgIGNoaWxkcmVuLFxyXG59OiBSZWFkb25seTx7XHJcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xyXG59Pikge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8aHRtbCBsYW5nPVwicnVcIiBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc+XHJcbiAgICAgICAgICAgIDxib2R5IGNsYXNzTmFtZT17YCR7aW50ZXIuY2xhc3NOYW1lfSBtaW4taC1zY3JlZW4gYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQgYW50aWFsaWFzZWRgfT5cclxuICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlPVwiY2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRUaGVtZT1cInN5c3RlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlU3lzdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVRyYW5zaXRpb25PbkNoYW5nZVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxBdXRoUHJvdmlkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgZmxleCBtaW4taC1zY3JlZW4gZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkZXIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9hc3RlciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQXV0aFByb3ZpZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxyXG4gICAgICAgICAgICA8L2JvZHk+XHJcbiAgICAgICAgPC9odG1sPlxyXG4gICAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsiaW50ZXIiLCJUaGVtZVByb3ZpZGVyIiwiSGVhZGVyIiwiVG9hc3RlciIsIkF1dGhQcm92aWRlciIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiwiYm9keSIsImNsYXNzTmFtZSIsImF0dHJpYnV0ZSIsImRlZmF1bHRUaGVtZSIsImVuYWJsZVN5c3RlbSIsImRpc2FibGVUcmFuc2l0aW9uT25DaGFuZ2UiLCJkaXYiLCJtYWluIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const AuthProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx", -"AuthProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const ThemeProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx", -"ThemeProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Toaster: () => (/* binding */ Toaster) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Toaster = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx", -"Toaster", -); - -/***/ }), - -/***/ "(rsc)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Header: () => (/* binding */ Header) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Header = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Header() from the server but Header is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx", -"Header", -); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@radix-ui","vendor-chunks/axios","vendor-chunks/tailwind-merge","vendor-chunks/mime-db","vendor-chunks/@floating-ui","vendor-chunks/sonner","vendor-chunks/lucide-react","vendor-chunks/cookies-next","vendor-chunks/follow-redirects","vendor-chunks/debug","vendor-chunks/tslib","vendor-chunks/react-remove-scroll","vendor-chunks/form-data","vendor-chunks/get-intrinsic","vendor-chunks/cookie","vendor-chunks/asynckit","vendor-chunks/aria-hidden","vendor-chunks/class-variance-authority","vendor-chunks/next-themes","vendor-chunks/react-remove-scroll-bar","vendor-chunks/combined-stream","vendor-chunks/mime-types","vendor-chunks/use-callback-ref","vendor-chunks/proxy-from-env","vendor-chunks/use-sidecar","vendor-chunks/ms","vendor-chunks/supports-color","vendor-chunks/react-style-singleton","vendor-chunks/has-symbols","vendor-chunks/delayed-stream","vendor-chunks/function-bind","vendor-chunks/@swc","vendor-chunks/zustand","vendor-chunks/es-set-tostringtag","vendor-chunks/get-proto","vendor-chunks/call-bind-apply-helpers","vendor-chunks/dunder-proto","vendor-chunks/math-intrinsics","vendor-chunks/clsx","vendor-chunks/es-errors","vendor-chunks/has-flag","vendor-chunks/gopd","vendor-chunks/get-nonce","vendor-chunks/es-define-property","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/leaflet","vendor-chunks/es-object-atoms"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=..%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/_not-found/page_client-reference-manifest.js b/.next/server/app/_not-found/page_client-reference-manifest.js deleted file mode 100644 index 0fcbd68..0000000 --- a/.next/server/app/_not-found/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(ssr)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(ssr)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(ssr)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx":{"id":"(app-pages-browser)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx":{"id":"(app-pages-browser)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx":{"id":"(app-pages-browser)/./src/components/home/PerformerButton.tsx","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\page":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\_not-found\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(rsc)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(rsc)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(rsc)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/auth/login/page.js b/.next/server/app/auth/login/page.js deleted file mode 100644 index e72f98c..0000000 --- a/.next/server/app/auth/login/page.js +++ /dev/null @@ -1,646 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "app/auth/login/page"; -exports.ids = ["app/auth/login/page"]; -exports.modules = { - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "../app-render/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/server/app-render/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/action-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/after-task-async-storage.external": -/*!***********************************************************************************!*\ - !*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***! - \***********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/work-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/server/app-render/work-async-storage.external.js" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-async-storage.external.js"); - -/***/ }), - -/***/ "./work-unit-async-storage.external": -/*!**********************************************************************************!*\ - !*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***! - \**********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js"); - -/***/ }), - -/***/ "assert": -/*!*************************!*\ - !*** external "assert" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("assert"); - -/***/ }), - -/***/ "crypto": -/*!*************************!*\ - !*** external "crypto" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("crypto"); - -/***/ }), - -/***/ "events": -/*!*************************!*\ - !*** external "events" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("events"); - -/***/ }), - -/***/ "fs": -/*!*********************!*\ - !*** external "fs" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("fs"); - -/***/ }), - -/***/ "http": -/*!***********************!*\ - !*** external "http" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http"); - -/***/ }), - -/***/ "http2": -/*!************************!*\ - !*** external "http2" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http2"); - -/***/ }), - -/***/ "https": -/*!************************!*\ - !*** external "https" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("https"); - -/***/ }), - -/***/ "os": -/*!*********************!*\ - !*** external "os" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("os"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ "stream": -/*!*************************!*\ - !*** external "stream" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("stream"); - -/***/ }), - -/***/ "tty": -/*!**********************!*\ - !*** external "tty" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("tty"); - -/***/ }), - -/***/ "url": -/*!**********************!*\ - !*** external "url" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("url"); - -/***/ }), - -/***/ "util": -/*!***********************!*\ - !*** external "util" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), - -/***/ "zlib": -/*!***********************!*\ - !*** external "zlib" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("zlib"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fauth%2Flogin%2Fpage&page=%2Fauth%2Flogin%2Fpage&appPaths=%2Fauth%2Flogin%2Fpage&pagePath=private-next-app-dir%2Fauth%2Flogin%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": -/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fauth%2Flogin%2Fpage&page=%2Fauth%2Flogin%2Fpage&appPaths=%2Fauth%2Flogin%2Fpage&pagePath=private-next-app-dir%2Fauth%2Flogin%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! - \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/module.compiled.js?91d2\");\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nconst module0 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\"));\nconst module1 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23));\nconst module2 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/forbidden-error */ \"(rsc)/./node_modules/next/dist/client/components/forbidden-error.js\", 23));\nconst module3 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/unauthorized-error */ \"(rsc)/./node_modules/next/dist/client/components/unauthorized-error.js\", 23));\nconst page4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/auth/login/page.tsx */ \"(rsc)/./src/app/auth/login/page.tsx\"));\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'auth',\n {\n children: [\n 'login',\n {\n children: ['__PAGE__', {}, {\n page: [page4, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\auth\\\\login\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [module0, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\"],\n'not-found': [module1, \"next/dist/client/components/not-found-error\"],\n'forbidden': [module2, \"next/dist/client/components/forbidden-error\"],\n'unauthorized': [module3, \"next/dist/client/components/unauthorized-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\auth\\\\login\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/auth/login/page\",\n pathname: \"/auth/login\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkZhdXRoJTJGbG9naW4lMkZwYWdlJnBhZ2U9JTJGYXV0aCUyRmxvZ2luJTJGcGFnZSZhcHBQYXRocz0lMkZhdXRoJTJGbG9naW4lMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYXV0aCUyRmxvZ2luJTJGcGFnZS50c3gmYXBwRGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQlNUNzcmMlNUNhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9c3RhbmRhbG9uZSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQkFBc0Isb0pBQXdGO0FBQzlHLHNCQUFzQiwwTkFBZ0Y7QUFDdEcsc0JBQXNCLDBOQUFnRjtBQUN0RyxzQkFBc0IsZ09BQW1GO0FBQ3pHLG9CQUFvQixzS0FBbUc7QUFHckg7QUFDc0Q7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQzZEO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUN1RDtBQUN2RDtBQUNPLHdCQUF3Qix1R0FBa0I7QUFDakQ7QUFDQSxjQUFjLGtFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbW9kdWxlMCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxsYXlvdXQudHN4XCIpO1xuY29uc3QgbW9kdWxlMSA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKTtcbmNvbnN0IG1vZHVsZTIgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9mb3JiaWRkZW4tZXJyb3JcIik7XG5jb25zdCBtb2R1bGUzID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvdW5hdXRob3JpemVkLWVycm9yXCIpO1xuY29uc3QgcGFnZTQgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYXV0aFxcXFxsb2dpblxcXFxwYWdlLnRzeFwiKTtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc3NyJ1xufTtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdhdXRoJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnbG9naW4nLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbcGFnZTQsIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhdXRoXFxcXGxvZ2luXFxcXHBhZ2UudHN4XCJdLFxuICAgICAgICAgIFxuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFttb2R1bGUwLCBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbbW9kdWxlMSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuJ2ZvcmJpZGRlbic6IFttb2R1bGUyLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9mb3JiaWRkZW4tZXJyb3JcIl0sXG4ndW5hdXRob3JpemVkJzogW21vZHVsZTMsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC1lcnJvclwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGF1dGhcXFxcbG9naW5cXFxccGFnZS50c3hcIl07XG5leHBvcnQgeyB0cmVlLCBwYWdlcyB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBHbG9iYWxFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIjtcbmNvbnN0IF9fbmV4dF9hcHBfcmVxdWlyZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfX1xuY29uc3QgX19uZXh0X2FwcF9sb2FkX2NodW5rX18gPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoKVxuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICBwYWdlOiBcIi9hdXRoL2xvZ2luL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2F1dGgvbG9naW5cIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiAnJyxcbiAgICAgICAgZmlsZW5hbWU6ICcnLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fauth%2Flogin%2Fpage&page=%2Fauth%2Flogin%2Fpage&appPaths=%2Fauth%2Flogin%2Fpage&pagePath=private-next-app-dir%2Fauth%2Flogin%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cfeatures%5C%5Cauth%5C%5CLoginForm.tsx%22%2C%22ids%22%3A%5B%22LoginForm%22%5D%7D&server=true!": -/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cfeatures%5C%5Cauth%5C%5CLoginForm.tsx%22%2C%22ids%22%3A%5B%22LoginForm%22%5D%7D&server=true! ***! - \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/app-dir/link.js */ \"(rsc)/./node_modules/next/dist/client/app-dir/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/features/auth/LoginForm.tsx */ \"(rsc)/./src/features/auth/LoginForm.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2FwcC1kaXIlNUMlNUNsaW5rLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyX19lc01vZHVsZSUyMiUyQyUyMmRlZmF1bHQlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2ZlYXR1cmVzJTVDJTVDYXV0aCU1QyU1Q0xvZ2luRm9ybS50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJMb2dpbkZvcm0lMjIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLGdOQUFnSztBQUNoSztBQUNBLDhLQUFxSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiX19lc01vZHVsZVwiLFwiZGVmYXVsdFwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGFwcC1kaXJcXFxcbGluay5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiTG9naW5Gb3JtXCJdICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGZlYXR1cmVzXFxcXGF1dGhcXFxcTG9naW5Gb3JtLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cfeatures%5C%5Cauth%5C%5CLoginForm.tsx%22%2C%22ids%22%3A%5B%22LoginForm%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cfeatures%5C%5Cauth%5C%5CLoginForm.tsx%22%2C%22ids%22%3A%5B%22LoginForm%22%5D%7D&server=true!": -/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cfeatures%5C%5Cauth%5C%5CLoginForm.tsx%22%2C%22ids%22%3A%5B%22LoginForm%22%5D%7D&server=true! ***! - \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/app-dir/link.js */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/features/auth/LoginForm.tsx */ \"(ssr)/./src/features/auth/LoginForm.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2FwcC1kaXIlNUMlNUNsaW5rLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyX19lc01vZHVsZSUyMiUyQyUyMmRlZmF1bHQlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2ZlYXR1cmVzJTVDJTVDYXV0aCU1QyU1Q0xvZ2luRm9ybS50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJMb2dpbkZvcm0lMjIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLGdOQUFnSztBQUNoSztBQUNBLDhLQUFxSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiX19lc01vZHVsZVwiLFwiZGVmYXVsdFwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGFwcC1kaXJcXFxcbGluay5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiTG9naW5Gb3JtXCJdICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGZlYXR1cmVzXFxcXGF1dGhcXFxcTG9naW5Gb3JtLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cfeatures%5C%5Cauth%5C%5CLoginForm.tsx%22%2C%22ids%22%3A%5B%22LoginForm%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(rsc)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(ssr)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(rsc)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(rsc)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(rsc)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(rsc)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(ssr)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(ssr)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(ssr)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(ssr)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* __next_internal_client_entry_do_not_use__ AuthProvider auto */ \n\n\n\nfunction AuthProvider({ children }) {\n const { checkAuth, isInitialized } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_2__.useSessionStore)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AuthProvider.useEffect\": ()=>{\n // Проверяем авторизацию при загрузке приложения\n checkAuth();\n }\n }[\"AuthProvider.useEffect\"], [\n checkAuth\n ]);\n // Показываем загрузку только на первой проверке\n if (!isInitialized) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-blue-600\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 19,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: children\n }, void 0, false);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hdXRoL0F1dGhQcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFaUM7QUFDeUI7QUFDcEI7QUFFL0IsU0FBU0csYUFBYSxFQUFFQyxRQUFRLEVBQWlDO0lBQ3BFLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUUsR0FBR0wsd0VBQWVBO0lBRXBERCxnREFBU0E7a0NBQUM7WUFDTixnREFBZ0Q7WUFDaERLO1FBQ0o7aUNBQUc7UUFBQ0E7S0FBVTtJQUVkLGdEQUFnRDtJQUNoRCxJQUFJLENBQUNDLGVBQWU7UUFDaEIscUJBQ0ksOERBQUNDO1lBQUlDLFdBQVU7c0JBQ1gsNEVBQUNOLG1GQUFPQTtnQkFBQ00sV0FBVTs7Ozs7Ozs7Ozs7SUFHL0I7SUFFQSxxQkFBTztrQkFBR0o7O0FBQ2QiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXGF1dGhcXEF1dGhQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxuaW1wb3J0IHsgTG9hZGVyMiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuXG5leHBvcnQgZnVuY3Rpb24gQXV0aFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICBjb25zdCB7IGNoZWNrQXV0aCwgaXNJbml0aWFsaXplZCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNGOINC/0YDQuCDQt9Cw0LPRgNGD0LfQutC1INC/0YDQuNC70L7QttC10L3QuNGPXG4gICAgICAgIGNoZWNrQXV0aCgpXG4gICAgfSwgW2NoZWNrQXV0aF0pXG5cbiAgICAvLyDQn9C+0LrQsNC30YvQstCw0LXQvCDQt9Cw0LPRgNGD0LfQutGDINGC0L7Qu9GM0LrQviDQvdCwINC/0LXRgNCy0L7QuSDQv9GA0L7QstC10YDQutC1XG4gICAgaWYgKCFpc0luaXRpYWxpemVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggbWluLWgtc2NyZWVuIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cImgtOCB3LTggYW5pbWF0ZS1zcGluIHRleHQtYmx1ZS02MDBcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU2Vzc2lvblN0b3JlIiwiTG9hZGVyMiIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwiY2hlY2tBdXRoIiwiaXNJbml0aWFsaXplZCIsImRpdiIsImNsYXNzTmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/auth/AuthProvider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/mode-toggle.tsx": -/*!**********************************************!*\ - !*** ./src/components/theme/mode-toggle.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModeToggle: () => (/* binding */ ModeToggle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/sun.js\");\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/moon.js\");\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* __next_internal_client_entry_do_not_use__ ModeToggle auto */ \n\n\n\n\n\nfunction ModeToggle() {\n const { setTheme } = (0,next_themes__WEBPACK_IMPORTED_MODULE_2__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"outline\",\n size: \"icon\",\n className: \"rounded-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 22,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 23,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Toggle theme\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 24,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 21,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuContent, {\n align: \"end\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"light\"),\n children: \"Светлая\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 28,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"dark\"),\n children: \"Темная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 31,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"system\"),\n children: \"Системная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 27,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS9tb2RlLXRvZ2dsZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFOEI7QUFDVTtBQUNGO0FBRVM7QUFNVDtBQUUvQixTQUFTUztJQUNaLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdQLHFEQUFRQTtJQUU3QixxQkFDSSw4REFBQ0Usc0VBQVlBOzswQkFDVCw4REFBQ0csNkVBQW1CQTtnQkFBQ0csT0FBTzswQkFDeEIsNEVBQUNQLHlEQUFNQTtvQkFBQ1EsU0FBUTtvQkFBVUMsTUFBSztvQkFBT0MsV0FBVTs7c0NBQzVDLDhEQUFDWixvRkFBR0E7NEJBQUNZLFdBQVU7Ozs7OztzQ0FDZiw4REFBQ2Isb0ZBQUlBOzRCQUFDYSxXQUFVOzs7Ozs7c0NBQ2hCLDhEQUFDQzs0QkFBS0QsV0FBVTtzQ0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBR2xDLDhEQUFDUiw2RUFBbUJBO2dCQUFDVSxPQUFNOztrQ0FDdkIsOERBQUNULDBFQUFnQkE7d0JBQUNVLFNBQVMsSUFBTVAsU0FBUztrQ0FBVTs7Ozs7O2tDQUdwRCw4REFBQ0gsMEVBQWdCQTt3QkFBQ1UsU0FBUyxJQUFNUCxTQUFTO2tDQUFTOzs7Ozs7a0NBR25ELDhEQUFDSCwwRUFBZ0JBO3dCQUFDVSxTQUFTLElBQU1QLFNBQVM7a0NBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1yRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdGhlbWVcXG1vZGUtdG9nZ2xlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgTW9vbiwgU3VuIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuXHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCJcclxuaW1wb3J0IHtcclxuICAgIERyb3Bkb3duTWVudSxcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2Ryb3Bkb3duLW1lbnVcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVUb2dnbGUoKSB7XHJcbiAgICBjb25zdCB7IHNldFRoZW1lIH0gPSB1c2VUaGVtZSgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51VHJpZ2dlciBhc0NoaWxkPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiIHNpemU9XCJpY29uXCIgY2xhc3NOYW1lPVwicm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFN1biBjbGFzc05hbWU9XCJoLVsxLjJyZW1dIHctWzEuMnJlbV0gcm90YXRlLTAgc2NhbGUtMTAwIHRyYW5zaXRpb24tYWxsIGRhcms6LXJvdGF0ZS05MCBkYXJrOnNjYWxlLTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxNb29uIGNsYXNzTmFtZT1cImFic29sdXRlIGgtWzEuMnJlbV0gdy1bMS4ycmVtXSByb3RhdGUtOTAgc2NhbGUtMCB0cmFuc2l0aW9uLWFsbCBkYXJrOnJvdGF0ZS0wIGRhcms6c2NhbGUtMTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+VG9nZ2xlIHRoZW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51VHJpZ2dlcj5cclxuICAgICAgICAgICAgPERyb3Bkb3duTWVudUNvbnRlbnQgYWxpZ249XCJlbmRcIj5cclxuICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIG9uQ2xpY2s9eygpID0+IHNldFRoZW1lKFwibGlnaHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LLQtdGC0LvQsNGPXHJcbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51SXRlbSBvbkNsaWNrPXsoKSA9PiBzZXRUaGVtZShcImRhcmtcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCi0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gb25DbGljaz17KCkgPT4gc2V0VGhlbWUoXCJzeXN0ZW1cIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LjRgdGC0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgPC9Ecm9wZG93bk1lbnU+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiTW9vbiIsIlN1biIsInVzZVRoZW1lIiwiQnV0dG9uIiwiRHJvcGRvd25NZW51IiwiRHJvcGRvd25NZW51Q29udGVudCIsIkRyb3Bkb3duTWVudUl0ZW0iLCJEcm9wZG93bk1lbnVUcmlnZ2VyIiwiTW9kZVRvZ2dsZSIsInNldFRoZW1lIiwiYXNDaGlsZCIsInZhcmlhbnQiLCJzaXplIiwiY2xhc3NOYW1lIiwic3BhbiIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/mode-toggle.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ ThemeProvider auto */ \n\n\nfunction ThemeProvider({ children, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_themes__WEBPACK_IMPORTED_MODULE_2__.ThemeProvider, {\n ...props,\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\theme-provider.tsx\",\n lineNumber: 8,\n columnNumber: 12\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS90aGVtZS1wcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUU4QjtBQUNtQztBQUcxRCxTQUFTQyxjQUFjLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUEyQjtJQUNwRSxxQkFBTyw4REFBQ0Ysc0RBQWtCQTtRQUFFLEdBQUdFLEtBQUs7a0JBQUdEOzs7Ozs7QUFDM0MiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHRoZW1lXFx0aGVtZS1wcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgYXMgTmV4dFRoZW1lc1Byb3ZpZGVyIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuaW1wb3J0IHsgdHlwZSBUaGVtZVByb3ZpZGVyUHJvcHMgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIoeyBjaGlsZHJlbiwgLi4ucHJvcHMgfTogVGhlbWVQcm92aWRlclByb3BzKSB7XHJcbiAgICByZXR1cm4gPE5leHRUaGVtZXNQcm92aWRlciB7Li4ucHJvcHN9PntjaGlsZHJlbn08L05leHRUaGVtZXNQcm92aWRlcj5cclxufVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUaGVtZVByb3ZpZGVyIiwiTmV4dFRoZW1lc1Byb3ZpZGVyIiwiY2hpbGRyZW4iLCJwcm9wcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/theme-provider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/button.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/button.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ buttonVariants: () => (/* binding */ buttonVariants)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst buttonVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n});\nconst Button = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, size, asChild = false, ...props }, ref)=>{\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot : \"button\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Comp, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(buttonVariants({\n variant,\n size,\n className\n })),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\button.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, undefined);\n});\nButton.displayName = \"Button\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9idXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDYTtBQUNzQjtBQUUxQjtBQUV2QyxNQUFNSSxpQkFBaUJGLDZEQUFHQSxDQUN0Qiw0VkFDQTtJQUNJRyxVQUFVO1FBQ05DLFNBQVM7WUFDTEMsU0FBUztZQUNUQyxhQUNJO1lBQ0pDLFNBQ0k7WUFDSkMsV0FDSTtZQUNKQyxPQUFPO1lBQ1BDLE1BQU07UUFDVjtRQUNBQyxNQUFNO1lBQ0ZOLFNBQVM7WUFDVE8sSUFBSTtZQUNKQyxJQUFJO1lBQ0pDLE1BQU07UUFDVjtJQUNKO0lBQ0FDLGlCQUFpQjtRQUNiWCxTQUFTO1FBQ1RPLE1BQU07SUFDVjtBQUNKO0FBU0osTUFBTUssdUJBQVNsQiw2Q0FBZ0IsQ0FDM0IsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFZCxPQUFPLEVBQUVPLElBQUksRUFBRVEsVUFBVSxLQUFLLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUN0RCxNQUFNQyxPQUFPSCxVQUFVcEIsc0RBQUlBLEdBQUc7SUFDOUIscUJBQ0ksOERBQUN1QjtRQUNHSixXQUFXakIscURBQUVBLENBQUNDLGVBQWU7WUFBRUU7WUFBU087WUFBTU87UUFBVTtRQUN4REcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosT0FBT08sV0FBVyxHQUFHO0FBRVkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxidXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIlxyXG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgYnV0dG9uVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIFsmX3N2Z106cG9pbnRlci1ldmVudHMtbm9uZSBbJl9zdmddOnNpemUtNCBbJl9zdmddOnNocmluay0wXCIsXHJcbiAgICB7XHJcbiAgICAgICAgdmFyaWFudHM6IHtcclxuICAgICAgICAgICAgdmFyaWFudDoge1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogXCJiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkvOTBcIixcclxuICAgICAgICAgICAgICAgIGRlc3RydWN0aXZlOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIGhvdmVyOmJnLWRlc3RydWN0aXZlLzkwXCIsXHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICAgICAgXCJiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1zZWNvbmRhcnkvODBcIixcclxuICAgICAgICAgICAgICAgIGdob3N0OiBcImhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBcInRleHQtcHJpbWFyeSB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lXCIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNpemU6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFwiaC0xMCBweC00IHB5LTJcIixcclxuICAgICAgICAgICAgICAgIHNtOiBcImgtOSByb3VuZGVkLW1kIHB4LTNcIixcclxuICAgICAgICAgICAgICAgIGxnOiBcImgtMTEgcm91bmRlZC1tZCBweC04XCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImgtMTAgdy0xMFwiLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVmYXVsdFZhcmlhbnRzOiB7XHJcbiAgICAgICAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICBzaXplOiBcImRlZmF1bHRcIixcclxuICAgICAgICB9LFxyXG4gICAgfVxyXG4pXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzXHJcbiAgICBleHRlbmRzIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PixcclxuICAgIFZhcmlhbnRQcm9wczx0eXBlb2YgYnV0dG9uVmFyaWFudHM+IHtcclxuICAgIGFzQ2hpbGQ/OiBib29sZWFuXHJcbn1cclxuXHJcbmNvbnN0IEJ1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihcclxuICAgICh7IGNsYXNzTmFtZSwgdmFyaWFudCwgc2l6ZSwgYXNDaGlsZCA9IGZhbHNlLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgICAgICBjb25zdCBDb21wID0gYXNDaGlsZCA/IFNsb3QgOiBcImJ1dHRvblwiXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPENvbXBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oYnV0dG9uVmFyaWFudHMoeyB2YXJpYW50LCBzaXplLCBjbGFzc05hbWUgfSkpfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbkJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiQnV0dG9uXCJcclxuXHJcbmV4cG9ydCB7IEJ1dHRvbiwgYnV0dG9uVmFyaWFudHMgfVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTbG90IiwiY3ZhIiwiY24iLCJidXR0b25WYXJpYW50cyIsInZhcmlhbnRzIiwidmFyaWFudCIsImRlZmF1bHQiLCJkZXN0cnVjdGl2ZSIsIm91dGxpbmUiLCJzZWNvbmRhcnkiLCJnaG9zdCIsImxpbmsiLCJzaXplIiwic20iLCJsZyIsImljb24iLCJkZWZhdWx0VmFyaWFudHMiLCJCdXR0b24iLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiYXNDaGlsZCIsInByb3BzIiwicmVmIiwiQ29tcCIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/button.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/card.tsx": -/*!************************************!*\ - !*** ./src/components/ui/card.tsx ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Card: () => (/* binding */ Card),\n/* harmony export */ CardContent: () => (/* binding */ CardContent),\n/* harmony export */ CardDescription: () => (/* binding */ CardDescription),\n/* harmony export */ CardFooter: () => (/* binding */ CardFooter),\n/* harmony export */ CardHeader: () => (/* binding */ CardHeader),\n/* harmony export */ CardTitle: () => (/* binding */ CardTitle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Card = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"rounded-lg border bg-card text-card-foreground shadow-sm\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 8,\n columnNumber: 5\n }, undefined));\nCard.displayName = \"Card\";\nconst CardHeader = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex flex-col space-y-1.5 p-6\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 23,\n columnNumber: 5\n }, undefined));\nCardHeader.displayName = \"CardHeader\";\nconst CardTitle = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-2xl font-semibold leading-none tracking-tight\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 35,\n columnNumber: 5\n }, undefined));\nCardTitle.displayName = \"CardTitle\";\nconst CardDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm text-muted-foreground\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 50,\n columnNumber: 5\n }, undefined));\nCardDescription.displayName = \"CardDescription\";\nconst CardContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"p-6 pt-0\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 62,\n columnNumber: 5\n }, undefined));\nCardContent.displayName = \"CardContent\";\nconst CardFooter = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center p-6 pt-0\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 70,\n columnNumber: 5\n }, undefined));\nCardFooter.displayName = \"CardFooter\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9jYXJkLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDUztBQUV2QyxNQUFNRSxxQkFBT0YsNkNBQWdCLENBRzNCLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FDVCw0REFDQUc7UUFFSCxHQUFHQyxLQUFLOzs7Ozs7QUFHakJILEtBQUtNLFdBQVcsR0FBRztBQUVuQixNQUFNQywyQkFBYVQsNkNBQWdCLENBR2pDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyxpQ0FBaUNHO1FBQzlDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQkksV0FBV0QsV0FBVyxHQUFHO0FBRXpCLE1BQU1FLDBCQUFZViw2Q0FBZ0IsQ0FHaEMsQ0FBQyxFQUFFSSxTQUFTLEVBQUUsR0FBR0MsT0FBTyxFQUFFQyxvQkFDeEIsOERBQUNLO1FBQ0dMLEtBQUtBO1FBQ0xGLFdBQVdILHFEQUFFQSxDQUNULHNEQUNBRztRQUVILEdBQUdDLEtBQUs7Ozs7OztBQUdqQkssVUFBVUYsV0FBVyxHQUFHO0FBRXhCLE1BQU1JLGdDQUFrQlosNkNBQWdCLENBR3RDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDTztRQUNHUCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyxpQ0FBaUNHO1FBQzlDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQk8sZ0JBQWdCSixXQUFXLEdBQUc7QUFFOUIsTUFBTU0sNEJBQWNkLDZDQUFnQixDQUdsQyxDQUFDLEVBQUVJLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ0M7UUFBSUQsS0FBS0E7UUFBS0YsV0FBV0gscURBQUVBLENBQUMsWUFBWUc7UUFBYSxHQUFHQyxLQUFLOzs7Ozs7QUFFbEVTLFlBQVlOLFdBQVcsR0FBRztBQUUxQixNQUFNTywyQkFBYWYsNkNBQWdCLENBR2pDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyw4QkFBOEJHO1FBQzNDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQlUsV0FBV1AsV0FBVyxHQUFHO0FBRXVEIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcY2FyZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IENhcmQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgIFwicm91bmRlZC1sZyBib3JkZXIgYmctY2FyZCB0ZXh0LWNhcmQtZm9yZWdyb3VuZCBzaGFkb3ctc21cIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAvPlxyXG4pKVxyXG5DYXJkLmRpc3BsYXlOYW1lID0gXCJDYXJkXCJcclxuXHJcbmNvbnN0IENhcmRIZWFkZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGZsZXgtY29sIHNwYWNlLXktMS41IHAtNlwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkNhcmRIZWFkZXIuZGlzcGxheU5hbWUgPSBcIkNhcmRIZWFkZXJcIlxyXG5cclxuY29uc3QgQ2FyZFRpdGxlID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIEhUTUxQYXJhZ3JhcGhFbGVtZW50LFxyXG4gICAgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTEhlYWRpbmdFbGVtZW50PlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8aDNcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInRleHQtMnhsIGZvbnQtc2VtaWJvbGQgbGVhZGluZy1ub25lIHRyYWNraW5nLXRpZ2h0XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuQ2FyZFRpdGxlLmRpc3BsYXlOYW1lID0gXCJDYXJkVGl0bGVcIlxyXG5cclxuY29uc3QgQ2FyZERlc2NyaXB0aW9uID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIEhUTUxQYXJhZ3JhcGhFbGVtZW50LFxyXG4gICAgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFBhcmFncmFwaEVsZW1lbnQ+XHJcbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxwXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuQ2FyZERlc2NyaXB0aW9uLmRpc3BsYXlOYW1lID0gXCJDYXJkRGVzY3JpcHRpb25cIlxyXG5cclxuY29uc3QgQ2FyZENvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdiByZWY9e3JlZn0gY2xhc3NOYW1lPXtjbihcInAtNiBwdC0wXCIsIGNsYXNzTmFtZSl9IHsuLi5wcm9wc30gLz5cclxuKSlcclxuQ2FyZENvbnRlbnQuZGlzcGxheU5hbWUgPSBcIkNhcmRDb250ZW50XCJcclxuXHJcbmNvbnN0IENhcmRGb290ZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGl0ZW1zLWNlbnRlciBwLTYgcHQtMFwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkNhcmRGb290ZXIuZGlzcGxheU5hbWUgPSBcIkNhcmRGb290ZXJcIlxyXG5cclxuZXhwb3J0IHsgQ2FyZCwgQ2FyZEhlYWRlciwgQ2FyZEZvb3RlciwgQ2FyZFRpdGxlLCBDYXJkRGVzY3JpcHRpb24sIENhcmRDb250ZW50IH1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY24iLCJDYXJkIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsInByb3BzIiwicmVmIiwiZGl2IiwiZGlzcGxheU5hbWUiLCJDYXJkSGVhZGVyIiwiQ2FyZFRpdGxlIiwiaDMiLCJDYXJkRGVzY3JpcHRpb24iLCJwIiwiQ2FyZENvbnRlbnQiLCJDYXJkRm9vdGVyIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/card.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/dropdown-menu.tsx": -/*!*********************************************!*\ - !*** ./src/components/ui/dropdown-menu.tsx ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropdownMenu: () => (/* binding */ DropdownMenu),\n/* harmony export */ DropdownMenuCheckboxItem: () => (/* binding */ DropdownMenuCheckboxItem),\n/* harmony export */ DropdownMenuContent: () => (/* binding */ DropdownMenuContent),\n/* harmony export */ DropdownMenuGroup: () => (/* binding */ DropdownMenuGroup),\n/* harmony export */ DropdownMenuItem: () => (/* binding */ DropdownMenuItem),\n/* harmony export */ DropdownMenuLabel: () => (/* binding */ DropdownMenuLabel),\n/* harmony export */ DropdownMenuPortal: () => (/* binding */ DropdownMenuPortal),\n/* harmony export */ DropdownMenuRadioGroup: () => (/* binding */ DropdownMenuRadioGroup),\n/* harmony export */ DropdownMenuRadioItem: () => (/* binding */ DropdownMenuRadioItem),\n/* harmony export */ DropdownMenuSeparator: () => (/* binding */ DropdownMenuSeparator),\n/* harmony export */ DropdownMenuShortcut: () => (/* binding */ DropdownMenuShortcut),\n/* harmony export */ DropdownMenuSub: () => (/* binding */ DropdownMenuSub),\n/* harmony export */ DropdownMenuSubContent: () => (/* binding */ DropdownMenuSubContent),\n/* harmony export */ DropdownMenuSubTrigger: () => (/* binding */ DropdownMenuSubTrigger),\n/* harmony export */ DropdownMenuTrigger: () => (/* binding */ DropdownMenuTrigger)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ \"(ssr)/./node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle.js\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ DropdownMenu,DropdownMenuTrigger,DropdownMenuContent,DropdownMenuItem,DropdownMenuCheckboxItem,DropdownMenuRadioItem,DropdownMenuLabel,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuGroup,DropdownMenuPortal,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuRadioGroup auto */ \n\n\n\n\nconst DropdownMenu = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst DropdownMenuTrigger = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Trigger;\nconst DropdownMenuGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Group;\nconst DropdownMenuPortal = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal;\nconst DropdownMenuSub = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Sub;\nconst DropdownMenuRadioGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioGroup;\nconst DropdownMenuSubTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\", inset && \"pl-8\", className),\n ...props,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-auto h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 27,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubTrigger.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger.displayName;\nconst DropdownMenuSubContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent.displayName;\nconst DropdownMenuContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, sideOffset = 4, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n sideOffset: sideOffset,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 63,\n columnNumber: 5\n }, undefined));\nDropdownMenuContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\nconst DropdownMenuItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 83,\n columnNumber: 5\n }, undefined));\nDropdownMenuItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item.displayName;\nconst DropdownMenuCheckboxItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, checked, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n checked: checked,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 109,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 108,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 99,\n columnNumber: 5\n }, undefined));\nDropdownMenuCheckboxItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem.displayName;\nconst DropdownMenuRadioItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-2 w-2 fill-current\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 133,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 132,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 123,\n columnNumber: 5\n }, undefined));\nDropdownMenuRadioItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem.displayName;\nconst DropdownMenuLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 147,\n columnNumber: 5\n }, undefined));\nDropdownMenuLabel.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label.displayName;\nconst DropdownMenuSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 163,\n columnNumber: 5\n }, undefined));\nDropdownMenuSeparator.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator.displayName;\nconst DropdownMenuShortcut = ({ className, ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"ml-auto text-xs tracking-widest opacity-60\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 176,\n columnNumber: 9\n }, undefined);\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRThCO0FBQ3dDO0FBQ1o7QUFFbkI7QUFFdkMsTUFBTU0sZUFBZUwsK0RBQTBCO0FBRS9DLE1BQU1PLHNCQUFzQlAsa0VBQTZCO0FBRXpELE1BQU1TLG9CQUFvQlQsZ0VBQTJCO0FBRXJELE1BQU1XLHFCQUFxQlgsaUVBQTRCO0FBRXZELE1BQU1hLGtCQUFrQmIsOERBQXlCO0FBRWpELE1BQU1lLHlCQUF5QmYscUVBQWdDO0FBRS9ELE1BQU1pQix1Q0FBeUJsQiw2Q0FBZ0IsQ0FLN0MsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN6Qyw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdJQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7O1lBRVJEOzBCQUNELDhEQUFDbkIscUdBQVlBO2dCQUFDaUIsV0FBVTs7Ozs7Ozs7Ozs7O0FBR2hDRix1QkFBdUJRLFdBQVcsR0FDOUJ6QixxRUFBZ0MsQ0FBQ3lCLFdBQVc7QUFFaEQsTUFBTUMsdUNBQXlCM0IsNkNBQWdCLENBRzdDLENBQUMsRUFBRW9CLFNBQVMsRUFBRSxHQUFHRyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHliQUNBZTtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQkksdUJBQXVCRCxXQUFXLEdBQzlCekIscUVBQWdDLENBQUN5QixXQUFXO0FBRWhELE1BQU1HLG9DQUFzQjdCLDZDQUFnQixDQUcxQyxDQUFDLEVBQUVvQixTQUFTLEVBQUVVLGFBQWEsQ0FBQyxFQUFFLEdBQUdQLE9BQU8sRUFBRUMsb0JBQ3hDLDhEQUFDdkIsaUVBQTRCO2tCQUN6Qiw0RUFBQ0Esa0VBQTZCO1lBQzFCdUIsS0FBS0E7WUFDTE0sWUFBWUE7WUFDWlYsV0FBV2YscURBQUVBLENBQ1QseWJBQ0FlO1lBRUgsR0FBR0csS0FBSzs7Ozs7Ozs7Ozs7QUFJckJNLG9CQUFvQkgsV0FBVyxHQUFHekIsa0VBQTZCLENBQUN5QixXQUFXO0FBRTNFLE1BQU1NLGlDQUFtQmhDLDZDQUFnQixDQUt2QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVDLEtBQUssRUFBRSxHQUFHRSxPQUFPLEVBQUVDLG9CQUMvQiw4REFBQ3ZCLCtEQUEwQjtRQUN2QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULG1PQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQlMsaUJBQWlCTixXQUFXLEdBQUd6QiwrREFBMEIsQ0FBQ3lCLFdBQVc7QUFFckUsTUFBTVEseUNBQTJCbEMsNkNBQWdCLENBRy9DLENBQUMsRUFBRW9CLFNBQVMsRUFBRUUsUUFBUSxFQUFFYSxPQUFPLEVBQUUsR0FBR1osT0FBTyxFQUFFQyxvQkFDM0MsOERBQUN2Qix1RUFBa0M7UUFDL0J1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FDVCx3T0FDQWU7UUFFSmUsU0FBU0E7UUFDUixHQUFHWixLQUFLOzswQkFFVCw4REFBQ2M7Z0JBQUtqQixXQUFVOzBCQUNaLDRFQUFDbkIsd0VBQW1DOzhCQUNoQyw0RUFBQ0MscUdBQUtBO3dCQUFDa0IsV0FBVTs7Ozs7Ozs7Ozs7Ozs7OztZQUd4QkU7Ozs7Ozs7QUFHVFkseUJBQXlCUixXQUFXLEdBQ2hDekIsdUVBQWtDLENBQUN5QixXQUFXO0FBRWxELE1BQU1hLHNDQUF3QnZDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUNsQyw4REFBQ3ZCLG9FQUErQjtRQUM1QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdPQUNBZTtRQUVILEdBQUdHLEtBQUs7OzBCQUVULDhEQUFDYztnQkFBS2pCLFdBQVU7MEJBQ1osNEVBQUNuQix3RUFBbUM7OEJBQ2hDLDRFQUFDRyxxR0FBTUE7d0JBQUNnQixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7O1lBR3pCRTs7Ozs7OztBQUdUaUIsc0JBQXNCYixXQUFXLEdBQUd6QixvRUFBK0IsQ0FBQ3lCLFdBQVc7QUFFL0UsTUFBTWUsa0NBQW9CekMsNkNBQWdCLENBS3hDLENBQUMsRUFBRW9CLFNBQVMsRUFBRUMsS0FBSyxFQUFFLEdBQUdFLE9BQU8sRUFBRUMsb0JBQy9CLDhEQUFDdkIsZ0VBQTJCO1FBQ3hCdUIsS0FBS0E7UUFDTEosV0FBV2YscURBQUVBLENBQ1QscUNBQ0FnQixTQUFTLFFBQ1REO1FBRUgsR0FBR0csS0FBSzs7Ozs7O0FBR2pCa0Isa0JBQWtCZixXQUFXLEdBQUd6QixnRUFBMkIsQ0FBQ3lCLFdBQVc7QUFFdkUsTUFBTWlCLHNDQUF3QjNDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUUsR0FBR0csT0FBTyxFQUFFQyxvQkFDeEIsOERBQUN2QixvRUFBK0I7UUFDNUJ1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FBQyw0QkFBNEJlO1FBQ3pDLEdBQUdHLEtBQUs7Ozs7OztBQUdqQm9CLHNCQUFzQmpCLFdBQVcsR0FBR3pCLG9FQUErQixDQUFDeUIsV0FBVztBQUUvRSxNQUFNbUIsdUJBQXVCLENBQUMsRUFDMUJ6QixTQUFTLEVBQ1QsR0FBR0csT0FDaUM7SUFDcEMscUJBQ0ksOERBQUNjO1FBQ0dqQixXQUFXZixxREFBRUEsQ0FBQyw4Q0FBOENlO1FBQzNELEdBQUdHLEtBQUs7Ozs7OztBQUdyQjtBQUNBc0IscUJBQXFCbkIsV0FBVyxHQUFHO0FBa0JsQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGRyb3Bkb3duLW1lbnUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBEcm9wZG93bk1lbnVQcmltaXRpdmUgZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kcm9wZG93bi1tZW51XCJcclxuaW1wb3J0IHsgQ2hlY2ssIENoZXZyb25SaWdodCwgQ2lyY2xlIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51ID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlJvb3RcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVRyaWdnZXIgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuVHJpZ2dlclxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51R3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuR3JvdXBcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVBvcnRhbCA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Qb3J0YWxcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YiA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvR3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9Hcm91cFxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U3ViVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViVHJpZ2dlcj4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJUcmlnZ2VyPiAmIHtcclxuICAgICAgICBpbnNldD86IGJvb2xlYW5cclxuICAgIH1cclxuPigoeyBjbGFzc05hbWUsIGluc2V0LCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXJcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcImZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHgtMiBweS0xLjUgdGV4dC1zbSBvdXRsaW5lLW5vbmUgZm9jdXM6YmctYWNjZW50IGRhdGEtW3N0YXRlPW9wZW5dOmJnLWFjY2VudFwiLFxyXG4gICAgICAgICAgICBpbnNldCAmJiBcInBsLThcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDxDaGV2cm9uUmlnaHQgY2xhc3NOYW1lPVwibWwtYXV0byBoLTQgdy00XCIgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXI+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YlRyaWdnZXIuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXIuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YkNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJDb250ZW50XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJ6LTUwIG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LWxnIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4gZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAgZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wIGRhdGEtW3N0YXRlPWNsb3NlZF06em9vbS1vdXQtOTUgZGF0YS1bc3RhdGU9b3Blbl06em9vbS1pbi05NSBkYXRhLVtzaWRlPWJvdHRvbV06c2xpZGUtaW4tZnJvbS10b3AtMiBkYXRhLVtzaWRlPWxlZnRdOnNsaWRlLWluLWZyb20tcmlnaHQtMiBkYXRhLVtzaWRlPXJpZ2h0XTpzbGlkZS1pbi1mcm9tLWxlZnQtMiBkYXRhLVtzaWRlPXRvcF06c2xpZGUtaW4tZnJvbS1ib3R0b20tMlwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YkNvbnRlbnQuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIHNpZGVPZmZzZXQgPSA0LCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUG9ydGFsPlxyXG4gICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudFxyXG4gICAgICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICAgICAgc2lkZU9mZnNldD17c2lkZU9mZnNldH1cclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgIFwiei01MCBtaW4tdy1bOHJlbV0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXBvcG92ZXIgcC0xIHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZCBkYXRhLVtzdGF0ZT1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWNsb3NlZF06YW5pbWF0ZS1vdXQgZGF0YS1bc3RhdGU9Y2xvc2VkXTpmYWRlLW91dC0wIGRhdGEtW3N0YXRlPW9wZW5dOmZhZGUtaW4tMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3N0YXRlPW9wZW5dOnpvb20taW4tOTUgZGF0YS1bc2lkZT1ib3R0b21dOnNsaWRlLWluLWZyb20tdG9wLTIgZGF0YS1bc2lkZT1sZWZ0XTpzbGlkZS1pbi1mcm9tLXJpZ2h0LTIgZGF0YS1bc2lkZT1yaWdodF06c2xpZGUtaW4tZnJvbS1sZWZ0LTIgZGF0YS1bc2lkZT10b3BdOnNsaWRlLWluLWZyb20tYm90dG9tLTJcIixcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlBvcnRhbD5cclxuKSlcclxuRHJvcGRvd25NZW51Q29udGVudC5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Db250ZW50LmRpc3BsYXlOYW1lXHJcblxyXG5jb25zdCBEcm9wZG93bk1lbnVJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW0+ICYge1xyXG4gICAgICAgIGluc2V0PzogYm9vbGVhblxyXG4gICAgfVxyXG4+KCh7IGNsYXNzTmFtZSwgaW5zZXQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB4LTIgcHktMS41IHRleHQtc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgIGluc2V0ICYmIFwicGwtOFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudUl0ZW0uZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbS5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ2hlY2tib3hJdGVtPlxyXG4+KCh7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIGNoZWNrZWQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW1cclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInJlbGF0aXZlIGZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHktMS41IHBsLTggcHItMiB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpiZy1hY2NlbnQgZm9jdXM6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBkYXRhLVtkaXNhYmxlZF06cG9pbnRlci1ldmVudHMtbm9uZSBkYXRhLVtkaXNhYmxlZF06b3BhY2l0eS01MFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICA8Q2hlY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkNoZWNrYm94SXRlbT5cclxuKSlcclxuRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLmRpc3BsYXlOYW1lID1cclxuICAgIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvSXRlbSA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlJhZGlvSXRlbT5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB5LTEuNSBwbC04IHByLTIgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMgZm9jdXM6YmctYWNjZW50IGZvY3VzOnRleHQtYWNjZW50LWZvcmVncm91bmQgZGF0YS1bZGlzYWJsZWRdOnBvaW50ZXItZXZlbnRzLW5vbmUgZGF0YS1bZGlzYWJsZWRdOm9wYWNpdHktNTBcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0yIGZsZXggaC0zLjUgdy0zLjUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbUluZGljYXRvcj5cclxuICAgICAgICAgICAgICAgIDxDaXJjbGUgY2xhc3NOYW1lPVwiaC0yIHctMiBmaWxsLWN1cnJlbnRcIiAvPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0+XHJcbikpXHJcbkRyb3Bkb3duTWVudVJhZGlvSXRlbS5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUxhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4gJiB7XHJcbiAgICAgICAgaW5zZXQ/OiBib29sZWFuXHJcbiAgICB9XHJcbj4oKHsgY2xhc3NOYW1lLCBpbnNldCwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkxhYmVsXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJweC0yIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIixcclxuICAgICAgICAgICAgaW5zZXQgJiYgXCJwbC04XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51TGFiZWwuZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuTGFiZWwuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVNlcGFyYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU2VwYXJhdG9yPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvcj5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TZXBhcmF0b3JcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFwiLW14LTEgbXktMSBoLXB4IGJnLW11dGVkXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51U2VwYXJhdG9yLmRpc3BsYXlOYW1lID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvci5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U2hvcnRjdXQgPSAoe1xyXG4gICAgY2xhc3NOYW1lLFxyXG4gICAgLi4ucHJvcHNcclxufTogUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFNwYW5FbGVtZW50PikgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwibWwtYXV0byB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdCBvcGFjaXR5LTYwXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcbkRyb3Bkb3duTWVudVNob3J0Y3V0LmRpc3BsYXlOYW1lID0gXCJEcm9wZG93bk1lbnVTaG9ydGN1dFwiXHJcblxyXG5leHBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51UmFkaW9JdGVtLFxyXG4gICAgRHJvcGRvd25NZW51TGFiZWwsXHJcbiAgICBEcm9wZG93bk1lbnVTZXBhcmF0b3IsXHJcbiAgICBEcm9wZG93bk1lbnVTaG9ydGN1dCxcclxuICAgIERyb3Bkb3duTWVudUdyb3VwLFxyXG4gICAgRHJvcGRvd25NZW51UG9ydGFsLFxyXG4gICAgRHJvcGRvd25NZW51U3ViLFxyXG4gICAgRHJvcGRvd25NZW51U3ViQ29udGVudCxcclxuICAgIERyb3Bkb3duTWVudVN1YlRyaWdnZXIsXHJcbiAgICBEcm9wZG93bk1lbnVSYWRpb0dyb3VwLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZSIsIkNoZWNrIiwiQ2hldnJvblJpZ2h0IiwiQ2lyY2xlIiwiY24iLCJEcm9wZG93bk1lbnUiLCJSb290IiwiRHJvcGRvd25NZW51VHJpZ2dlciIsIlRyaWdnZXIiLCJEcm9wZG93bk1lbnVHcm91cCIsIkdyb3VwIiwiRHJvcGRvd25NZW51UG9ydGFsIiwiUG9ydGFsIiwiRHJvcGRvd25NZW51U3ViIiwiU3ViIiwiRHJvcGRvd25NZW51UmFkaW9Hcm91cCIsIlJhZGlvR3JvdXAiLCJEcm9wZG93bk1lbnVTdWJUcmlnZ2VyIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImluc2V0IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlN1YlRyaWdnZXIiLCJkaXNwbGF5TmFtZSIsIkRyb3Bkb3duTWVudVN1YkNvbnRlbnQiLCJTdWJDb250ZW50IiwiRHJvcGRvd25NZW51Q29udGVudCIsInNpZGVPZmZzZXQiLCJDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkl0ZW0iLCJEcm9wZG93bk1lbnVDaGVja2JveEl0ZW0iLCJjaGVja2VkIiwiQ2hlY2tib3hJdGVtIiwic3BhbiIsIkl0ZW1JbmRpY2F0b3IiLCJEcm9wZG93bk1lbnVSYWRpb0l0ZW0iLCJSYWRpb0l0ZW0iLCJEcm9wZG93bk1lbnVMYWJlbCIsIkxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiU2VwYXJhdG9yIiwiRHJvcGRvd25NZW51U2hvcnRjdXQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/dropdown-menu.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/form.tsx": -/*!************************************!*\ - !*** ./src/components/ui/form.tsx ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Form: () => (/* binding */ Form),\n/* harmony export */ FormControl: () => (/* binding */ FormControl),\n/* harmony export */ FormDescription: () => (/* binding */ FormDescription),\n/* harmony export */ FormField: () => (/* binding */ FormField),\n/* harmony export */ FormItem: () => (/* binding */ FormItem),\n/* harmony export */ FormLabel: () => (/* binding */ FormLabel),\n/* harmony export */ FormMessage: () => (/* binding */ FormMessage),\n/* harmony export */ useFormField: () => (/* binding */ useFormField)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* harmony import */ var _components_ui_label__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/label */ \"(ssr)/./src/components/ui/label.tsx\");\n/* __next_internal_client_entry_do_not_use__ useFormField,Form,FormItem,FormLabel,FormControl,FormDescription,FormMessage,FormField auto */ \n\n\n\n\n\nconst Form = react_hook_form__WEBPACK_IMPORTED_MODULE_4__.FormProvider;\nconst FormFieldContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.createContext({});\nconst FormField = ({ ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FormFieldContext.Provider, {\n value: {\n name: props.name\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_hook_form__WEBPACK_IMPORTED_MODULE_4__.Controller, {\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 38,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined);\n};\nconst useFormField = ()=>{\n const fieldContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext(FormFieldContext);\n const itemContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext(FormItemContext);\n const { getFieldState, formState } = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_4__.useFormContext)();\n const fieldState = getFieldState(fieldContext.name, formState);\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within \");\n }\n const { id } = itemContext;\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState\n };\n};\nconst FormItemContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.createContext({});\nconst FormItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const id = react__WEBPACK_IMPORTED_MODULE_1__.useId();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FormItemContext.Provider, {\n value: {\n id\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"space-y-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 82,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 81,\n columnNumber: 9\n }, undefined);\n});\nFormItem.displayName = \"FormItem\";\nconst FormLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const { error, formItemId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(error && \"text-destructive\", className),\n htmlFor: formItemId,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 95,\n columnNumber: 9\n }, undefined);\n});\nFormLabel.displayName = \"FormLabel\";\nconst FormControl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ ...props }, ref)=>{\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_5__.Slot, {\n ref: ref,\n id: formItemId,\n \"aria-describedby\": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,\n \"aria-invalid\": !!error,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 112,\n columnNumber: 9\n }, undefined);\n});\nFormControl.displayName = \"FormControl\";\nconst FormDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const { formDescriptionId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n id: formDescriptionId,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm text-muted-foreground\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 134,\n columnNumber: 9\n }, undefined);\n});\nFormDescription.displayName = \"FormDescription\";\nconst FormMessage = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>{\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message) : children;\n if (!body) {\n return null;\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n id: formMessageId,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm font-medium text-destructive\", className),\n ...props,\n children: body\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 156,\n columnNumber: 9\n }, undefined);\n});\nFormMessage.displayName = \"FormMessage\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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S0E7UUFDTFAsSUFBSUU7UUFDSkksV0FBV3pCLHFEQUFFQSxDQUFDLGlDQUFpQ3lCO1FBQzlDLEdBQUduQixLQUFLOzs7Ozs7QUFHckI7QUFDQThCLGdCQUFnQlAsV0FBVyxHQUFHO0FBRTlCLE1BQU1TLDRCQUFjM0MsNkNBQWdCLENBR2xDLENBQUMsRUFBRThCLFNBQVMsRUFBRWMsUUFBUSxFQUFFLEdBQUdqQyxPQUFPLEVBQUVvQjtJQUNsQyxNQUFNLEVBQUVLLEtBQUssRUFBRVQsYUFBYSxFQUFFLEdBQUdaO0lBQ2pDLE1BQU04QixPQUFPVCxRQUFRVSxPQUFPVixPQUFPVyxXQUFXSDtJQUU5QyxJQUFJLENBQUNDLE1BQU07UUFDUCxPQUFPO0lBQ1g7SUFFQSxxQkFDSSw4REFBQ0g7UUFDR1gsS0FBS0E7UUFDTFAsSUFBSUc7UUFDSkcsV0FBV3pCLHFEQUFFQSxDQUFDLHdDQUF3Q3lCO1FBQ3JELEdBQUduQixLQUFLO2tCQUVSa0M7Ozs7OztBQUdiO0FBQ0FGLFlBQVlULFdBQVcsR0FBRztBQVd6QiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGZvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBTbG90IH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1zbG90XCJcclxuaW1wb3J0IHtcclxuICAgIENvbnRyb2xsZXIsXHJcbiAgICBDb250cm9sbGVyUHJvcHMsXHJcbiAgICBGaWVsZFBhdGgsXHJcbiAgICBGaWVsZFZhbHVlcyxcclxuICAgIEZvcm1Qcm92aWRlcixcclxuICAgIHVzZUZvcm1Db250ZXh0LFxyXG59IGZyb20gXCJyZWFjdC1ob29rLWZvcm1cIlxyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuaW1wb3J0IHsgTGFiZWwgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2xhYmVsXCJcclxuXHJcbmNvbnN0IEZvcm0gPSBGb3JtUHJvdmlkZXJcclxuXHJcbnR5cGUgRm9ybUZpZWxkQ29udGV4dFZhbHVlPFxyXG4gICAgVEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXMgPSBGaWVsZFZhbHVlcyxcclxuICAgIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4gPSBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPlxyXG4+ID0ge1xyXG4gICAgbmFtZTogVE5hbWVcclxufVxyXG5cclxuY29uc3QgRm9ybUZpZWxkQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8Rm9ybUZpZWxkQ29udGV4dFZhbHVlPihcclxuICAgIHt9IGFzIEZvcm1GaWVsZENvbnRleHRWYWx1ZVxyXG4pXHJcblxyXG5jb25zdCBGb3JtRmllbGQgPSA8XHJcbiAgICBURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcyA9IEZpZWxkVmFsdWVzLFxyXG4gICAgVE5hbWUgZXh0ZW5kcyBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPiA9IEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+XHJcbj4oe1xyXG4gICAgLi4ucHJvcHNcclxufTogQ29udHJvbGxlclByb3BzPFRGaWVsZFZhbHVlcywgVE5hbWU+KSA9PiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxGb3JtRmllbGRDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IG5hbWU6IHByb3BzLm5hbWUgfX0+XHJcbiAgICAgICAgICAgIDxDb250cm9sbGVyIHsuLi5wcm9wc30gLz5cclxuICAgICAgICA8L0Zvcm1GaWVsZENvbnRleHQuUHJvdmlkZXI+XHJcbiAgICApXHJcbn1cclxuXHJcbmNvbnN0IHVzZUZvcm1GaWVsZCA9ICgpID0+IHtcclxuICAgIGNvbnN0IGZpZWxkQ29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoRm9ybUZpZWxkQ29udGV4dClcclxuICAgIGNvbnN0IGl0ZW1Db250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChGb3JtSXRlbUNvbnRleHQpXHJcbiAgICBjb25zdCB7IGdldEZpZWxkU3RhdGUsIGZvcm1TdGF0ZSB9ID0gdXNlRm9ybUNvbnRleHQoKVxyXG5cclxuICAgIGNvbnN0IGZpZWxkU3RhdGUgPSBnZXRGaWVsZFN0YXRlKGZpZWxkQ29udGV4dC5uYW1lLCBmb3JtU3RhdGUpXHJcblxyXG4gICAgaWYgKCFmaWVsZENvbnRleHQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VGb3JtRmllbGQgc2hvdWxkIGJlIHVzZWQgd2l0aGluIDxGb3JtRmllbGQ+XCIpXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBpZCB9ID0gaXRlbUNvbnRleHRcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIG5hbWU6IGZpZWxkQ29udGV4dC5uYW1lLFxyXG4gICAgICAgIGZvcm1JdGVtSWQ6IGAke2lkfS1mb3JtLWl0ZW1gLFxyXG4gICAgICAgIGZvcm1EZXNjcmlwdGlvbklkOiBgJHtpZH0tZm9ybS1pdGVtLWRlc2NyaXB0aW9uYCxcclxuICAgICAgICBmb3JtTWVzc2FnZUlkOiBgJHtpZH0tZm9ybS1pdGVtLW1lc3NhZ2VgLFxyXG4gICAgICAgIC4uLmZpZWxkU3RhdGUsXHJcbiAgICB9XHJcbn1cclxuXHJcbnR5cGUgRm9ybUl0ZW1Db250ZXh0VmFsdWUgPSB7XHJcbiAgICBpZDogc3RyaW5nXHJcbn1cclxuXHJcbmNvbnN0IEZvcm1JdGVtQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8Rm9ybUl0ZW1Db250ZXh0VmFsdWU+KFxyXG4gICAge30gYXMgRm9ybUl0ZW1Db250ZXh0VmFsdWVcclxuKVxyXG5cclxuY29uc3QgRm9ybUl0ZW0gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgY29uc3QgaWQgPSBSZWFjdC51c2VJZCgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybUl0ZW1Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IGlkIH19PlxyXG4gICAgICAgICAgICA8ZGl2IHJlZj17cmVmfSBjbGFzc05hbWU9e2NuKFwic3BhY2UteS0yXCIsIGNsYXNzTmFtZSl9IHsuLi5wcm9wc30gLz5cclxuICAgICAgICA8L0Zvcm1JdGVtQ29udGV4dC5Qcm92aWRlcj5cclxuICAgIClcclxufSlcclxuRm9ybUl0ZW0uZGlzcGxheU5hbWUgPSBcIkZvcm1JdGVtXCJcclxuXHJcbmNvbnN0IEZvcm1MYWJlbCA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBMYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIExhYmVsPlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGVycm9yLCBmb3JtSXRlbUlkIH0gPSB1c2VGb3JtRmllbGQoKVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPExhYmVsXHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKGVycm9yICYmIFwidGV4dC1kZXN0cnVjdGl2ZVwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgICAgICBodG1sRm9yPXtmb3JtSXRlbUlkfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIClcclxufSlcclxuRm9ybUxhYmVsLmRpc3BsYXlOYW1lID0gXCJGb3JtTGFiZWxcIlxyXG5cclxuY29uc3QgRm9ybUNvbnRyb2wgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2xvdD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFNsb3Q+XHJcbj4oKHsgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGVycm9yLCBmb3JtSXRlbUlkLCBmb3JtRGVzY3JpcHRpb25JZCwgZm9ybU1lc3NhZ2VJZCB9ID0gdXNlRm9ybUZpZWxkKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTbG90XHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBpZD17Zm9ybUl0ZW1JZH1cclxuICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XHJcbiAgICAgICAgICAgICAgICAhZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICA/IGAke2Zvcm1EZXNjcmlwdGlvbklkfWBcclxuICAgICAgICAgICAgICAgICAgICA6IGAke2Zvcm1EZXNjcmlwdGlvbklkfSAke2Zvcm1NZXNzYWdlSWR9YFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGFyaWEtaW52YWxpZD17ISFlcnJvcn1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgIC8+XHJcbiAgICApXHJcbn0pXHJcbkZvcm1Db250cm9sLmRpc3BsYXlOYW1lID0gXCJGb3JtQ29udHJvbFwiXHJcblxyXG5jb25zdCBGb3JtRGVzY3JpcHRpb24gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTFBhcmFncmFwaEVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MUGFyYWdyYXBoRWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBmb3JtRGVzY3JpcHRpb25JZCB9ID0gdXNlRm9ybUZpZWxkKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxwXHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBpZD17Zm9ybURlc2NyaXB0aW9uSWR9XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXCJ0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIClcclxufSlcclxuRm9ybURlc2NyaXB0aW9uLmRpc3BsYXlOYW1lID0gXCJGb3JtRGVzY3JpcHRpb25cIlxyXG5cclxuY29uc3QgRm9ybU1lc3NhZ2UgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTFBhcmFncmFwaEVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MUGFyYWdyYXBoRWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgIGNvbnN0IHsgZXJyb3IsIGZvcm1NZXNzYWdlSWQgfSA9IHVzZUZvcm1GaWVsZCgpXHJcbiAgICBjb25zdCBib2R5ID0gZXJyb3IgPyBTdHJpbmcoZXJyb3I/Lm1lc3NhZ2UpIDogY2hpbGRyZW5cclxuXHJcbiAgICBpZiAoIWJvZHkpIHtcclxuICAgICAgICByZXR1cm4gbnVsbFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPHBcclxuICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgIGlkPXtmb3JtTWVzc2FnZUlkfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwidGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWRlc3RydWN0aXZlXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIHtib2R5fVxyXG4gICAgICAgIDwvcD5cclxuICAgIClcclxufSlcclxuRm9ybU1lc3NhZ2UuZGlzcGxheU5hbWUgPSBcIkZvcm1NZXNzYWdlXCJcclxuXHJcbmV4cG9ydCB7XHJcbiAgICB1c2VGb3JtRmllbGQsXHJcbiAgICBGb3JtLFxyXG4gICAgRm9ybUl0ZW0sXHJcbiAgICBGb3JtTGFiZWwsXHJcbiAgICBGb3JtQ29udHJvbCxcclxuICAgIEZvcm1EZXNjcmlwdGlvbixcclxuICAgIEZvcm1NZXNzYWdlLFxyXG4gICAgRm9ybUZpZWxkLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlNsb3QiLCJDb250cm9sbGVyIiwiRm9ybVByb3ZpZGVyIiwidXNlRm9ybUNvbnRleHQiLCJjbiIsIkxhYmVsIiwiRm9ybSIsIkZvcm1GaWVsZENvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiRm9ybUZpZWxkIiwicHJvcHMiLCJQcm92aWRlciIsInZhbHVlIiwibmFtZSIsInVzZUZvcm1GaWVsZCIsImZpZWxkQ29udGV4dCIsInVzZUNvbnRleHQiLCJpdGVtQ29udGV4dCIsIkZvcm1JdGVtQ29udGV4dCIsImdldEZpZWxkU3RhdGUiLCJmb3JtU3RhdGUiLCJmaWVsZFN0YXRlIiwiRXJyb3IiLCJpZCIsImZvcm1JdGVtSWQiLCJmb3JtRGVzY3JpcHRpb25JZCIsImZvcm1NZXNzYWdlSWQiLCJGb3JtSXRlbSIsImZvcndhcmRSZWYiLCJjbGFzc05hbWUiLCJyZWYiLCJ1c2VJZCIsImRpdiIsImRpc3BsYXlOYW1lIiwiRm9ybUxhYmVsIiwiZXJyb3IiLCJodG1sRm9yIiwiRm9ybUNvbnRyb2wiLCJhcmlhLWRlc2NyaWJlZGJ5IiwiYXJpYS1pbnZhbGlkIiwiRm9ybURlc2NyaXB0aW9uIiwicCIsIkZvcm1NZXNzYWdlIiwiY2hpbGRyZW4iLCJib2R5IiwiU3RyaW5nIiwibWVzc2FnZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/form.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/input.tsx": -/*!*************************************!*\ - !*** ./src/components/ui/input.tsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Input: () => (/* binding */ Input)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Input = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, type, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: type,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\", className),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\input.tsx\",\n lineNumber: 8,\n columnNumber: 13\n }, undefined);\n});\nInput.displayName = \"Input\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9pbnB1dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUE4QjtBQUVTO0FBRXZDLE1BQU1FLHNCQUFRRiw2Q0FBZ0IsQ0FDMUIsQ0FBQyxFQUFFSSxTQUFTLEVBQUVDLElBQUksRUFBRSxHQUFHQyxPQUFPLEVBQUVDO0lBQzVCLHFCQUNJLDhEQUFDQztRQUNHSCxNQUFNQTtRQUNORCxXQUFXSCxxREFBRUEsQ0FDVCxrWUFDQUc7UUFFSkcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosTUFBTU8sV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxpbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuXHJcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvc2hhcmVkL2xpYi91dGlsc1wiXHJcblxyXG5jb25zdCBJbnB1dCA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJpbnB1dFwiPj4oXHJcbiAgICAoeyBjbGFzc05hbWUsIHR5cGUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT17dHlwZX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgXCJmbGV4IGgtMTAgdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktMiB0ZXh0LWJhc2UgcmluZy1vZmZzZXQtYmFja2dyb3VuZCBmaWxlOmJvcmRlci0wIGZpbGU6YmctdHJhbnNwYXJlbnQgZmlsZTp0ZXh0LXNtIGZpbGU6Zm9udC1tZWRpdW0gZmlsZTp0ZXh0LWZvcmVncm91bmQgcGxhY2Vob2xkZXI6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCBtZDp0ZXh0LXNtXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbklucHV0LmRpc3BsYXlOYW1lID0gXCJJbnB1dFwiXHJcblxyXG5leHBvcnQgeyBJbnB1dCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiSW5wdXQiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwidHlwZSIsInByb3BzIiwicmVmIiwiaW5wdXQiLCJkaXNwbGF5TmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/input.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/label.tsx": -/*!*************************************!*\ - !*** ./src/components/ui/label.tsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Label: () => (/* binding */ Label)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-label */ \"(ssr)/./node_modules/@radix-ui/react-label/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst labelVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\");\nconst Label = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__.Root, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(labelVariants(), className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\label.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined));\nLabel.displayName = _radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__.Root.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9sYWJlbC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQThCO0FBQ3lCO0FBQ1U7QUFFMUI7QUFFdkMsTUFBTUksZ0JBQWdCRiw2REFBR0EsQ0FDckI7QUFHSixNQUFNRyxzQkFBUUwsNkNBQWdCLENBSTVCLENBQUMsRUFBRU8sU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDUix1REFBbUI7UUFDaEJRLEtBQUtBO1FBQ0xGLFdBQVdKLHFEQUFFQSxDQUFDQyxpQkFBaUJHO1FBQzlCLEdBQUdDLEtBQUs7Ozs7OztBQUdqQkgsTUFBTU0sV0FBVyxHQUFHVix1REFBbUIsQ0FBQ1UsV0FBVztBQUVuQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGxhYmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBMYWJlbFByaW1pdGl2ZSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWxhYmVsXCJcclxuaW1wb3J0IHsgY3ZhLCB0eXBlIFZhcmlhbnRQcm9wcyB9IGZyb20gXCJjbGFzcy12YXJpYW5jZS1hdXRob3JpdHlcIlxyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IGxhYmVsVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcInRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy1ub25lIHBlZXItZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIHBlZXItZGlzYWJsZWQ6b3BhY2l0eS03MFwiXHJcbilcclxuXHJcbmNvbnN0IExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIExhYmVsUHJpbWl0aXZlLlJvb3Q+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBMYWJlbFByaW1pdGl2ZS5Sb290PiAmXHJcbiAgICBWYXJpYW50UHJvcHM8dHlwZW9mIGxhYmVsVmFyaWFudHM+XHJcbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxMYWJlbFByaW1pdGl2ZS5Sb290XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihsYWJlbFZhcmlhbnRzKCksIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuTGFiZWwuZGlzcGxheU5hbWUgPSBMYWJlbFByaW1pdGl2ZS5Sb290LmRpc3BsYXlOYW1lXHJcblxyXG5leHBvcnQgeyBMYWJlbCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkxhYmVsUHJpbWl0aXZlIiwiY3ZhIiwiY24iLCJsYWJlbFZhcmlhbnRzIiwiTGFiZWwiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZWYiLCJSb290IiwiZGlzcGxheU5hbWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/label.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toaster: () => (/* binding */ Toaster)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ Toaster auto */ \n\n\nconst Toaster = ({ ...props })=>{\n const { theme = \"system\" } = (0,next_themes__WEBPACK_IMPORTED_MODULE_1__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(sonner__WEBPACK_IMPORTED_MODULE_2__.Toaster, {\n theme: theme,\n className: \"toaster group\",\n toastOptions: {\n classNames: {\n toast: \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toaster]:text-muted-foreground\",\n actionButton: \"group-[.toaster]:bg-primary group-[.toaster]:text-primary-foreground\",\n cancelButton: \"group-[.toaster]:bg-muted group-[.toaster]:text-muted-foreground\"\n }\n },\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\sonner.tsx\",\n lineNumber: 12,\n columnNumber: 9\n }, undefined);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zb25uZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVzQztBQUNJO0FBSTFDLE1BQU1DLFVBQVUsQ0FBQyxFQUFFLEdBQUdFLE9BQXFCO0lBQ3ZDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLEVBQUUsR0FBR0oscURBQVFBO0lBRXJDLHFCQUNJLDhEQUFDRSwyQ0FBTUE7UUFDSEUsT0FBT0E7UUFDUEMsV0FBVTtRQUNWQyxjQUFjO1lBQ1ZDLFlBQVk7Z0JBQ1JDLE9BQ0k7Z0JBQ0pDLGFBQWE7Z0JBQ2JDLGNBQ0k7Z0JBQ0pDLGNBQ0k7WUFDUjtRQUNKO1FBQ0MsR0FBR1IsS0FBSzs7Ozs7O0FBR3JCO0FBRWtCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcc29ubmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5pbXBvcnQgeyBUb2FzdGVyIGFzIFNvbm5lciB9IGZyb20gXCJzb25uZXJcIlxyXG5cclxudHlwZSBUb2FzdGVyUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgU29ubmVyPlxyXG5cclxuY29uc3QgVG9hc3RlciA9ICh7IC4uLnByb3BzIH06IFRvYXN0ZXJQcm9wcykgPT4ge1xyXG4gICAgY29uc3QgeyB0aGVtZSA9IFwic3lzdGVtXCIgfSA9IHVzZVRoZW1lKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTb25uZXJcclxuICAgICAgICAgICAgdGhlbWU9e3RoZW1lIGFzIFRvYXN0ZXJQcm9wc1tcInRoZW1lXCJdfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0b2FzdGVyIGdyb3VwXCJcclxuICAgICAgICAgICAgdG9hc3RPcHRpb25zPXt7XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9hc3Q6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JvdXAgdG9hc3QgZ3JvdXAtWy50b2FzdGVyXTpiZy1iYWNrZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06dGV4dC1mb3JlZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06Ym9yZGVyLWJvcmRlciBncm91cC1bLnRvYXN0ZXJdOnNoYWRvdy1sZ1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImdyb3VwLVsudG9hc3Rlcl06dGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctcHJpbWFyeSBncm91cC1bLnRvYXN0ZXJdOnRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctbXV0ZWQgZ3JvdXAtWy50b2FzdGVyXTp0ZXh0LW11dGVkLWZvcmVncm91bmRcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgeyBUb2FzdGVyIH1cclxuIl0sIm5hbWVzIjpbInVzZVRoZW1lIiwiVG9hc3RlciIsIlNvbm5lciIsInByb3BzIiwidGhlbWUiLCJjbGFzc05hbWUiLCJ0b2FzdE9wdGlvbnMiLCJjbGFzc05hbWVzIiwidG9hc3QiLCJkZXNjcmlwdGlvbiIsImFjdGlvbkJ1dHRvbiIsImNhbmNlbEJ1dHRvbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/sonner.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/switch.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/switch.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Switch: () => (/* binding */ Switch)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Switch auto */ \n\n\n/**\r\n * Переключатель (тумблер) — аналог Shadcn Switch.\r\n * Используется для тумблера «На линии» в шапке.\r\n */ const Switch = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, checked = false, onCheckedChange, disabled, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n disabled: disabled,\n ref: ref,\n onClick: ()=>onCheckedChange?.(!checked),\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors\", \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\", \"disabled:cursor-not-allowed disabled:opacity-50\", checked ? \"bg-green-500\" : \"bg-input\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform\", checked ? \"translate-x-5\" : \"translate-x-0\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined);\n});\nSwitch.displayName = \"Switch\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zd2l0Y2gudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFOEI7QUFDUztBQU92Qzs7O0NBR0MsR0FDRCxNQUFNRSx1QkFBU0YsNkNBQWdCLENBQzNCLENBQUMsRUFBRUksU0FBUyxFQUFFQyxVQUFVLEtBQUssRUFBRUMsZUFBZSxFQUFFQyxRQUFRLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUNsRSxxQkFDSSw4REFBQ0M7UUFDR0MsTUFBSztRQUNMQyxNQUFLO1FBQ0xDLGdCQUFjUjtRQUNkRSxVQUFVQTtRQUNWRSxLQUFLQTtRQUNMSyxTQUFTLElBQU1SLGtCQUFrQixDQUFDRDtRQUNsQ0QsV0FBV0gscURBQUVBLENBQ1QsNkhBQ0EsNElBQ0EsbURBQ0FJLFVBQVUsaUJBQWlCLFlBQzNCRDtRQUVILEdBQUdJLEtBQUs7a0JBRVQsNEVBQUNPO1lBQ0dYLFdBQVdILHFEQUFFQSxDQUNULHNHQUNBSSxVQUFVLGtCQUFrQjs7Ozs7Ozs7Ozs7QUFLaEQ7QUFFSkgsT0FBT2MsV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxzd2l0Y2gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuaW50ZXJmYWNlIFN3aXRjaFByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuXHJcbiAgICBvbkNoZWNrZWRDaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZFxyXG59XHJcblxyXG4vKipcclxuICog0J/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70YwgKNGC0YPQvNCx0LvQtdGAKSDigJQg0LDQvdCw0LvQvtCzIFNoYWRjbiBTd2l0Y2guXHJcbiAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YLRg9C80LHQu9C10YDQsCDCq9Cd0LAg0LvQuNC90LjQuMK7INCyINGI0LDQv9C60LUuXHJcbiAqL1xyXG5jb25zdCBTd2l0Y2ggPSBSZWFjdC5mb3J3YXJkUmVmPEhUTUxCdXR0b25FbGVtZW50LCBTd2l0Y2hQcm9wcz4oXHJcbiAgICAoeyBjbGFzc05hbWUsIGNoZWNrZWQgPSBmYWxzZSwgb25DaGVja2VkQ2hhbmdlLCBkaXNhYmxlZCwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcclxuICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cclxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cclxuICAgICAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGVja2VkQ2hhbmdlPy4oIWNoZWNrZWQpfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICBcInBlZXIgaW5saW5lLWZsZXggaC02IHctMTEgc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItdHJhbnNwYXJlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIixcclxuICAgICAgICAgICAgICAgICAgICBcImZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LWJhY2tncm91bmRcIixcclxuICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwiYmctZ3JlZW4tNTAwXCIgOiBcImJnLWlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicG9pbnRlci1ldmVudHMtbm9uZSBibG9jayBoLTUgdy01IHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1sZyByaW5nLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm1cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwidHJhbnNsYXRlLXgtNVwiIDogXCJ0cmFuc2xhdGUteC0wXCJcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcblN3aXRjaC5kaXNwbGF5TmFtZSA9IFwiU3dpdGNoXCJcclxuXHJcbmV4cG9ydCB7IFN3aXRjaCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiU3dpdGNoIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImNoZWNrZWQiLCJvbkNoZWNrZWRDaGFuZ2UiLCJkaXNhYmxlZCIsInByb3BzIiwicmVmIiwiYnV0dG9uIiwidHlwZSIsInJvbGUiLCJhcmlhLWNoZWNrZWQiLCJvbkNsaWNrIiwic3BhbiIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/switch.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/entities/session/store.ts": -/*!***************************************!*\ - !*** ./src/entities/session/store.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSessionStore: () => (/* binding */ useSessionStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/shared/api/axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n\n\nconst useSessionStore = (0,zustand__WEBPACK_IMPORTED_MODULE_2__.create)((set, get)=>({\n user: null,\n isAuth: false,\n isLoading: false,\n isInitialized: false,\n checkAuth: async ()=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (!token) {\n set({\n isInitialized: true,\n isAuth: false\n });\n return;\n }\n set({\n isLoading: true\n });\n try {\n await get().getProfile();\n set({\n isAuth: true,\n isInitialized: true\n });\n } catch (error) {\n console.error(\"Auth check failed\", error);\n // Токен недействителен, очищаем состояние\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false,\n isInitialized: true\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n login: async (phone, password)=>{\n set({\n isLoading: true\n });\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/login\", {\n phone,\n password\n });\n const { accessToken, refreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", refreshToken);\n set({\n isAuth: true\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n register: async (data)=>{\n set({\n isLoading: true\n });\n try {\n // Убираем confirmPassword перед отправкой на бэкенд\n const { confirmPassword, ...registerData } = data;\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/register\", registerData);\n } finally{\n set({\n isLoading: false\n });\n }\n },\n logout: ()=>{\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false\n });\n if (false) {}\n },\n getProfile: async ()=>{\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.get(\"/profile\", {\n params: {\n _t: Date.now()\n } // bypass cache\n });\n set({\n user: response.data,\n isAuth: true\n });\n } catch (error) {\n console.error(\"Profile load failed\", error);\n }\n },\n updateProfile: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile\", data);\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePhone: async (newPhone)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-phone\", {\n newPhone\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformer: async ()=>{\n set({\n isLoading: true\n });\n try {\n // Исправлен путь: убрали лишний /api, так как он уже есть в baseURL\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\");\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformerFull: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\", {\n description: data.description,\n competencies: data.competencies,\n location: data.location,\n currentLocation: null,\n isAlwaysReady: data.workSchedule.isAlwaysReady,\n workingDays: data.workSchedule.isAlwaysReady ? null : JSON.stringify(data.workSchedule.schedulePerDay)\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateCompetencies: async (competencies)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/competencies\", {\n Competencies: competencies\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n uploadAvatar: async (file)=>{\n set({\n isLoading: true\n });\n try {\n const formData = new FormData();\n formData.append(\"file\", file);\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/avatar\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePassword: async (oldPassword, newPassword)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-password\", {\n accountId: userId,\n oldPassword,\n newPassword\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateLocation: async (location, currentLocation)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/location\", {\n accountId: userId,\n location,\n currentLocation\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateSchedule: async (isAlwaysReady, schedulePerDay)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n const workingDaysJson = isAlwaysReady ? \"[]\" : JSON.stringify(schedulePerDay || {});\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/schedule\", {\n accountId: userId,\n isAlwaysReady,\n workingDaysJson\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LGdCQUFnQixPQUFPdEIsZUFBZUs7WUFDbEM1QyxJQUFJO2dCQUFFSSxXQUFXO1lBQUs7WUFDdEIsSUFBSTtnQkFDQSxNQUFNb0QsU0FBU3ZELE1BQU1DLElBQUksRUFBRXVEO2dCQUMzQixJQUFJLENBQUNELFFBQVEsTUFBTSxJQUFJRSxNQUFNO2dCQUU3QixNQUFNSSxrQkFBa0J2QixnQkFDbEIsT0FDQUcsS0FBS0MsU0FBUyxDQUFDQyxrQkFBa0IsQ0FBQztnQkFFeEMsTUFBTTlDLGtEQUFHQSxDQUFDaUMsR0FBRyxDQUFDLHFCQUFxQjtvQkFDL0I0QixXQUFXSDtvQkFDWGpCO29CQUNBdUI7Z0JBQ0o7Z0JBQ0EsTUFBTTdELE1BQU1PLFVBQVU7WUFDMUIsU0FBVTtnQkFDTlIsSUFBSTtvQkFBRUksV0FBVztnQkFBTTtZQUMzQjtRQUNKO0lBQ0osSUFBSSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcZW50aXRpZXNcXHNlc3Npb25cXHN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHNldENvb2tpZSwgZGVsZXRlQ29va2llLCBnZXRDb29raWUgfSBmcm9tIFwiY29va2llcy1uZXh0XCI7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvYXhpb3NcIjtcclxuXHJcbmludGVyZmFjZSBVc2VyIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBwaG9uZTogc3RyaW5nO1xyXG4gICAgcm9sZXM6IHN0cmluZ1tdO1xyXG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xyXG4gICAgcGF0cm9ueW1pYz86IHN0cmluZztcclxuICAgIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xyXG4gICAgaW5uPzogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgICBsb2NhdGlvbj86IHN0cmluZztcclxuICAgIGN1cnJlbnRMb2NhdGlvbj86IHN0cmluZztcclxuICAgIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgICBhdmF0YXJVcmw/OiBzdHJpbmc7XHJcbiAgICBjb21wZXRlbmNpZXM6IHN0cmluZ1tdO1xyXG4gICAgd29ya1NjaGVkdWxlPzoge1xyXG4gICAgICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICAgICAgc2NoZWR1bGVQZXJEYXk/OiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7IHN0YXJ0OiBzdHJpbmc7IGVuZDogc3RyaW5nIH0+PjtcclxuICAgIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBXb3JrU2NoZWR1bGVEYXRhIHtcclxuICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICBzY2hlZHVsZVBlckRheTogUmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9Pj47XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZXNzaW9uU3RhdGUge1xyXG4gICAgdXNlcjogVXNlciB8IG51bGw7XHJcbiAgICBpc0F1dGg6IGJvb2xlYW47XHJcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xyXG4gICAgY2hlY2tBdXRoOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgbG9naW46IChwaG9uZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgcmVnaXN0ZXI6IChkYXRhOiBhbnkpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBsb2dvdXQ6ICgpID0+IHZvaWQ7XHJcbiAgICBnZXRQcm9maWxlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlUHJvZmlsZTogKGRhdGE6IHsgZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcsIHBhdHJvbnltaWM/OiBzdHJpbmcsIGNvbXBhbnlOYW1lPzogc3RyaW5nLCBpbm4/OiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBjaGFuZ2VQaG9uZTogKG5ld1Bob25lOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXI6ICgpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiAoZGF0YToge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICAgICAgY29tcGV0ZW5jaWVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb2NhdGlvbjogc3RyaW5nO1xyXG4gICAgICAgIHdvcmtTY2hlZHVsZTogV29ya1NjaGVkdWxlRGF0YTtcclxuICAgIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICB1cGRhdGVDb21wZXRlbmNpZXM6IChjb21wZXRlbmNpZXM6IHN0cmluZ1tdKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBsb2FkQXZhdGFyOiAoZmlsZTogRmlsZSkgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIGNoYW5nZVBhc3N3b3JkOiAob2xkUGFzc3dvcmQ6IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIHVwZGF0ZUxvY2F0aW9uOiAobG9jYXRpb246IHN0cmluZywgY3VycmVudExvY2F0aW9uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlU2NoZWR1bGU6IChpc0Fsd2F5c1JlYWR5OiBib29sZWFuLCBzY2hlZHVsZVBlckRheT86IFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfT4+KSA9PiBQcm9taXNlPHZvaWQ+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdXNlU2Vzc2lvblN0b3JlID0gY3JlYXRlPFNlc3Npb25TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgdXNlcjogbnVsbCxcclxuICAgIGlzQXV0aDogZmFsc2UsXHJcbiAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgaXNJbml0aWFsaXplZDogZmFsc2UsXHJcblxyXG4gICAgY2hlY2tBdXRoOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuXHJcbiAgICAgICAgaWYgKCF0b2tlbikge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0luaXRpYWxpemVkOiB0cnVlLCBpc0F1dGg6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICAgICAgc2V0KHsgaXNBdXRoOiB0cnVlLCBpc0luaXRpYWxpemVkOiB0cnVlIH0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJBdXRoIGNoZWNrIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIC8vINCi0L7QutC10L0g0L3QtdC00LXQudGB0YLQstC40YLQtdC70LXQvSwg0L7Rh9C40YnQsNC10Lwg0YHQvtGB0YLQvtGP0L3QuNC1XHJcbiAgICAgICAgICAgIGRlbGV0ZUNvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IG51bGwsIGlzQXV0aDogZmFsc2UsIGlzSW5pdGlhbGl6ZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGxvZ2luOiBhc3luYyAocGhvbmUsIHBhc3N3b3JkKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9sb2dpblwiLCB7IHBob25lLCBwYXNzd29yZCB9KTtcclxuICAgICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgc2V0Q29va2llKFwiYWNjZXNzVG9rZW5cIiwgYWNjZXNzVG9rZW4pO1xyXG4gICAgICAgICAgICBzZXRDb29raWUoXCJyZWZyZXNoVG9rZW5cIiwgcmVmcmVzaFRva2VuKTtcclxuXHJcbiAgICAgICAgICAgIHNldCh7IGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICByZWdpc3RlcjogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQo9Cx0LjRgNCw0LXQvCBjb25maXJtUGFzc3dvcmQg0L/QtdGA0LXQtCDQvtGC0L/RgNCw0LLQutC+0Lkg0L3QsCDQsdGN0LrQtdC90LRcclxuICAgICAgICAgICAgY29uc3QgeyBjb25maXJtUGFzc3dvcmQsIC4uLnJlZ2lzdGVyRGF0YSB9ID0gZGF0YTtcclxuICAgICAgICAgICAgYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9yZWdpc3RlclwiLCByZWdpc3RlckRhdGEpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBsb2dvdXQ6ICgpID0+IHtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgc2V0KHsgdXNlcjogbnVsbCwgaXNBdXRoOiBmYWxzZSB9KTtcclxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiL2F1dGgvbG9naW5cIjtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFByb2ZpbGU6IGFzeW5jICgpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQoXCIvcHJvZmlsZVwiLCB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHsgX3Q6IERhdGUubm93KCkgfSAvLyBieXBhc3MgY2FjaGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IHJlc3BvbnNlLmRhdGEsIGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiUHJvZmlsZSBsb2FkIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVQcm9maWxlOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucHV0KFwiL3Byb2ZpbGVcIiwgZGF0YSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgY2hhbmdlUGhvbmU6IGFzeW5jIChuZXdQaG9uZSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1waG9uZVwiLCB7IG5ld1Bob25lIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGJlY29tZVBlcmZvcm1lcjogYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQmNGB0L/RgNCw0LLQu9C10L0g0L/Rg9GC0Yw6INGD0LHRgNCw0LvQuCDQu9C40YjQvdC40LkgL2FwaSwg0YLQsNC6INC60LDQuiDQvtC9INGD0LbQtSDQtdGB0YLRjCDQsiBiYXNlVVJMXHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYmVjb21lLXBlcmZvcm1lclwiKTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2JlY29tZS1wZXJmb3JtZXJcIiwge1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRhdGEuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICBjb21wZXRlbmNpZXM6IGRhdGEuY29tcGV0ZW5jaWVzLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGRhdGEubG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgICAgICBpc0Fsd2F5c1JlYWR5OiBkYXRhLndvcmtTY2hlZHVsZS5pc0Fsd2F5c1JlYWR5LFxyXG4gICAgICAgICAgICAgICAgd29ya2luZ0RheXM6IGRhdGEud29ya1NjaGVkdWxlLmlzQWx3YXlzUmVhZHlcclxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KGRhdGEud29ya1NjaGVkdWxlLnNjaGVkdWxlUGVyRGF5KSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgdXBkYXRlQ29tcGV0ZW5jaWVzOiBhc3luYyAoY29tcGV0ZW5jaWVzKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wdXQoXCIvcHJvZmlsZS9jb21wZXRlbmNpZXNcIiwgeyBDb21wZXRlbmNpZXM6IGNvbXBldGVuY2llcyB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGxvYWRBdmF0YXI6IGFzeW5jIChmaWxlKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYXZhdGFyXCIsIGZvcm1EYXRhLCB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBjaGFuZ2VQYXNzd29yZDogYXN5bmMgKG9sZFBhc3N3b3JkLCBuZXdQYXNzd29yZCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1c2VySWQgPSBnZXQoKS51c2VyPy5pZDtcclxuICAgICAgICAgICAgaWYgKCF1c2VySWQpIHRocm93IG5ldyBFcnJvcihcItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L1cIik7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1wYXNzd29yZFwiLCB7XHJcbiAgICAgICAgICAgICAgICBhY2NvdW50SWQ6IHVzZXJJZCxcclxuICAgICAgICAgICAgICAgIG9sZFBhc3N3b3JkLFxyXG4gICAgICAgICAgICAgICAgbmV3UGFzc3dvcmQsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVMb2NhdGlvbjogYXN5bmMgKGxvY2F0aW9uLCBjdXJyZW50TG9jYXRpb24pID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL2xvY2F0aW9uXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb24sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZVNjaGVkdWxlOiBhc3luYyAoaXNBbHdheXNSZWFkeSwgc2NoZWR1bGVQZXJEYXkpID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgd29ya2luZ0RheXNKc29uID0gaXNBbHdheXNSZWFkeVxyXG4gICAgICAgICAgICAgICAgPyBcIltdXCJcclxuICAgICAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkoc2NoZWR1bGVQZXJEYXkgfHwge30pO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL3NjaGVkdWxlXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgaXNBbHdheXNSZWFkeSxcclxuICAgICAgICAgICAgICAgIHdvcmtpbmdEYXlzSnNvbixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbn0pKTtcclxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsInNldENvb2tpZSIsImRlbGV0ZUNvb2tpZSIsImdldENvb2tpZSIsImFwaSIsInVzZVNlc3Npb25TdG9yZSIsInNldCIsImdldCIsInVzZXIiLCJpc0F1dGgiLCJpc0xvYWRpbmciLCJpc0luaXRpYWxpemVkIiwiY2hlY2tBdXRoIiwidG9rZW4iLCJnZXRQcm9maWxlIiwiZXJyb3IiLCJjb25zb2xlIiwibG9naW4iLCJwaG9uZSIsInBhc3N3b3JkIiwicmVzcG9uc2UiLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJyZWZyZXNoVG9rZW4iLCJkYXRhIiwicmVnaXN0ZXIiLCJjb25maXJtUGFzc3dvcmQiLCJyZWdpc3RlckRhdGEiLCJsb2dvdXQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJwYXJhbXMiLCJfdCIsIkRhdGUiLCJub3ciLCJ1cGRhdGVQcm9maWxlIiwicHV0IiwiY2hhbmdlUGhvbmUiLCJuZXdQaG9uZSIsImJlY29tZVBlcmZvcm1lciIsImJlY29tZVBlcmZvcm1lckZ1bGwiLCJkZXNjcmlwdGlvbiIsImNvbXBldGVuY2llcyIsImN1cnJlbnRMb2NhdGlvbiIsImlzQWx3YXlzUmVhZHkiLCJ3b3JrU2NoZWR1bGUiLCJ3b3JraW5nRGF5cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzY2hlZHVsZVBlckRheSIsInVwZGF0ZUNvbXBldGVuY2llcyIsIkNvbXBldGVuY2llcyIsInVwbG9hZEF2YXRhciIsImZpbGUiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiaGVhZGVycyIsImNoYW5nZVBhc3N3b3JkIiwib2xkUGFzc3dvcmQiLCJuZXdQYXNzd29yZCIsInVzZXJJZCIsImlkIiwiRXJyb3IiLCJhY2NvdW50SWQiLCJ1cGRhdGVMb2NhdGlvbiIsInVwZGF0ZVNjaGVkdWxlIiwid29ya2luZ0RheXNKc29uIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/entities/session/store.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/features/auth/LoginForm.tsx": -/*!*****************************************!*\ - !*** ./src/features/auth/LoginForm.tsx ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LoginForm: () => (/* binding */ LoginForm)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hookform/resolvers/zod */ \"(ssr)/./node_modules/@hookform/resolvers/zod/dist/zod.mjs\");\n/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! zod */ \"(ssr)/./node_modules/zod/v4/classic/external.js\");\n/* harmony import */ var _barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/input */ \"(ssr)/./src/components/ui/input.tsx\");\n/* harmony import */ var _components_ui_form__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/form */ \"(ssr)/./src/components/ui/form.tsx\");\n/* harmony import */ var _components_ui_card__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/ui/card */ \"(ssr)/./src/components/ui/card.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* __next_internal_client_entry_do_not_use__ LoginForm auto */ \n\n\n\n\n\n\n\n\n\n\n\nconst loginSchema = zod__WEBPACK_IMPORTED_MODULE_9__.object({\n phone: zod__WEBPACK_IMPORTED_MODULE_9__.string().min(10, \"Номер телефона должен содержать минимум 10 цифр\"),\n password: zod__WEBPACK_IMPORTED_MODULE_9__.string().min(6, \"Пароль должен быть не менее 6 символов\")\n});\nfunction LoginForm() {\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.useRouter)();\n const { login, isLoading } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_8__.useSessionStore)();\n const form = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_10__.useForm)({\n resolver: (0,_hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_2__.zodResolver)(loginSchema),\n defaultValues: {\n phone: \"\",\n password: \"\"\n }\n });\n async function onSubmit(values) {\n try {\n // Очищаем номер от маски (оставляем только цифры)\n const cleanPhone = values.phone.replace(/\\D/g, '');\n // Формируем E.164 формат\n const formattedPhone = cleanPhone.startsWith('7') ? `+${cleanPhone}` : `+7${cleanPhone}`;\n await login(formattedPhone, values.password);\n router.push(\"/dashboard/profile\");\n } catch (error) {\n console.error(error);\n form.setError(\"root\", {\n message: \"Неверный номер телефона или пароль\"\n });\n }\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_7__.Card, {\n className: \"w-full max-w-md mx-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_7__.CardHeader, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_7__.CardTitle, {\n className: \"text-2xl\",\n children: \"Вход в систему\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 60,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_7__.CardDescription, {\n children: \"Введите ваш номер телефона и пароль для доступа к профилю.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 61,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 59,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_7__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_6__.Form, {\n ...form,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: form.handleSubmit(onSubmit),\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_6__.FormField, {\n control: form.control,\n name: \"phone\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_6__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_6__.FormLabel, {\n children: \"Телефон\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 73,\n columnNumber: 37\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_6__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2 items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-10 items-center justify-center rounded-md border border-input bg-muted px-3 text-sm\",\n children: \"+7\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 76,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_5__.Input, {\n placeholder: \"(999) 000-00-00\",\n value: field.value || \"\",\n onChange: (e)=>{\n let input = e.target.value.replace(/\\D/g, '');\n // Ignore starting 7 or 8 if it's the first inputted character\n if (e.target.value.length > (field.value || \"\").length && (e.target.value.startsWith('8') || e.target.value.startsWith('7')) && (field.value || \"\").length === 0) {\n input = input.substring(1);\n }\n input = input.substring(0, 10);\n let formatted = \"\";\n if (input.length > 0) formatted += \"(\" + input.substring(0, 3);\n if (input.length >= 4) formatted += \") \" + input.substring(3, 6);\n if (input.length >= 7) formatted += \"-\" + input.substring(6, 8);\n if (input.length >= 9) formatted += \"-\" + input.substring(8, 10);\n field.onChange(formatted);\n },\n className: \"rounded-l-none\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 79,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 75,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 74,\n columnNumber: 37\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_6__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 100,\n columnNumber: 37\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 72,\n columnNumber: 33\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 68,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_6__.FormField, {\n control: form.control,\n name: \"password\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_6__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_6__.FormLabel, {\n children: \"Пароль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 109,\n columnNumber: 37\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_6__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_5__.Input, {\n type: \"password\",\n placeholder: \"******\",\n ...field\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 111,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 110,\n columnNumber: 37\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_6__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 113,\n columnNumber: 37\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 108,\n columnNumber: 33\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 104,\n columnNumber: 25\n }, this),\n form.formState.errors.root && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm font-medium text-destructive\",\n children: form.formState.errors.root.message\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 118,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"submit\",\n className: \"w-full bg-blue-600 hover:bg-blue-700\",\n disabled: isLoading,\n children: [\n isLoading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"mr-2 h-4 w-4 animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 123,\n columnNumber: 43\n }, this),\n \"Войти\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 122,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 67,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 66,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 65,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\features\\\\auth\\\\LoginForm.tsx\",\n lineNumber: 58,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVE1RiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcZmVhdHVyZXNcXGF1dGhcXExvZ2luRm9ybS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tIFwicmVhY3QtaG9vay1mb3JtXCJcclxuaW1wb3J0IHsgem9kUmVzb2x2ZXIgfSBmcm9tIFwiQGhvb2tmb3JtL3Jlc29sdmVycy96b2RcIlxyXG5pbXBvcnQgKiBhcyB6IGZyb20gXCJ6b2RcIlxyXG5pbXBvcnQgeyBMb2FkZXIyIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gXCJuZXh0L25hdmlnYXRpb25cIlxyXG5cclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxyXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvaW5wdXRcIlxyXG5pbXBvcnQge1xyXG4gICAgRm9ybSxcclxuICAgIEZvcm1Db250cm9sLFxyXG4gICAgRm9ybUZpZWxkLFxyXG4gICAgRm9ybUl0ZW0sXHJcbiAgICBGb3JtTGFiZWwsXHJcbiAgICBGb3JtTWVzc2FnZSxcclxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2Zvcm1cIlxyXG5pbXBvcnQgeyBDYXJkLCBDYXJkQ29udGVudCwgQ2FyZERlc2NyaXB0aW9uLCBDYXJkSGVhZGVyLCBDYXJkVGl0bGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2NhcmRcIlxyXG5pbXBvcnQgeyB1c2VTZXNzaW9uU3RvcmUgfSBmcm9tIFwiQC9lbnRpdGllcy9zZXNzaW9uL3N0b3JlXCJcclxuXHJcbmNvbnN0IGxvZ2luU2NoZW1hID0gei5vYmplY3Qoe1xyXG4gICAgcGhvbmU6IHouc3RyaW5nKCkubWluKDEwLCBcItCd0L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsCDQtNC+0LvQttC10L0g0YHQvtC00LXRgNC20LDRgtGMINC80LjQvdC40LzRg9C8IDEwINGG0LjRhNGAXCIpLFxyXG4gICAgcGFzc3dvcmQ6IHouc3RyaW5nKCkubWluKDYsIFwi0J/QsNGA0L7Qu9GMINC00L7Qu9C20LXQvSDQsdGL0YLRjCDQvdC1INC80LXQvdC10LUgNiDRgdC40LzQstC+0LvQvtCyXCIpLFxyXG59KVxyXG5cclxudHlwZSBMb2dpblZhbHVlcyA9IHouaW5mZXI8dHlwZW9mIGxvZ2luU2NoZW1hPlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIExvZ2luRm9ybSgpIHtcclxuICAgIGNvbnN0IHJvdXRlciA9IHVzZVJvdXRlcigpXHJcbiAgICBjb25zdCB7IGxvZ2luLCBpc0xvYWRpbmcgfSA9IHVzZVNlc3Npb25TdG9yZSgpXHJcblxyXG4gICAgY29uc3QgZm9ybSA9IHVzZUZvcm08TG9naW5WYWx1ZXM+KHtcclxuICAgICAgICByZXNvbHZlcjogem9kUmVzb2x2ZXIobG9naW5TY2hlbWEpLFxyXG4gICAgICAgIGRlZmF1bHRWYWx1ZXM6IHtcclxuICAgICAgICAgICAgcGhvbmU6IFwiXCIsXHJcbiAgICAgICAgICAgIHBhc3N3b3JkOiBcIlwiLFxyXG4gICAgICAgIH0sXHJcbiAgICB9KVxyXG5cclxuICAgIGFzeW5jIGZ1bmN0aW9uIG9uU3VibWl0KHZhbHVlczogTG9naW5WYWx1ZXMpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQntGH0LjRidCw0LXQvCDQvdC+0LzQtdGAINC+0YIg0LzQsNGB0LrQuCAo0L7RgdGC0LDQstC70Y/QtdC8INGC0L7Qu9GM0LrQviDRhtC40YTRgNGLKVxyXG4gICAgICAgICAgICBjb25zdCBjbGVhblBob25lID0gdmFsdWVzLnBob25lLnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcbiAgICAgICAgICAgIC8vINCk0L7RgNC80LjRgNGD0LXQvCBFLjE2NCDRhNC+0YDQvNCw0YJcclxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkUGhvbmUgPSBjbGVhblBob25lLnN0YXJ0c1dpdGgoJzcnKSA/IGArJHtjbGVhblBob25lfWAgOiBgKzcke2NsZWFuUGhvbmV9YDtcclxuXHJcbiAgICAgICAgICAgIGF3YWl0IGxvZ2luKGZvcm1hdHRlZFBob25lLCB2YWx1ZXMucGFzc3dvcmQpXHJcbiAgICAgICAgICAgIHJvdXRlci5wdXNoKFwiL2Rhc2hib2FyZC9wcm9maWxlXCIpXHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcclxuICAgICAgICAgICAgZm9ybS5zZXRFcnJvcihcInJvb3RcIiwgeyBtZXNzYWdlOiBcItCd0LXQstC10YDQvdGL0Lkg0L3QvtC80LXRgCDRgtC10LvQtdGE0L7QvdCwINC40LvQuCDQv9Cw0YDQvtC70YxcIiB9KVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxDYXJkIGNsYXNzTmFtZT1cInctZnVsbCBtYXgtdy1tZCBteC1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxDYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bFwiPtCS0YXQvtC0INCyINGB0LjRgdGC0LXQvNGDPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgINCS0LLQtdC00LjRgtC1INCy0LDRiCDQvdC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAg0Lgg0L/QsNGA0L7Qu9GMINC00LvRjyDQtNC+0YHRgtGD0L/QsCDQuiDQv9GA0L7RhNC40LvRji5cclxuICAgICAgICAgICAgICAgIDwvQ2FyZERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgIDxDYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICAgIDxGb3JtIHsuLi5mb3JtfT5cclxuICAgICAgICAgICAgICAgICAgICA8Zm9ybSBvblN1Ym1pdD17Zm9ybS5oYW5kbGVTdWJtaXQob25TdWJtaXQpfSBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbD17Zm9ybS5jb250cm9sfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInBob25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KHsgZmllbGQgfSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1MYWJlbD7QotC10LvQtdGE0L7QvTwvRm9ybUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTIgaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGgtMTAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1tdXRlZCBweC0zIHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKzdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIoOTk5KSAwMDAtMDAtMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17ZmllbGQudmFsdWUgfHwgXCJcIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaW5wdXQgPSBlLnRhcmdldC52YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWdub3JlIHN0YXJ0aW5nIDcgb3IgOCBpZiBpdCdzIHRoZSBmaXJzdCBpbnB1dHRlZCBjaGFyYWN0ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLnRhcmdldC52YWx1ZS5sZW5ndGggPiAoZmllbGQudmFsdWUgfHwgXCJcIikubGVuZ3RoICYmIChlLnRhcmdldC52YWx1ZS5zdGFydHNXaXRoKCc4JykgfHwgZS50YXJnZXQudmFsdWUuc3RhcnRzV2l0aCgnNycpKSAmJiAoZmllbGQudmFsdWUgfHwgXCJcIikubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQgPSBpbnB1dC5zdWJzdHJpbmcoMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCA9IGlucHV0LnN1YnN0cmluZygwLCAxMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybWF0dGVkID0gXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dC5sZW5ndGggPiAwKSBmb3JtYXR0ZWQgKz0gXCIoXCIgKyBpbnB1dC5zdWJzdHJpbmcoMCwgMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQubGVuZ3RoID49IDQpIGZvcm1hdHRlZCArPSBcIikgXCIgKyBpbnB1dC5zdWJzdHJpbmcoMywgNik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQubGVuZ3RoID49IDcpIGZvcm1hdHRlZCArPSBcIi1cIiArIGlucHV0LnN1YnN0cmluZyg2LCA4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dC5sZW5ndGggPj0gOSkgZm9ybWF0dGVkICs9IFwiLVwiICsgaW5wdXQuc3Vic3RyaW5nKDgsIDEwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLm9uQ2hhbmdlKGZvcm1hdHRlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbC1ub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTWVzc2FnZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUZpZWxkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtmb3JtLmNvbnRyb2x9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwicGFzc3dvcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoeyBmaWVsZCB9KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPtCf0LDRgNC+0LvRjDwvRm9ybUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgcGxhY2Vob2xkZXI9XCIqKioqKipcIiB7Li4uZmllbGR9IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTWVzc2FnZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Zm9ybS5mb3JtU3RhdGUuZXJyb3JzLnJvb3QgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWRlc3RydWN0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zvcm0uZm9ybVN0YXRlLmVycm9ycy5yb290Lm1lc3NhZ2V9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzTmFtZT1cInctZnVsbCBiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMFwiIGRpc2FibGVkPXtpc0xvYWRpbmd9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZyAmJiA8TG9hZGVyMiBjbGFzc05hbWU9XCJtci0yIGgtNCB3LTQgYW5pbWF0ZS1zcGluXCIgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDQktC+0LnRgtC4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgIDwvRm9ybT5cclxuICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICA8L0NhcmQ+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlRm9ybSIsInpvZFJlc29sdmVyIiwieiIsIkxvYWRlcjIiLCJ1c2VSb3V0ZXIiLCJCdXR0b24iLCJJbnB1dCIsIkZvcm0iLCJGb3JtQ29udHJvbCIsIkZvcm1GaWVsZCIsIkZvcm1JdGVtIiwiRm9ybUxhYmVsIiwiRm9ybU1lc3NhZ2UiLCJDYXJkIiwiQ2FyZENvbnRlbnQiLCJDYXJkRGVzY3JpcHRpb24iLCJDYXJkSGVhZGVyIiwiQ2FyZFRpdGxlIiwidXNlU2Vzc2lvblN0b3JlIiwibG9naW5TY2hlbWEiLCJvYmplY3QiLCJwaG9uZSIsInN0cmluZyIsIm1pbiIsInBhc3N3b3JkIiwiTG9naW5Gb3JtIiwicm91dGVyIiwibG9naW4iLCJpc0xvYWRpbmciLCJmb3JtIiwicmVzb2x2ZXIiLCJkZWZhdWx0VmFsdWVzIiwib25TdWJtaXQiLCJ2YWx1ZXMiLCJjbGVhblBob25lIiwicmVwbGFjZSIsImZvcm1hdHRlZFBob25lIiwic3RhcnRzV2l0aCIsInB1c2giLCJlcnJvciIsImNvbnNvbGUiLCJzZXRFcnJvciIsIm1lc3NhZ2UiLCJjbGFzc05hbWUiLCJoYW5kbGVTdWJtaXQiLCJjb250cm9sIiwibmFtZSIsInJlbmRlciIsImZpZWxkIiwiZGl2IiwicGxhY2Vob2xkZXIiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiZSIsImlucHV0IiwidGFyZ2V0IiwibGVuZ3RoIiwic3Vic3RyaW5nIiwiZm9ybWF0dGVkIiwidHlwZSIsImZvcm1TdGF0ZSIsImVycm9ycyIsInJvb3QiLCJwIiwiZGlzYWJsZWQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/features/auth/LoginForm.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/features/geo/useGeoStore.ts": -/*!*****************************************!*\ - !*** ./src/features/geo/useGeoStore.ts ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useGeoStore: () => (/* binding */ useGeoStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/shared/api/geo */ \"(ssr)/./src/shared/api/geo.ts\");\n\n\nconst useGeoStore = (0,zustand__WEBPACK_IMPORTED_MODULE_1__.create)((set, get)=>({\n isOnline: false,\n watchId: null,\n isUpdating: false,\n error: null,\n lastCoords: null,\n goOnline: (performerId)=>{\n if (true) {\n set({\n error: \"Геолокация не поддерживается вашим браузером.\"\n });\n return;\n }\n // Таймер для периодической отправки (каждые 10 секунд)\n let sendInterval = null;\n const watchId = navigator.geolocation.watchPosition(async (position)=>{\n const { latitude, longitude } = position.coords;\n set({\n lastCoords: {\n lat: latitude,\n lon: longitude\n },\n error: null\n });\n // Отправляем при первом получении координат\n try {\n set({\n isUpdating: true\n });\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude,\n longitude,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки статуса:\", err);\n set({\n error: \"Не удалось обновить статус на сервере.\"\n });\n } finally{\n set({\n isUpdating: false\n });\n }\n }, (err)=>{\n console.error(\"[Geo] Ошибка геолокации:\", err);\n let errorMsg = \"Ошибка определения местоположения.\";\n if (err.code === err.PERMISSION_DENIED) {\n errorMsg = \"Доступ к геолокации запрещён. Разрешите в настройках браузера.\";\n }\n set({\n error: errorMsg\n });\n }, {\n enableHighAccuracy: true,\n maximumAge: 10000,\n timeout: 15000\n });\n // Дополнительно: периодическая отправка каждые 10 секунд\n sendInterval = setInterval(async ()=>{\n const state = get();\n if (state.lastCoords && state.isOnline) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: state.lastCoords.lat,\n longitude: state.lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка периодической отправки:\", err);\n }\n }\n }, 10000);\n // Сохраняем watchId и intervalId в замыкании для очистки\n set({\n isOnline: true,\n watchId,\n error: null\n });\n // Храним intervalId в window для очистки при goOffline\n window.__geoInterval = sendInterval;\n },\n goOffline: async (performerId)=>{\n const { watchId, lastCoords } = get();\n // Останавливаем слежение\n if (watchId !== null) {\n navigator.geolocation.clearWatch(watchId);\n }\n // Останавливаем интервал\n if (window.__geoInterval) {\n clearInterval(window.__geoInterval);\n window.__geoInterval = null;\n }\n // Отправляем статус Offline\n if (lastCoords) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: lastCoords.lat,\n longitude: lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Offline\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки Offline:\", err);\n }\n }\n set({\n isOnline: false,\n watchId: null,\n lastCoords: null,\n error: null\n });\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvZmVhdHVyZXMvZ2VvL3VzZUdlb1N0b3JlLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFpQztBQUNrQztBQW9CNUQsTUFBTUcsY0FBY0gsK0NBQU1BLENBQVcsQ0FBQ0ksS0FBS0MsTUFBUztRQUN2REMsVUFBVTtRQUNWQyxTQUFTO1FBQ1RDLFlBQVk7UUFDWkMsT0FBTztRQUNQQyxZQUFZO1FBRVpDLFVBQVUsQ0FBQ0M7WUFDUCxJQUFJLElBQXVELEVBQUU7Z0JBQ3pEUixJQUFJO29CQUFFSyxPQUFPO2dCQUFnRDtnQkFDN0Q7WUFDSjtZQUVBLHVEQUF1RDtZQUN2RCxJQUFJTSxlQUFzRDtZQUUxRCxNQUFNUixVQUFVTSxVQUFVQyxXQUFXLENBQUNFLGFBQWEsQ0FDL0MsT0FBT0M7Z0JBQ0gsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRSxHQUFHRixTQUFTRyxNQUFNO2dCQUMvQ2hCLElBQUk7b0JBQUVNLFlBQVk7d0JBQUVXLEtBQUtIO3dCQUFVSSxLQUFLSDtvQkFBVTtvQkFBR1YsT0FBTztnQkFBSztnQkFFakUsNENBQTRDO2dCQUM1QyxJQUFJO29CQUNBTCxJQUFJO3dCQUFFSSxZQUFZO29CQUFLO29CQUN2QixNQUFNUCxnRUFBZUEsQ0FBQzt3QkFDbEJXO3dCQUNBTTt3QkFDQUM7d0JBQ0FJLE9BQU9yQiwyREFBY0EsQ0FBQ3NCLFNBQVM7b0JBQ25DO2dCQUNKLEVBQUUsT0FBT0MsS0FBSztvQkFDVkMsUUFBUWpCLEtBQUssQ0FBQyxrQ0FBa0NnQjtvQkFDaERyQixJQUFJO3dCQUFFSyxPQUFPO29CQUF5QztnQkFDMUQsU0FBVTtvQkFDTkwsSUFBSTt3QkFBRUksWUFBWTtvQkFBTTtnQkFDNUI7WUFDSixHQUNBLENBQUNpQjtnQkFDR0MsUUFBUWpCLEtBQUssQ0FBQyw0QkFBNEJnQjtnQkFDMUMsSUFBSUUsV0FBVztnQkFDZixJQUFJRixJQUFJRyxJQUFJLEtBQUtILElBQUlJLGlCQUFpQixFQUFFO29CQUNwQ0YsV0FBVztnQkFDZjtnQkFDQXZCLElBQUk7b0JBQUVLLE9BQU9rQjtnQkFBUztZQUMxQixHQUNBO2dCQUNJRyxvQkFBb0I7Z0JBQ3BCQyxZQUFZO2dCQUNaQyxTQUFTO1lBQ2I7WUFHSix5REFBeUQ7WUFDekRqQixlQUFla0IsWUFBWTtnQkFDdkIsTUFBTVYsUUFBUWxCO2dCQUNkLElBQUlrQixNQUFNYixVQUFVLElBQUlhLE1BQU1qQixRQUFRLEVBQUU7b0JBQ3BDLElBQUk7d0JBQ0EsTUFBTUwsZ0VBQWVBLENBQUM7NEJBQ2xCVzs0QkFDQU0sVUFBVUssTUFBTWIsVUFBVSxDQUFDVyxHQUFHOzRCQUM5QkYsV0FBV0ksTUFBTWIsVUFBVSxDQUFDWSxHQUFHOzRCQUMvQkMsT0FBT3JCLDJEQUFjQSxDQUFDc0IsU0FBUzt3QkFDbkM7b0JBQ0osRUFBRSxPQUFPQyxLQUFLO3dCQUNWQyxRQUFRakIsS0FBSyxDQUFDLHdDQUF3Q2dCO29CQUMxRDtnQkFDSjtZQUNKLEdBQUc7WUFFSCx5REFBeUQ7WUFDekRyQixJQUFJO2dCQUFFRSxVQUFVO2dCQUFNQztnQkFBU0UsT0FBTztZQUFLO1lBRTNDLHVEQUF1RDtZQUN0RHlCLE9BQWVDLGFBQWEsR0FBR3BCO1FBQ3BDO1FBRUFxQixXQUFXLE9BQU94QjtZQUNkLE1BQU0sRUFBRUwsT0FBTyxFQUFFRyxVQUFVLEVBQUUsR0FBR0w7WUFFaEMseUJBQXlCO1lBQ3pCLElBQUlFLFlBQVksTUFBTTtnQkFDbEJNLFVBQVVDLFdBQVcsQ0FBQ3VCLFVBQVUsQ0FBQzlCO1lBQ3JDO1lBRUEseUJBQXlCO1lBQ3pCLElBQUksT0FBZ0I0QixhQUFhLEVBQUU7Z0JBQy9CRyxjQUFjLE9BQWdCSCxhQUFhO2dCQUMxQ0QsT0FBZUMsYUFBYSxHQUFHO1lBQ3BDO1lBRUEsNEJBQTRCO1lBQzVCLElBQUl6QixZQUFZO2dCQUNaLElBQUk7b0JBQ0EsTUFBTVQsZ0VBQWVBLENBQUM7d0JBQ2xCVzt3QkFDQU0sVUFBVVIsV0FBV1csR0FBRzt3QkFDeEJGLFdBQVdULFdBQVdZLEdBQUc7d0JBQ3pCQyxPQUFPckIsMkRBQWNBLENBQUNxQyxPQUFPO29CQUNqQztnQkFDSixFQUFFLE9BQU9kLEtBQUs7b0JBQ1ZDLFFBQVFqQixLQUFLLENBQUMsa0NBQWtDZ0I7Z0JBQ3BEO1lBQ0o7WUFFQXJCLElBQUk7Z0JBQUVFLFVBQVU7Z0JBQU9DLFNBQVM7Z0JBQU1HLFlBQVk7Z0JBQU1ELE9BQU87WUFBSztRQUN4RTtJQUNKLElBQUkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGZlYXR1cmVzXFxnZW9cXHVzZUdlb1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHVwZGF0ZUdlb1N0YXR1cywgUGVyZm9ybWVyU3RhdGUgfSBmcm9tIFwiQC9zaGFyZWQvYXBpL2dlb1wiO1xyXG5cclxuaW50ZXJmYWNlIEdlb1N0YXRlIHtcclxuICAgIC8qKiDQktC60LvRjtGH0ZHQvSDQu9C4INGC0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsgKi9cclxuICAgIGlzT25saW5lOiBib29sZWFuO1xyXG4gICAgLyoqIElEINGC0LXQutGD0YnQtdCz0L4gd2F0Y2hQb3NpdGlvbiAqL1xyXG4gICAgd2F0Y2hJZDogbnVtYmVyIHwgbnVsbDtcclxuICAgIC8qKiDQmNC00ZHRgiDQu9C4INC+0LHQvdC+0LLQu9C10L3QuNC1ICovXHJcbiAgICBpc1VwZGF0aW5nOiBib29sZWFuO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90Y/RjyDQvtGI0LjQsdC60LAgKi9cclxuICAgIGVycm9yOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90LjQtSDQuNC30LLQtdGB0YLQvdGL0LUg0LrQvtC+0YDQtNC40L3QsNGC0YsgKi9cclxuICAgIGxhc3RDb29yZHM6IHsgbGF0OiBudW1iZXI7IGxvbjogbnVtYmVyIH0gfCBudWxsO1xyXG5cclxuICAgIC8qKiDQktC60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L7RgtGB0LvQtdC20LjQstCw0L3QuNC1INCz0LXQvtC/0L7Qt9C40YbQuNC4ICovXHJcbiAgICBnb09ubGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgICAvKiog0JLRi9C60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQvtGC0L/RgNCw0LLQuNGC0YwgT2ZmbGluZSDQuCDQvtGB0YLQsNC90L7QstC40YLRjCDQvtGC0YHQu9C10LbQuNCy0LDQvdC40LUgKi9cclxuICAgIGdvT2ZmbGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB1c2VHZW9TdG9yZSA9IGNyZWF0ZTxHZW9TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgaXNPbmxpbmU6IGZhbHNlLFxyXG4gICAgd2F0Y2hJZDogbnVsbCxcclxuICAgIGlzVXBkYXRpbmc6IGZhbHNlLFxyXG4gICAgZXJyb3I6IG51bGwsXHJcbiAgICBsYXN0Q29vcmRzOiBudWxsLFxyXG5cclxuICAgIGdvT25saW5lOiAocGVyZm9ybWVySWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiIHx8ICFuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcclxuICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0JPQtdC+0LvQvtC60LDRhtC40Y8g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINCy0LDRiNC40Lwg0LHRgNCw0YPQt9C10YDQvtC8LlwiIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQotCw0LnQvNC10YAg0LTQu9GPINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60LggKNC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LQpXHJcbiAgICAgICAgbGV0IHNlbmRJbnRlcnZhbDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGNvbnN0IHdhdGNoSWQgPSBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihcclxuICAgICAgICAgICAgYXN5bmMgKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IGxhdGl0dWRlLCBsb25naXR1ZGUgfSA9IHBvc2l0aW9uLmNvb3JkcztcclxuICAgICAgICAgICAgICAgIHNldCh7IGxhc3RDb29yZHM6IHsgbGF0OiBsYXRpdHVkZSwgbG9uOiBsb25naXR1ZGUgfSwgZXJyb3I6IG51bGwgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8g0J7RgtC/0YDQsNCy0LvRj9C10Lwg0L/RgNC4INC/0LXRgNCy0L7QvCDQv9C+0LvRg9GH0LXQvdC40Lgg0LrQvtC+0YDQtNC40L3QsNGCXHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldCh7IGlzVXBkYXRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlR2VvU3RhdHVzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWVySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC+0YLQv9GA0LDQstC60Lgg0YHRgtCw0YLRg9GB0LA6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINGB0YLQsNGC0YPRgSDQvdCwINGB0LXRgNCy0LXRgNC1LlwiIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXQoeyBpc1VwZGF0aW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQs9C10L7Qu9C+0LrQsNGG0LjQuDpcIiwgZXJyKTtcclxuICAgICAgICAgICAgICAgIGxldCBlcnJvck1zZyA9IFwi0J7RiNC40LHQutCwINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjRjy5cIjtcclxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gZXJyLlBFUk1JU1NJT05fREVOSUVEKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2cgPSBcItCU0L7RgdGC0YPQvyDQuiDQs9C10L7Qu9C+0LrQsNGG0LjQuCDQt9Cw0L/RgNC10YnRkdC9LiDQoNCw0LfRgNC10YjQuNGC0LUg0LIg0L3QsNGB0YLRgNC+0LnQutCw0YUg0LHRgNCw0YPQt9C10YDQsC5cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNldCh7IGVycm9yOiBlcnJvck1zZyB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbWF4aW11bUFnZTogMTAwMDAsICAgICAvLyDQmtGN0Ygg0L/QvtC30LjRhtC40LggMTAg0YHQtdC6XHJcbiAgICAgICAgICAgICAgICB0aW1lb3V0OiAxNTAwMCwgICAgICAgICAvLyDQotCw0LnQvNCw0YPRgiAxNSDRgdC10LpcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+OiDQv9C10YDQuNC+0LTQuNGH0LXRgdC60LDRjyDQvtGC0L/RgNCw0LLQutCwINC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LRcclxuICAgICAgICBzZW5kSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gZ2V0KCk7XHJcbiAgICAgICAgICAgIGlmIChzdGF0ZS5sYXN0Q29vcmRzICYmIHN0YXRlLmlzT25saW5lKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUdlb1N0YXR1cyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60Lg6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDAwMCk7XHJcblxyXG4gICAgICAgIC8vINCh0L7RhdGA0LDQvdGP0LXQvCB3YXRjaElkINC4IGludGVydmFsSWQg0LIg0LfQsNC80YvQutCw0L3QuNC4INC00LvRjyDQvtGH0LjRgdGC0LrQuFxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiB0cnVlLCB3YXRjaElkLCBlcnJvcjogbnVsbCB9KTtcclxuXHJcbiAgICAgICAgLy8g0KXRgNCw0L3QuNC8IGludGVydmFsSWQg0LIgd2luZG93INC00LvRjyDQvtGH0LjRgdGC0LrQuCDQv9GA0LggZ29PZmZsaW5lXHJcbiAgICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwgPSBzZW5kSW50ZXJ2YWw7XHJcbiAgICB9LFxyXG5cclxuICAgIGdvT2ZmbGluZTogYXN5bmMgKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCB7IHdhdGNoSWQsIGxhc3RDb29yZHMgfSA9IGdldCgpO1xyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDRgdC70LXQttC10L3QuNC1XHJcbiAgICAgICAgaWYgKHdhdGNoSWQgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2god2F0Y2hJZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDQuNC90YLQtdGA0LLQsNC7XHJcbiAgICAgICAgaWYgKCh3aW5kb3cgYXMgYW55KS5fX2dlb0ludGVydmFsKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwpO1xyXG4gICAgICAgICAgICAod2luZG93IGFzIGFueSkuX19nZW9JbnRlcnZhbCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGC0L/RgNCw0LLQu9GP0LXQvCDRgdGC0LDRgtGD0YEgT2ZmbGluZVxyXG4gICAgICAgIGlmIChsYXN0Q29vcmRzKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVHZW9TdGF0dXMoe1xyXG4gICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBsYXN0Q29vcmRzLmxhdCxcclxuICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IGxhc3RDb29yZHMubG9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5PZmZsaW5lLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQvtGC0L/RgNCw0LLQutC4IE9mZmxpbmU6XCIsIGVycik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiBmYWxzZSwgd2F0Y2hJZDogbnVsbCwgbGFzdENvb3JkczogbnVsbCwgZXJyb3I6IG51bGwgfSk7XHJcbiAgICB9LFxyXG59KSk7XHJcbiJdLCJuYW1lcyI6WyJjcmVhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJQZXJmb3JtZXJTdGF0ZSIsInVzZUdlb1N0b3JlIiwic2V0IiwiZ2V0IiwiaXNPbmxpbmUiLCJ3YXRjaElkIiwiaXNVcGRhdGluZyIsImVycm9yIiwibGFzdENvb3JkcyIsImdvT25saW5lIiwicGVyZm9ybWVySWQiLCJuYXZpZ2F0b3IiLCJnZW9sb2NhdGlvbiIsInNlbmRJbnRlcnZhbCIsIndhdGNoUG9zaXRpb24iLCJwb3NpdGlvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY29vcmRzIiwibGF0IiwibG9uIiwic3RhdGUiLCJBdmFpbGFibGUiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3JNc2ciLCJjb2RlIiwiUEVSTUlTU0lPTl9ERU5JRUQiLCJlbmFibGVIaWdoQWNjdXJhY3kiLCJtYXhpbXVtQWdlIiwidGltZW91dCIsInNldEludGVydmFsIiwid2luZG93IiwiX19nZW9JbnRlcnZhbCIsImdvT2ZmbGluZSIsImNsZWFyV2F0Y2giLCJjbGVhckludGVydmFsIiwiT2ZmbGluZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/features/geo/useGeoStore.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/axios.ts": -/*!*********************************!*\ - !*** ./src/shared/api/axios.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ api: () => (/* binding */ api)\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ \"(ssr)/./node_modules/axios/lib/axios.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst api = axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create({\n baseURL: \"http://127.0.0.1:5000/api\" || 0,\n headers: {\n \"Content-Type\": \"application/json\"\n }\n});\n// Interceptor for adding Auth token\napi.interceptors.request.use((config)=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (token && config.headers) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n console.log(`🚀 Sending request to: ${config.baseURL}${config.url}`);\n return config;\n});\nlet isRefreshing = false;\nlet failedQueue = [];\nconst processQueue = (error, token = null)=>{\n failedQueue.forEach((prom)=>{\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n// Response interceptor for token refresh\napi.interceptors.response.use((response)=>response, async (error)=>{\n const originalRequest = error.config;\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (isRefreshing) {\n return new Promise((resolve, reject)=>{\n failedQueue.push({\n resolve,\n reject\n });\n }).then((token)=>{\n originalRequest.headers.Authorization = `Bearer ${token}`;\n return api(originalRequest);\n }).catch((err)=>Promise.reject(err));\n }\n originalRequest._retry = true;\n isRefreshing = true;\n const refreshToken = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"refreshToken\");\n try {\n const response = await axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post(`${\"http://127.0.0.1:5000/api\" || 0}/auth/refresh`, {\n refreshToken\n });\n const { accessToken, refreshToken: newRefreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", newRefreshToken);\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${accessToken}`;\n processQueue(null, accessToken);\n return api(originalRequest);\n } catch (refreshError) {\n processQueue(refreshError, null);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n if (false) {}\n return Promise.reject(refreshError);\n } finally{\n isRefreshing = false;\n }\n }\n return Promise.reject(error);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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XHNoYXJlZFxcYXBpXFxheGlvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHsgQXhpb3NFcnJvciB9IGZyb20gXCJheGlvc1wiO1xyXG5pbXBvcnQgeyBnZXRDb29raWUsIHNldENvb2tpZSwgZGVsZXRlQ29va2llIH0gZnJvbSBcImNvb2tpZXMtbmV4dFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGFwaSA9IGF4aW9zLmNyZWF0ZSh7XHJcbiAgICBiYXNlVVJMOiBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfVVJMIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo1MDAwL2FwaVwiLFxyXG4gICAgaGVhZGVyczoge1xyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgfSxcclxufSk7XHJcblxyXG4vLyBJbnRlcmNlcHRvciBmb3IgYWRkaW5nIEF1dGggdG9rZW5cclxuYXBpLmludGVyY2VwdG9ycy5yZXF1ZXN0LnVzZSgoY29uZmlnKSA9PiB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGdldENvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgaWYgKHRva2VuICYmIGNvbmZpZy5oZWFkZXJzKSB7XHJcbiAgICAgICAgY29uZmlnLmhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHt0b2tlbn1gO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coYPCfmoAgU2VuZGluZyByZXF1ZXN0IHRvOiAke2NvbmZpZy5iYXNlVVJMfSR7Y29uZmlnLnVybH1gKTtcclxuICAgIHJldHVybiBjb25maWc7XHJcbn0pO1xyXG5cclxubGV0IGlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG5sZXQgZmFpbGVkUXVldWU6IGFueVtdID0gW107XHJcblxyXG5jb25zdCBwcm9jZXNzUXVldWUgPSAoZXJyb3I6IGFueSwgdG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICBmYWlsZWRRdWV1ZS5mb3JFYWNoKChwcm9tKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHByb20ucmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9tLnJlc29sdmUodG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZmFpbGVkUXVldWUgPSBbXTtcclxufTtcclxuXHJcbi8vIFJlc3BvbnNlIGludGVyY2VwdG9yIGZvciB0b2tlbiByZWZyZXNoXHJcbmFwaS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKFxyXG4gICAgKHJlc3BvbnNlKSA9PiByZXNwb25zZSxcclxuICAgIGFzeW5jIChlcnJvcjogQXhpb3NFcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUmVxdWVzdDogYW55ID0gZXJyb3IuY29uZmlnO1xyXG5cclxuICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAxICYmICFvcmlnaW5hbFJlcXVlc3QuX3JldHJ5KSB7XHJcbiAgICAgICAgICAgIGlmIChpc1JlZnJlc2hpbmcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkUXVldWUucHVzaCh7IHJlc29sdmUsIHJlamVjdCB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHRva2VuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsUmVxdWVzdC5oZWFkZXJzLkF1dGhvcml6YXRpb24gPSBgQmVhcmVyICR7dG9rZW59YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IFByb21pc2UucmVqZWN0KGVycikpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBvcmlnaW5hbFJlcXVlc3QuX3JldHJ5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IGdldENvb2tpZShcInJlZnJlc2hUb2tlblwiKTtcclxuXHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7cHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX1VSTCB8fCBcImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9hcGlcIn0vYXV0aC9yZWZyZXNoYCxcclxuICAgICAgICAgICAgICAgICAgICB7IHJlZnJlc2hUb2tlbiB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbjogbmV3UmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcImFjY2Vzc1Rva2VuXCIsIGFjY2Vzc1Rva2VuKTtcclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcInJlZnJlc2hUb2tlblwiLCBuZXdSZWZyZXNoVG9rZW4pO1xyXG5cclxuICAgICAgICAgICAgICAgIGFwaS5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vbltcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7YWNjZXNzVG9rZW59YDtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShudWxsLCBhY2Nlc3NUb2tlbik7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChyZWZyZXNoRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShyZWZyZXNoRXJyb3IsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlQ29va2llKFwiYWNjZXNzVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gXCIvYXV0aC9sb2dpblwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlZnJlc2hFcnJvcik7XHJcbiAgICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgICAgICBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcclxuICAgIH1cclxuKTtcclxuIl0sIm5hbWVzIjpbImF4aW9zIiwiZ2V0Q29va2llIiwic2V0Q29va2llIiwiZGVsZXRlQ29va2llIiwiYXBpIiwiY3JlYXRlIiwiYmFzZVVSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfVVJMIiwiaGVhZGVycyIsImludGVyY2VwdG9ycyIsInJlcXVlc3QiLCJ1c2UiLCJjb25maWciLCJ0b2tlbiIsIkF1dGhvcml6YXRpb24iLCJjb25zb2xlIiwibG9nIiwidXJsIiwiaXNSZWZyZXNoaW5nIiwiZmFpbGVkUXVldWUiLCJwcm9jZXNzUXVldWUiLCJlcnJvciIsImZvckVhY2giLCJwcm9tIiwicmVqZWN0IiwicmVzb2x2ZSIsInJlc3BvbnNlIiwib3JpZ2luYWxSZXF1ZXN0Iiwic3RhdHVzIiwiX3JldHJ5IiwiUHJvbWlzZSIsInB1c2giLCJ0aGVuIiwiY2F0Y2giLCJlcnIiLCJyZWZyZXNoVG9rZW4iLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJuZXdSZWZyZXNoVG9rZW4iLCJkYXRhIiwiZGVmYXVsdHMiLCJjb21tb24iLCJyZWZyZXNoRXJyb3IiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/axios.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/geo.ts": -/*!*******************************!*\ - !*** ./src/shared/api/geo.ts ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PerformerState: () => (/* binding */ PerformerState),\n/* harmony export */ searchNearby: () => (/* binding */ searchNearby),\n/* harmony export */ updateGeoStatus: () => (/* binding */ updateGeoStatus)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n// --- Типы ---\n/** Статус исполнителя на карте */ var PerformerState = /*#__PURE__*/ function(PerformerState) {\n PerformerState[PerformerState[\"Offline\"] = 0] = \"Offline\";\n PerformerState[PerformerState[\"Available\"] = 1] = \"Available\";\n PerformerState[PerformerState[\"OnJob\"] = 2] = \"OnJob\";\n return PerformerState;\n}({});\n// --- API-вызовы ---\n/**\r\n * PATCH /api/geo/status — Обновить геопозицию и статус исполнителя.\r\n * Вызывается каждые 10-15 секунд при активном тумблере «На линии».\r\n */ const updateGeoStatus = async (payload)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.patch(\"/geo/status\", payload);\n};\n/**\r\n * GET /api/geo/nearby — Поиск доступных исполнителей в радиусе.\r\n * @param lat - Широта центра\r\n * @param lon - Долгота центра\r\n * @param radius - Радиус в метрах\r\n */ const searchNearby = async (lat, lon, radius)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/geo/nearby\", {\n params: {\n lat,\n lon,\n radius\n }\n });\n return response.data;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9nZW8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QjtBQUU5QixlQUFlO0FBRWYsZ0NBQWdDLEdBQ3pCLDRDQUFLQzs7OztXQUFBQTtNQUlYO0FBaUJELHFCQUFxQjtBQUVyQjs7O0NBR0MsR0FDTSxNQUFNQyxrQkFBa0IsT0FBT0M7SUFDbEMsTUFBTUgsdUNBQUdBLENBQUNJLEtBQUssQ0FBQyxlQUFlRDtBQUNuQyxFQUFFO0FBRUY7Ozs7O0NBS0MsR0FDTSxNQUFNRSxlQUFlLE9BQ3hCQyxLQUNBQyxLQUNBQztJQUVBLE1BQU1DLFdBQVcsTUFBTVQsdUNBQUdBLENBQUNVLEdBQUcsQ0FBb0IsZUFBZTtRQUM3REMsUUFBUTtZQUFFTDtZQUFLQztZQUFLQztRQUFPO0lBQy9CO0lBQ0EsT0FBT0MsU0FBU0csSUFBSTtBQUN4QixFQUFFIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGFwaVxcZ2VvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCI7XHJcblxyXG4vLyAtLS0g0KLQuNC/0YsgLS0tXHJcblxyXG4vKiog0KHRgtCw0YLRg9GBINC40YHQv9C+0LvQvdC40YLQtdC70Y8g0L3QsCDQutCw0YDRgtC1ICovXHJcbmV4cG9ydCBlbnVtIFBlcmZvcm1lclN0YXRlIHtcclxuICAgIE9mZmxpbmUgPSAwLFxyXG4gICAgQXZhaWxhYmxlID0gMSxcclxuICAgIE9uSm9iID0gMixcclxufVxyXG5cclxuLyoqINCX0LDQv9GA0L7RgSDQvdCwINC+0LHQvdC+0LLQu9C10L3QuNC1INGB0YLQsNGC0YPRgdCwICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlU3RhdHVzUGF5bG9hZCB7XHJcbiAgICBwZXJmb3JtZXJJZDogc3RyaW5nO1xyXG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcclxuICAgIGxvbmdpdHVkZTogbnVtYmVyO1xyXG4gICAgc3RhdGU6IFBlcmZvcm1lclN0YXRlO1xyXG59XHJcblxyXG4vKiog0JHQu9C40LbQsNC50YjQuNC5INC40YHQv9C+0LvQvdC40YLQtdC70YwgKNC+0YLQstC10YIg0L7RgiBBUEkpICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmVhcmJ5UGVyZm9ybWVyIHtcclxuICAgIHBlcmZvcm1lcklkOiBzdHJpbmc7XHJcbiAgICBsYXRpdHVkZTogbnVtYmVyO1xyXG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIC0tLSBBUEkt0LLRi9C30L7QstGLIC0tLVxyXG5cclxuLyoqXHJcbiAqIFBBVENIIC9hcGkvZ2VvL3N0YXR1cyDigJQg0J7QsdC90L7QstC40YLRjCDQs9C10L7Qv9C+0LfQuNGG0LjRjiDQuCDRgdGC0LDRgtGD0YEg0LjRgdC/0L7Qu9C90LjRgtC10LvRjy5cclxuICog0JLRi9C30YvQstCw0LXRgtGB0Y8g0LrQsNC20LTRi9C1IDEwLTE1INGB0LXQutGD0L3QtCDQv9GA0Lgg0LDQutGC0LjQstC90L7QvCDRgtGD0LzQsdC70LXRgNC1IMKr0J3QsCDQu9C40L3QuNC4wrsuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdXBkYXRlR2VvU3RhdHVzID0gYXN5bmMgKHBheWxvYWQ6IFVwZGF0ZVN0YXR1c1BheWxvYWQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgIGF3YWl0IGFwaS5wYXRjaChcIi9nZW8vc3RhdHVzXCIsIHBheWxvYWQpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEdFVCAvYXBpL2dlby9uZWFyYnkg4oCUINCf0L7QuNGB0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC40YHQv9C+0LvQvdC40YLQtdC70LXQuSDQsiDRgNCw0LTQuNGD0YHQtS5cclxuICogQHBhcmFtIGxhdCAtINCo0LjRgNC+0YLQsCDRhtC10L3RgtGA0LBcclxuICogQHBhcmFtIGxvbiAtINCU0L7Qu9Cz0L7RgtCwINGG0LXQvdGC0YDQsFxyXG4gKiBAcGFyYW0gcmFkaXVzIC0g0KDQsNC00LjRg9GBINCyINC80LXRgtGA0LDRhVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNlYXJjaE5lYXJieSA9IGFzeW5jIChcclxuICAgIGxhdDogbnVtYmVyLFxyXG4gICAgbG9uOiBudW1iZXIsXHJcbiAgICByYWRpdXM6IG51bWJlclxyXG4pOiBQcm9taXNlPE5lYXJieVBlcmZvcm1lcltdPiA9PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQ8TmVhcmJ5UGVyZm9ybWVyW10+KFwiL2dlby9uZWFyYnlcIiwge1xyXG4gICAgICAgIHBhcmFtczogeyBsYXQsIGxvbiwgcmFkaXVzIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xyXG59O1xyXG4iXSwibmFtZXMiOlsiYXBpIiwiUGVyZm9ybWVyU3RhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJwYXlsb2FkIiwicGF0Y2giLCJzZWFyY2hOZWFyYnkiLCJsYXQiLCJsb24iLCJyYWRpdXMiLCJyZXNwb25zZSIsImdldCIsInBhcmFtcyIsImRhdGEiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/geo.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/lib/utils.ts": -/*!*********************************!*\ - !*** ./src/shared/lib/utils.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn),\n/* harmony export */ formatPhoneNumber: () => (/* binding */ formatPhoneNumber)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\nfunction formatPhoneNumber(phone) {\n if (!phone) return \"—\";\n // Remove all non-digits\n const cleaned = phone.replace(/\\D/g, \"\");\n // Check if it's a Russian number (+7 or 8)\n if (cleaned.length === 11) {\n const country = cleaned[0] === \"8\" ? \"8\" : \"+7\";\n return `${country} (${cleaned.slice(1, 4)}) ${cleaned.slice(4, 7)}-${cleaned.slice(7, 9)}-${cleaned.slice(9, 11)}`;\n }\n return phone;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRDO0FBQ0o7QUFFakMsU0FBU0UsR0FBRyxHQUFHQyxNQUFvQjtJQUN0QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3hCO0FBRU8sU0FBU0Msa0JBQWtCQyxLQUF5QjtJQUN2RCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUVuQix3QkFBd0I7SUFDeEIsTUFBTUMsVUFBVUQsTUFBTUUsT0FBTyxDQUFDLE9BQU87SUFFckMsMkNBQTJDO0lBQzNDLElBQUlELFFBQVFFLE1BQU0sS0FBSyxJQUFJO1FBQ3ZCLE1BQU1DLFVBQVVILE9BQU8sQ0FBQyxFQUFFLEtBQUssTUFBTSxNQUFNO1FBQzNDLE9BQU8sR0FBR0csUUFBUSxFQUFFLEVBQUVILFFBQVFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFSixRQUFRSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRUosUUFBUUksS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUVKLFFBQVFJLEtBQUssQ0FBQyxHQUFHLEtBQUs7SUFDdEg7SUFFQSxPQUFPTDtBQUNYIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGxpYlxcdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSBcImNsc3hcIlxyXG5pbXBvcnQgeyB0d01lcmdlIH0gZnJvbSBcInRhaWx3aW5kLW1lcmdlXCJcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjbiguLi5pbnB1dHM6IENsYXNzVmFsdWVbXSkge1xyXG4gICAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UGhvbmVOdW1iZXIocGhvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gXCLigJRcIjtcclxuXHJcbiAgICAvLyBSZW1vdmUgYWxsIG5vbi1kaWdpdHNcclxuICAgIGNvbnN0IGNsZWFuZWQgPSBwaG9uZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgaXQncyBhIFJ1c3NpYW4gbnVtYmVyICgrNyBvciA4KVxyXG4gICAgaWYgKGNsZWFuZWQubGVuZ3RoID09PSAxMSkge1xyXG4gICAgICAgIGNvbnN0IGNvdW50cnkgPSBjbGVhbmVkWzBdID09PSBcIjhcIiA/IFwiOFwiIDogXCIrN1wiO1xyXG4gICAgICAgIHJldHVybiBgJHtjb3VudHJ5fSAoJHtjbGVhbmVkLnNsaWNlKDEsIDQpfSkgJHtjbGVhbmVkLnNsaWNlKDQsIDcpfS0ke2NsZWFuZWQuc2xpY2UoNywgOSl9LSR7Y2xlYW5lZC5zbGljZSg5LCAxMSl9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGhvbmU7XHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiLCJmb3JtYXRQaG9uZU51bWJlciIsInBob25lIiwiY2xlYW5lZCIsInJlcGxhY2UiLCJsZW5ndGgiLCJjb3VudHJ5Iiwic2xpY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: () => (/* binding */ Header)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/theme/mode-toggle */ \"(ssr)/./src/components/theme/mode-toggle.tsx\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_switch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/switch */ \"(ssr)/./src/components/ui/switch.tsx\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/search.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/briefcase.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/log-out.js\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/features/geo/useGeoStore */ \"(ssr)/./src/features/geo/useGeoStore.ts\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \n\n\n\n\n\n\n\n\nfunction Header() {\n const { isAuth, user, logout } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_6__.useSessionStore)();\n const { isOnline, isUpdating, error: geoError, goOnline, goOffline } = (0,_features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__.useGeoStore)();\n // Проверяем, является ли пользователь исполнителем или компанией\n const isMasterOrCompany = user?.roles?.includes(\"Candidate\") || user?.roles?.includes(\"Company\") || user?.roles?.includes(\"Master\");\n /** Обработчик переключения тумблера «На линии» */ const handleToggleOnline = (checked)=>{\n if (!user?.id) return;\n if (checked) {\n goOnline(user.id);\n } else {\n goOffline(user.id);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container mx-auto flex h-16 items-center justify-between px-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n className: \"flex items-center space-x-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl font-black tracking-tight text-blue-600 dark:text-blue-500\",\n children: \"Nashel\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 42,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 41,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"hidden md:flex gap-6 items-center text-sm font-medium transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/search\",\n className: \"flex items-center gap-2 hover:text-blue-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 51,\n columnNumber: 29\n }, this),\n \"Поиск\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 47,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"hover:text-blue-600\",\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 54,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 46,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 40,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n isAuth && isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden sm:flex items-center gap-2 mr-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: `h-4 w-4 transition-colors ${isOnline ? \"text-green-500\" : \"text-muted-foreground\"}`\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 67,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_switch__WEBPACK_IMPORTED_MODULE_4__.Switch, {\n id: \"geo-online-toggle\",\n checked: isOnline,\n onCheckedChange: handleToggleOnline,\n disabled: isUpdating\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 68,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"geo-online-toggle\",\n className: `text-xs font-medium cursor-pointer select-none transition-colors ${isOnline ? \"text-green-600 dark:text-green-400\" : \"text-muted-foreground\"}`,\n children: isOnline ? \"Готов к заказу\" : \"Офлайн\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 74,\n columnNumber: 29\n }, this),\n geoError && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-red-500 max-w-[120px] truncate\",\n title: geoError,\n children: geoError\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 81,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 66,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__.ModeToggle, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, this),\n isAuth ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n className: \"hidden sm:flex items-center gap-2 focus-visible:ring-0 focus-visible:ring-offset-0 focus:outline-none focus:ring-0 outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 93,\n columnNumber: 37\n }, this),\n user?.roles?.includes(\"Company\") && user?.companyName ? user.companyName : user?.firstName && user?.lastName ? `${user.firstName} ${user.lastName}` : \"Профиль\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 92,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 91,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuContent, {\n align: \"end\",\n className: \"w-56\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuLabel, {\n children: \"Мой аккаунт\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 100,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 101,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/profile\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 104,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Профиль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 105,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 103,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 102,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 110,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 111,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 109,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 108,\n columnNumber: 33\n }, this),\n isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/offers\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 117,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 118,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 116,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 115,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 122,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n className: \"text-destructive focus:text-destructive cursor-pointer\",\n onClick: ()=>logout(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 124,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Выйти из аккаунта\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 125,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 123,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 99,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 90,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n asChild: true,\n className: \"hidden sm:flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/auth/login\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 132,\n columnNumber: 33\n }, this),\n \"Войти\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 131,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 130,\n columnNumber: 25\n }, this),\n isMasterOrCompany ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n children: \"Подобрать заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 139,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 138,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/become-performer\",\n children: \"Стать исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 145,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 144,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 63,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 39,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FDaEUsNEVBQUM1QyxrREFBSUE7Z0NBQUNvQyxNQUFLOzBDQUE4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNyRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcd2lkZ2V0c1xcSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiXHJcbmltcG9ydCB7IE1vZGVUb2dnbGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL21vZGUtdG9nZ2xlXCJcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxyXG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3N3aXRjaFwiXHJcbmltcG9ydCB7IFNlYXJjaCwgVXNlciwgTG9nT3V0LCBCcmllZmNhc2UsIE1hcFBpbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5pbXBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51Q29udGVudCxcclxuICAgIERyb3Bkb3duTWVudUl0ZW0sXHJcbiAgICBEcm9wZG93bk1lbnVMYWJlbCxcclxuICAgIERyb3Bkb3duTWVudVNlcGFyYXRvcixcclxuICAgIERyb3Bkb3duTWVudVRyaWdnZXIsXHJcbn0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51XCJcclxuXHJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxyXG5pbXBvcnQgeyB1c2VHZW9TdG9yZSB9IGZyb20gXCJAL2ZlYXR1cmVzL2dlby91c2VHZW9TdG9yZVwiXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSGVhZGVyKCkge1xyXG4gICAgY29uc3QgeyBpc0F1dGgsIHVzZXIsIGxvZ291dCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcclxuICAgIGNvbnN0IHsgaXNPbmxpbmUsIGlzVXBkYXRpbmcsIGVycm9yOiBnZW9FcnJvciwgZ29PbmxpbmUsIGdvT2ZmbGluZSB9ID0gdXNlR2VvU3RvcmUoKVxyXG5cclxuICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQuNGB0L/QvtC70L3QuNGC0LXQu9C10Lwg0LjQu9C4INC60L7QvNC/0LDQvdC40LXQuVxyXG4gICAgY29uc3QgaXNNYXN0ZXJPckNvbXBhbnkgPSB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDYW5kaWRhdGVcIikgfHwgdXNlcj8ucm9sZXM/LmluY2x1ZGVzKFwiQ29tcGFueVwiKSB8fCB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJNYXN0ZXJcIilcclxuXHJcbiAgICAvKiog0J7QsdGA0LDQsdC+0YLRh9C40Log0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINGC0YPQvNCx0LvQtdGA0LAgwqvQndCwINC70LjQvdC40LjCuyAqL1xyXG4gICAgY29uc3QgaGFuZGxlVG9nZ2xlT25saW5lID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoIXVzZXI/LmlkKSByZXR1cm5cclxuICAgICAgICBpZiAoY2hlY2tlZCkge1xyXG4gICAgICAgICAgICBnb09ubGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGdvT2ZmbGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwic3RpY2t5IHRvcC0wIHotNTAgdy1mdWxsIGJvcmRlci1iIGJnLWJhY2tncm91bmQvOTUgYmFja2Ryb3AtYmx1ciBzdXBwb3J0cy1bYmFja2Ryb3AtZmlsdGVyXTpiZy1iYWNrZ3JvdW5kLzYwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG14LWF1dG8gZmxleCBoLTE2IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYmxhY2sgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTYwMCBkYXJrOnRleHQtYmx1ZS01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hc2hlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuYXYgY2xhc3NOYW1lPVwiaGlkZGVuIG1kOmZsZXggZ2FwLTYgaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1jb2xvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvc2VhcmNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGhvdmVyOnRleHQtYmx1ZS02MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC40YHQulxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL29yZGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJob3Zlcjp0ZXh0LWJsdWUtNjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0JzQvtC4INC30LDQutCw0LfRi1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCi0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsg4oCUINCy0LjQtNC10L0g0YLQvtC70YzQutC+INC40YHQv9C+0LvQvdC40YLQtdC70Y/QvC/QutC+0LzQv9Cw0L3QuNGP0LwgKi99XHJcbiAgICAgICAgICAgICAgICAgICAge2lzQXV0aCAmJiBpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIHNtOmZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1yLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBQaW4gY2xhc3NOYW1lPXtgaC00IHctNCB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTUwMFwiIDogXCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIn1gfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZ2VvLW9ubGluZS10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2lzT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17aGFuZGxlVG9nZ2xlT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1VwZGF0aW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9XCJnZW8tb25saW5lLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdGV4dC14cyBmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTYwMCBkYXJrOnRleHQtZ3JlZW4tNDAwXCIgOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwifWB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzT25saW5lID8gXCLQk9C+0YLQvtCyINC6INC30LDQutCw0LfRg1wiIDogXCLQntGE0LvQsNC50L1cIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3IgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1yZWQtNTAwIG1heC13LVsxMjBweF0gdHJ1bmNhdGVcIiB0aXRsZT17Z2VvRXJyb3J9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3J9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPE1vZGVUb2dnbGUgLz5cclxuICAgICAgICAgICAgICAgICAgICB7aXNBdXRoID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVRyaWdnZXIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzTmFtZT1cImhpZGRlbiBzbTpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBmb2N1cy12aXNpYmxlOnJpbmctMCBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMCBvdXRsaW5lLW5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDb21wYW55XCIpICYmIHVzZXI/LmNvbXBhbnlOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHVzZXIuY29tcGFueU5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKHVzZXI/LmZpcnN0TmFtZSAmJiB1c2VyPy5sYXN0TmFtZSA/IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YCA6IFwi0J/RgNC+0YTQuNC70YxcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51Q29udGVudCBhbGlnbj1cImVuZFwiIGNsYXNzTmFtZT1cInctNTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51TGFiZWw+0JzQvtC5INCw0LrQutCw0YPQvdGCPC9Ecm9wZG93bk1lbnVMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51U2VwYXJhdG9yIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9kYXNoYm9hcmQvcHJvZmlsZVwiIGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyIHctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwibXItMiBoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPtCf0YDQvtGE0LjQu9GMPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvb3JkZXJzXCIgY2xhc3NOYW1lPVwiY3Vyc29yLXBvaW50ZXIgdy1mdWxsIGZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QnNC+0Lgg0LfQsNC60LDQt9GLPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2Rhc2hib2FyZC9vZmZlcnNcIiBjbGFzc05hbWU9XCJjdXJzb3ItcG9pbnRlciB3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnJpZWZjYXNlIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0JzQvtC4INGD0YHQu9GD0LPQuDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVNlcGFyYXRvciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGNsYXNzTmFtZT1cInRleHQtZGVzdHJ1Y3RpdmUgZm9jdXM6dGV4dC1kZXN0cnVjdGl2ZSBjdXJzb3ItcG9pbnRlclwiIG9uQ2xpY2s9eygpID0+IGxvZ291dCgpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExvZ091dCBjbGFzc05hbWU9XCJtci0yIGgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QktGL0LnRgtC4INC40Lcg0LDQutC60LDRg9C90YLQsDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImdob3N0XCIgYXNDaGlsZCBjbGFzc05hbWU9XCJoaWRkZW4gc206ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvYXV0aC9sb2dpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVc2VyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCS0L7QudGC0LhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7aXNNYXN0ZXJPckNvbXBhbnkgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgdGV4dC13aGl0ZVwiIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL29yZGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNC+0LHRgNCw0YLRjCDQt9Cw0LrQsNC30YtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlXCIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvZGFzaGJvYXJkL2JlY29tZS1wZXJmb3JtZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodGC0LDRgtGMINC40YHQv9C+0LvQvdC40YLQtdC70LXQvFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJMaW5rIiwiTW9kZVRvZ2dsZSIsIkJ1dHRvbiIsIlN3aXRjaCIsIlNlYXJjaCIsIlVzZXIiLCJMb2dPdXQiLCJCcmllZmNhc2UiLCJNYXBQaW4iLCJEcm9wZG93bk1lbnUiLCJEcm9wZG93bk1lbnVDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkRyb3Bkb3duTWVudUxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiRHJvcGRvd25NZW51VHJpZ2dlciIsInVzZVNlc3Npb25TdG9yZSIsInVzZUdlb1N0b3JlIiwiSGVhZGVyIiwiaXNBdXRoIiwidXNlciIsImxvZ291dCIsImlzT25saW5lIiwiaXNVcGRhdGluZyIsImVycm9yIiwiZ2VvRXJyb3IiLCJnb09ubGluZSIsImdvT2ZmbGluZSIsImlzTWFzdGVyT3JDb21wYW55Iiwicm9sZXMiLCJpbmNsdWRlcyIsImhhbmRsZVRvZ2dsZU9ubGluZSIsImNoZWNrZWQiLCJpZCIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsImhyZWYiLCJzcGFuIiwibmF2Iiwib25DaGVja2VkQ2hhbmdlIiwiZGlzYWJsZWQiLCJsYWJlbCIsImh0bWxGb3IiLCJ0aXRsZSIsImFzQ2hpbGQiLCJ2YXJpYW50IiwiY29tcGFueU5hbWUiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/widgets/Header.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/globals.css": -/*!*****************************!*\ - !*** ./src/app/globals.css ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"96c14632c738\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXGdsb2JhbHMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOTZjMTQ2MzJjNzM4XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/auth/login/page.tsx": -/*!*************************************!*\ - !*** ./src/app/auth/login/page.tsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LoginPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _features_auth_LoginForm__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/features/auth/LoginForm */ \"(rsc)/./src/features/auth/LoginForm.tsx\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(rsc)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nfunction LoginPage() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container flex h-[calc(100vh-4rem)] w-screen flex-col items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[350px]\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_features_auth_LoginForm__WEBPACK_IMPORTED_MODULE_1__.LoginForm, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\auth\\\\login\\\\page.tsx\",\n lineNumber: 8,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"px-8 text-center text-sm text-muted-foreground\",\n children: [\n \"Нет аккаунта?\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/auth/register\",\n className: \"hover:text-brand underline underline-offset-4\",\n children: \"Зарегистрироваться\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\auth\\\\login\\\\page.tsx\",\n lineNumber: 11,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\auth\\\\login\\\\page.tsx\",\n lineNumber: 9,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\auth\\\\login\\\\page.tsx\",\n lineNumber: 7,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\auth\\\\login\\\\page.tsx\",\n lineNumber: 6,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2F1dGgvbG9naW4vcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFxRDtBQUN6QjtBQUViLFNBQVNFO0lBQ3BCLHFCQUNJLDhEQUFDQztRQUFJQyxXQUFVO2tCQUNYLDRFQUFDRDtZQUFJQyxXQUFVOzs4QkFDWCw4REFBQ0osK0RBQVNBOzs7Ozs4QkFDViw4REFBQ0s7b0JBQUVELFdBQVU7O3dCQUFpRDt3QkFDNUM7c0NBQ2QsOERBQUNILGtEQUFJQTs0QkFDREssTUFBSzs0QkFDTEYsV0FBVTtzQ0FDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPckIiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGFwcFxcYXV0aFxcbG9naW5cXHBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2luRm9ybSB9IGZyb20gXCJAL2ZlYXR1cmVzL2F1dGgvTG9naW5Gb3JtXCJcclxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBMb2dpblBhZ2UoKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIGZsZXggaC1bY2FsYygxMDB2aC00cmVtKV0gdy1zY3JlZW4gZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBmbGV4IHctZnVsbCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciBzcGFjZS15LTYgc206dy1bMzUwcHhdXCI+XHJcbiAgICAgICAgICAgICAgICA8TG9naW5Gb3JtIC8+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJweC04IHRleHQtY2VudGVyIHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAg0J3QtdGCINCw0LrQutCw0YPQvdGC0LA/e1wiIFwifVxyXG4gICAgICAgICAgICAgICAgICAgIDxMaW5rXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXV0aC9yZWdpc3RlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImhvdmVyOnRleHQtYnJhbmQgdW5kZXJsaW5lIHVuZGVybGluZS1vZmZzZXQtNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDQl9Cw0YDQtdCz0LjRgdGC0YDQuNGA0L7QstCw0YLRjNGB0Y9cclxuICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJMb2dpbkZvcm0iLCJMaW5rIiwiTG9naW5QYWdlIiwiZGl2IiwiY2xhc3NOYW1lIiwicCIsImhyZWYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/auth/login/page.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/layout.tsx": -/*!****************************!*\ - !*** ./src/app/layout.tsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src\\\\\\\\app\\\\\\\\layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\",\\\"cyrillic\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n/* harmony import */ var leaflet_dist_leaflet_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! leaflet/dist/leaflet.css */ \"(rsc)/./node_modules/leaflet/dist/leaflet.css\");\n/* harmony import */ var _components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/theme/theme-provider */ \"(rsc)/./src/components/theme/theme-provider.tsx\");\n/* harmony import */ var _widgets_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/widgets/Header */ \"(rsc)/./src/widgets/Header.tsx\");\n/* harmony import */ var _components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/sonner */ \"(rsc)/./src/components/ui/sonner.tsx\");\n/* harmony import */ var _components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/auth/AuthProvider */ \"(rsc)/./src/components/auth/AuthProvider.tsx\");\n\n\n\n\n\n\n\n\nconst metadata = {\n title: \"Nashel - Маркетплейс услуг\",\n description: \"Найди мастера за 60 минут\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"ru\",\n suppressHydrationWarning: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: `${(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default().className)} min-h-screen bg-background text-foreground antialiased`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__.ThemeProvider, {\n attribute: \"class\",\n defaultTheme: \"system\",\n enableSystem: true,\n disableTransitionOnChange: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__.AuthProvider, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex min-h-screen flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_widgets_Header__WEBPACK_IMPORTED_MODULE_4__.Header, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 34,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 32,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__.Toaster, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 36,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 31,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 25,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQVNNQTtBQVBpQjtBQUNXO0FBQ2dDO0FBQ3hCO0FBQ087QUFDYTtBQUl2RCxNQUFNSyxXQUFxQjtJQUM5QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2pCLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQy9CQyxRQUFRLEVBR1Y7SUFDRSxxQkFDSSw4REFBQ0M7UUFBS0MsTUFBSztRQUFLQyx3QkFBd0I7a0JBQ3BDLDRFQUFDQztZQUFLQyxXQUFXLEdBQUdkLHdLQUFlLENBQUMsdURBQXVELENBQUM7c0JBQ3hGLDRFQUFDQywyRUFBYUE7Z0JBQ1ZjLFdBQVU7Z0JBQ1ZDLGNBQWE7Z0JBQ2JDLFlBQVk7Z0JBQ1pDLHlCQUF5QjswQkFFekIsNEVBQUNkLHVFQUFZQTs7c0NBQ1QsOERBQUNlOzRCQUFJTCxXQUFVOzs4Q0FDWCw4REFBQ1osbURBQU1BOzs7Ozs4Q0FDUCw4REFBQ2tCO29DQUFLTixXQUFVOzhDQUFVTDs7Ozs7Ozs7Ozs7O3NDQUU5Qiw4REFBQ04sMERBQU9BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1oQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcYXBwXFxsYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tIFwibmV4dFwiO1xyXG5pbXBvcnQgeyBJbnRlciB9IGZyb20gXCJuZXh0L2ZvbnQvZ29vZ2xlXCI7XHJcbmltcG9ydCBcIi4vZ2xvYmFscy5jc3NcIjtcclxuaW1wb3J0IFwibGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzXCI7XHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL3RoZW1lLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL3dpZGdldHMvSGVhZGVyXCI7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3Nvbm5lclwiO1xyXG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL2F1dGgvQXV0aFByb3ZpZGVyXCI7XHJcblxyXG5jb25zdCBpbnRlciA9IEludGVyKHsgc3Vic2V0czogW1wibGF0aW5cIiwgXCJjeXJpbGxpY1wiXSB9KTtcclxuXHJcbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XHJcbiAgICB0aXRsZTogXCJOYXNoZWwgLSDQnNCw0YDQutC10YLQv9C70LXQudGBINGD0YHQu9GD0LNcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcItCd0LDQudC00Lgg0LzQsNGB0YLQtdGA0LAg0LfQsCA2MCDQvNC40L3Rg9GCXCIsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSb290TGF5b3V0KHtcclxuICAgIGNoaWxkcmVuLFxyXG59OiBSZWFkb25seTx7XHJcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xyXG59Pikge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8aHRtbCBsYW5nPVwicnVcIiBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc+XHJcbiAgICAgICAgICAgIDxib2R5IGNsYXNzTmFtZT17YCR7aW50ZXIuY2xhc3NOYW1lfSBtaW4taC1zY3JlZW4gYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQgYW50aWFsaWFzZWRgfT5cclxuICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlPVwiY2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRUaGVtZT1cInN5c3RlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlU3lzdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVRyYW5zaXRpb25PbkNoYW5nZVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxBdXRoUHJvdmlkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgZmxleCBtaW4taC1zY3JlZW4gZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkZXIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9hc3RlciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQXV0aFByb3ZpZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxyXG4gICAgICAgICAgICA8L2JvZHk+XHJcbiAgICAgICAgPC9odG1sPlxyXG4gICAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsiaW50ZXIiLCJUaGVtZVByb3ZpZGVyIiwiSGVhZGVyIiwiVG9hc3RlciIsIkF1dGhQcm92aWRlciIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiwiYm9keSIsImNsYXNzTmFtZSIsImF0dHJpYnV0ZSIsImRlZmF1bHRUaGVtZSIsImVuYWJsZVN5c3RlbSIsImRpc2FibGVUcmFuc2l0aW9uT25DaGFuZ2UiLCJkaXYiLCJtYWluIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const AuthProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx", -"AuthProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const ThemeProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx", -"ThemeProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Toaster: () => (/* binding */ Toaster) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Toaster = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx", -"Toaster", -); - -/***/ }), - -/***/ "(rsc)/./src/features/auth/LoginForm.tsx": -/*!*****************************************!*\ - !*** ./src/features/auth/LoginForm.tsx ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ LoginForm: () => (/* binding */ LoginForm) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const LoginForm = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call LoginForm() from the server but LoginForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx", -"LoginForm", -); - -/***/ }), - -/***/ "(rsc)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Header: () => (/* binding */ Header) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Header = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Header() from the server but Header is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx", -"Header", -); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@radix-ui","vendor-chunks/axios","vendor-chunks/mime-db","vendor-chunks/@floating-ui","vendor-chunks/tailwind-merge","vendor-chunks/sonner","vendor-chunks/lucide-react","vendor-chunks/cookies-next","vendor-chunks/follow-redirects","vendor-chunks/debug","vendor-chunks/tslib","vendor-chunks/react-remove-scroll","vendor-chunks/form-data","vendor-chunks/get-intrinsic","vendor-chunks/cookie","vendor-chunks/asynckit","vendor-chunks/aria-hidden","vendor-chunks/next-themes","vendor-chunks/react-remove-scroll-bar","vendor-chunks/combined-stream","vendor-chunks/mime-types","vendor-chunks/use-callback-ref","vendor-chunks/proxy-from-env","vendor-chunks/use-sidecar","vendor-chunks/class-variance-authority","vendor-chunks/ms","vendor-chunks/supports-color","vendor-chunks/react-style-singleton","vendor-chunks/has-symbols","vendor-chunks/delayed-stream","vendor-chunks/function-bind","vendor-chunks/@swc","vendor-chunks/zustand","vendor-chunks/es-set-tostringtag","vendor-chunks/get-proto","vendor-chunks/call-bind-apply-helpers","vendor-chunks/dunder-proto","vendor-chunks/math-intrinsics","vendor-chunks/es-errors","vendor-chunks/clsx","vendor-chunks/has-flag","vendor-chunks/gopd","vendor-chunks/get-nonce","vendor-chunks/es-define-property","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/leaflet","vendor-chunks/es-object-atoms","vendor-chunks/zod","vendor-chunks/react-hook-form","vendor-chunks/@hookform"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fauth%2Flogin%2Fpage&page=%2Fauth%2Flogin%2Fpage&appPaths=%2Fauth%2Flogin%2Fpage&pagePath=private-next-app-dir%2Fauth%2Flogin%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/auth/login/page_client-reference-manifest.js b/.next/server/app/auth/login/page_client-reference-manifest.js deleted file mode 100644 index 2a1a818..0000000 --- a/.next/server/app/auth/login/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/auth/login/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(ssr)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(ssr)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(ssr)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(ssr)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx":{"id":"(app-pages-browser)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/auth/login/page","static/chunks/app/auth/login/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/auth/login/page","static/chunks/app/auth/login/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx":{"id":"(app-pages-browser)/./src/features/auth/LoginForm.tsx","name":"*","chunks":["app/auth/login/page","static/chunks/app/auth/login/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx":{"id":"(app-pages-browser)/./src/components/home/PerformerButton.tsx","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":{"id":"(app-pages-browser)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\page":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\auth\\login\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(rsc)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(rsc)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(rsc)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(rsc)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/dashboard/offers/[id]/edit/page.js b/.next/server/app/dashboard/offers/[id]/edit/page.js deleted file mode 100644 index 076a92f..0000000 --- a/.next/server/app/dashboard/offers/[id]/edit/page.js +++ /dev/null @@ -1,691 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "app/dashboard/offers/[id]/edit/page"; -exports.ids = ["app/dashboard/offers/[id]/edit/page"]; -exports.modules = { - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "../app-render/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/server/app-render/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/action-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/after-task-async-storage.external": -/*!***********************************************************************************!*\ - !*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***! - \***********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/work-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/server/app-render/work-async-storage.external.js" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-async-storage.external.js"); - -/***/ }), - -/***/ "./work-unit-async-storage.external": -/*!**********************************************************************************!*\ - !*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***! - \**********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js"); - -/***/ }), - -/***/ "assert": -/*!*************************!*\ - !*** external "assert" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("assert"); - -/***/ }), - -/***/ "crypto": -/*!*************************!*\ - !*** external "crypto" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("crypto"); - -/***/ }), - -/***/ "events": -/*!*************************!*\ - !*** external "events" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("events"); - -/***/ }), - -/***/ "fs": -/*!*********************!*\ - !*** external "fs" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("fs"); - -/***/ }), - -/***/ "http": -/*!***********************!*\ - !*** external "http" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http"); - -/***/ }), - -/***/ "http2": -/*!************************!*\ - !*** external "http2" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http2"); - -/***/ }), - -/***/ "https": -/*!************************!*\ - !*** external "https" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("https"); - -/***/ }), - -/***/ "os": -/*!*********************!*\ - !*** external "os" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("os"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ "stream": -/*!*************************!*\ - !*** external "stream" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("stream"); - -/***/ }), - -/***/ "tty": -/*!**********************!*\ - !*** external "tty" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("tty"); - -/***/ }), - -/***/ "url": -/*!**********************!*\ - !*** external "url" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("url"); - -/***/ }), - -/***/ "util": -/*!***********************!*\ - !*** external "util" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), - -/***/ "zlib": -/*!***********************!*\ - !*** external "zlib" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("zlib"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&page=%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&appPaths=%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": -/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&page=%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&appPaths=%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! - \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/module.compiled.js?91d2\");\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nconst module0 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\"));\nconst module1 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23));\nconst module2 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/forbidden-error */ \"(rsc)/./node_modules/next/dist/client/components/forbidden-error.js\", 23));\nconst module3 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/unauthorized-error */ \"(rsc)/./node_modules/next/dist/client/components/unauthorized-error.js\", 23));\nconst page4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/offers/[id]/edit/page.tsx */ \"(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx\"));\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'dashboard',\n {\n children: [\n 'offers',\n {\n children: [\n '[id]',\n {\n children: [\n 'edit',\n {\n children: ['__PAGE__', {}, {\n page: [page4, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [module0, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\"],\n'not-found': [module1, \"next/dist/client/components/not-found-error\"],\n'forbidden': [module2, \"next/dist/client/components/forbidden-error\"],\n'unauthorized': [module3, \"next/dist/client/components/unauthorized-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/dashboard/offers/[id]/edit/page\",\n pathname: \"/dashboard/offers/[id]/edit\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkZkYXNoYm9hcmQlMkZvZmZlcnMlMkYlNUJpZCU1RCUyRmVkaXQlMkZwYWdlJnBhZ2U9JTJGZGFzaGJvYXJkJTJGb2ZmZXJzJTJGJTVCaWQlNUQlMkZlZGl0JTJGcGFnZSZhcHBQYXRocz0lMkZkYXNoYm9hcmQlMkZvZmZlcnMlMkYlNUJpZCU1RCUyRmVkaXQlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGZGFzaGJvYXJkJTJGb2ZmZXJzJTJGJTVCaWQlNUQlMkZlZGl0JTJGcGFnZS50c3gmYXBwRGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQlNUNzcmMlNUNhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9c3RhbmRhbG9uZSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQkFBc0Isb0pBQXdGO0FBQzlHLHNCQUFzQiwwTkFBZ0Y7QUFDdEcsc0JBQXNCLDBOQUFnRjtBQUN0RyxzQkFBc0IsZ09BQW1GO0FBQ3pHLG9CQUFvQixzTUFBcUg7QUFHdkk7QUFDc0Q7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUN1QjtBQUM2RDtBQUNwRiw2QkFBNkIsbUJBQW1CO0FBQ2hEO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsdUdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyxrRUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IG1vZHVsZTAgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKTtcbmNvbnN0IG1vZHVsZTEgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIik7XG5jb25zdCBtb2R1bGUyID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZm9yYmlkZGVuLWVycm9yXCIpO1xuY29uc3QgbW9kdWxlMyA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC1lcnJvclwiKTtcbmNvbnN0IHBhZ2U0ID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxvZmZlcnNcXFxcW2lkXVxcXFxlZGl0XFxcXHBhZ2UudHN4XCIpO1xuaW1wb3J0IHsgQXBwUGFnZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWRcIiB3aXRoIHtcbiAgICAndHVyYm9wYWNrLXRyYW5zaXRpb24nOiAnbmV4dC1zc3InXG59O1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcm91dGUta2luZFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ2Rhc2hib2FyZCcsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ29mZmVycycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ1tpZF0nLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdlZGl0JyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogWydfX1BBR0VfXycsIHt9LCB7XG4gICAgICAgICAgcGFnZTogW3BhZ2U0LCBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcZGFzaGJvYXJkXFxcXG9mZmVyc1xcXFxbaWRdXFxcXGVkaXRcXFxccGFnZS50c3hcIl0sXG4gICAgICAgICAgXG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFttb2R1bGUwLCBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbbW9kdWxlMSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuJ2ZvcmJpZGRlbic6IFttb2R1bGUyLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9mb3JiaWRkZW4tZXJyb3JcIl0sXG4ndW5hdXRob3JpemVkJzogW21vZHVsZTMsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC1lcnJvclwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxvZmZlcnNcXFxcW2lkXVxcXFxlZGl0XFxcXHBhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvZGFzaGJvYXJkL29mZmVycy9baWRdL2VkaXQvcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvZGFzaGJvYXJkL29mZmVycy9baWRdL2VkaXRcIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiAnJyxcbiAgICAgICAgZmlsZW5hbWU6ICcnLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&page=%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&appPaths=%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(rsc)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(ssr)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(rsc)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(rsc)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(rsc)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(rsc)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(ssr)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(ssr)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(ssr)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(ssr)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5C%5Bid%5D%5C%5Cedit%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5C%5Bid%5D%5C%5Cedit%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/offers/[id]/edit/page.tsx */ \"(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNzcmMlNUMlNUNhcHAlNUMlNUNkYXNoYm9hcmQlNUMlNUNvZmZlcnMlNUMlNUMlNUJpZCU1RCU1QyU1Q2VkaXQlNUMlNUNwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsc01BQXFIIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxvZmZlcnNcXFxcW2lkXVxcXFxlZGl0XFxcXHBhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5C%5Bid%5D%5C%5Cedit%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5C%5Bid%5D%5C%5Cedit%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5C%5Bid%5D%5C%5Cedit%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/offers/[id]/edit/page.tsx */ \"(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNzcmMlNUMlNUNhcHAlNUMlNUNkYXNoYm9hcmQlNUMlNUNvZmZlcnMlNUMlNUMlNUJpZCU1RCU1QyU1Q2VkaXQlNUMlNUNwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsc01BQXFIIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxvZmZlcnNcXFxcW2lkXVxcXFxlZGl0XFxcXHBhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5C%5Bid%5D%5C%5Cedit%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx": -/*!*****************************************************!*\ - !*** ./src/app/dashboard/offers/[id]/edit/page.tsx ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ EditOfferPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hookform/resolvers/zod */ \"(ssr)/./node_modules/@hookform/resolvers/zod/dist/zod.mjs\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! zod */ \"(ssr)/./node_modules/zod/v4/classic/external.js\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/form */ \"(ssr)/./src/components/ui/form.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/input */ \"(ssr)/./src/components/ui/input.tsx\");\n/* harmony import */ var _components_ui_textarea__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/ui/textarea */ \"(ssr)/./src/components/ui/textarea.tsx\");\n/* harmony import */ var _components_ui_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/ui/select */ \"(ssr)/./src/components/ui/select.tsx\");\n/* harmony import */ var _components_ui_card__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/ui/card */ \"(ssr)/./src/components/ui/card.tsx\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,Plus,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* harmony import */ var _barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,Plus,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/plus.js\");\n/* harmony import */ var _barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,Plus,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\");\n/* harmony import */ var _shared_api_catalog__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/shared/api/catalog */ \"(ssr)/./src/shared/api/catalog.ts\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _components_ui_image_uploader__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/components/ui/image-uploader */ \"(ssr)/./src/components/ui/image-uploader.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst formSchema = zod__WEBPACK_IMPORTED_MODULE_14__.object({\n title: zod__WEBPACK_IMPORTED_MODULE_14__.string().min(5, \"Название должно быть минимум из 5 символов\").max(100),\n description: zod__WEBPACK_IMPORTED_MODULE_14__.string().min(10, \"Описание должно быть минимум из 10 символов\").max(2000),\n price: zod__WEBPACK_IMPORTED_MODULE_14__.object({\n amount: zod__WEBPACK_IMPORTED_MODULE_14__.number().min(1, \"Сумма должна быть больше 0\"),\n type: zod__WEBPACK_IMPORTED_MODULE_14__.number().int().min(0).max(2)\n }),\n attributes: zod__WEBPACK_IMPORTED_MODULE_14__.array(zod__WEBPACK_IMPORTED_MODULE_14__.object({\n key: zod__WEBPACK_IMPORTED_MODULE_14__.string().min(1, \"Введите название характеристики\"),\n value: zod__WEBPACK_IMPORTED_MODULE_14__.string().min(1, \"Введите значение\")\n })).optional(),\n images: zod__WEBPACK_IMPORTED_MODULE_14__.array(zod__WEBPACK_IMPORTED_MODULE_14__.string()).max(10, \"Максимум 10 изображений\").optional()\n});\nfunction EditOfferPage() {\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const params = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useParams)();\n const { id } = params;\n const { user, isAuth } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_12__.useSessionStore)();\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [isSubmitting, setIsSubmitting] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const form = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_15__.useForm)({\n resolver: (0,_hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_3__.zodResolver)(formSchema),\n defaultValues: {\n title: \"\",\n description: \"\",\n price: {\n amount: 0,\n type: 0\n },\n attributes: [],\n images: []\n }\n });\n const { fields, append, remove } = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_15__.useFieldArray)({\n name: \"attributes\",\n control: form.control\n });\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"EditOfferPage.useEffect\": ()=>{\n if (!isAuth) return;\n const isPerformer = user?.roles?.some({\n \"EditOfferPage.useEffect\": (r)=>[\n \"Master\",\n \"Company\",\n \"Candidate\",\n \"Admin\"\n ].includes(r)\n }[\"EditOfferPage.useEffect\"]);\n if (!isPerformer) {\n sonner__WEBPACK_IMPORTED_MODULE_10__.toast.error(\"Сначала станьте исполнителем, чтобы редактировать услуги\");\n router.push(\"/dashboard/become-performer\");\n return;\n }\n const fetchOffer = {\n \"EditOfferPage.useEffect.fetchOffer\": async ()=>{\n try {\n const offerData = await (0,_shared_api_catalog__WEBPACK_IMPORTED_MODULE_11__.getOfferById)(id);\n if (offerData.performerId !== user?.id) {\n sonner__WEBPACK_IMPORTED_MODULE_10__.toast.error(\"Вы не можете редактировать эту услугу\");\n router.push(\"/dashboard/offers\");\n return;\n }\n const attrArray = [];\n if (offerData.attributes) {\n for (const [key, value] of Object.entries(offerData.attributes)){\n attrArray.push({\n key,\n value: String(value)\n });\n }\n }\n form.reset({\n title: offerData.title,\n description: offerData.description,\n price: {\n amount: offerData.price.amount,\n type: offerData.price.type\n },\n attributes: attrArray,\n images: offerData.images || []\n });\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_10__.toast.error(\"Не удалось загрузить данные услуги\");\n router.push(\"/dashboard/offers\");\n } finally{\n setLoading(false);\n }\n }\n }[\"EditOfferPage.useEffect.fetchOffer\"];\n fetchOffer();\n }\n }[\"EditOfferPage.useEffect\"], [\n isAuth,\n user,\n id,\n form,\n router\n ]);\n async function onSubmit(data) {\n setIsSubmitting(true);\n try {\n const attributesObj = data.attributes?.reduce((acc, curr)=>{\n if (curr.key.trim() && curr.value.trim()) {\n acc[curr.key] = curr.value;\n }\n return acc;\n }, {}) || {};\n await (0,_shared_api_catalog__WEBPACK_IMPORTED_MODULE_11__.updateOffer)(id, {\n title: data.title,\n description: data.description,\n price: {\n amount: data.price.amount,\n type: data.price.type\n },\n attributes: attributesObj,\n images: data.images || []\n });\n sonner__WEBPACK_IMPORTED_MODULE_10__.toast.success(\"Услуга успешно обновлена\");\n router.push(\"/dashboard/offers\");\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_10__.toast.error(\"Не удалось обновить услугу. Проверьте данные и попробуйте снова.\");\n } finally{\n setIsSubmitting(false);\n }\n }\n if (loading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-center items-center py-20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-primary\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 157,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 156,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-2xl mx-auto py-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_9__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_9__.CardHeader, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_9__.CardTitle, {\n className: \"text-2xl\",\n children: \"Редактировать услугу\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 166,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_9__.CardDescription, {\n children: \"Обновите детали вашей услуги.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 167,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 165,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_9__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.Form, {\n ...form,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: form.handleSubmit(onSubmit),\n className: \"space-y-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-sm font-medium leading-none mb-1\",\n children: \"Изображения (максимум 10)\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 176,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground\",\n children: \"Первое фото станет главным для карточки услуги.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 177,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 175,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: \"images\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_image_uploader__WEBPACK_IMPORTED_MODULE_13__.ImageUploader, {\n value: field.value || [],\n onChange: field.onChange\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 185,\n columnNumber: 49\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 184,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 190,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 183,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 179,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 174,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: \"title\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormLabel, {\n children: \"Название услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 202,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n placeholder: \"Например: Ремонт квартир под ключ\",\n ...field\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 204,\n columnNumber: 49\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 203,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 206,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 201,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 197,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: \"description\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormLabel, {\n children: \"Описание\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 216,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_textarea__WEBPACK_IMPORTED_MODULE_7__.Textarea, {\n placeholder: \"Детально опишите, что включает ваша услуга...\",\n className: \"min-h-[120px]\",\n ...field\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 218,\n columnNumber: 49\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 217,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 224,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 215,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 211,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 196,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: \"price.amount\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormLabel, {\n children: \"Стоимость (₽)\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 236,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n type: \"number\",\n placeholder: \"0\",\n ...field,\n onChange: (e)=>field.onChange(Number(e.target.value))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 238,\n columnNumber: 49\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 237,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 240,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 235,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 231,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: \"price.type\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormLabel, {\n children: \"Тип цены\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 250,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n onValueChange: (v)=>field.onChange(parseInt(v)),\n value: field.value.toString(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"Тип оплаты\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 254,\n columnNumber: 57\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 253,\n columnNumber: 53\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 252,\n columnNumber: 49\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"0\",\n children: \"Фиксированная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 258,\n columnNumber: 53\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"1\",\n children: \"Почасовая\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 259,\n columnNumber: 53\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"2\",\n children: \"Договорная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 260,\n columnNumber: 53\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 257,\n columnNumber: 49\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 251,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 263,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 249,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 245,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 230,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between items-center mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-sm font-medium leading-none mb-1\",\n children: \"Дополнительные характеристики\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 272,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 271,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"outline\",\n size: \"sm\",\n onClick: ()=>append({\n key: \"\",\n value: \"\"\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 280,\n columnNumber: 41\n }, this),\n \"Добавить\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 274,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 270,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: fields.map((field, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-3 items-start\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: `attributes.${index}.key`,\n render: ({ field: inputField })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n className: \"flex-1 space-y-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n placeholder: \"Ключ\",\n ...inputField\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 294,\n columnNumber: 61\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 293,\n columnNumber: 57\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 296,\n columnNumber: 57\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 292,\n columnNumber: 53\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 288,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: `attributes.${index}.value`,\n render: ({ field: inputField })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n className: \"flex-1 space-y-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n placeholder: \"Значение\",\n ...inputField\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 306,\n columnNumber: 61\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 305,\n columnNumber: 57\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 308,\n columnNumber: 57\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 304,\n columnNumber: 53\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 300,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"ghost\",\n size: \"icon\",\n className: \"text-destructive h-9 w-9 flex-shrink-0\",\n onClick: ()=>remove(index),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_18__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 319,\n columnNumber: 49\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 312,\n columnNumber: 45\n }, this)\n ]\n }, field.id, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 287,\n columnNumber: 41\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 285,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 269,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-end pt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"outline\",\n className: \"mr-3\",\n onClick: ()=>router.push(\"/dashboard/offers\"),\n disabled: isSubmitting,\n children: \"Отмена\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 327,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"submit\",\n disabled: isSubmitting,\n children: [\n isSubmitting && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"mr-2 h-4 w-4 animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 337,\n columnNumber: 54\n }, this),\n \"Сохранить\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 336,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 326,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 173,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 172,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 171,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 164,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\",\n lineNumber: 163,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2Rhc2hib2FyZC9vZmZlcnMvW2lkXS9lZGl0L3BhZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTRDO0FBQ0E7QUFDVTtBQUNHO0FBQ2hDO0FBQ3VCO0FBU2xCO0FBQ2dCO0FBQ007QUFPcEI7QUFDNkU7QUFDOUU7QUFDc0I7QUFDc0I7QUFDaEI7QUFDSTtBQUNuQjtBQUU1QyxNQUFNbUMsYUFBYTdCLHdDQUFRLENBQUM7SUFDeEIrQixPQUFPL0Isd0NBQVEsR0FBR2lDLEdBQUcsQ0FBQyxHQUFHLDhDQUE4Q0MsR0FBRyxDQUFDO0lBQzNFQyxhQUFhbkMsd0NBQVEsR0FBR2lDLEdBQUcsQ0FBQyxJQUFJLCtDQUErQ0MsR0FBRyxDQUFDO0lBQ25GRSxPQUFPcEMsd0NBQVEsQ0FBQztRQUNacUMsUUFBUXJDLHdDQUFRLEdBQUdpQyxHQUFHLENBQUMsR0FBRztRQUMxQk0sTUFBTXZDLHdDQUFRLEdBQUd3QyxHQUFHLEdBQUdQLEdBQUcsQ0FBQyxHQUFHQyxHQUFHLENBQUM7SUFDdEM7SUFDQU8sWUFBWXpDLHVDQUFPLENBQ2ZBLHdDQUFRLENBQUM7UUFDTDJDLEtBQUszQyx3Q0FBUSxHQUFHaUMsR0FBRyxDQUFDLEdBQUc7UUFDdkJXLE9BQU81Qyx3Q0FBUSxHQUFHaUMsR0FBRyxDQUFDLEdBQUc7SUFDN0IsSUFDRlksUUFBUTtJQUNWQyxRQUFROUMsdUNBQU8sQ0FBQ0Esd0NBQVEsSUFBSWtDLEdBQUcsQ0FBQyxJQUFJLDJCQUEyQlcsUUFBUTtBQUMzRTtBQUllLFNBQVNFO0lBQ3BCLE1BQU1DLFNBQVNwRCwwREFBU0E7SUFDeEIsTUFBTXFELFNBQVNyQiwwREFBU0E7SUFDeEIsTUFBTSxFQUFFc0IsRUFBRSxFQUFFLEdBQUdEO0lBQ2YsTUFBTSxFQUFFRSxJQUFJLEVBQUVDLE1BQU0sRUFBRSxHQUFHMUIseUVBQWVBO0lBQ3hDLE1BQU0sQ0FBQzJCLFNBQVNDLFdBQVcsR0FBRzNELCtDQUFRQSxD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Ozs4Q0F1QzlCLDhEQUFDc0M7b0NBQUlDLFdBQVU7O3NEQUNYLDhEQUFDeEYseURBQU1BOzRDQUNIc0MsTUFBSzs0Q0FDTGlFLFNBQVE7NENBQ1JmLFdBQVU7NENBQ1ZpQixTQUFTLElBQU0xRCxPQUFPdUIsSUFBSSxDQUFDOzRDQUMzQnVDLFVBQVV2RDtzREFDYjs7Ozs7O3NEQUdELDhEQUFDdEQseURBQU1BOzRDQUFDc0MsTUFBSzs0Q0FBU3VFLFVBQVV2RDs7Z0RBQzNCQSw4QkFBZ0IsOERBQUNsQyxnR0FBT0E7b0RBQUNvRSxXQUFVOzs7Ozs7Z0RBQStCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVXZHIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXGRhc2hib2FyZFxcb2ZmZXJzXFxbaWRdXFxlZGl0XFxwYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcclxuXHJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgdXNlUm91dGVyIH0gZnJvbSBcIm5leHQvbmF2aWdhdGlvblwiO1xyXG5pbXBvcnQgeyB6b2RSZXNvbHZlciB9IGZyb20gXCJAaG9va2Zvcm0vcmVzb2x2ZXJzL3pvZFwiO1xyXG5pbXBvcnQgeyB1c2VGb3JtLCB1c2VGaWVsZEFycmF5IH0gZnJvbSBcInJlYWN0LWhvb2stZm9ybVwiO1xyXG5pbXBvcnQgKiBhcyB6IGZyb20gXCJ6b2RcIjtcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIjtcclxuaW1wb3J0IHtcclxuICAgIEZvcm0sXHJcbiAgICBGb3JtQ29udHJvbCxcclxuICAgIEZvcm1EZXNjcmlwdGlvbixcclxuICAgIEZvcm1GaWVsZCxcclxuICAgIEZvcm1JdGVtLFxyXG4gICAgRm9ybUxhYmVsLFxyXG4gICAgRm9ybU1lc3NhZ2UsXHJcbn0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9mb3JtXCI7XHJcbmltcG9ydCB7IElucHV0IH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9pbnB1dFwiO1xyXG5pbXBvcnQgeyBUZXh0YXJlYSB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvdGV4dGFyZWFcIjtcclxuaW1wb3J0IHtcclxuICAgIFNlbGVjdCxcclxuICAgIFNlbGVjdENvbnRlbnQsXHJcbiAgICBTZWxlY3RJdGVtLFxyXG4gICAgU2VsZWN0VHJpZ2dlcixcclxuICAgIFNlbGVjdFZhbHVlLFxyXG59IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvc2VsZWN0XCI7XHJcbmltcG9ydCB7IENhcmQsIENhcmRDb250ZW50LCBDYXJkRGVzY3JpcHRpb24sIENhcmRIZWFkZXIsIENhcmRUaXRsZSwgQ2FyZEZvb3RlciB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvY2FyZFwiO1xyXG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gXCJzb25uZXJcIjtcclxuaW1wb3J0IHsgTG9hZGVyMiwgUGx1cywgVHJhc2gyIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiO1xyXG5pbXBvcnQgeyB1cGRhdGVPZmZlciwgZ2V0T2ZmZXJCeUlkLCBDYXRlZ29yeSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvY2F0YWxvZ1wiO1xyXG5pbXBvcnQgeyB1c2VTZXNzaW9uU3RvcmUgfSBmcm9tIFwiQC9lbnRpdGllcy9zZXNzaW9uL3N0b3JlXCI7XHJcbmltcG9ydCB7IEltYWdlVXBsb2FkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2ltYWdlLXVwbG9hZGVyXCI7XHJcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gXCJuZXh0L25hdmlnYXRpb25cIjtcclxuXHJcbmNvbnN0IGZvcm1TY2hlbWEgPSB6Lm9iamVjdCh7XHJcbiAgICB0aXRsZTogei5zdHJpbmcoKS5taW4oNSwgXCLQndCw0LfQstCw0L3QuNC1INC00L7Qu9C20L3QviDQsdGL0YLRjCDQvNC40L3QuNC80YPQvCDQuNC3IDUg0YHQuNC80LLQvtC70L7QslwiKS5tYXgoMTAwKSxcclxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm1pbigxMCwgXCLQntC/0LjRgdCw0L3QuNC1INC00L7Qu9C20L3QviDQsdGL0YLRjCDQvNC40L3QuNC80YPQvCDQuNC3IDEwINGB0LjQvNCy0L7Qu9C+0LJcIikubWF4KDIwMDApLFxyXG4gICAgcHJpY2U6IHoub2JqZWN0KHtcclxuICAgICAgICBhbW91bnQ6IHoubnVtYmVyKCkubWluKDEsIFwi0KHRg9C80LzQsCDQtNC+0LvQttC90LAg0LHRi9GC0Ywg0LHQvtC70YzRiNC1IDBcIiksXHJcbiAgICAgICAgdHlwZTogei5udW1iZXIoKS5pbnQoKS5taW4oMCkubWF4KDIpLFxyXG4gICAgfSksXHJcbiAgICBhdHRyaWJ1dGVzOiB6LmFycmF5KFxyXG4gICAgICAgIHoub2JqZWN0KHtcclxuICAgICAgICAgICAga2V5OiB6LnN0cmluZygpLm1pbigxLCBcItCS0LLQtdC00LjRgtC1INC90LDQt9Cy0LDQvdC40LUg0YXQsNGA0LDQutGC0LXRgNC40YHRgtC40LrQuFwiKSxcclxuICAgICAgICAgICAgdmFsdWU6IHouc3RyaW5nKCkubWluKDEsIFwi0JLQstC10LTQuNGC0LUg0LfQvdCw0YfQtdC90LjQtVwiKSxcclxuICAgICAgICB9KVxyXG4gICAgKS5vcHRpb25hbCgpLFxyXG4gICAgaW1hZ2VzOiB6LmFycmF5KHouc3RyaW5nKCkpLm1heCgxMCwgXCLQnNCw0LrRgdC40LzRg9C8IDEwINC40LfQvtCx0YDQsNC20LXQvdC40LlcIikub3B0aW9uYWwoKSxcclxufSk7XHJcblxyXG50eXBlIEZvcm1WYWx1ZXMgPSB6LmluZmVyPHR5cGVvZiBmb3JtU2NoZW1hPjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEVkaXRPZmZlclBhZ2UoKSB7XHJcbiAgICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKTtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHVzZVBhcmFtcygpO1xyXG4gICAgY29uc3QgeyBpZCB9ID0gcGFyYW1zIGFzIHsgaWQ6IHN0cmluZyB9O1xyXG4gICAgY29uc3QgeyB1c2VyLCBpc0F1dGggfSA9IHVzZVNlc3Npb25TdG9yZSgpO1xyXG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XHJcbiAgICBjb25zdCBbaXNTdWJtaXR0aW5nLCBzZXRJc1N1Ym1pdHRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0IGZvcm0gPSB1c2VGb3JtPEZvcm1WYWx1ZXM+KHtcclxuICAgICAgICByZXNvbHZlcjogem9kUmVzb2x2ZXIoZm9ybVNjaGVtYSksXHJcbiAgICAgICAgZGVmYXVsdFZhbHVlczoge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJcIixcclxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiXCIsXHJcbiAgICAgICAgICAgIHByaWNlOiB7IGFtb3VudDogMCwgdHlwZTogMCB9LFxyXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXSxcclxuICAgICAgICAgICAgaW1hZ2VzOiBbXSxcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgeyBmaWVsZHMsIGFwcGVuZCwgcmVtb3ZlIH0gPSB1c2VGaWVsZEFycmF5KHtcclxuICAgICAgICBuYW1lOiBcImF0dHJpYnV0ZXNcIixcclxuICAgICAgICBjb250cm9sOiBmb3JtLmNvbnRyb2wsXHJcbiAgICB9KTtcclxuXHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmICghaXNBdXRoKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGlzUGVyZm9ybWVyID0gdXNlcj8ucm9sZXM/LnNvbWUociA9PiBbXCJNYXN0ZXJcIiwgXCJDb21wYW55XCIsIFwiQ2FuZGlkYXRlXCIsIFwiQWRtaW5cIl0uaW5jbHVkZXMocikpO1xyXG4gICAgICAgIGlmICghaXNQZXJmb3JtZXIpIHtcclxuICAgICAgICAgICAgdG9hc3QuZXJyb3IoXCLQodC90LDRh9Cw0LvQsCDRgdGC0LDQvdGM0YLQtSDQuNGB0L/QvtC70L3QuNGC0LXQu9C10LwsINGH0YLQvtCx0Ysg0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YPRgdC70YPQs9C4XCIpO1xyXG4gICAgICAgICAgICByb3V0ZXIucHVzaChcIi9kYXNoYm9hcmQvYmVjb21lLXBlcmZvcm1lclwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZmV0Y2hPZmZlciA9IGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9mZmVyRGF0YSA9IGF3YWl0IGdldE9mZmVyQnlJZChpZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAob2ZmZXJEYXRhLnBlcmZvcm1lcklkICE9PSB1c2VyPy5pZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvYXN0LmVycm9yKFwi0JLRiyDQvdC1INC80L7QttC10YLQtSDRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRjdGC0YMg0YPRgdC70YPQs9GDXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlci5wdXNoKFwiL2Rhc2hib2FyZC9vZmZlcnNcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGF0dHJBcnJheSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgaWYgKG9mZmVyRGF0YS5hdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2ZmZXJEYXRhLmF0dHJpYnV0ZXMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJBcnJheS5wdXNoKHsga2V5LCB2YWx1ZTogU3RyaW5nKHZhbHVlKSB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgZm9ybS5yZXNldCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IG9mZmVyRGF0YS50aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogb2ZmZXJEYXRhLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHByaWNlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFtb3VudDogb2ZmZXJEYXRhLnByaWNlLmFtb3VudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogb2ZmZXJEYXRhLnByaWNlLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBhdHRyQXJyYXksXHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2VzOiBvZmZlckRhdGEuaW1hZ2VzIHx8IFtdLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICB0b2FzdC5lcnJvcihcItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCz0YDRg9C30LjRgtGMINC00LDQvdC90YvQtSDRg9GB0LvRg9Cz0LhcIik7XHJcbiAgICAgICAgICAgICAgICByb3V0ZXIucHVzaChcIi9kYXNoYm9hcmQvb2ZmZXJzXCIpO1xyXG4gICAgICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBmZXRjaE9mZmVyKCk7XHJcbiAgICB9LCBbaXNBdXRoLCB1c2VyLCBpZCwgZm9ybSwgcm91dGVyXSk7XHJcblxyXG4gICAgYXN5bmMgZnVuY3Rpb24gb25TdWJtaXQoZGF0YTogRm9ybVZhbHVlcykge1xyXG4gICAgICAgIHNldElzU3VibWl0dGluZyh0cnVlKTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGVzT2JqID0gZGF0YS5hdHRyaWJ1dGVzPy5yZWR1Y2UoKGFjYywgY3VycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGN1cnIua2V5LnRyaW0oKSAmJiBjdXJyLnZhbHVlLnRyaW0oKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGFjY1tjdXJyLmtleV0gPSBjdXJyLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPikgfHwge307XHJcblxyXG4gICAgICAgICAgICBhd2FpdCB1cGRhdGVPZmZlcihpZCwge1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogZGF0YS5kZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgIHByaWNlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBkYXRhLnByaWNlLmFtb3VudCxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBkYXRhLnByaWNlLnR5cGUsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogYXR0cmlidXRlc09iaixcclxuICAgICAgICAgICAgICAgIGltYWdlczogZGF0YS5pbWFnZXMgfHwgW11cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0b2FzdC5zdWNjZXNzKFwi0KPRgdC70YPQs9CwINGD0YHQv9C10YjQvdC+INC+0LHQvdC+0LLQu9C10L3QsFwiKTtcclxuICAgICAgICAgICAgcm91dGVyLnB1c2goXCIvZGFzaGJvYXJkL29mZmVyc1wiKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICB0b2FzdC5lcnJvcihcItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDRg9GB0LvRg9Cz0YMuINCf0YDQvtCy0LXRgNGM0YLQtSDQtNCw0L3QvdGL0LUg0Lgg0L/QvtC/0YDQvtCx0YPQudGC0LUg0YHQvdC+0LLQsC5cIik7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0SXNTdWJtaXR0aW5nKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGxvYWRpbmcpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHB5LTIwXCI+XHJcbiAgICAgICAgICAgICAgICA8TG9hZGVyMiBjbGFzc05hbWU9XCJoLTggdy04IGFuaW1hdGUtc3BpbiB0ZXh0LXByaW1hcnlcIiAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy0yeGwgbXgtYXV0byBweS04XCI+XHJcbiAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bFwiPtCg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINGD0YHQu9GD0LPRgzwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxDYXJkRGVzY3JpcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgINCe0LHQvdC+0LLQuNGC0LUg0LTQtdGC0LDQu9C4INCy0LDRiNC10Lkg0YPRgdC70YPQs9C4LlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQ2FyZERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPENhcmRDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDxGb3JtIHsuLi5mb3JtfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gb25TdWJtaXQ9e2Zvcm0uaGFuZGxlU3VibWl0KG9uU3VibWl0KX0gY2xhc3NOYW1lPVwic3BhY2UteS04XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSBsZWFkaW5nLW5vbmUgbWItMVwiPtCY0LfQvtCx0YDQsNC20LXQvdC40Y8gKNC80LDQutGB0LjQvNGD0LwgMTApPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj7Qn9C10YDQstC+0LUg0YTQvtGC0L4g0YHRgtCw0L3QtdGCINCz0LvQsNCy0L3Ri9C8INC00LvRjyDQutCw0YDRgtC+0YfQutC4INGD0YHQu9GD0LPQuC48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtmb3JtLmNvbnRyb2x9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJpbWFnZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyh7IGZpZWxkIH0pID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZVVwbG9hZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17ZmllbGQudmFsdWUgfHwgW119XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZmllbGQub25DaGFuZ2V9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybU1lc3NhZ2UgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtmb3JtLmNvbnRyb2x9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJ0aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KHsgZmllbGQgfSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTGFiZWw+0J3QsNC30LLQsNC90LjQtSDRg9GB0LvRg9Cz0Lg8L0Zvcm1MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dCBwbGFjZWhvbGRlcj1cItCd0LDQv9GA0LjQvNC10YA6INCg0LXQvNC+0L3RgiDQutCy0LDRgNGC0LjRgCDQv9C+0LQg0LrQu9GO0YdcIiB7Li4uZmllbGR9IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybU1lc3NhZ2UgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtmb3JtLmNvbnRyb2x9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJkZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KHsgZmllbGQgfSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTGFiZWw+0J7Qv9C40YHQsNC90LjQtTwvRm9ybUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHRhcmVhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cItCU0LXRgtCw0LvRjNC90L4g0L7Qv9C40YjQuNGC0LUsINGH0YLQviDQstC60LvRjtGH0LDQtdGCINCy0LDRiNCwINGD0YHQu9GD0LPQsC4uLlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtaW4taC1bMTIwcHhdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5maWVsZH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTWVzc2FnZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0yIGdhcC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtmb3JtLmNvbnRyb2x9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJwcmljZS5hbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyh7IGZpZWxkIH0pID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPtCh0YLQvtC40LzQvtGB0YLRjCAo4oK9KTwvRm9ybUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0IHR5cGU9XCJudW1iZXJcIiBwbGFjZWhvbGRlcj1cIjBcIiB7Li4uZmllbGR9IG9uQ2hhbmdlPXtlID0+IGZpZWxkLm9uQ2hhbmdlKE51bWJlcihlLnRhcmdldC52YWx1ZSkpfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1NZXNzYWdlIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtRmllbGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbD17Zm9ybS5jb250cm9sfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwicHJpY2UudHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KHsgZmllbGQgfSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTGFiZWw+0KLQuNC/INGG0LXQvdGLPC9Gb3JtTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdCBvblZhbHVlQ2hhbmdlPXsodikgPT4gZmllbGQub25DaGFuZ2UocGFyc2VJbnQodikpfSB2YWx1ZT17ZmllbGQudmFsdWUudG9TdHJpbmcoKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RUcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RWYWx1ZSBwbGFjZWhvbGRlcj1cItCi0LjQvyDQvtC/0LvQsNGC0YtcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RUcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0Q29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJdGVtIHZhbHVlPVwiMFwiPtCk0LjQutGB0LjRgNC+0LLQsNC90L3QsNGPPC9TZWxlY3RJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0gdmFsdWU9XCIxXCI+0J/QvtGH0LDRgdC+0LLQsNGPPC9TZWxlY3RJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0gdmFsdWU9XCIyXCI+0JTQvtCz0L7QstC+0YDQvdCw0Y88L1NlbGVjdEl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0Q29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybU1lc3NhZ2UgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy1ub25lIG1iLTFcIj7QlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INGF0LDRgNCw0LrRgtC10YDQuNGB0YLQuNC60Lg8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gYXBwZW5kKHsga2V5OiBcIlwiLCB2YWx1ZTogXCJcIiB9KX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBsdXMgY2xhc3NOYW1lPVwibXItMiBoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCU0L7QsdCw0LLQuNGC0YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmaWVsZHMubWFwKChmaWVsZCwgaW5kZXgpID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtmaWVsZC5pZH0gY2xhc3NOYW1lPVwiZmxleCBnYXAtMyBpdGVtcy1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtRmllbGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbD17Zm9ybS5jb250cm9sfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtgYXR0cmlidXRlcy4ke2luZGV4fS5rZXlgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyh7IGZpZWxkOiBpbnB1dEZpZWxkIH0pID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtSXRlbSBjbGFzc05hbWU9XCJmbGV4LTEgc3BhY2UteS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgcGxhY2Vob2xkZXI9XCLQmtC70Y7Rh1wiIHsuLi5pbnB1dEZpZWxkfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1NZXNzYWdlIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtmb3JtLmNvbnRyb2x9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2BhdHRyaWJ1dGVzLiR7aW5kZXh9LnZhbHVlYH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoeyBmaWVsZDogaW5wdXRGaWVsZCB9KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUl0ZW0gY2xhc3NOYW1lPVwiZmxleC0xIHNwYWNlLXktMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0IHBsYWNlaG9sZGVyPVwi0JfQvdCw0YfQtdC90LjQtVwiIHsuLi5pbnB1dEZpZWxkfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1NZXNzYWdlIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWRlc3RydWN0aXZlIGgtOSB3LTkgZmxleC1zaHJpbmstMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHJlbW92ZShpbmRleCl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHJhc2gyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktZW5kIHB0LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1yLTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiByb3V0ZXIucHVzaChcIi9kYXNoYm9hcmQvb2ZmZXJzXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J7RgtC80LXQvdCwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwic3VibWl0XCIgZGlzYWJsZWQ9e2lzU3VibWl0dGluZ30+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc1N1Ym1pdHRpbmcgJiYgPExvYWRlcjIgY2xhc3NOYW1lPVwibXItMiBoLTQgdy00IGFuaW1hdGUtc3BpblwiIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodC+0YXRgNCw0L3QuNGC0YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICAgICAgPC9DYXJkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJ1c2VSb3V0ZXIiLCJ6b2RSZXNvbHZlciIsInVzZUZvcm0iLCJ1c2VGaWVsZEFycmF5IiwieiIsIkJ1dHRvbiIsIkZvcm0iLCJGb3JtQ29udHJvbCIsIkZvcm1GaWVsZCIsIkZvcm1JdGVtIiwiRm9ybUxhYmVsIiwiRm9ybU1lc3NhZ2UiLCJJbnB1dCIsIlRleHRhcmVhIiwiU2VsZWN0IiwiU2VsZWN0Q29udGVudCIsIlNlbGVjdEl0ZW0iLCJTZWxlY3RUcmlnZ2VyIiwiU2VsZWN0VmFsdWUiLCJDYXJkIiwiQ2FyZENvbnRlbnQiLCJDYXJkRGVzY3JpcHRpb24iLCJDYXJkSGVhZGVyIiwiQ2FyZFRpdGxlIiwidG9hc3QiLCJMb2FkZXIyIiwiUGx1cyIsIlRyYXNoMiIsInVwZGF0ZU9mZmVyIiwiZ2V0T2ZmZXJCeUlkIiwidXNlU2Vzc2lvblN0b3JlIiwiSW1hZ2VVcGxvYWRlciIsInVzZVBhcmFtcyIsImZvcm1TY2hlbWEiLCJvYmplY3QiLCJ0aXRsZSIsInN0cmluZyIsIm1pbiIsIm1heCIsImRlc2NyaXB0aW9uIiwicHJpY2UiLCJhbW91bnQiLCJudW1iZXIiLCJ0eXBlIiwiaW50IiwiYXR0cmlidXRlcyIsImFycmF5Iiwia2V5IiwidmFsdWUiLCJvcHRpb25hbCIsImltYWdlcyIsIkVkaXRPZmZlclBhZ2UiLCJyb3V0ZXIiLCJwYXJhbXMiLCJpZCIsInVzZXIiLCJpc0F1dGgiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImlzU3VibWl0dGluZyIsInNldElzU3VibWl0dGluZyIsImZvcm0iLCJyZXNvbHZlciIsImRlZmF1bHRWYWx1ZXMiLCJmaWVsZHMiLCJhcHBlbmQiLCJyZW1vdmUiLCJuYW1lIiwiY29udHJvbCIsImlzUGVyZm9ybWVyIiwicm9sZXMiLCJzb21lIiwiciIsImluY2x1ZGVzIiwiZXJyb3IiLCJwdXNoIiwiZmV0Y2hPZmZlciIsIm9mZmVyRGF0YSIsInBlcmZvcm1lcklkIiwiYXR0ckFycmF5IiwiT2JqZWN0IiwiZW50cmllcyIsIlN0cmluZyIsInJlc2V0Iiwib25TdWJtaXQiLCJkYXRhIiwiYXR0cmlidXRlc09iaiIsInJlZHVjZSIsImFjYyIsImN1cnIiLCJ0cmltIiwic3VjY2VzcyIsImRpdiIsImNsYXNzTmFtZSIsImhhbmRsZVN1Ym1pdCIsImgzIiwicCIsInJlbmRlciIsImZpZWxkIiwib25DaGFuZ2UiLCJwbGFjZWhvbGRlciIsImUiLCJOdW1iZXIiLCJ0YXJnZXQiLCJvblZhbHVlQ2hhbmdlIiwidiIsInBhcnNlSW50IiwidG9TdHJpbmciLCJ2YXJpYW50Iiwic2l6ZSIsIm9uQ2xpY2siLCJtYXAiLCJpbmRleCIsImlucHV0RmllbGQiLCJkaXNhYmxlZCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* __next_internal_client_entry_do_not_use__ AuthProvider auto */ \n\n\n\nfunction AuthProvider({ children }) {\n const { checkAuth, isInitialized } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_2__.useSessionStore)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AuthProvider.useEffect\": ()=>{\n // Проверяем авторизацию при загрузке приложения\n checkAuth();\n }\n }[\"AuthProvider.useEffect\"], [\n checkAuth\n ]);\n // Показываем загрузку только на первой проверке\n if (!isInitialized) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-blue-600\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 19,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: children\n }, void 0, false);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hdXRoL0F1dGhQcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFaUM7QUFDeUI7QUFDcEI7QUFFL0IsU0FBU0csYUFBYSxFQUFFQyxRQUFRLEVBQWlDO0lBQ3BFLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUUsR0FBR0wsd0VBQWVBO0lBRXBERCxnREFBU0E7a0NBQUM7WUFDTixnREFBZ0Q7WUFDaERLO1FBQ0o7aUNBQUc7UUFBQ0E7S0FBVTtJQUVkLGdEQUFnRDtJQUNoRCxJQUFJLENBQUNDLGVBQWU7UUFDaEIscUJBQ0ksOERBQUNDO1lBQUlDLFdBQVU7c0JBQ1gsNEVBQUNOLG1GQUFPQTtnQkFBQ00sV0FBVTs7Ozs7Ozs7Ozs7SUFHL0I7SUFFQSxxQkFBTztrQkFBR0o7O0FBQ2QiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXGF1dGhcXEF1dGhQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxuaW1wb3J0IHsgTG9hZGVyMiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuXG5leHBvcnQgZnVuY3Rpb24gQXV0aFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICBjb25zdCB7IGNoZWNrQXV0aCwgaXNJbml0aWFsaXplZCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNGOINC/0YDQuCDQt9Cw0LPRgNGD0LfQutC1INC/0YDQuNC70L7QttC10L3QuNGPXG4gICAgICAgIGNoZWNrQXV0aCgpXG4gICAgfSwgW2NoZWNrQXV0aF0pXG5cbiAgICAvLyDQn9C+0LrQsNC30YvQstCw0LXQvCDQt9Cw0LPRgNGD0LfQutGDINGC0L7Qu9GM0LrQviDQvdCwINC/0LXRgNCy0L7QuSDQv9GA0L7QstC10YDQutC1XG4gICAgaWYgKCFpc0luaXRpYWxpemVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggbWluLWgtc2NyZWVuIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cImgtOCB3LTggYW5pbWF0ZS1zcGluIHRleHQtYmx1ZS02MDBcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU2Vzc2lvblN0b3JlIiwiTG9hZGVyMiIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwiY2hlY2tBdXRoIiwiaXNJbml0aWFsaXplZCIsImRpdiIsImNsYXNzTmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/auth/AuthProvider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/mode-toggle.tsx": -/*!**********************************************!*\ - !*** ./src/components/theme/mode-toggle.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModeToggle: () => (/* binding */ ModeToggle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/sun.js\");\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/moon.js\");\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* __next_internal_client_entry_do_not_use__ ModeToggle auto */ \n\n\n\n\n\nfunction ModeToggle() {\n const { setTheme } = (0,next_themes__WEBPACK_IMPORTED_MODULE_2__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"outline\",\n size: \"icon\",\n className: \"rounded-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 22,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 23,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Toggle theme\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 24,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 21,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuContent, {\n align: \"end\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"light\"),\n children: \"Светлая\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 28,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"dark\"),\n children: \"Темная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 31,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"system\"),\n children: \"Системная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 27,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS9tb2RlLXRvZ2dsZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFOEI7QUFDVTtBQUNGO0FBRVM7QUFNVDtBQUUvQixTQUFTUztJQUNaLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdQLHFEQUFRQTtJQUU3QixxQkFDSSw4REFBQ0Usc0VBQVlBOzswQkFDVCw4REFBQ0csNkVBQW1CQTtnQkFBQ0csT0FBTzswQkFDeEIsNEVBQUNQLHlEQUFNQTtvQkFBQ1EsU0FBUTtvQkFBVUMsTUFBSztvQkFBT0MsV0FBVTs7c0NBQzVDLDhEQUFDWixvRkFBR0E7NEJBQUNZLFdBQVU7Ozs7OztzQ0FDZiw4REFBQ2Isb0ZBQUlBOzRCQUFDYSxXQUFVOzs7Ozs7c0NBQ2hCLDhEQUFDQzs0QkFBS0QsV0FBVTtzQ0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBR2xDLDhEQUFDUiw2RUFBbUJBO2dCQUFDVSxPQUFNOztrQ0FDdkIsOERBQUNULDBFQUFnQkE7d0JBQUNVLFNBQVMsSUFBTVAsU0FBUztrQ0FBVTs7Ozs7O2tDQUdwRCw4REFBQ0gsMEVBQWdCQTt3QkFBQ1UsU0FBUyxJQUFNUCxTQUFTO2tDQUFTOzs7Ozs7a0NBR25ELDhEQUFDSCwwRUFBZ0JBO3dCQUFDVSxTQUFTLElBQU1QLFNBQVM7a0NBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1yRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdGhlbWVcXG1vZGUtdG9nZ2xlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgTW9vbiwgU3VuIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuXHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCJcclxuaW1wb3J0IHtcclxuICAgIERyb3Bkb3duTWVudSxcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2Ryb3Bkb3duLW1lbnVcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVUb2dnbGUoKSB7XHJcbiAgICBjb25zdCB7IHNldFRoZW1lIH0gPSB1c2VUaGVtZSgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51VHJpZ2dlciBhc0NoaWxkPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiIHNpemU9XCJpY29uXCIgY2xhc3NOYW1lPVwicm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFN1biBjbGFzc05hbWU9XCJoLVsxLjJyZW1dIHctWzEuMnJlbV0gcm90YXRlLTAgc2NhbGUtMTAwIHRyYW5zaXRpb24tYWxsIGRhcms6LXJvdGF0ZS05MCBkYXJrOnNjYWxlLTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxNb29uIGNsYXNzTmFtZT1cImFic29sdXRlIGgtWzEuMnJlbV0gdy1bMS4ycmVtXSByb3RhdGUtOTAgc2NhbGUtMCB0cmFuc2l0aW9uLWFsbCBkYXJrOnJvdGF0ZS0wIGRhcms6c2NhbGUtMTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+VG9nZ2xlIHRoZW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51VHJpZ2dlcj5cclxuICAgICAgICAgICAgPERyb3Bkb3duTWVudUNvbnRlbnQgYWxpZ249XCJlbmRcIj5cclxuICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIG9uQ2xpY2s9eygpID0+IHNldFRoZW1lKFwibGlnaHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LLQtdGC0LvQsNGPXHJcbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51SXRlbSBvbkNsaWNrPXsoKSA9PiBzZXRUaGVtZShcImRhcmtcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCi0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gb25DbGljaz17KCkgPT4gc2V0VGhlbWUoXCJzeXN0ZW1cIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LjRgdGC0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgPC9Ecm9wZG93bk1lbnU+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiTW9vbiIsIlN1biIsInVzZVRoZW1lIiwiQnV0dG9uIiwiRHJvcGRvd25NZW51IiwiRHJvcGRvd25NZW51Q29udGVudCIsIkRyb3Bkb3duTWVudUl0ZW0iLCJEcm9wZG93bk1lbnVUcmlnZ2VyIiwiTW9kZVRvZ2dsZSIsInNldFRoZW1lIiwiYXNDaGlsZCIsInZhcmlhbnQiLCJzaXplIiwiY2xhc3NOYW1lIiwic3BhbiIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/mode-toggle.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ ThemeProvider auto */ \n\n\nfunction ThemeProvider({ children, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_themes__WEBPACK_IMPORTED_MODULE_2__.ThemeProvider, {\n ...props,\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\theme-provider.tsx\",\n lineNumber: 8,\n columnNumber: 12\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS90aGVtZS1wcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUU4QjtBQUNtQztBQUcxRCxTQUFTQyxjQUFjLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUEyQjtJQUNwRSxxQkFBTyw4REFBQ0Ysc0RBQWtCQTtRQUFFLEdBQUdFLEtBQUs7a0JBQUdEOzs7Ozs7QUFDM0MiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHRoZW1lXFx0aGVtZS1wcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgYXMgTmV4dFRoZW1lc1Byb3ZpZGVyIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuaW1wb3J0IHsgdHlwZSBUaGVtZVByb3ZpZGVyUHJvcHMgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIoeyBjaGlsZHJlbiwgLi4ucHJvcHMgfTogVGhlbWVQcm92aWRlclByb3BzKSB7XHJcbiAgICByZXR1cm4gPE5leHRUaGVtZXNQcm92aWRlciB7Li4ucHJvcHN9PntjaGlsZHJlbn08L05leHRUaGVtZXNQcm92aWRlcj5cclxufVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUaGVtZVByb3ZpZGVyIiwiTmV4dFRoZW1lc1Byb3ZpZGVyIiwiY2hpbGRyZW4iLCJwcm9wcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/theme-provider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/button.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/button.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ buttonVariants: () => (/* binding */ buttonVariants)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst buttonVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n});\nconst Button = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, size, asChild = false, ...props }, ref)=>{\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot : \"button\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Comp, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(buttonVariants({\n variant,\n size,\n className\n })),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\button.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, undefined);\n});\nButton.displayName = \"Button\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9idXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDYTtBQUNzQjtBQUUxQjtBQUV2QyxNQUFNSSxpQkFBaUJGLDZEQUFHQSxDQUN0Qiw0VkFDQTtJQUNJRyxVQUFVO1FBQ05DLFNBQVM7WUFDTEMsU0FBUztZQUNUQyxhQUNJO1lBQ0pDLFNBQ0k7WUFDSkMsV0FDSTtZQUNKQyxPQUFPO1lBQ1BDLE1BQU07UUFDVjtRQUNBQyxNQUFNO1lBQ0ZOLFNBQVM7WUFDVE8sSUFBSTtZQUNKQyxJQUFJO1lBQ0pDLE1BQU07UUFDVjtJQUNKO0lBQ0FDLGlCQUFpQjtRQUNiWCxTQUFTO1FBQ1RPLE1BQU07SUFDVjtBQUNKO0FBU0osTUFBTUssdUJBQVNsQiw2Q0FBZ0IsQ0FDM0IsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFZCxPQUFPLEVBQUVPLElBQUksRUFBRVEsVUFBVSxLQUFLLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUN0RCxNQUFNQyxPQUFPSCxVQUFVcEIsc0RBQUlBLEdBQUc7SUFDOUIscUJBQ0ksOERBQUN1QjtRQUNHSixXQUFXakIscURBQUVBLENBQUNDLGVBQWU7WUFBRUU7WUFBU087WUFBTU87UUFBVTtRQUN4REcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosT0FBT08sV0FBVyxHQUFHO0FBRVkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxidXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIlxyXG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgYnV0dG9uVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIFsmX3N2Z106cG9pbnRlci1ldmVudHMtbm9uZSBbJl9zdmddOnNpemUtNCBbJl9zdmddOnNocmluay0wXCIsXHJcbiAgICB7XHJcbiAgICAgICAgdmFyaWFudHM6IHtcclxuICAgICAgICAgICAgdmFyaWFudDoge1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogXCJiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkvOTBcIixcclxuICAgICAgICAgICAgICAgIGRlc3RydWN0aXZlOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIGhvdmVyOmJnLWRlc3RydWN0aXZlLzkwXCIsXHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICAgICAgXCJiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1zZWNvbmRhcnkvODBcIixcclxuICAgICAgICAgICAgICAgIGdob3N0OiBcImhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBcInRleHQtcHJpbWFyeSB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lXCIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNpemU6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFwiaC0xMCBweC00IHB5LTJcIixcclxuICAgICAgICAgICAgICAgIHNtOiBcImgtOSByb3VuZGVkLW1kIHB4LTNcIixcclxuICAgICAgICAgICAgICAgIGxnOiBcImgtMTEgcm91bmRlZC1tZCBweC04XCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImgtMTAgdy0xMFwiLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVmYXVsdFZhcmlhbnRzOiB7XHJcbiAgICAgICAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICBzaXplOiBcImRlZmF1bHRcIixcclxuICAgICAgICB9LFxyXG4gICAgfVxyXG4pXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzXHJcbiAgICBleHRlbmRzIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PixcclxuICAgIFZhcmlhbnRQcm9wczx0eXBlb2YgYnV0dG9uVmFyaWFudHM+IHtcclxuICAgIGFzQ2hpbGQ/OiBib29sZWFuXHJcbn1cclxuXHJcbmNvbnN0IEJ1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihcclxuICAgICh7IGNsYXNzTmFtZSwgdmFyaWFudCwgc2l6ZSwgYXNDaGlsZCA9IGZhbHNlLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgICAgICBjb25zdCBDb21wID0gYXNDaGlsZCA/IFNsb3QgOiBcImJ1dHRvblwiXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPENvbXBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oYnV0dG9uVmFyaWFudHMoeyB2YXJpYW50LCBzaXplLCBjbGFzc05hbWUgfSkpfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbkJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiQnV0dG9uXCJcclxuXHJcbmV4cG9ydCB7IEJ1dHRvbiwgYnV0dG9uVmFyaWFudHMgfVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTbG90IiwiY3ZhIiwiY24iLCJidXR0b25WYXJpYW50cyIsInZhcmlhbnRzIiwidmFyaWFudCIsImRlZmF1bHQiLCJkZXN0cnVjdGl2ZSIsIm91dGxpbmUiLCJzZWNvbmRhcnkiLCJnaG9zdCIsImxpbmsiLCJzaXplIiwic20iLCJsZyIsImljb24iLCJkZWZhdWx0VmFyaWFudHMiLCJCdXR0b24iLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiYXNDaGlsZCIsInByb3BzIiwicmVmIiwiQ29tcCIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/button.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/card.tsx": -/*!************************************!*\ - !*** ./src/components/ui/card.tsx ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Card: () => (/* binding */ Card),\n/* harmony export */ CardContent: () => (/* binding */ CardContent),\n/* harmony export */ CardDescription: () => (/* binding */ CardDescription),\n/* harmony export */ CardFooter: () => (/* binding */ CardFooter),\n/* harmony export */ CardHeader: () => (/* binding */ CardHeader),\n/* harmony export */ CardTitle: () => (/* binding */ CardTitle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Card = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"rounded-lg border bg-card text-card-foreground shadow-sm\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 8,\n columnNumber: 5\n }, undefined));\nCard.displayName = \"Card\";\nconst CardHeader = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex flex-col space-y-1.5 p-6\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 23,\n columnNumber: 5\n }, undefined));\nCardHeader.displayName = \"CardHeader\";\nconst CardTitle = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-2xl font-semibold leading-none tracking-tight\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 35,\n columnNumber: 5\n }, undefined));\nCardTitle.displayName = \"CardTitle\";\nconst CardDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm text-muted-foreground\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 50,\n columnNumber: 5\n }, undefined));\nCardDescription.displayName = \"CardDescription\";\nconst CardContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"p-6 pt-0\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 62,\n columnNumber: 5\n }, undefined));\nCardContent.displayName = \"CardContent\";\nconst CardFooter = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center p-6 pt-0\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 70,\n columnNumber: 5\n }, undefined));\nCardFooter.displayName = \"CardFooter\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9jYXJkLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDUztBQUV2QyxNQUFNRSxxQkFBT0YsNkNBQWdCLENBRzNCLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FDVCw0REFDQUc7UUFFSCxHQUFHQyxLQUFLOzs7Ozs7QUFHakJILEtBQUtNLFdBQVcsR0FBRztBQUVuQixNQUFNQywyQkFBYVQsNkNBQWdCLENBR2pDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyxpQ0FBaUNHO1FBQzlDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQkksV0FBV0QsV0FBVyxHQUFHO0FBRXpCLE1BQU1FLDBCQUFZViw2Q0FBZ0IsQ0FHaEMsQ0FBQyxFQUFFSSxTQUFTLEVBQUUsR0FBR0MsT0FBTyxFQUFFQyxvQkFDeEIsOERBQUNLO1FBQ0dMLEtBQUtBO1FBQ0xGLFdBQVdILHFEQUFFQSxDQUNULHNEQUNBRztRQUVILEdBQUdDLEtBQUs7Ozs7OztBQUdqQkssVUFBVUYsV0FBVyxHQUFHO0FBRXhCLE1BQU1JLGdDQUFrQlosNkNBQWdCLENBR3RDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDTztRQUNHUCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyxpQ0FBaUNHO1FBQzlDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQk8sZ0JBQWdCSixXQUFXLEdBQUc7QUFFOUIsTUFBTU0sNEJBQWNkLDZDQUFnQixDQUdsQyxDQUFDLEVBQUVJLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ0M7UUFBSUQsS0FBS0E7UUFBS0YsV0FBV0gscURBQUVBLENBQUMsWUFBWUc7UUFBYSxHQUFHQyxLQUFLOzs7Ozs7QUFFbEVTLFlBQVlOLFdBQVcsR0FBRztBQUUxQixNQUFNTywyQkFBYWYsNkNBQWdCLENBR2pDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyw4QkFBOEJHO1FBQzNDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQlUsV0FBV1AsV0FBVyxHQUFHO0FBRXVEIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcY2FyZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IENhcmQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgIFwicm91bmRlZC1sZyBib3JkZXIgYmctY2FyZCB0ZXh0LWNhcmQtZm9yZWdyb3VuZCBzaGFkb3ctc21cIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAvPlxyXG4pKVxyXG5DYXJkLmRpc3BsYXlOYW1lID0gXCJDYXJkXCJcclxuXHJcbmNvbnN0IENhcmRIZWFkZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGZsZXgtY29sIHNwYWNlLXktMS41IHAtNlwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkNhcmRIZWFkZXIuZGlzcGxheU5hbWUgPSBcIkNhcmRIZWFkZXJcIlxyXG5cclxuY29uc3QgQ2FyZFRpdGxlID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIEhUTUxQYXJhZ3JhcGhFbGVtZW50LFxyXG4gICAgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTEhlYWRpbmdFbGVtZW50PlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8aDNcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInRleHQtMnhsIGZvbnQtc2VtaWJvbGQgbGVhZGluZy1ub25lIHRyYWNraW5nLXRpZ2h0XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuQ2FyZFRpdGxlLmRpc3BsYXlOYW1lID0gXCJDYXJkVGl0bGVcIlxyXG5cclxuY29uc3QgQ2FyZERlc2NyaXB0aW9uID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIEhUTUxQYXJhZ3JhcGhFbGVtZW50LFxyXG4gICAgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFBhcmFncmFwaEVsZW1lbnQ+XHJcbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxwXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuQ2FyZERlc2NyaXB0aW9uLmRpc3BsYXlOYW1lID0gXCJDYXJkRGVzY3JpcHRpb25cIlxyXG5cclxuY29uc3QgQ2FyZENvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdiByZWY9e3JlZn0gY2xhc3NOYW1lPXtjbihcInAtNiBwdC0wXCIsIGNsYXNzTmFtZSl9IHsuLi5wcm9wc30gLz5cclxuKSlcclxuQ2FyZENvbnRlbnQuZGlzcGxheU5hbWUgPSBcIkNhcmRDb250ZW50XCJcclxuXHJcbmNvbnN0IENhcmRGb290ZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGl0ZW1zLWNlbnRlciBwLTYgcHQtMFwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkNhcmRGb290ZXIuZGlzcGxheU5hbWUgPSBcIkNhcmRGb290ZXJcIlxyXG5cclxuZXhwb3J0IHsgQ2FyZCwgQ2FyZEhlYWRlciwgQ2FyZEZvb3RlciwgQ2FyZFRpdGxlLCBDYXJkRGVzY3JpcHRpb24sIENhcmRDb250ZW50IH1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY24iLCJDYXJkIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsInByb3BzIiwicmVmIiwiZGl2IiwiZGlzcGxheU5hbWUiLCJDYXJkSGVhZGVyIiwiQ2FyZFRpdGxlIiwiaDMiLCJDYXJkRGVzY3JpcHRpb24iLCJwIiwiQ2FyZENvbnRlbnQiLCJDYXJkRm9vdGVyIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/card.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/dropdown-menu.tsx": -/*!*********************************************!*\ - !*** ./src/components/ui/dropdown-menu.tsx ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropdownMenu: () => (/* binding */ DropdownMenu),\n/* harmony export */ DropdownMenuCheckboxItem: () => (/* binding */ DropdownMenuCheckboxItem),\n/* harmony export */ DropdownMenuContent: () => (/* binding */ DropdownMenuContent),\n/* harmony export */ DropdownMenuGroup: () => (/* binding */ DropdownMenuGroup),\n/* harmony export */ DropdownMenuItem: () => (/* binding */ DropdownMenuItem),\n/* harmony export */ DropdownMenuLabel: () => (/* binding */ DropdownMenuLabel),\n/* harmony export */ DropdownMenuPortal: () => (/* binding */ DropdownMenuPortal),\n/* harmony export */ DropdownMenuRadioGroup: () => (/* binding */ DropdownMenuRadioGroup),\n/* harmony export */ DropdownMenuRadioItem: () => (/* binding */ DropdownMenuRadioItem),\n/* harmony export */ DropdownMenuSeparator: () => (/* binding */ DropdownMenuSeparator),\n/* harmony export */ DropdownMenuShortcut: () => (/* binding */ DropdownMenuShortcut),\n/* harmony export */ DropdownMenuSub: () => (/* binding */ DropdownMenuSub),\n/* harmony export */ DropdownMenuSubContent: () => (/* binding */ DropdownMenuSubContent),\n/* harmony export */ DropdownMenuSubTrigger: () => (/* binding */ DropdownMenuSubTrigger),\n/* harmony export */ DropdownMenuTrigger: () => (/* binding */ DropdownMenuTrigger)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ \"(ssr)/./node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle.js\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ DropdownMenu,DropdownMenuTrigger,DropdownMenuContent,DropdownMenuItem,DropdownMenuCheckboxItem,DropdownMenuRadioItem,DropdownMenuLabel,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuGroup,DropdownMenuPortal,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuRadioGroup auto */ \n\n\n\n\nconst DropdownMenu = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst DropdownMenuTrigger = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Trigger;\nconst DropdownMenuGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Group;\nconst DropdownMenuPortal = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal;\nconst DropdownMenuSub = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Sub;\nconst DropdownMenuRadioGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioGroup;\nconst DropdownMenuSubTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\", inset && \"pl-8\", className),\n ...props,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-auto h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 27,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubTrigger.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger.displayName;\nconst DropdownMenuSubContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent.displayName;\nconst DropdownMenuContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, sideOffset = 4, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n sideOffset: sideOffset,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 63,\n columnNumber: 5\n }, undefined));\nDropdownMenuContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\nconst DropdownMenuItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 83,\n columnNumber: 5\n }, undefined));\nDropdownMenuItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item.displayName;\nconst DropdownMenuCheckboxItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, checked, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n checked: checked,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 109,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 108,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 99,\n columnNumber: 5\n }, undefined));\nDropdownMenuCheckboxItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem.displayName;\nconst DropdownMenuRadioItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-2 w-2 fill-current\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 133,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 132,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 123,\n columnNumber: 5\n }, undefined));\nDropdownMenuRadioItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem.displayName;\nconst DropdownMenuLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 147,\n columnNumber: 5\n }, undefined));\nDropdownMenuLabel.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label.displayName;\nconst DropdownMenuSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 163,\n columnNumber: 5\n }, undefined));\nDropdownMenuSeparator.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator.displayName;\nconst DropdownMenuShortcut = ({ className, ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"ml-auto text-xs tracking-widest opacity-60\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 176,\n columnNumber: 9\n }, undefined);\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRThCO0FBQ3dDO0FBQ1o7QUFFbkI7QUFFdkMsTUFBTU0sZUFBZUwsK0RBQTBCO0FBRS9DLE1BQU1PLHNCQUFzQlAsa0VBQTZCO0FBRXpELE1BQU1TLG9CQUFvQlQsZ0VBQTJCO0FBRXJELE1BQU1XLHFCQUFxQlgsaUVBQTRCO0FBRXZELE1BQU1hLGtCQUFrQmIsOERBQXlCO0FBRWpELE1BQU1lLHlCQUF5QmYscUVBQWdDO0FBRS9ELE1BQU1pQix1Q0FBeUJsQiw2Q0FBZ0IsQ0FLN0MsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN6Qyw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdJQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7O1lBRVJEOzBCQUNELDhEQUFDbkIscUdBQVlBO2dCQUFDaUIsV0FBVTs7Ozs7Ozs7Ozs7O0FBR2hDRix1QkFBdUJRLFdBQVcsR0FDOUJ6QixxRUFBZ0MsQ0FBQ3lCLFdBQVc7QUFFaEQsTUFBTUMsdUNBQXlCM0IsNkNBQWdCLENBRzdDLENBQUMsRUFBRW9CLFNBQVMsRUFBRSxHQUFHRyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHliQUNBZTtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQkksdUJBQXVCRCxXQUFXLEdBQzlCekIscUVBQWdDLENBQUN5QixXQUFXO0FBRWhELE1BQU1HLG9DQUFzQjdCLDZDQUFnQixDQUcxQyxDQUFDLEVBQUVvQixTQUFTLEVBQUVVLGFBQWEsQ0FBQyxFQUFFLEdBQUdQLE9BQU8sRUFBRUMsb0JBQ3hDLDhEQUFDdkIsaUVBQTRCO2tCQUN6Qiw0RUFBQ0Esa0VBQTZCO1lBQzFCdUIsS0FBS0E7WUFDTE0sWUFBWUE7WUFDWlYsV0FBV2YscURBQUVBLENBQ1QseWJBQ0FlO1lBRUgsR0FBR0csS0FBSzs7Ozs7Ozs7Ozs7QUFJckJNLG9CQUFvQkgsV0FBVyxHQUFHekIsa0VBQTZCLENBQUN5QixXQUFXO0FBRTNFLE1BQU1NLGlDQUFtQmhDLDZDQUFnQixDQUt2QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVDLEtBQUssRUFBRSxHQUFHRSxPQUFPLEVBQUVDLG9CQUMvQiw4REFBQ3ZCLCtEQUEwQjtRQUN2QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULG1PQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQlMsaUJBQWlCTixXQUFXLEdBQUd6QiwrREFBMEIsQ0FBQ3lCLFdBQVc7QUFFckUsTUFBTVEseUNBQTJCbEMsNkNBQWdCLENBRy9DLENBQUMsRUFBRW9CLFNBQVMsRUFBRUUsUUFBUSxFQUFFYSxPQUFPLEVBQUUsR0FBR1osT0FBTyxFQUFFQyxvQkFDM0MsOERBQUN2Qix1RUFBa0M7UUFDL0J1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FDVCx3T0FDQWU7UUFFSmUsU0FBU0E7UUFDUixHQUFHWixLQUFLOzswQkFFVCw4REFBQ2M7Z0JBQUtqQixXQUFVOzBCQUNaLDRFQUFDbkIsd0VBQW1DOzhCQUNoQyw0RUFBQ0MscUdBQUtBO3dCQUFDa0IsV0FBVTs7Ozs7Ozs7Ozs7Ozs7OztZQUd4QkU7Ozs7Ozs7QUFHVFkseUJBQXlCUixXQUFXLEdBQ2hDekIsdUVBQWtDLENBQUN5QixXQUFXO0FBRWxELE1BQU1hLHNDQUF3QnZDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUNsQyw4REFBQ3ZCLG9FQUErQjtRQUM1QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdPQUNBZTtRQUVILEdBQUdHLEtBQUs7OzBCQUVULDhEQUFDYztnQkFBS2pCLFdBQVU7MEJBQ1osNEVBQUNuQix3RUFBbUM7OEJBQ2hDLDRFQUFDRyxxR0FBTUE7d0JBQUNnQixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7O1lBR3pCRTs7Ozs7OztBQUdUaUIsc0JBQXNCYixXQUFXLEdBQUd6QixvRUFBK0IsQ0FBQ3lCLFdBQVc7QUFFL0UsTUFBTWUsa0NBQW9CekMsNkNBQWdCLENBS3hDLENBQUMsRUFBRW9CLFNBQVMsRUFBRUMsS0FBSyxFQUFFLEdBQUdFLE9BQU8sRUFBRUMsb0JBQy9CLDhEQUFDdkIsZ0VBQTJCO1FBQ3hCdUIsS0FBS0E7UUFDTEosV0FBV2YscURBQUVBLENBQ1QscUNBQ0FnQixTQUFTLFFBQ1REO1FBRUgsR0FBR0csS0FBSzs7Ozs7O0FBR2pCa0Isa0JBQWtCZixXQUFXLEdBQUd6QixnRUFBMkIsQ0FBQ3lCLFdBQVc7QUFFdkUsTUFBTWlCLHNDQUF3QjNDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUUsR0FBR0csT0FBTyxFQUFFQyxvQkFDeEIsOERBQUN2QixvRUFBK0I7UUFDNUJ1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FBQyw0QkFBNEJlO1FBQ3pDLEdBQUdHLEtBQUs7Ozs7OztBQUdqQm9CLHNCQUFzQmpCLFdBQVcsR0FBR3pCLG9FQUErQixDQUFDeUIsV0FBVztBQUUvRSxNQUFNbUIsdUJBQXVCLENBQUMsRUFDMUJ6QixTQUFTLEVBQ1QsR0FBR0csT0FDaUM7SUFDcEMscUJBQ0ksOERBQUNjO1FBQ0dqQixXQUFXZixxREFBRUEsQ0FBQyw4Q0FBOENlO1FBQzNELEdBQUdHLEtBQUs7Ozs7OztBQUdyQjtBQUNBc0IscUJBQXFCbkIsV0FBVyxHQUFHO0FBa0JsQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGRyb3Bkb3duLW1lbnUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBEcm9wZG93bk1lbnVQcmltaXRpdmUgZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kcm9wZG93bi1tZW51XCJcclxuaW1wb3J0IHsgQ2hlY2ssIENoZXZyb25SaWdodCwgQ2lyY2xlIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51ID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlJvb3RcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVRyaWdnZXIgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuVHJpZ2dlclxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51R3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuR3JvdXBcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVBvcnRhbCA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Qb3J0YWxcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YiA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvR3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9Hcm91cFxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U3ViVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViVHJpZ2dlcj4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJUcmlnZ2VyPiAmIHtcclxuICAgICAgICBpbnNldD86IGJvb2xlYW5cclxuICAgIH1cclxuPigoeyBjbGFzc05hbWUsIGluc2V0LCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXJcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcImZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHgtMiBweS0xLjUgdGV4dC1zbSBvdXRsaW5lLW5vbmUgZm9jdXM6YmctYWNjZW50IGRhdGEtW3N0YXRlPW9wZW5dOmJnLWFjY2VudFwiLFxyXG4gICAgICAgICAgICBpbnNldCAmJiBcInBsLThcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDxDaGV2cm9uUmlnaHQgY2xhc3NOYW1lPVwibWwtYXV0byBoLTQgdy00XCIgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXI+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YlRyaWdnZXIuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXIuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YkNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJDb250ZW50XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJ6LTUwIG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LWxnIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4gZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAgZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wIGRhdGEtW3N0YXRlPWNsb3NlZF06em9vbS1vdXQtOTUgZGF0YS1bc3RhdGU9b3Blbl06em9vbS1pbi05NSBkYXRhLVtzaWRlPWJvdHRvbV06c2xpZGUtaW4tZnJvbS10b3AtMiBkYXRhLVtzaWRlPWxlZnRdOnNsaWRlLWluLWZyb20tcmlnaHQtMiBkYXRhLVtzaWRlPXJpZ2h0XTpzbGlkZS1pbi1mcm9tLWxlZnQtMiBkYXRhLVtzaWRlPXRvcF06c2xpZGUtaW4tZnJvbS1ib3R0b20tMlwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YkNvbnRlbnQuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIHNpZGVPZmZzZXQgPSA0LCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUG9ydGFsPlxyXG4gICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudFxyXG4gICAgICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICAgICAgc2lkZU9mZnNldD17c2lkZU9mZnNldH1cclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgIFwiei01MCBtaW4tdy1bOHJlbV0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXBvcG92ZXIgcC0xIHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZCBkYXRhLVtzdGF0ZT1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWNsb3NlZF06YW5pbWF0ZS1vdXQgZGF0YS1bc3RhdGU9Y2xvc2VkXTpmYWRlLW91dC0wIGRhdGEtW3N0YXRlPW9wZW5dOmZhZGUtaW4tMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3N0YXRlPW9wZW5dOnpvb20taW4tOTUgZGF0YS1bc2lkZT1ib3R0b21dOnNsaWRlLWluLWZyb20tdG9wLTIgZGF0YS1bc2lkZT1sZWZ0XTpzbGlkZS1pbi1mcm9tLXJpZ2h0LTIgZGF0YS1bc2lkZT1yaWdodF06c2xpZGUtaW4tZnJvbS1sZWZ0LTIgZGF0YS1bc2lkZT10b3BdOnNsaWRlLWluLWZyb20tYm90dG9tLTJcIixcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlBvcnRhbD5cclxuKSlcclxuRHJvcGRvd25NZW51Q29udGVudC5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Db250ZW50LmRpc3BsYXlOYW1lXHJcblxyXG5jb25zdCBEcm9wZG93bk1lbnVJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW0+ICYge1xyXG4gICAgICAgIGluc2V0PzogYm9vbGVhblxyXG4gICAgfVxyXG4+KCh7IGNsYXNzTmFtZSwgaW5zZXQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB4LTIgcHktMS41IHRleHQtc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgIGluc2V0ICYmIFwicGwtOFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudUl0ZW0uZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbS5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ2hlY2tib3hJdGVtPlxyXG4+KCh7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIGNoZWNrZWQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW1cclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInJlbGF0aXZlIGZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHktMS41IHBsLTggcHItMiB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpiZy1hY2NlbnQgZm9jdXM6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBkYXRhLVtkaXNhYmxlZF06cG9pbnRlci1ldmVudHMtbm9uZSBkYXRhLVtkaXNhYmxlZF06b3BhY2l0eS01MFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICA8Q2hlY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkNoZWNrYm94SXRlbT5cclxuKSlcclxuRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLmRpc3BsYXlOYW1lID1cclxuICAgIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvSXRlbSA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlJhZGlvSXRlbT5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB5LTEuNSBwbC04IHByLTIgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMgZm9jdXM6YmctYWNjZW50IGZvY3VzOnRleHQtYWNjZW50LWZvcmVncm91bmQgZGF0YS1bZGlzYWJsZWRdOnBvaW50ZXItZXZlbnRzLW5vbmUgZGF0YS1bZGlzYWJsZWRdOm9wYWNpdHktNTBcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0yIGZsZXggaC0zLjUgdy0zLjUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbUluZGljYXRvcj5cclxuICAgICAgICAgICAgICAgIDxDaXJjbGUgY2xhc3NOYW1lPVwiaC0yIHctMiBmaWxsLWN1cnJlbnRcIiAvPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0+XHJcbikpXHJcbkRyb3Bkb3duTWVudVJhZGlvSXRlbS5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUxhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4gJiB7XHJcbiAgICAgICAgaW5zZXQ/OiBib29sZWFuXHJcbiAgICB9XHJcbj4oKHsgY2xhc3NOYW1lLCBpbnNldCwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkxhYmVsXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJweC0yIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIixcclxuICAgICAgICAgICAgaW5zZXQgJiYgXCJwbC04XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51TGFiZWwuZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuTGFiZWwuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVNlcGFyYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU2VwYXJhdG9yPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvcj5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TZXBhcmF0b3JcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFwiLW14LTEgbXktMSBoLXB4IGJnLW11dGVkXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51U2VwYXJhdG9yLmRpc3BsYXlOYW1lID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvci5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U2hvcnRjdXQgPSAoe1xyXG4gICAgY2xhc3NOYW1lLFxyXG4gICAgLi4ucHJvcHNcclxufTogUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFNwYW5FbGVtZW50PikgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwibWwtYXV0byB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdCBvcGFjaXR5LTYwXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcbkRyb3Bkb3duTWVudVNob3J0Y3V0LmRpc3BsYXlOYW1lID0gXCJEcm9wZG93bk1lbnVTaG9ydGN1dFwiXHJcblxyXG5leHBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51UmFkaW9JdGVtLFxyXG4gICAgRHJvcGRvd25NZW51TGFiZWwsXHJcbiAgICBEcm9wZG93bk1lbnVTZXBhcmF0b3IsXHJcbiAgICBEcm9wZG93bk1lbnVTaG9ydGN1dCxcclxuICAgIERyb3Bkb3duTWVudUdyb3VwLFxyXG4gICAgRHJvcGRvd25NZW51UG9ydGFsLFxyXG4gICAgRHJvcGRvd25NZW51U3ViLFxyXG4gICAgRHJvcGRvd25NZW51U3ViQ29udGVudCxcclxuICAgIERyb3Bkb3duTWVudVN1YlRyaWdnZXIsXHJcbiAgICBEcm9wZG93bk1lbnVSYWRpb0dyb3VwLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZSIsIkNoZWNrIiwiQ2hldnJvblJpZ2h0IiwiQ2lyY2xlIiwiY24iLCJEcm9wZG93bk1lbnUiLCJSb290IiwiRHJvcGRvd25NZW51VHJpZ2dlciIsIlRyaWdnZXIiLCJEcm9wZG93bk1lbnVHcm91cCIsIkdyb3VwIiwiRHJvcGRvd25NZW51UG9ydGFsIiwiUG9ydGFsIiwiRHJvcGRvd25NZW51U3ViIiwiU3ViIiwiRHJvcGRvd25NZW51UmFkaW9Hcm91cCIsIlJhZGlvR3JvdXAiLCJEcm9wZG93bk1lbnVTdWJUcmlnZ2VyIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImluc2V0IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlN1YlRyaWdnZXIiLCJkaXNwbGF5TmFtZSIsIkRyb3Bkb3duTWVudVN1YkNvbnRlbnQiLCJTdWJDb250ZW50IiwiRHJvcGRvd25NZW51Q29udGVudCIsInNpZGVPZmZzZXQiLCJDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkl0ZW0iLCJEcm9wZG93bk1lbnVDaGVja2JveEl0ZW0iLCJjaGVja2VkIiwiQ2hlY2tib3hJdGVtIiwic3BhbiIsIkl0ZW1JbmRpY2F0b3IiLCJEcm9wZG93bk1lbnVSYWRpb0l0ZW0iLCJSYWRpb0l0ZW0iLCJEcm9wZG93bk1lbnVMYWJlbCIsIkxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiU2VwYXJhdG9yIiwiRHJvcGRvd25NZW51U2hvcnRjdXQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/dropdown-menu.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/form.tsx": -/*!************************************!*\ - !*** ./src/components/ui/form.tsx ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Form: () => (/* binding */ Form),\n/* harmony export */ FormControl: () => (/* binding */ FormControl),\n/* harmony export */ FormDescription: () => (/* binding */ FormDescription),\n/* harmony export */ FormField: () => (/* binding */ FormField),\n/* harmony export */ FormItem: () => (/* binding */ FormItem),\n/* harmony export */ FormLabel: () => (/* binding */ FormLabel),\n/* harmony export */ FormMessage: () => (/* binding */ FormMessage),\n/* harmony export */ useFormField: () => (/* binding */ useFormField)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* harmony import */ var _components_ui_label__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/label */ \"(ssr)/./src/components/ui/label.tsx\");\n/* __next_internal_client_entry_do_not_use__ useFormField,Form,FormItem,FormLabel,FormControl,FormDescription,FormMessage,FormField auto */ \n\n\n\n\n\nconst Form = react_hook_form__WEBPACK_IMPORTED_MODULE_4__.FormProvider;\nconst FormFieldContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.createContext({});\nconst FormField = ({ ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FormFieldContext.Provider, {\n value: {\n name: props.name\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_hook_form__WEBPACK_IMPORTED_MODULE_4__.Controller, {\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 38,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined);\n};\nconst useFormField = ()=>{\n const fieldContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext(FormFieldContext);\n const itemContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext(FormItemContext);\n const { getFieldState, formState } = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_4__.useFormContext)();\n const fieldState = getFieldState(fieldContext.name, formState);\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within \");\n }\n const { id } = itemContext;\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState\n };\n};\nconst FormItemContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.createContext({});\nconst FormItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const id = react__WEBPACK_IMPORTED_MODULE_1__.useId();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FormItemContext.Provider, {\n value: {\n id\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"space-y-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 82,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 81,\n columnNumber: 9\n }, undefined);\n});\nFormItem.displayName = \"FormItem\";\nconst FormLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const { error, formItemId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(error && \"text-destructive\", className),\n htmlFor: formItemId,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 95,\n columnNumber: 9\n }, undefined);\n});\nFormLabel.displayName = \"FormLabel\";\nconst FormControl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ ...props }, ref)=>{\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_5__.Slot, {\n ref: ref,\n id: formItemId,\n \"aria-describedby\": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,\n \"aria-invalid\": !!error,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 112,\n columnNumber: 9\n }, undefined);\n});\nFormControl.displayName = \"FormControl\";\nconst FormDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const { formDescriptionId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n id: formDescriptionId,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm text-muted-foreground\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 134,\n columnNumber: 9\n }, undefined);\n});\nFormDescription.displayName = \"FormDescription\";\nconst FormMessage = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>{\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message) : children;\n if (!body) {\n return null;\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n id: formMessageId,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm font-medium text-destructive\", className),\n ...props,\n children: body\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 156,\n columnNumber: 9\n }, undefined);\n});\nFormMessage.displayName = \"FormMessage\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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S0E7UUFDTFAsSUFBSUU7UUFDSkksV0FBV3pCLHFEQUFFQSxDQUFDLGlDQUFpQ3lCO1FBQzlDLEdBQUduQixLQUFLOzs7Ozs7QUFHckI7QUFDQThCLGdCQUFnQlAsV0FBVyxHQUFHO0FBRTlCLE1BQU1TLDRCQUFjM0MsNkNBQWdCLENBR2xDLENBQUMsRUFBRThCLFNBQVMsRUFBRWMsUUFBUSxFQUFFLEdBQUdqQyxPQUFPLEVBQUVvQjtJQUNsQyxNQUFNLEVBQUVLLEtBQUssRUFBRVQsYUFBYSxFQUFFLEdBQUdaO0lBQ2pDLE1BQU04QixPQUFPVCxRQUFRVSxPQUFPVixPQUFPVyxXQUFXSDtJQUU5QyxJQUFJLENBQUNDLE1BQU07UUFDUCxPQUFPO0lBQ1g7SUFFQSxxQkFDSSw4REFBQ0g7UUFDR1gsS0FBS0E7UUFDTFAsSUFBSUc7UUFDSkcsV0FBV3pCLHFEQUFFQSxDQUFDLHdDQUF3Q3lCO1FBQ3JELEdBQUduQixLQUFLO2tCQUVSa0M7Ozs7OztBQUdiO0FBQ0FGLFlBQVlULFdBQVcsR0FBRztBQVd6QiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGZvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBTbG90IH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1zbG90XCJcclxuaW1wb3J0IHtcclxuICAgIENvbnRyb2xsZXIsXHJcbiAgICBDb250cm9sbGVyUHJvcHMsXHJcbiAgICBGaWVsZFBhdGgsXHJcbiAgICBGaWVsZFZhbHVlcyxcclxuICAgIEZvcm1Qcm92aWRlcixcclxuICAgIHVzZUZvcm1Db250ZXh0LFxyXG59IGZyb20gXCJyZWFjdC1ob29rLWZvcm1cIlxyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuaW1wb3J0IHsgTGFiZWwgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2xhYmVsXCJcclxuXHJcbmNvbnN0IEZvcm0gPSBGb3JtUHJvdmlkZXJcclxuXHJcbnR5cGUgRm9ybUZpZWxkQ29udGV4dFZhbHVlPFxyXG4gICAgVEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXMgPSBGaWVsZFZhbHVlcyxcclxuICAgIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4gPSBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPlxyXG4+ID0ge1xyXG4gICAgbmFtZTogVE5hbWVcclxufVxyXG5cclxuY29uc3QgRm9ybUZpZWxkQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8Rm9ybUZpZWxkQ29udGV4dFZhbHVlPihcclxuICAgIHt9IGFzIEZvcm1GaWVsZENvbnRleHRWYWx1ZVxyXG4pXHJcblxyXG5jb25zdCBGb3JtRmllbGQgPSA8XHJcbiAgICBURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcyA9IEZpZWxkVmFsdWVzLFxyXG4gICAgVE5hbWUgZXh0ZW5kcyBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPiA9IEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+XHJcbj4oe1xyXG4gICAgLi4ucHJvcHNcclxufTogQ29udHJvbGxlclByb3BzPFRGaWVsZFZhbHVlcywgVE5hbWU+KSA9PiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxGb3JtRmllbGRDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IG5hbWU6IHByb3BzLm5hbWUgfX0+XHJcbiAgICAgICAgICAgIDxDb250cm9sbGVyIHsuLi5wcm9wc30gLz5cclxuICAgICAgICA8L0Zvcm1GaWVsZENvbnRleHQuUHJvdmlkZXI+XHJcbiAgICApXHJcbn1cclxuXHJcbmNvbnN0IHVzZUZvcm1GaWVsZCA9ICgpID0+IHtcclxuICAgIGNvbnN0IGZpZWxkQ29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoRm9ybUZpZWxkQ29udGV4dClcclxuICAgIGNvbnN0IGl0ZW1Db250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChGb3JtSXRlbUNvbnRleHQpXHJcbiAgICBjb25zdCB7IGdldEZpZWxkU3RhdGUsIGZvcm1TdGF0ZSB9ID0gdXNlRm9ybUNvbnRleHQoKVxyXG5cclxuICAgIGNvbnN0IGZpZWxkU3RhdGUgPSBnZXRGaWVsZFN0YXRlKGZpZWxkQ29udGV4dC5uYW1lLCBmb3JtU3RhdGUpXHJcblxyXG4gICAgaWYgKCFmaWVsZENvbnRleHQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VGb3JtRmllbGQgc2hvdWxkIGJlIHVzZWQgd2l0aGluIDxGb3JtRmllbGQ+XCIpXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBpZCB9ID0gaXRlbUNvbnRleHRcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIG5hbWU6IGZpZWxkQ29udGV4dC5uYW1lLFxyXG4gICAgICAgIGZvcm1JdGVtSWQ6IGAke2lkfS1mb3JtLWl0ZW1gLFxyXG4gICAgICAgIGZvcm1EZXNjcmlwdGlvbklkOiBgJHtpZH0tZm9ybS1pdGVtLWRlc2NyaXB0aW9uYCxcclxuICAgICAgICBmb3JtTWVzc2FnZUlkOiBgJHtpZH0tZm9ybS1pdGVtLW1lc3NhZ2VgLFxyXG4gICAgICAgIC4uLmZpZWxkU3RhdGUsXHJcbiAgICB9XHJcbn1cclxuXHJcbnR5cGUgRm9ybUl0ZW1Db250ZXh0VmFsdWUgPSB7XHJcbiAgICBpZDogc3RyaW5nXHJcbn1cclxuXHJcbmNvbnN0IEZvcm1JdGVtQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8Rm9ybUl0ZW1Db250ZXh0VmFsdWU+KFxyXG4gICAge30gYXMgRm9ybUl0ZW1Db250ZXh0VmFsdWVcclxuKVxyXG5cclxuY29uc3QgRm9ybUl0ZW0gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgY29uc3QgaWQgPSBSZWFjdC51c2VJZCgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybUl0ZW1Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IGlkIH19PlxyXG4gICAgICAgICAgICA8ZGl2IHJlZj17cmVmfSBjbGFzc05hbWU9e2NuKFwic3BhY2UteS0yXCIsIGNsYXNzTmFtZSl9IHsuLi5wcm9wc30gLz5cclxuICAgICAgICA8L0Zvcm1JdGVtQ29udGV4dC5Qcm92aWRlcj5cclxuICAgIClcclxufSlcclxuRm9ybUl0ZW0uZGlzcGxheU5hbWUgPSBcIkZvcm1JdGVtXCJcclxuXHJcbmNvbnN0IEZvcm1MYWJlbCA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBMYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIExhYmVsPlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGVycm9yLCBmb3JtSXRlbUlkIH0gPSB1c2VGb3JtRmllbGQoKVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPExhYmVsXHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKGVycm9yICYmIFwidGV4dC1kZXN0cnVjdGl2ZVwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgICAgICBodG1sRm9yPXtmb3JtSXRlbUlkfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIClcclxufSlcclxuRm9ybUxhYmVsLmRpc3BsYXlOYW1lID0gXCJGb3JtTGFiZWxcIlxyXG5cclxuY29uc3QgRm9ybUNvbnRyb2wgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2xvdD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFNsb3Q+XHJcbj4oKHsgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGVycm9yLCBmb3JtSXRlbUlkLCBmb3JtRGVzY3JpcHRpb25JZCwgZm9ybU1lc3NhZ2VJZCB9ID0gdXNlRm9ybUZpZWxkKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTbG90XHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBpZD17Zm9ybUl0ZW1JZH1cclxuICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XHJcbiAgICAgICAgICAgICAgICAhZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICA/IGAke2Zvcm1EZXNjcmlwdGlvbklkfWBcclxuICAgICAgICAgICAgICAgICAgICA6IGAke2Zvcm1EZXNjcmlwdGlvbklkfSAke2Zvcm1NZXNzYWdlSWR9YFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGFyaWEtaW52YWxpZD17ISFlcnJvcn1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgIC8+XHJcbiAgICApXHJcbn0pXHJcbkZvcm1Db250cm9sLmRpc3BsYXlOYW1lID0gXCJGb3JtQ29udHJvbFwiXHJcblxyXG5jb25zdCBGb3JtRGVzY3JpcHRpb24gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTFBhcmFncmFwaEVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MUGFyYWdyYXBoRWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBmb3JtRGVzY3JpcHRpb25JZCB9ID0gdXNlRm9ybUZpZWxkKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxwXHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBpZD17Zm9ybURlc2NyaXB0aW9uSWR9XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXCJ0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIClcclxufSlcclxuRm9ybURlc2NyaXB0aW9uLmRpc3BsYXlOYW1lID0gXCJGb3JtRGVzY3JpcHRpb25cIlxyXG5cclxuY29uc3QgRm9ybU1lc3NhZ2UgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTFBhcmFncmFwaEVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MUGFyYWdyYXBoRWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgIGNvbnN0IHsgZXJyb3IsIGZvcm1NZXNzYWdlSWQgfSA9IHVzZUZvcm1GaWVsZCgpXHJcbiAgICBjb25zdCBib2R5ID0gZXJyb3IgPyBTdHJpbmcoZXJyb3I/Lm1lc3NhZ2UpIDogY2hpbGRyZW5cclxuXHJcbiAgICBpZiAoIWJvZHkpIHtcclxuICAgICAgICByZXR1cm4gbnVsbFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPHBcclxuICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgIGlkPXtmb3JtTWVzc2FnZUlkfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwidGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWRlc3RydWN0aXZlXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIHtib2R5fVxyXG4gICAgICAgIDwvcD5cclxuICAgIClcclxufSlcclxuRm9ybU1lc3NhZ2UuZGlzcGxheU5hbWUgPSBcIkZvcm1NZXNzYWdlXCJcclxuXHJcbmV4cG9ydCB7XHJcbiAgICB1c2VGb3JtRmllbGQsXHJcbiAgICBGb3JtLFxyXG4gICAgRm9ybUl0ZW0sXHJcbiAgICBGb3JtTGFiZWwsXHJcbiAgICBGb3JtQ29udHJvbCxcclxuICAgIEZvcm1EZXNjcmlwdGlvbixcclxuICAgIEZvcm1NZXNzYWdlLFxyXG4gICAgRm9ybUZpZWxkLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlNsb3QiLCJDb250cm9sbGVyIiwiRm9ybVByb3ZpZGVyIiwidXNlRm9ybUNvbnRleHQiLCJjbiIsIkxhYmVsIiwiRm9ybSIsIkZvcm1GaWVsZENvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiRm9ybUZpZWxkIiwicHJvcHMiLCJQcm92aWRlciIsInZhbHVlIiwibmFtZSIsInVzZUZvcm1GaWVsZCIsImZpZWxkQ29udGV4dCIsInVzZUNvbnRleHQiLCJpdGVtQ29udGV4dCIsIkZvcm1JdGVtQ29udGV4dCIsImdldEZpZWxkU3RhdGUiLCJmb3JtU3RhdGUiLCJmaWVsZFN0YXRlIiwiRXJyb3IiLCJpZCIsImZvcm1JdGVtSWQiLCJmb3JtRGVzY3JpcHRpb25JZCIsImZvcm1NZXNzYWdlSWQiLCJGb3JtSXRlbSIsImZvcndhcmRSZWYiLCJjbGFzc05hbWUiLCJyZWYiLCJ1c2VJZCIsImRpdiIsImRpc3BsYXlOYW1lIiwiRm9ybUxhYmVsIiwiZXJyb3IiLCJodG1sRm9yIiwiRm9ybUNvbnRyb2wiLCJhcmlhLWRlc2NyaWJlZGJ5IiwiYXJpYS1pbnZhbGlkIiwiRm9ybURlc2NyaXB0aW9uIiwicCIsIkZvcm1NZXNzYWdlIiwiY2hpbGRyZW4iLCJib2R5IiwiU3RyaW5nIiwibWVzc2FnZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/form.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/image-uploader.tsx": -/*!**********************************************!*\ - !*** ./src/components/ui/image-uploader.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImageUploader: () => (/* binding */ ImageUploader)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_api_catalog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/api/catalog */ \"(ssr)/./src/shared/api/catalog.ts\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _barrel_optimize_names_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=ImagePlus,Loader2,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _barrel_optimize_names_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=ImagePlus,Loader2,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* harmony import */ var _barrel_optimize_names_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=ImagePlus,Loader2,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/image-plus.js\");\n\n\n\n\n\n\nfunction ImageUploader({ value, onChange }) {\n const fileInputRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const [uploading, setUploading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [draggedIndex, setDraggedIndex] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const handleFileChange = async (e)=>{\n const files = e.target.files;\n if (!files) return;\n if (value.length + files.length > 10) {\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(\"Можно загрузить максимум 10 изображений\");\n return;\n }\n setUploading(true);\n const newUrls = [\n ...value\n ];\n try {\n for(let i = 0; i < files.length; i++){\n const file = files[i];\n if (file.size > 5 * 1024 * 1024) {\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(`Файл ${file.name} превышает 5 МБ`);\n continue;\n }\n const url = await (0,_shared_api_catalog__WEBPACK_IMPORTED_MODULE_2__.uploadOfferImage)(file);\n newUrls.push(url);\n }\n onChange(newUrls);\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(\"Не удалось загрузить изображения\");\n } finally{\n setUploading(false);\n if (fileInputRef.current) fileInputRef.current.value = \"\";\n }\n };\n const removeImage = (index)=>{\n const newUrls = [\n ...value\n ];\n newUrls.splice(index, 1);\n onChange(newUrls);\n };\n const handleDragStart = (e, index)=>{\n setDraggedIndex(index);\n e.dataTransfer.effectAllowed = \"move\";\n // To make drag image look clean, optionally set drag image here\n };\n const handleDragOver = (e, index)=>{\n e.preventDefault();\n e.dataTransfer.dropEffect = \"move\";\n };\n const handleDrop = (e, index)=>{\n e.preventDefault();\n if (draggedIndex === null || draggedIndex === index) return;\n const newUrls = [\n ...value\n ];\n const itemToMove = newUrls[draggedIndex];\n newUrls.splice(draggedIndex, 1);\n newUrls.splice(index, 0, itemToMove);\n onChange(newUrls);\n setDraggedIndex(null);\n };\n const handleDragEnd = ()=>{\n setDraggedIndex(null);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-4\",\n children: [\n value.map((url, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `flex flex-col gap-2 ${draggedIndex === i ? 'opacity-50' : 'opacity-100'}`,\n draggable: true,\n onDragStart: (e)=>handleDragStart(e, i),\n onDragOver: (e)=>handleDragOver(e, i),\n onDrop: (e)=>handleDrop(e, i),\n onDragEnd: handleDragEnd,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative aspect-square rounded-md border bg-muted overflow-hidden flex-shrink-0 cursor-grab active:cursor-grabbing\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: url,\n alt: `Offer image ${i}`,\n className: \"w-full h-full object-cover pointer-events-none\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 95,\n columnNumber: 29\n }, this),\n i === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-2 left-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] bg-primary text-primary-foreground px-2 py-0.5 rounded font-medium shadow-md\",\n children: \"Главное\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 98,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 97,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 94,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"destructive\",\n size: \"sm\",\n className: \"w-full h-8 text-xs flex items-center justify-center gap-1\",\n onClick: ()=>removeImage(i),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 109,\n columnNumber: 29\n }, this),\n \"Удалить\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 102,\n columnNumber: 25\n }, this)\n ]\n }, url + i, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 85,\n columnNumber: 21\n }, this)),\n value.length < 10 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n onClick: ()=>!uploading && fileInputRef.current?.click(),\n className: `aspect-square rounded-md border border-dashed flex flex-col items-center justify-center text-muted-foreground hover:bg-muted/50 transition-colors cursor-pointer ${uploading ? 'opacity-50 pointer-events-none' : ''}`,\n children: [\n uploading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-6 w-6 animate-spin mb-2\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 120,\n columnNumber: 38\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"h-6 w-6 mb-2\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 120,\n columnNumber: 90\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs\",\n children: [\n value.length,\n \"/10 файлов\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 121,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 116,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 83,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"file\",\n ref: fileInputRef,\n onChange: handleFileChange,\n accept: \"image/jpeg,image/png,image/webp\",\n multiple: true,\n className: \"hidden\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 126,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 82,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9pbWFnZS11cGxvYWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQWdEO0FBQ1E7QUFDekI7QUFDaUI7QUFDNEI7QUFPckUsU0FBU1MsY0FBYyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBc0I7SUFDakUsTUFBTUMsZUFBZVgsNkNBQU1BLENBQW1CO0lBQzlDLE1BQU0sQ0FBQ1ksV0FBV0MsYUFBYSxHQUFHWiwrQ0FBUUEsQ0FBQztJQUMzQyxNQUFNLENBQUNhLGNBQWNDLGdCQUFnQixHQUFHZCwrQ0FBUUEsQ0FBZ0I7SUFFaEUsTUFBTWUsbUJBQW1CLE9BQU9DO1FBQzVCLE1BQU1DLFFBQVFELEVBQUVFLE1BQU0sQ0FBQ0QsS0FBSztRQUM1QixJQUFJLENBQUNBLE9BQU87UUFFWixJQUFJVCxNQUFNVyxNQUFNLEdBQUdGLE1BQU1FLE1BQU0sR0FBRyxJQUFJO1lBQ2xDakIseUNBQUtBLENBQUNrQixLQUFLLENBQUM7WUFDWjtRQUNKO1FBRUFSLGFBQWE7UUFDYixNQUFNUyxVQUFVO2VBQUliO1NBQU07UUFFMUIsSUFBSTtZQUNBLElBQUssSUFBSWMsSUFBSSxHQUFHQSxJQUFJTCxNQUFNRSxNQUFNLEVBQUVHLElBQUs7Z0JBQ25DLE1BQU1DLE9BQU9OLEtBQUssQ0FBQ0ssRUFBRTtnQkFDckIsSUFBSUMsS0FBS0MsSUFBSSxHQUFHLElBQUksT0FBTyxNQUFNO29CQUM3QnRCLHlDQUFLQSxDQUFDa0IsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFRyxLQUFLRSxJQUFJLENBQUMsZUFBZSxDQUFDO29CQUM5QztnQkFDSjtnQkFDQSxNQUFNQyxNQUFNLE1BQU16QixxRUFBZ0JBLENBQUNzQjtnQkFDbkNGLFFBQVFNLElBQUksQ0FBQ0Q7WUFDakI7WUFDQWpCLFNBQVNZO1FBQ2IsRUFBRSxPQUFPRCxPQUFPO1lBQ1psQix5Q0FBS0EsQ0FBQ2tCLEtBQUssQ0FBQztRQUNoQixTQUFVO1lBQ05SLGFBQWE7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XHVpXFxpbWFnZS11cGxvYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgdXBsb2FkT2ZmZXJJbWFnZSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvY2F0YWxvZ1wiO1xyXG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gXCJzb25uZXJcIjtcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIjtcclxuaW1wb3J0IHsgWCwgSW1hZ2VQbHVzLCBMb2FkZXIyLCBBcnJvd0xlZnQsIEFycm93UmlnaHQgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XHJcblxyXG5pbnRlcmZhY2UgSW1hZ2VVcGxvYWRlclByb3BzIHtcclxuICAgIHZhbHVlOiBzdHJpbmdbXTtcclxuICAgIG9uQ2hhbmdlOiAodXJsczogc3RyaW5nW10pID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBJbWFnZVVwbG9hZGVyKHsgdmFsdWUsIG9uQ2hhbmdlIH06IEltYWdlVXBsb2FkZXJQcm9wcykge1xyXG4gICAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xyXG4gICAgY29uc3QgW3VwbG9hZGluZywgc2V0VXBsb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IFtkcmFnZ2VkSW5kZXgsIHNldERyYWdnZWRJbmRleF0gPSB1c2VTdGF0ZTxudW1iZXIgfCBudWxsPihudWxsKTtcclxuXHJcbiAgICBjb25zdCBoYW5kbGVGaWxlQ2hhbmdlID0gYXN5bmMgKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZmlsZXMgPSBlLnRhcmdldC5maWxlcztcclxuICAgICAgICBpZiAoIWZpbGVzKSByZXR1cm47XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggKyBmaWxlcy5sZW5ndGggPiAxMCkge1xyXG4gICAgICAgICAgICB0b2FzdC5lcnJvcihcItCc0L7QttC90L4g0LfQsNCz0YDRg9C30LjRgtGMINC80LDQutGB0LjQvNGD0LwgMTAg0LjQt9C+0LHRgNCw0LbQtdC90LjQuVwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2V0VXBsb2FkaW5nKHRydWUpO1xyXG4gICAgICAgIGNvbnN0IG5ld1VybHMgPSBbLi4udmFsdWVdO1xyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlID0gZmlsZXNbaV07XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsZS5zaXplID4gNSAqIDEwMjQgKiAxMDI0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9hc3QuZXJyb3IoYNCk0LDQudC7ICR7ZmlsZS5uYW1lfSDQv9GA0LXQstGL0YjQsNC10YIgNSDQnNCRYCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCB1cmwgPSBhd2FpdCB1cGxvYWRPZmZlckltYWdlKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgbmV3VXJscy5wdXNoKHVybCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb25DaGFuZ2UobmV3VXJscyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdG9hc3QuZXJyb3IoXCLQndC1INGD0LTQsNC70L7RgdGMINC30LDQs9GA0YPQt9C40YLRjCDQuNC30L7QsdGA0LDQttC10L3QuNGPXCIpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldFVwbG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgIGlmIChmaWxlSW5wdXRSZWYuY3VycmVudCkgZmlsZUlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgcmVtb3ZlSW1hZ2UgPSAoaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld1VybHMgPSBbLi4udmFsdWVdO1xyXG4gICAgICAgIG5ld1VybHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICBvbkNoYW5nZShuZXdVcmxzKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gKGU6IFJlYWN0LkRyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4sIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICBzZXREcmFnZ2VkSW5kZXgoaW5kZXgpO1xyXG4gICAgICAgIGUuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgPSBcIm1vdmVcIjtcclxuICAgICAgICAvLyBUbyBtYWtlIGRyYWcgaW1hZ2UgbG9vayBjbGVhbiwgb3B0aW9uYWxseSBzZXQgZHJhZyBpbWFnZSBoZXJlXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGhhbmRsZURyYWdPdmVyID0gKGU6IFJlYWN0LkRyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4sIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9IFwibW92ZVwiO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBoYW5kbGVEcm9wID0gKGU6IFJlYWN0LkRyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4sIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgaWYgKGRyYWdnZWRJbmRleCA9PT0gbnVsbCB8fCBkcmFnZ2VkSW5kZXggPT09IGluZGV4KSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IG5ld1VybHMgPSBbLi4udmFsdWVdO1xyXG4gICAgICAgIGNvbnN0IGl0ZW1Ub01vdmUgPSBuZXdVcmxzW2RyYWdnZWRJbmRleF07XHJcbiAgICAgICAgbmV3VXJscy5zcGxpY2UoZHJhZ2dlZEluZGV4LCAxKTtcclxuICAgICAgICBuZXdVcmxzLnNwbGljZShpbmRleCwgMCwgaXRlbVRvTW92ZSk7XHJcbiAgICAgICAgb25DaGFuZ2UobmV3VXJscyk7XHJcbiAgICAgICAgc2V0RHJhZ2dlZEluZGV4KG51bGwpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBoYW5kbGVEcmFnRW5kID0gKCkgPT4ge1xyXG4gICAgICAgIHNldERyYWdnZWRJbmRleChudWxsKTtcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTIgc206Z3JpZC1jb2xzLTMgbWQ6Z3JpZC1jb2xzLTQgbGc6Z3JpZC1jb2xzLTUgZ2FwLTRcIj5cclxuICAgICAgICAgICAgICAgIHt2YWx1ZS5tYXAoKHVybCwgaSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXt1cmwgKyBpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BmbGV4IGZsZXgtY29sIGdhcC0yICR7ZHJhZ2dlZEluZGV4ID09PSBpID8gJ29wYWNpdHktNTAnIDogJ29wYWNpdHktMTAwJ31gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkcmFnZ2FibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgb25EcmFnU3RhcnQ9eyhlKSA9PiBoYW5kbGVEcmFnU3RhcnQoZSwgaSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRHJhZ092ZXI9eyhlKSA9PiBoYW5kbGVEcmFnT3ZlcihlLCBpKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgb25Ecm9wPXsoZSkgPT4gaGFuZGxlRHJvcChlLCBpKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVEcmFnRW5kfVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBhc3BlY3Qtc3F1YXJlIHJvdW5kZWQtbWQgYm9yZGVyIGJnLW11dGVkIG92ZXJmbG93LWhpZGRlbiBmbGV4LXNocmluay0wIGN1cnNvci1ncmFiIGFjdGl2ZTpjdXJzb3ItZ3JhYmJpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXt1cmx9IGFsdD17YE9mZmVyIGltYWdlICR7aX1gfSBjbGFzc05hbWU9XCJ3LWZ1bGwgaC1mdWxsIG9iamVjdC1jb3ZlciBwb2ludGVyLWV2ZW50cy1ub25lXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpID09PSAwICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0yIGxlZnQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LVsxMHB4XSBiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIHB4LTIgcHktMC41IHJvdW5kZWQgZm9udC1tZWRpdW0gc2hhZG93LW1kXCI+0JPQu9Cw0LLQvdC+0LU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZGVzdHJ1Y3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCBoLTggdGV4dC14cyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiByZW1vdmVJbWFnZShpKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFggY2xhc3NOYW1lPVwiaC0zIHctM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDQo9C00LDQu9C40YLRjFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICkpfVxyXG5cclxuICAgICAgICAgICAgICAgIHt2YWx1ZS5sZW5ndGggPCAxMCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAhdXBsb2FkaW5nICYmIGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Bhc3BlY3Qtc3F1YXJlIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1kYXNoZWQgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGhvdmVyOmJnLW11dGVkLzUwIHRyYW5zaXRpb24tY29sb3JzIGN1cnNvci1wb2ludGVyICR7dXBsb2FkaW5nID8gJ29wYWNpdHktNTAgcG9pbnRlci1ldmVudHMtbm9uZScgOiAnJ31gfVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3VwbG9hZGluZyA/IDxMb2FkZXIyIGNsYXNzTmFtZT1cImgtNiB3LTYgYW5pbWF0ZS1zcGluIG1iLTJcIiAvPiA6IDxJbWFnZVBsdXMgY2xhc3NOYW1lPVwiaC02IHctNiBtYi0yXCIgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHNcIj57dmFsdWUubGVuZ3RofS8xMCDRhNCw0LnQu9C+0LI8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxyXG4gICAgICAgICAgICAgICAgcmVmPXtmaWxlSW5wdXRSZWZ9XHJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlRmlsZUNoYW5nZX1cclxuICAgICAgICAgICAgICAgIGFjY2VwdD1cImltYWdlL2pwZWcsaW1hZ2UvcG5nLGltYWdlL3dlYnBcIlxyXG4gICAgICAgICAgICAgICAgbXVsdGlwbGVcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImhpZGRlblwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwidXBsb2FkT2ZmZXJJbWFnZSIsInRvYXN0IiwiQnV0dG9uIiwiWCIsIkltYWdlUGx1cyIsIkxvYWRlcjIiLCJJbWFnZVVwbG9hZGVyIiwidmFsdWUiLCJvbkNoYW5nZSIsImZpbGVJbnB1dFJlZiIsInVwbG9hZGluZyIsInNldFVwbG9hZGluZyIsImRyYWdnZWRJbmRleCIsInNldERyYWdnZWRJbmRleCIsImhhbmRsZUZpbGVDaGFuZ2UiLCJlIiwiZmlsZXMiLCJ0YXJnZXQiLCJsZW5ndGgiLCJlcnJvciIsIm5ld1VybHMiLCJpIiwiZmlsZSIsInNpemUiLCJuYW1lIiwidXJsIiwicHVzaCIsImN1cnJlbnQiLCJyZW1vdmVJbWFnZSIsImluZGV4Iiwic3BsaWNlIiwiaGFuZGxlRHJhZ1N0YXJ0IiwiZGF0YVRyYW5zZmVyIiwiZWZmZWN0QWxsb3dlZCIsImhhbmRsZURyYWdPdmVyIiwicHJldmVudERlZmF1bHQiLCJkcm9wRWZmZWN0IiwiaGFuZGxlRHJvcCIsIml0ZW1Ub01vdmUiLCJoYW5kbGVEcmFnRW5kIiwiZGl2IiwiY2xhc3NOYW1lIiwibWFwIiwiZHJhZ2dhYmxlIiwib25EcmFnU3RhcnQiLCJvbkRyYWdPdmVyIiwib25Ecm9wIiwib25EcmFnRW5kIiwiaW1nIiwic3JjIiwiYWx0Iiwic3BhbiIsInR5cGUiLCJ2YXJpYW50Iiwib25DbGljayIsImNsaWNrIiwiaW5wdXQiLCJyZWYiLCJhY2NlcHQiLCJtdWx0aXBsZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/image-uploader.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/input.tsx": -/*!*************************************!*\ - !*** ./src/components/ui/input.tsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Input: () => (/* binding */ Input)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Input = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, type, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: type,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\", className),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\input.tsx\",\n lineNumber: 8,\n columnNumber: 13\n }, undefined);\n});\nInput.displayName = \"Input\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9pbnB1dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUE4QjtBQUVTO0FBRXZDLE1BQU1FLHNCQUFRRiw2Q0FBZ0IsQ0FDMUIsQ0FBQyxFQUFFSSxTQUFTLEVBQUVDLElBQUksRUFBRSxHQUFHQyxPQUFPLEVBQUVDO0lBQzVCLHFCQUNJLDhEQUFDQztRQUNHSCxNQUFNQTtRQUNORCxXQUFXSCxxREFBRUEsQ0FDVCxrWUFDQUc7UUFFSkcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosTUFBTU8sV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxpbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuXHJcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvc2hhcmVkL2xpYi91dGlsc1wiXHJcblxyXG5jb25zdCBJbnB1dCA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJpbnB1dFwiPj4oXHJcbiAgICAoeyBjbGFzc05hbWUsIHR5cGUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT17dHlwZX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgXCJmbGV4IGgtMTAgdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktMiB0ZXh0LWJhc2UgcmluZy1vZmZzZXQtYmFja2dyb3VuZCBmaWxlOmJvcmRlci0wIGZpbGU6YmctdHJhbnNwYXJlbnQgZmlsZTp0ZXh0LXNtIGZpbGU6Zm9udC1tZWRpdW0gZmlsZTp0ZXh0LWZvcmVncm91bmQgcGxhY2Vob2xkZXI6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCBtZDp0ZXh0LXNtXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbklucHV0LmRpc3BsYXlOYW1lID0gXCJJbnB1dFwiXHJcblxyXG5leHBvcnQgeyBJbnB1dCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiSW5wdXQiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwidHlwZSIsInByb3BzIiwicmVmIiwiaW5wdXQiLCJkaXNwbGF5TmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/input.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/label.tsx": -/*!*************************************!*\ - !*** ./src/components/ui/label.tsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Label: () => (/* binding */ Label)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-label */ \"(ssr)/./node_modules/@radix-ui/react-label/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst labelVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\");\nconst Label = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__.Root, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(labelVariants(), className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\label.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined));\nLabel.displayName = _radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__.Root.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9sYWJlbC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQThCO0FBQ3lCO0FBQ1U7QUFFMUI7QUFFdkMsTUFBTUksZ0JBQWdCRiw2REFBR0EsQ0FDckI7QUFHSixNQUFNRyxzQkFBUUwsNkNBQWdCLENBSTVCLENBQUMsRUFBRU8sU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDUix1REFBbUI7UUFDaEJRLEtBQUtBO1FBQ0xGLFdBQVdKLHFEQUFFQSxDQUFDQyxpQkFBaUJHO1FBQzlCLEdBQUdDLEtBQUs7Ozs7OztBQUdqQkgsTUFBTU0sV0FBVyxHQUFHVix1REFBbUIsQ0FBQ1UsV0FBVztBQUVuQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGxhYmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBMYWJlbFByaW1pdGl2ZSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWxhYmVsXCJcclxuaW1wb3J0IHsgY3ZhLCB0eXBlIFZhcmlhbnRQcm9wcyB9IGZyb20gXCJjbGFzcy12YXJpYW5jZS1hdXRob3JpdHlcIlxyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IGxhYmVsVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcInRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy1ub25lIHBlZXItZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIHBlZXItZGlzYWJsZWQ6b3BhY2l0eS03MFwiXHJcbilcclxuXHJcbmNvbnN0IExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIExhYmVsUHJpbWl0aXZlLlJvb3Q+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBMYWJlbFByaW1pdGl2ZS5Sb290PiAmXHJcbiAgICBWYXJpYW50UHJvcHM8dHlwZW9mIGxhYmVsVmFyaWFudHM+XHJcbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxMYWJlbFByaW1pdGl2ZS5Sb290XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihsYWJlbFZhcmlhbnRzKCksIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuTGFiZWwuZGlzcGxheU5hbWUgPSBMYWJlbFByaW1pdGl2ZS5Sb290LmRpc3BsYXlOYW1lXHJcblxyXG5leHBvcnQgeyBMYWJlbCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkxhYmVsUHJpbWl0aXZlIiwiY3ZhIiwiY24iLCJsYWJlbFZhcmlhbnRzIiwiTGFiZWwiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZWYiLCJSb290IiwiZGlzcGxheU5hbWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/label.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/select.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/select.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Select: () => (/* binding */ Select),\n/* harmony export */ SelectContent: () => (/* binding */ SelectContent),\n/* harmony export */ SelectGroup: () => (/* binding */ SelectGroup),\n/* harmony export */ SelectItem: () => (/* binding */ SelectItem),\n/* harmony export */ SelectLabel: () => (/* binding */ SelectLabel),\n/* harmony export */ SelectScrollDownButton: () => (/* binding */ SelectScrollDownButton),\n/* harmony export */ SelectScrollUpButton: () => (/* binding */ SelectScrollUpButton),\n/* harmony export */ SelectSeparator: () => (/* binding */ SelectSeparator),\n/* harmony export */ SelectTrigger: () => (/* binding */ SelectTrigger),\n/* harmony export */ SelectValue: () => (/* binding */ SelectValue)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-select */ \"(ssr)/./node_modules/@radix-ui/react-select/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronUp!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronUp!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronUp!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Select,SelectGroup,SelectValue,SelectTrigger,SelectContent,SelectLabel,SelectItem,SelectSeparator,SelectScrollUpButton,SelectScrollDownButton auto */ \n\n\n\n\nconst Select = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst SelectGroup = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Group;\nconst SelectValue = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Value;\nconst SelectTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Trigger, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\", className),\n ...props,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Icon, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4 opacity-50\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 28,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 19,\n columnNumber: 5\n }, undefined));\nSelectTrigger.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Trigger.displayName;\nconst SelectScrollUpButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollUpButton, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 47,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 39,\n columnNumber: 5\n }, undefined));\nSelectScrollUpButton.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollUpButton.displayName;\nconst SelectScrollDownButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollDownButton, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 56,\n columnNumber: 5\n }, undefined));\nSelectScrollDownButton.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollDownButton.displayName;\nconst SelectContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, position = \"popper\", ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Portal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", position === \"popper\" && \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\", className),\n position: position,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SelectScrollUpButton, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 86,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Viewport, {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"p-1\", position === \"popper\" && \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"),\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 87,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SelectScrollDownButton, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 96,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 75,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 74,\n columnNumber: 5\n }, undefined));\nSelectContent.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\nconst SelectLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-2 py-1.5 text-sm font-semibold\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 106,\n columnNumber: 5\n }, undefined));\nSelectLabel.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Label.displayName;\nconst SelectItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Item, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 128,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 127,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 126,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ItemText, {\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 118,\n columnNumber: 5\n }, undefined));\nSelectItem.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Item.displayName;\nconst SelectSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Separator, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 140,\n columnNumber: 5\n }, undefined));\nSelectSeparator.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Separator.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RUFBQ0MsdUdBQUtBO3dCQUFDWSxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7OzBCQUd6Qiw4REFBQ2IsNERBQXdCOzBCQUFFYzs7Ozs7Ozs7Ozs7O0FBR25Da0IsV0FBV1osV0FBVyxHQUFHcEIsd0RBQW9CLENBQUNvQixXQUFXO0FBRXpELE1BQU1pQixnQ0FBa0J0Qyw2Q0FBZ0IsQ0FHdEMsQ0FBQyxFQUFFYyxTQUFTLEVBQUUsR0FBR0UsT0FBTyxFQUFFQyxvQkFDeEIsOERBQUNoQiw2REFBeUI7UUFDdEJnQixLQUFLQTtRQUNMSCxXQUFXVCw4Q0FBRUEsQ0FBQyw0QkFBNEJTO1FBQ3pDLEdBQUdFLEtBQUs7Ozs7OztBQUdqQnNCLGdCQUFnQmpCLFdBQVcsR0FBR3BCLDZEQUF5QixDQUFDb0IsV0FBVztBQWFsRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXHNlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCAqIGFzIFNlbGVjdFByaW1pdGl2ZSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNlbGVjdFwiXHJcbmltcG9ydCB7IENoZWNrLCBDaGV2cm9uRG93biwgQ2hldnJvblVwIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL2xpYi91dGlsc1wiXHJcblxyXG5jb25zdCBTZWxlY3QgPSBTZWxlY3RQcmltaXRpdmUuUm9vdFxyXG5cclxuY29uc3QgU2VsZWN0R3JvdXAgPSBTZWxlY3RQcmltaXRpdmUuR3JvdXBcclxuXHJcbmNvbnN0IFNlbGVjdFZhbHVlID0gU2VsZWN0UHJpbWl0aXZlLlZhbHVlXHJcblxyXG5jb25zdCBTZWxlY3RUcmlnZ2VyID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5UcmlnZ2VyPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlRyaWdnZXI+XHJcbj4oKHsgY2xhc3NOYW1lLCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8U2VsZWN0UHJpbWl0aXZlLlRyaWdnZXJcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcImZsZXggaC05IHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHdoaXRlc3BhY2Utbm93cmFwIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy10cmFuc3BhcmVudCBweC0zIHB5LTIgdGV4dC1zbSBzaGFkb3ctc20gcmluZy1vZmZzZXQtYmFja2dyb3VuZCBwbGFjZWhvbGRlcjp0ZXh0LW11dGVkLWZvcmVncm91bmQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMSBmb2N1czpyaW5nLXJpbmcgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTAgWyY+c3Bhbl06bGluZS1jbGFtcC0xXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIHtjaGlsZHJlbn1cclxuICAgICAgICA8U2VsZWN0UHJpbWl0aXZlLkljb24gYXNDaGlsZD5cclxuICAgICAgICAgICAgPENoZXZyb25Eb3duIGNsYXNzTmFtZT1cImgtNCB3LTQgb3BhY2l0eS01MFwiIC8+XHJcbiAgICAgICAgPC9TZWxlY3RQcmltaXRpdmUuSWNvbj5cclxuICAgIDwvU2VsZWN0UHJpbWl0aXZlLlRyaWdnZXI+XHJcbikpXHJcblNlbGVjdFRyaWdnZXIuZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuVHJpZ2dlci5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgU2VsZWN0U2Nyb2xsVXBCdXR0b24gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbFVwQnV0dG9uPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbFVwQnV0dG9uPlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8U2VsZWN0UHJpbWl0aXZlLlNjcm9sbFVwQnV0dG9uXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJmbGV4IGN1cnNvci1kZWZhdWx0IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweS0xXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxDaGV2cm9uVXAgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICA8L1NlbGVjdFByaW1pdGl2ZS5TY3JvbGxVcEJ1dHRvbj5cclxuKSlcclxuU2VsZWN0U2Nyb2xsVXBCdXR0b24uZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuU2Nyb2xsVXBCdXR0b24uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IFNlbGVjdFNjcm9sbERvd25CdXR0b24gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbERvd25CdXR0b24+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuU2Nyb2xsRG93bkJ1dHRvbj5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5TY3JvbGxEb3duQnV0dG9uXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJmbGV4IGN1cnNvci1kZWZhdWx0IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweS0xXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxDaGV2cm9uRG93biBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgIDwvU2VsZWN0UHJpbWl0aXZlLlNjcm9sbERvd25CdXR0b24+XHJcbikpXHJcblNlbGVjdFNjcm9sbERvd25CdXR0b24uZGlzcGxheU5hbWUgPVxyXG4gICAgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbERvd25CdXR0b24uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IFNlbGVjdENvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCBwb3NpdGlvbiA9IFwicG9wcGVyXCIsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5Qb3J0YWw+XHJcbiAgICAgICAgPFNlbGVjdFByaW1pdGl2ZS5Db250ZW50XHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICAgICAgXCJyZWxhdGl2ZSB6LTUwIG1heC1oLTk2IG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciB0ZXh0LXBvcG92ZXItZm9yZWdyb3VuZCBzaGFkb3ctbWQgZGF0YS1bc3RhdGU9b3Blbl06YW5pbWF0ZS1pbiBkYXRhLVtzdGF0ZT1jbG9zZWRdOmFuaW1hdGUtb3V0IGRhdGEtW3N0YXRlPWNsb3NlZF06ZmFkZS1vdXQtMCBkYXRhLVtzdGF0ZT1vcGVuXTpmYWRlLWluLTAgZGF0YS1bc3RhdGU9Y2xvc2VkXTp6b29tLW91dC05NSBkYXRhLVtzdGF0ZT1vcGVuXTp6b29tLWluLTk1IGRhdGEtW3NpZGU9Ym90dG9tXTpzbGlkZS1pbi1mcm9tLXRvcC0yIGRhdGEtW3NpZGU9bGVmdF06c2xpZGUtaW4tZnJvbS1yaWdodC0yIGRhdGEtW3NpZGU9cmlnaHRdOnNsaWRlLWluLWZyb20tbGVmdC0yIGRhdGEtW3NpZGU9dG9wXTpzbGlkZS1pbi1mcm9tLWJvdHRvbS0yXCIsXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbiA9PT0gXCJwb3BwZXJcIiAmJlxyXG4gICAgICAgICAgICAgICAgXCJkYXRhLVtzaWRlPWJvdHRvbV06dHJhbnNsYXRlLXktMSBkYXRhLVtzaWRlPWxlZnRdOi10cmFuc2xhdGUteC0xIGRhdGEtW3NpZGU9cmlnaHRdOnRyYW5zbGF0ZS14LTEgZGF0YS1bc2lkZT10b3BdOi10cmFuc2xhdGUteS0xXCIsXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgcG9zaXRpb249e3Bvc2l0aW9ufVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8U2VsZWN0U2Nyb2xsVXBCdXR0b24gLz5cclxuICAgICAgICAgICAgPFNlbGVjdFByaW1pdGl2ZS5WaWV3cG9ydFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICBcInAtMVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uID09PSBcInBvcHBlclwiICYmXHJcbiAgICAgICAgICAgICAgICAgICAgXCJoLVt2YXIoLS1yYWRpeC1zZWxlY3QtdHJpZ2dlci1oZWlnaHQpXSB3LWZ1bGwgbWluLXctW3ZhcigtLXJhZGl4LXNlbGVjdC10cmlnZ2VyLXdpZHRoKV1cIlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgICA8L1NlbGVjdFByaW1pdGl2ZS5WaWV3cG9ydD5cclxuICAgICAgICAgICAgPFNlbGVjdFNjcm9sbERvd25CdXR0b24gLz5cclxuICAgICAgICA8L1NlbGVjdFByaW1pdGl2ZS5Db250ZW50PlxyXG4gICAgPC9TZWxlY3RQcmltaXRpdmUuUG9ydGFsPlxyXG4pKVxyXG5TZWxlY3RDb250ZW50LmRpc3BsYXlOYW1lID0gU2VsZWN0UHJpbWl0aXZlLkNvbnRlbnQuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IFNlbGVjdExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5MYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5MYWJlbD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5MYWJlbFxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJweC0yIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIiwgY2xhc3NOYW1lKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAvPlxyXG4pKVxyXG5TZWxlY3RMYWJlbC5kaXNwbGF5TmFtZSA9IFNlbGVjdFByaW1pdGl2ZS5MYWJlbC5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgU2VsZWN0SXRlbSA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuSXRlbT4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5JdGVtPlxyXG4+KCh7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IHctZnVsbCBjdXJzb3ItZGVmYXVsdCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgcm91bmRlZC1zbSBweS0xLjUgcGwtMiBwci04IHRleHQtc20gb3V0bGluZS1ub25lIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTIgZmxleCBoLTMuNSB3LTMuNSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPFNlbGVjdFByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgICAgICAgICAgPENoZWNrIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICA8L1NlbGVjdFByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8U2VsZWN0UHJpbWl0aXZlLkl0ZW1UZXh0PntjaGlsZHJlbn08L1NlbGVjdFByaW1pdGl2ZS5JdGVtVGV4dD5cclxuICAgIDwvU2VsZWN0UHJpbWl0aXZlLkl0ZW0+XHJcbikpXHJcblNlbGVjdEl0ZW0uZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuSXRlbS5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgU2VsZWN0U2VwYXJhdG9yID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5TZXBhcmF0b3I+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuU2VwYXJhdG9yPlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8U2VsZWN0UHJpbWl0aXZlLlNlcGFyYXRvclxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCItbXgtMSBteS0xIGgtcHggYmctbXV0ZWRcIiwgY2xhc3NOYW1lKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAvPlxyXG4pKVxyXG5TZWxlY3RTZXBhcmF0b3IuZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuU2VwYXJhdG9yLmRpc3BsYXlOYW1lXHJcblxyXG5leHBvcnQge1xyXG4gICAgU2VsZWN0LFxyXG4gICAgU2VsZWN0R3JvdXAsXHJcbiAgICBTZWxlY3RWYWx1ZSxcclxuICAgIFNlbGVjdFRyaWdnZXIsXHJcbiAgICBTZWxlY3RDb250ZW50LFxyXG4gICAgU2VsZWN0TGFiZWwsXHJcbiAgICBTZWxlY3RJdGVtLFxyXG4gICAgU2VsZWN0U2VwYXJhdG9yLFxyXG4gICAgU2VsZWN0U2Nyb2xsVXBCdXR0b24sXHJcbiAgICBTZWxlY3RTY3JvbGxEb3duQnV0dG9uLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlNlbGVjdFByaW1pdGl2ZSIsIkNoZWNrIiwiQ2hldnJvbkRvd24iLCJDaGV2cm9uVXAiLCJjbiIsIlNlbGVjdCIsIlJvb3QiLCJTZWxlY3RHcm91cCIsIkdyb3VwIiwiU2VsZWN0VmFsdWUiLCJWYWx1ZSIsIlNlbGVjdFRyaWdnZXIiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlRyaWdnZXIiLCJJY29uIiwiYXNDaGlsZCIsImRpc3BsYXlOYW1lIiwiU2VsZWN0U2Nyb2xsVXBCdXR0b24iLCJTY3JvbGxVcEJ1dHRvbiIsIlNlbGVjdFNjcm9sbERvd25CdXR0b24iLCJTY3JvbGxEb3duQnV0dG9uIiwiU2VsZWN0Q29udGVudCIsInBvc2l0aW9uIiwiUG9ydGFsIiwiQ29udGVudCIsIlZpZXdwb3J0IiwiU2VsZWN0TGFiZWwiLCJMYWJlbCIsIlNlbGVjdEl0ZW0iLCJJdGVtIiwic3BhbiIsIkl0ZW1JbmRpY2F0b3IiLCJJdGVtVGV4dCIsIlNlbGVjdFNlcGFyYXRvciIsIlNlcGFyYXRvciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/select.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toaster: () => (/* binding */ Toaster)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ Toaster auto */ \n\n\nconst Toaster = ({ ...props })=>{\n const { theme = \"system\" } = (0,next_themes__WEBPACK_IMPORTED_MODULE_1__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(sonner__WEBPACK_IMPORTED_MODULE_2__.Toaster, {\n theme: theme,\n className: \"toaster group\",\n toastOptions: {\n classNames: {\n toast: \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toaster]:text-muted-foreground\",\n actionButton: \"group-[.toaster]:bg-primary group-[.toaster]:text-primary-foreground\",\n cancelButton: \"group-[.toaster]:bg-muted group-[.toaster]:text-muted-foreground\"\n }\n },\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\sonner.tsx\",\n lineNumber: 12,\n columnNumber: 9\n }, undefined);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zb25uZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVzQztBQUNJO0FBSTFDLE1BQU1DLFVBQVUsQ0FBQyxFQUFFLEdBQUdFLE9BQXFCO0lBQ3ZDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLEVBQUUsR0FBR0oscURBQVFBO0lBRXJDLHFCQUNJLDhEQUFDRSwyQ0FBTUE7UUFDSEUsT0FBT0E7UUFDUEMsV0FBVTtRQUNWQyxjQUFjO1lBQ1ZDLFlBQVk7Z0JBQ1JDLE9BQ0k7Z0JBQ0pDLGFBQWE7Z0JBQ2JDLGNBQ0k7Z0JBQ0pDLGNBQ0k7WUFDUjtRQUNKO1FBQ0MsR0FBR1IsS0FBSzs7Ozs7O0FBR3JCO0FBRWtCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcc29ubmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5pbXBvcnQgeyBUb2FzdGVyIGFzIFNvbm5lciB9IGZyb20gXCJzb25uZXJcIlxyXG5cclxudHlwZSBUb2FzdGVyUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgU29ubmVyPlxyXG5cclxuY29uc3QgVG9hc3RlciA9ICh7IC4uLnByb3BzIH06IFRvYXN0ZXJQcm9wcykgPT4ge1xyXG4gICAgY29uc3QgeyB0aGVtZSA9IFwic3lzdGVtXCIgfSA9IHVzZVRoZW1lKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTb25uZXJcclxuICAgICAgICAgICAgdGhlbWU9e3RoZW1lIGFzIFRvYXN0ZXJQcm9wc1tcInRoZW1lXCJdfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0b2FzdGVyIGdyb3VwXCJcclxuICAgICAgICAgICAgdG9hc3RPcHRpb25zPXt7XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9hc3Q6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JvdXAgdG9hc3QgZ3JvdXAtWy50b2FzdGVyXTpiZy1iYWNrZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06dGV4dC1mb3JlZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06Ym9yZGVyLWJvcmRlciBncm91cC1bLnRvYXN0ZXJdOnNoYWRvdy1sZ1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImdyb3VwLVsudG9hc3Rlcl06dGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctcHJpbWFyeSBncm91cC1bLnRvYXN0ZXJdOnRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctbXV0ZWQgZ3JvdXAtWy50b2FzdGVyXTp0ZXh0LW11dGVkLWZvcmVncm91bmRcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgeyBUb2FzdGVyIH1cclxuIl0sIm5hbWVzIjpbInVzZVRoZW1lIiwiVG9hc3RlciIsIlNvbm5lciIsInByb3BzIiwidGhlbWUiLCJjbGFzc05hbWUiLCJ0b2FzdE9wdGlvbnMiLCJjbGFzc05hbWVzIiwidG9hc3QiLCJkZXNjcmlwdGlvbiIsImFjdGlvbkJ1dHRvbiIsImNhbmNlbEJ1dHRvbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/sonner.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/switch.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/switch.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Switch: () => (/* binding */ Switch)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Switch auto */ \n\n\n/**\r\n * Переключатель (тумблер) — аналог Shadcn Switch.\r\n * Используется для тумблера «На линии» в шапке.\r\n */ const Switch = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, checked = false, onCheckedChange, disabled, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n disabled: disabled,\n ref: ref,\n onClick: ()=>onCheckedChange?.(!checked),\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors\", \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\", \"disabled:cursor-not-allowed disabled:opacity-50\", checked ? \"bg-green-500\" : \"bg-input\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform\", checked ? \"translate-x-5\" : \"translate-x-0\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined);\n});\nSwitch.displayName = \"Switch\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zd2l0Y2gudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFOEI7QUFDUztBQU92Qzs7O0NBR0MsR0FDRCxNQUFNRSx1QkFBU0YsNkNBQWdCLENBQzNCLENBQUMsRUFBRUksU0FBUyxFQUFFQyxVQUFVLEtBQUssRUFBRUMsZUFBZSxFQUFFQyxRQUFRLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUNsRSxxQkFDSSw4REFBQ0M7UUFDR0MsTUFBSztRQUNMQyxNQUFLO1FBQ0xDLGdCQUFjUjtRQUNkRSxVQUFVQTtRQUNWRSxLQUFLQTtRQUNMSyxTQUFTLElBQU1SLGtCQUFrQixDQUFDRDtRQUNsQ0QsV0FBV0gscURBQUVBLENBQ1QsNkhBQ0EsNElBQ0EsbURBQ0FJLFVBQVUsaUJBQWlCLFlBQzNCRDtRQUVILEdBQUdJLEtBQUs7a0JBRVQsNEVBQUNPO1lBQ0dYLFdBQVdILHFEQUFFQSxDQUNULHNHQUNBSSxVQUFVLGtCQUFrQjs7Ozs7Ozs7Ozs7QUFLaEQ7QUFFSkgsT0FBT2MsV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxzd2l0Y2gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuaW50ZXJmYWNlIFN3aXRjaFByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuXHJcbiAgICBvbkNoZWNrZWRDaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZFxyXG59XHJcblxyXG4vKipcclxuICog0J/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70YwgKNGC0YPQvNCx0LvQtdGAKSDigJQg0LDQvdCw0LvQvtCzIFNoYWRjbiBTd2l0Y2guXHJcbiAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YLRg9C80LHQu9C10YDQsCDCq9Cd0LAg0LvQuNC90LjQuMK7INCyINGI0LDQv9C60LUuXHJcbiAqL1xyXG5jb25zdCBTd2l0Y2ggPSBSZWFjdC5mb3J3YXJkUmVmPEhUTUxCdXR0b25FbGVtZW50LCBTd2l0Y2hQcm9wcz4oXHJcbiAgICAoeyBjbGFzc05hbWUsIGNoZWNrZWQgPSBmYWxzZSwgb25DaGVja2VkQ2hhbmdlLCBkaXNhYmxlZCwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcclxuICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cclxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cclxuICAgICAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGVja2VkQ2hhbmdlPy4oIWNoZWNrZWQpfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICBcInBlZXIgaW5saW5lLWZsZXggaC02IHctMTEgc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItdHJhbnNwYXJlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIixcclxuICAgICAgICAgICAgICAgICAgICBcImZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LWJhY2tncm91bmRcIixcclxuICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwiYmctZ3JlZW4tNTAwXCIgOiBcImJnLWlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicG9pbnRlci1ldmVudHMtbm9uZSBibG9jayBoLTUgdy01IHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1sZyByaW5nLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm1cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwidHJhbnNsYXRlLXgtNVwiIDogXCJ0cmFuc2xhdGUteC0wXCJcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcblN3aXRjaC5kaXNwbGF5TmFtZSA9IFwiU3dpdGNoXCJcclxuXHJcbmV4cG9ydCB7IFN3aXRjaCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiU3dpdGNoIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImNoZWNrZWQiLCJvbkNoZWNrZWRDaGFuZ2UiLCJkaXNhYmxlZCIsInByb3BzIiwicmVmIiwiYnV0dG9uIiwidHlwZSIsInJvbGUiLCJhcmlhLWNoZWNrZWQiLCJvbkNsaWNrIiwic3BhbiIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/switch.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/textarea.tsx": -/*!****************************************!*\ - !*** ./src/components/ui/textarea.tsx ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Textarea: () => (/* binding */ Textarea)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Textarea = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\", className),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\textarea.tsx\",\n lineNumber: 11,\n columnNumber: 7\n }, undefined);\n});\nTextarea.displayName = \"Textarea\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS90ZXh0YXJlYS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUE4QjtBQUVTO0FBS3ZDLE1BQU1FLHlCQUFXRiw2Q0FBZ0IsQ0FDL0IsQ0FBQyxFQUFFSSxTQUFTLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUN4QixxQkFDRSw4REFBQ0M7UUFDQ0gsV0FBV0gscURBQUVBLENBQ1gsd1NBQ0FHO1FBRUZFLEtBQUtBO1FBQ0osR0FBR0QsS0FBSzs7Ozs7O0FBR2Y7QUFFRkgsU0FBU00sV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFx0ZXh0YXJlYS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcblxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcblxuZXhwb3J0IGludGVyZmFjZSBUZXh0YXJlYVByb3BzXG4gIGV4dGVuZHMgUmVhY3QuVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50PiB7fVxuXG5jb25zdCBUZXh0YXJlYSA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTFRleHRBcmVhRWxlbWVudCwgVGV4dGFyZWFQcm9wcz4oXG4gICh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgIFwiZmxleCBtaW4taC1bODBweF0gdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktMiB0ZXh0LXNtIHJpbmctb2Zmc2V0LWJhY2tncm91bmQgcGxhY2Vob2xkZXI6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MFwiLFxuICAgICAgICAgIGNsYXNzTmFtZVxuICAgICAgICApfVxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICApXG4gIH1cbilcblRleHRhcmVhLmRpc3BsYXlOYW1lID0gXCJUZXh0YXJlYVwiXG5cbmV4cG9ydCB7IFRleHRhcmVhIH1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiVGV4dGFyZWEiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZWYiLCJ0ZXh0YXJlYSIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/textarea.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/entities/session/store.ts": -/*!***************************************!*\ - !*** ./src/entities/session/store.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSessionStore: () => (/* binding */ useSessionStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/shared/api/axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n\n\nconst useSessionStore = (0,zustand__WEBPACK_IMPORTED_MODULE_2__.create)((set, get)=>({\n user: null,\n isAuth: false,\n isLoading: false,\n isInitialized: false,\n checkAuth: async ()=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (!token) {\n set({\n isInitialized: true,\n isAuth: false\n });\n return;\n }\n set({\n isLoading: true\n });\n try {\n await get().getProfile();\n set({\n isAuth: true,\n isInitialized: true\n });\n } catch (error) {\n console.error(\"Auth check failed\", error);\n // Токен недействителен, очищаем состояние\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false,\n isInitialized: true\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n login: async (phone, password)=>{\n set({\n isLoading: true\n });\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/login\", {\n phone,\n password\n });\n const { accessToken, refreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", refreshToken);\n set({\n isAuth: true\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n register: async (data)=>{\n set({\n isLoading: true\n });\n try {\n // Убираем confirmPassword перед отправкой на бэкенд\n const { confirmPassword, ...registerData } = data;\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/register\", registerData);\n } finally{\n set({\n isLoading: false\n });\n }\n },\n logout: ()=>{\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false\n });\n if (false) {}\n },\n getProfile: async ()=>{\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.get(\"/profile\", {\n params: {\n _t: Date.now()\n } // bypass cache\n });\n set({\n user: response.data,\n isAuth: true\n });\n } catch (error) {\n console.error(\"Profile load failed\", error);\n }\n },\n updateProfile: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile\", data);\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePhone: async (newPhone)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-phone\", {\n newPhone\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformer: async ()=>{\n set({\n isLoading: true\n });\n try {\n // Исправлен путь: убрали лишний /api, так как он уже есть в baseURL\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\");\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformerFull: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\", {\n description: data.description,\n competencies: data.competencies,\n location: data.location,\n currentLocation: null,\n isAlwaysReady: data.workSchedule.isAlwaysReady,\n workingDays: data.workSchedule.isAlwaysReady ? null : JSON.stringify(data.workSchedule.schedulePerDay)\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateCompetencies: async (competencies)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/competencies\", {\n Competencies: competencies\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n uploadAvatar: async (file)=>{\n set({\n isLoading: true\n });\n try {\n const formData = new FormData();\n formData.append(\"file\", file);\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/avatar\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePassword: async (oldPassword, newPassword)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-password\", {\n accountId: userId,\n oldPassword,\n newPassword\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateLocation: async (location, currentLocation)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/location\", {\n accountId: userId,\n location,\n currentLocation\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateSchedule: async (isAlwaysReady, schedulePerDay)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n const workingDaysJson = isAlwaysReady ? \"[]\" : JSON.stringify(schedulePerDay || {});\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/schedule\", {\n accountId: userId,\n isAlwaysReady,\n workingDaysJson\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LGdCQUFnQixPQUFPdEIsZUFBZUs7WUFDbEM1QyxJQUFJO2dCQUFFSSxXQUFXO1lBQUs7WUFDdEIsSUFBSTtnQkFDQSxNQUFNb0QsU0FBU3ZELE1BQU1DLElBQUksRUFBRXVEO2dCQUMzQixJQUFJLENBQUNELFFBQVEsTUFBTSxJQUFJRSxNQUFNO2dCQUU3QixNQUFNSSxrQkFBa0J2QixnQkFDbEIsT0FDQUcsS0FBS0MsU0FBUyxDQUFDQyxrQkFBa0IsQ0FBQztnQkFFeEMsTUFBTTlDLGtEQUFHQSxDQUFDaUMsR0FBRyxDQUFDLHFCQUFxQjtvQkFDL0I0QixXQUFXSDtvQkFDWGpCO29CQUNBdUI7Z0JBQ0o7Z0JBQ0EsTUFBTTdELE1BQU1PLFVBQVU7WUFDMUIsU0FBVTtnQkFDTlIsSUFBSTtvQkFBRUksV0FBVztnQkFBTTtZQUMzQjtRQUNKO0lBQ0osSUFBSSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcZW50aXRpZXNcXHNlc3Npb25cXHN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHNldENvb2tpZSwgZGVsZXRlQ29va2llLCBnZXRDb29raWUgfSBmcm9tIFwiY29va2llcy1uZXh0XCI7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvYXhpb3NcIjtcclxuXHJcbmludGVyZmFjZSBVc2VyIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBwaG9uZTogc3RyaW5nO1xyXG4gICAgcm9sZXM6IHN0cmluZ1tdO1xyXG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xyXG4gICAgcGF0cm9ueW1pYz86IHN0cmluZztcclxuICAgIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xyXG4gICAgaW5uPzogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgICBsb2NhdGlvbj86IHN0cmluZztcclxuICAgIGN1cnJlbnRMb2NhdGlvbj86IHN0cmluZztcclxuICAgIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgICBhdmF0YXJVcmw/OiBzdHJpbmc7XHJcbiAgICBjb21wZXRlbmNpZXM6IHN0cmluZ1tdO1xyXG4gICAgd29ya1NjaGVkdWxlPzoge1xyXG4gICAgICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICAgICAgc2NoZWR1bGVQZXJEYXk/OiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7IHN0YXJ0OiBzdHJpbmc7IGVuZDogc3RyaW5nIH0+PjtcclxuICAgIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBXb3JrU2NoZWR1bGVEYXRhIHtcclxuICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICBzY2hlZHVsZVBlckRheTogUmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9Pj47XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZXNzaW9uU3RhdGUge1xyXG4gICAgdXNlcjogVXNlciB8IG51bGw7XHJcbiAgICBpc0F1dGg6IGJvb2xlYW47XHJcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xyXG4gICAgY2hlY2tBdXRoOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgbG9naW46IChwaG9uZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgcmVnaXN0ZXI6IChkYXRhOiBhbnkpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBsb2dvdXQ6ICgpID0+IHZvaWQ7XHJcbiAgICBnZXRQcm9maWxlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlUHJvZmlsZTogKGRhdGE6IHsgZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcsIHBhdHJvbnltaWM/OiBzdHJpbmcsIGNvbXBhbnlOYW1lPzogc3RyaW5nLCBpbm4/OiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBjaGFuZ2VQaG9uZTogKG5ld1Bob25lOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXI6ICgpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiAoZGF0YToge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICAgICAgY29tcGV0ZW5jaWVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb2NhdGlvbjogc3RyaW5nO1xyXG4gICAgICAgIHdvcmtTY2hlZHVsZTogV29ya1NjaGVkdWxlRGF0YTtcclxuICAgIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICB1cGRhdGVDb21wZXRlbmNpZXM6IChjb21wZXRlbmNpZXM6IHN0cmluZ1tdKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBsb2FkQXZhdGFyOiAoZmlsZTogRmlsZSkgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIGNoYW5nZVBhc3N3b3JkOiAob2xkUGFzc3dvcmQ6IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIHVwZGF0ZUxvY2F0aW9uOiAobG9jYXRpb246IHN0cmluZywgY3VycmVudExvY2F0aW9uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlU2NoZWR1bGU6IChpc0Fsd2F5c1JlYWR5OiBib29sZWFuLCBzY2hlZHVsZVBlckRheT86IFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfT4+KSA9PiBQcm9taXNlPHZvaWQ+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdXNlU2Vzc2lvblN0b3JlID0gY3JlYXRlPFNlc3Npb25TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgdXNlcjogbnVsbCxcclxuICAgIGlzQXV0aDogZmFsc2UsXHJcbiAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgaXNJbml0aWFsaXplZDogZmFsc2UsXHJcblxyXG4gICAgY2hlY2tBdXRoOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuXHJcbiAgICAgICAgaWYgKCF0b2tlbikge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0luaXRpYWxpemVkOiB0cnVlLCBpc0F1dGg6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICAgICAgc2V0KHsgaXNBdXRoOiB0cnVlLCBpc0luaXRpYWxpemVkOiB0cnVlIH0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJBdXRoIGNoZWNrIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIC8vINCi0L7QutC10L0g0L3QtdC00LXQudGB0YLQstC40YLQtdC70LXQvSwg0L7Rh9C40YnQsNC10Lwg0YHQvtGB0YLQvtGP0L3QuNC1XHJcbiAgICAgICAgICAgIGRlbGV0ZUNvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IG51bGwsIGlzQXV0aDogZmFsc2UsIGlzSW5pdGlhbGl6ZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGxvZ2luOiBhc3luYyAocGhvbmUsIHBhc3N3b3JkKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9sb2dpblwiLCB7IHBob25lLCBwYXNzd29yZCB9KTtcclxuICAgICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgc2V0Q29va2llKFwiYWNjZXNzVG9rZW5cIiwgYWNjZXNzVG9rZW4pO1xyXG4gICAgICAgICAgICBzZXRDb29raWUoXCJyZWZyZXNoVG9rZW5cIiwgcmVmcmVzaFRva2VuKTtcclxuXHJcbiAgICAgICAgICAgIHNldCh7IGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICByZWdpc3RlcjogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQo9Cx0LjRgNCw0LXQvCBjb25maXJtUGFzc3dvcmQg0L/QtdGA0LXQtCDQvtGC0L/RgNCw0LLQutC+0Lkg0L3QsCDQsdGN0LrQtdC90LRcclxuICAgICAgICAgICAgY29uc3QgeyBjb25maXJtUGFzc3dvcmQsIC4uLnJlZ2lzdGVyRGF0YSB9ID0gZGF0YTtcclxuICAgICAgICAgICAgYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9yZWdpc3RlclwiLCByZWdpc3RlckRhdGEpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBsb2dvdXQ6ICgpID0+IHtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgc2V0KHsgdXNlcjogbnVsbCwgaXNBdXRoOiBmYWxzZSB9KTtcclxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiL2F1dGgvbG9naW5cIjtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFByb2ZpbGU6IGFzeW5jICgpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQoXCIvcHJvZmlsZVwiLCB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHsgX3Q6IERhdGUubm93KCkgfSAvLyBieXBhc3MgY2FjaGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IHJlc3BvbnNlLmRhdGEsIGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiUHJvZmlsZSBsb2FkIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVQcm9maWxlOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucHV0KFwiL3Byb2ZpbGVcIiwgZGF0YSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgY2hhbmdlUGhvbmU6IGFzeW5jIChuZXdQaG9uZSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1waG9uZVwiLCB7IG5ld1Bob25lIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGJlY29tZVBlcmZvcm1lcjogYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQmNGB0L/RgNCw0LLQu9C10L0g0L/Rg9GC0Yw6INGD0LHRgNCw0LvQuCDQu9C40YjQvdC40LkgL2FwaSwg0YLQsNC6INC60LDQuiDQvtC9INGD0LbQtSDQtdGB0YLRjCDQsiBiYXNlVVJMXHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYmVjb21lLXBlcmZvcm1lclwiKTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2JlY29tZS1wZXJmb3JtZXJcIiwge1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRhdGEuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICBjb21wZXRlbmNpZXM6IGRhdGEuY29tcGV0ZW5jaWVzLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGRhdGEubG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgICAgICBpc0Fsd2F5c1JlYWR5OiBkYXRhLndvcmtTY2hlZHVsZS5pc0Fsd2F5c1JlYWR5LFxyXG4gICAgICAgICAgICAgICAgd29ya2luZ0RheXM6IGRhdGEud29ya1NjaGVkdWxlLmlzQWx3YXlzUmVhZHlcclxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KGRhdGEud29ya1NjaGVkdWxlLnNjaGVkdWxlUGVyRGF5KSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgdXBkYXRlQ29tcGV0ZW5jaWVzOiBhc3luYyAoY29tcGV0ZW5jaWVzKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wdXQoXCIvcHJvZmlsZS9jb21wZXRlbmNpZXNcIiwgeyBDb21wZXRlbmNpZXM6IGNvbXBldGVuY2llcyB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGxvYWRBdmF0YXI6IGFzeW5jIChmaWxlKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYXZhdGFyXCIsIGZvcm1EYXRhLCB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBjaGFuZ2VQYXNzd29yZDogYXN5bmMgKG9sZFBhc3N3b3JkLCBuZXdQYXNzd29yZCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1c2VySWQgPSBnZXQoKS51c2VyPy5pZDtcclxuICAgICAgICAgICAgaWYgKCF1c2VySWQpIHRocm93IG5ldyBFcnJvcihcItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L1cIik7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1wYXNzd29yZFwiLCB7XHJcbiAgICAgICAgICAgICAgICBhY2NvdW50SWQ6IHVzZXJJZCxcclxuICAgICAgICAgICAgICAgIG9sZFBhc3N3b3JkLFxyXG4gICAgICAgICAgICAgICAgbmV3UGFzc3dvcmQsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVMb2NhdGlvbjogYXN5bmMgKGxvY2F0aW9uLCBjdXJyZW50TG9jYXRpb24pID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL2xvY2F0aW9uXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb24sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZVNjaGVkdWxlOiBhc3luYyAoaXNBbHdheXNSZWFkeSwgc2NoZWR1bGVQZXJEYXkpID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgd29ya2luZ0RheXNKc29uID0gaXNBbHdheXNSZWFkeVxyXG4gICAgICAgICAgICAgICAgPyBcIltdXCJcclxuICAgICAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkoc2NoZWR1bGVQZXJEYXkgfHwge30pO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL3NjaGVkdWxlXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgaXNBbHdheXNSZWFkeSxcclxuICAgICAgICAgICAgICAgIHdvcmtpbmdEYXlzSnNvbixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbn0pKTtcclxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsInNldENvb2tpZSIsImRlbGV0ZUNvb2tpZSIsImdldENvb2tpZSIsImFwaSIsInVzZVNlc3Npb25TdG9yZSIsInNldCIsImdldCIsInVzZXIiLCJpc0F1dGgiLCJpc0xvYWRpbmciLCJpc0luaXRpYWxpemVkIiwiY2hlY2tBdXRoIiwidG9rZW4iLCJnZXRQcm9maWxlIiwiZXJyb3IiLCJjb25zb2xlIiwibG9naW4iLCJwaG9uZSIsInBhc3N3b3JkIiwicmVzcG9uc2UiLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJyZWZyZXNoVG9rZW4iLCJkYXRhIiwicmVnaXN0ZXIiLCJjb25maXJtUGFzc3dvcmQiLCJyZWdpc3RlckRhdGEiLCJsb2dvdXQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJwYXJhbXMiLCJfdCIsIkRhdGUiLCJub3ciLCJ1cGRhdGVQcm9maWxlIiwicHV0IiwiY2hhbmdlUGhvbmUiLCJuZXdQaG9uZSIsImJlY29tZVBlcmZvcm1lciIsImJlY29tZVBlcmZvcm1lckZ1bGwiLCJkZXNjcmlwdGlvbiIsImNvbXBldGVuY2llcyIsImN1cnJlbnRMb2NhdGlvbiIsImlzQWx3YXlzUmVhZHkiLCJ3b3JrU2NoZWR1bGUiLCJ3b3JraW5nRGF5cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzY2hlZHVsZVBlckRheSIsInVwZGF0ZUNvbXBldGVuY2llcyIsIkNvbXBldGVuY2llcyIsInVwbG9hZEF2YXRhciIsImZpbGUiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiaGVhZGVycyIsImNoYW5nZVBhc3N3b3JkIiwib2xkUGFzc3dvcmQiLCJuZXdQYXNzd29yZCIsInVzZXJJZCIsImlkIiwiRXJyb3IiLCJhY2NvdW50SWQiLCJ1cGRhdGVMb2NhdGlvbiIsInVwZGF0ZVNjaGVkdWxlIiwid29ya2luZ0RheXNKc29uIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/entities/session/store.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/features/geo/useGeoStore.ts": -/*!*****************************************!*\ - !*** ./src/features/geo/useGeoStore.ts ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useGeoStore: () => (/* binding */ useGeoStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/shared/api/geo */ \"(ssr)/./src/shared/api/geo.ts\");\n\n\nconst useGeoStore = (0,zustand__WEBPACK_IMPORTED_MODULE_1__.create)((set, get)=>({\n isOnline: false,\n watchId: null,\n isUpdating: false,\n error: null,\n lastCoords: null,\n goOnline: (performerId)=>{\n if (true) {\n set({\n error: \"Геолокация не поддерживается вашим браузером.\"\n });\n return;\n }\n // Таймер для периодической отправки (каждые 10 секунд)\n let sendInterval = null;\n const watchId = navigator.geolocation.watchPosition(async (position)=>{\n const { latitude, longitude } = position.coords;\n set({\n lastCoords: {\n lat: latitude,\n lon: longitude\n },\n error: null\n });\n // Отправляем при первом получении координат\n try {\n set({\n isUpdating: true\n });\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude,\n longitude,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки статуса:\", err);\n set({\n error: \"Не удалось обновить статус на сервере.\"\n });\n } finally{\n set({\n isUpdating: false\n });\n }\n }, (err)=>{\n console.error(\"[Geo] Ошибка геолокации:\", err);\n let errorMsg = \"Ошибка определения местоположения.\";\n if (err.code === err.PERMISSION_DENIED) {\n errorMsg = \"Доступ к геолокации запрещён. Разрешите в настройках браузера.\";\n }\n set({\n error: errorMsg\n });\n }, {\n enableHighAccuracy: true,\n maximumAge: 10000,\n timeout: 15000\n });\n // Дополнительно: периодическая отправка каждые 10 секунд\n sendInterval = setInterval(async ()=>{\n const state = get();\n if (state.lastCoords && state.isOnline) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: state.lastCoords.lat,\n longitude: state.lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка периодической отправки:\", err);\n }\n }\n }, 10000);\n // Сохраняем watchId и intervalId в замыкании для очистки\n set({\n isOnline: true,\n watchId,\n error: null\n });\n // Храним intervalId в window для очистки при goOffline\n window.__geoInterval = sendInterval;\n },\n goOffline: async (performerId)=>{\n const { watchId, lastCoords } = get();\n // Останавливаем слежение\n if (watchId !== null) {\n navigator.geolocation.clearWatch(watchId);\n }\n // Останавливаем интервал\n if (window.__geoInterval) {\n clearInterval(window.__geoInterval);\n window.__geoInterval = null;\n }\n // Отправляем статус Offline\n if (lastCoords) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: lastCoords.lat,\n longitude: lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Offline\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки Offline:\", err);\n }\n }\n set({\n isOnline: false,\n watchId: null,\n lastCoords: null,\n error: null\n });\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFPckIsMkRBQWNBLENBQUNxQyxPQUFPO29CQUNqQztnQkFDSixFQUFFLE9BQU9kLEtBQUs7b0JBQ1ZDLFFBQVFqQixLQUFLLENBQUMsa0NBQWtDZ0I7Z0JBQ3BEO1lBQ0o7WUFFQXJCLElBQUk7Z0JBQUVFLFVBQVU7Z0JBQU9DLFNBQVM7Z0JBQU1HLFlBQVk7Z0JBQU1ELE9BQU87WUFBSztRQUN4RTtJQUNKLElBQUkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGZlYXR1cmVzXFxnZW9cXHVzZUdlb1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHVwZGF0ZUdlb1N0YXR1cywgUGVyZm9ybWVyU3RhdGUgfSBmcm9tIFwiQC9zaGFyZWQvYXBpL2dlb1wiO1xyXG5cclxuaW50ZXJmYWNlIEdlb1N0YXRlIHtcclxuICAgIC8qKiDQktC60LvRjtGH0ZHQvSDQu9C4INGC0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsgKi9cclxuICAgIGlzT25saW5lOiBib29sZWFuO1xyXG4gICAgLyoqIElEINGC0LXQutGD0YnQtdCz0L4gd2F0Y2hQb3NpdGlvbiAqL1xyXG4gICAgd2F0Y2hJZDogbnVtYmVyIHwgbnVsbDtcclxuICAgIC8qKiDQmNC00ZHRgiDQu9C4INC+0LHQvdC+0LLQu9C10L3QuNC1ICovXHJcbiAgICBpc1VwZGF0aW5nOiBib29sZWFuO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90Y/RjyDQvtGI0LjQsdC60LAgKi9cclxuICAgIGVycm9yOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90LjQtSDQuNC30LLQtdGB0YLQvdGL0LUg0LrQvtC+0YDQtNC40L3QsNGC0YsgKi9cclxuICAgIGxhc3RDb29yZHM6IHsgbGF0OiBudW1iZXI7IGxvbjogbnVtYmVyIH0gfCBudWxsO1xyXG5cclxuICAgIC8qKiDQktC60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L7RgtGB0LvQtdC20LjQstCw0L3QuNC1INCz0LXQvtC/0L7Qt9C40YbQuNC4ICovXHJcbiAgICBnb09ubGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgICAvKiog0JLRi9C60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQvtGC0L/RgNCw0LLQuNGC0YwgT2ZmbGluZSDQuCDQvtGB0YLQsNC90L7QstC40YLRjCDQvtGC0YHQu9C10LbQuNCy0LDQvdC40LUgKi9cclxuICAgIGdvT2ZmbGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB1c2VHZW9TdG9yZSA9IGNyZWF0ZTxHZW9TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgaXNPbmxpbmU6IGZhbHNlLFxyXG4gICAgd2F0Y2hJZDogbnVsbCxcclxuICAgIGlzVXBkYXRpbmc6IGZhbHNlLFxyXG4gICAgZXJyb3I6IG51bGwsXHJcbiAgICBsYXN0Q29vcmRzOiBudWxsLFxyXG5cclxuICAgIGdvT25saW5lOiAocGVyZm9ybWVySWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiIHx8ICFuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcclxuICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0JPQtdC+0LvQvtC60LDRhtC40Y8g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINCy0LDRiNC40Lwg0LHRgNCw0YPQt9C10YDQvtC8LlwiIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQotCw0LnQvNC10YAg0LTQu9GPINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60LggKNC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LQpXHJcbiAgICAgICAgbGV0IHNlbmRJbnRlcnZhbDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGNvbnN0IHdhdGNoSWQgPSBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihcclxuICAgICAgICAgICAgYXN5bmMgKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IGxhdGl0dWRlLCBsb25naXR1ZGUgfSA9IHBvc2l0aW9uLmNvb3JkcztcclxuICAgICAgICAgICAgICAgIHNldCh7IGxhc3RDb29yZHM6IHsgbGF0OiBsYXRpdHVkZSwgbG9uOiBsb25naXR1ZGUgfSwgZXJyb3I6IG51bGwgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8g0J7RgtC/0YDQsNCy0LvRj9C10Lwg0L/RgNC4INC/0LXRgNCy0L7QvCDQv9C+0LvRg9GH0LXQvdC40Lgg0LrQvtC+0YDQtNC40L3QsNGCXHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldCh7IGlzVXBkYXRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlR2VvU3RhdHVzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWVySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC+0YLQv9GA0LDQstC60Lgg0YHRgtCw0YLRg9GB0LA6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINGB0YLQsNGC0YPRgSDQvdCwINGB0LXRgNCy0LXRgNC1LlwiIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXQoeyBpc1VwZGF0aW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQs9C10L7Qu9C+0LrQsNGG0LjQuDpcIiwgZXJyKTtcclxuICAgICAgICAgICAgICAgIGxldCBlcnJvck1zZyA9IFwi0J7RiNC40LHQutCwINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjRjy5cIjtcclxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gZXJyLlBFUk1JU1NJT05fREVOSUVEKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2cgPSBcItCU0L7RgdGC0YPQvyDQuiDQs9C10L7Qu9C+0LrQsNGG0LjQuCDQt9Cw0L/RgNC10YnRkdC9LiDQoNCw0LfRgNC10YjQuNGC0LUg0LIg0L3QsNGB0YLRgNC+0LnQutCw0YUg0LHRgNCw0YPQt9C10YDQsC5cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNldCh7IGVycm9yOiBlcnJvck1zZyB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbWF4aW11bUFnZTogMTAwMDAsICAgICAvLyDQmtGN0Ygg0L/QvtC30LjRhtC40LggMTAg0YHQtdC6XHJcbiAgICAgICAgICAgICAgICB0aW1lb3V0OiAxNTAwMCwgICAgICAgICAvLyDQotCw0LnQvNCw0YPRgiAxNSDRgdC10LpcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+OiDQv9C10YDQuNC+0LTQuNGH0LXRgdC60LDRjyDQvtGC0L/RgNCw0LLQutCwINC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LRcclxuICAgICAgICBzZW5kSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gZ2V0KCk7XHJcbiAgICAgICAgICAgIGlmIChzdGF0ZS5sYXN0Q29vcmRzICYmIHN0YXRlLmlzT25saW5lKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUdlb1N0YXR1cyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60Lg6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDAwMCk7XHJcblxyXG4gICAgICAgIC8vINCh0L7RhdGA0LDQvdGP0LXQvCB3YXRjaElkINC4IGludGVydmFsSWQg0LIg0LfQsNC80YvQutCw0L3QuNC4INC00LvRjyDQvtGH0LjRgdGC0LrQuFxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiB0cnVlLCB3YXRjaElkLCBlcnJvcjogbnVsbCB9KTtcclxuXHJcbiAgICAgICAgLy8g0KXRgNCw0L3QuNC8IGludGVydmFsSWQg0LIgd2luZG93INC00LvRjyDQvtGH0LjRgdGC0LrQuCDQv9GA0LggZ29PZmZsaW5lXHJcbiAgICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwgPSBzZW5kSW50ZXJ2YWw7XHJcbiAgICB9LFxyXG5cclxuICAgIGdvT2ZmbGluZTogYXN5bmMgKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCB7IHdhdGNoSWQsIGxhc3RDb29yZHMgfSA9IGdldCgpO1xyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDRgdC70LXQttC10L3QuNC1XHJcbiAgICAgICAgaWYgKHdhdGNoSWQgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2god2F0Y2hJZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDQuNC90YLQtdGA0LLQsNC7XHJcbiAgICAgICAgaWYgKCh3aW5kb3cgYXMgYW55KS5fX2dlb0ludGVydmFsKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwpO1xyXG4gICAgICAgICAgICAod2luZG93IGFzIGFueSkuX19nZW9JbnRlcnZhbCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGC0L/RgNCw0LLQu9GP0LXQvCDRgdGC0LDRgtGD0YEgT2ZmbGluZVxyXG4gICAgICAgIGlmIChsYXN0Q29vcmRzKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVHZW9TdGF0dXMoe1xyXG4gICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBsYXN0Q29vcmRzLmxhdCxcclxuICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IGxhc3RDb29yZHMubG9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5PZmZsaW5lLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQvtGC0L/RgNCw0LLQutC4IE9mZmxpbmU6XCIsIGVycik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiBmYWxzZSwgd2F0Y2hJZDogbnVsbCwgbGFzdENvb3JkczogbnVsbCwgZXJyb3I6IG51bGwgfSk7XHJcbiAgICB9LFxyXG59KSk7XHJcbiJdLCJuYW1lcyI6WyJjcmVhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJQZXJmb3JtZXJTdGF0ZSIsInVzZUdlb1N0b3JlIiwic2V0IiwiZ2V0IiwiaXNPbmxpbmUiLCJ3YXRjaElkIiwiaXNVcGRhdGluZyIsImVycm9yIiwibGFzdENvb3JkcyIsImdvT25saW5lIiwicGVyZm9ybWVySWQiLCJuYXZpZ2F0b3IiLCJnZW9sb2NhdGlvbiIsInNlbmRJbnRlcnZhbCIsIndhdGNoUG9zaXRpb24iLCJwb3NpdGlvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY29vcmRzIiwibGF0IiwibG9uIiwic3RhdGUiLCJBdmFpbGFibGUiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3JNc2ciLCJjb2RlIiwiUEVSTUlTU0lPTl9ERU5JRUQiLCJlbmFibGVIaWdoQWNjdXJhY3kiLCJtYXhpbXVtQWdlIiwidGltZW91dCIsInNldEludGVydmFsIiwid2luZG93IiwiX19nZW9JbnRlcnZhbCIsImdvT2ZmbGluZSIsImNsZWFyV2F0Y2giLCJjbGVhckludGVydmFsIiwiT2ZmbGluZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/features/geo/useGeoStore.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/lib/utils.ts": -/*!**************************!*\ - !*** ./src/lib/utils.ts ***! - \**************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3V0aWxzLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE0QztBQUNKO0FBRWpDLFNBQVNFLEdBQUcsR0FBR0MsTUFBb0I7SUFDdEMsT0FBT0YsdURBQU9BLENBQUNELDBDQUFJQSxDQUFDRztBQUN4QiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcbGliXFx1dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENsYXNzVmFsdWUsIGNsc3ggfSBmcm9tIFwiY2xzeFwiXHJcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tIFwidGFpbHdpbmQtbWVyZ2VcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNuKC4uLmlucHV0czogQ2xhc3NWYWx1ZVtdKSB7XHJcbiAgICByZXR1cm4gdHdNZXJnZShjbHN4KGlucHV0cykpXHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/axios.ts": -/*!*********************************!*\ - !*** ./src/shared/api/axios.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ api: () => (/* binding */ api)\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ \"(ssr)/./node_modules/axios/lib/axios.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst api = axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create({\n baseURL: \"http://127.0.0.1:5000/api\" || 0,\n headers: {\n \"Content-Type\": \"application/json\"\n }\n});\n// Interceptor for adding Auth token\napi.interceptors.request.use((config)=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (token && config.headers) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n console.log(`🚀 Sending request to: ${config.baseURL}${config.url}`);\n return config;\n});\nlet isRefreshing = false;\nlet failedQueue = [];\nconst processQueue = (error, token = null)=>{\n failedQueue.forEach((prom)=>{\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n// Response interceptor for token refresh\napi.interceptors.response.use((response)=>response, async (error)=>{\n const originalRequest = error.config;\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (isRefreshing) {\n return new Promise((resolve, reject)=>{\n failedQueue.push({\n resolve,\n reject\n });\n }).then((token)=>{\n originalRequest.headers.Authorization = `Bearer ${token}`;\n return api(originalRequest);\n }).catch((err)=>Promise.reject(err));\n }\n originalRequest._retry = true;\n isRefreshing = true;\n const refreshToken = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"refreshToken\");\n try {\n const response = await axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post(`${\"http://127.0.0.1:5000/api\" || 0}/auth/refresh`, {\n refreshToken\n });\n const { accessToken, refreshToken: newRefreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", newRefreshToken);\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${accessToken}`;\n processQueue(null, accessToken);\n return api(originalRequest);\n } catch (refreshError) {\n processQueue(refreshError, null);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n if (false) {}\n return Promise.reject(refreshError);\n } finally{\n isRefreshing = false;\n }\n }\n return Promise.reject(error);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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XHNoYXJlZFxcYXBpXFxheGlvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHsgQXhpb3NFcnJvciB9IGZyb20gXCJheGlvc1wiO1xyXG5pbXBvcnQgeyBnZXRDb29raWUsIHNldENvb2tpZSwgZGVsZXRlQ29va2llIH0gZnJvbSBcImNvb2tpZXMtbmV4dFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGFwaSA9IGF4aW9zLmNyZWF0ZSh7XHJcbiAgICBiYXNlVVJMOiBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfVVJMIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo1MDAwL2FwaVwiLFxyXG4gICAgaGVhZGVyczoge1xyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgfSxcclxufSk7XHJcblxyXG4vLyBJbnRlcmNlcHRvciBmb3IgYWRkaW5nIEF1dGggdG9rZW5cclxuYXBpLmludGVyY2VwdG9ycy5yZXF1ZXN0LnVzZSgoY29uZmlnKSA9PiB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGdldENvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgaWYgKHRva2VuICYmIGNvbmZpZy5oZWFkZXJzKSB7XHJcbiAgICAgICAgY29uZmlnLmhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHt0b2tlbn1gO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coYPCfmoAgU2VuZGluZyByZXF1ZXN0IHRvOiAke2NvbmZpZy5iYXNlVVJMfSR7Y29uZmlnLnVybH1gKTtcclxuICAgIHJldHVybiBjb25maWc7XHJcbn0pO1xyXG5cclxubGV0IGlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG5sZXQgZmFpbGVkUXVldWU6IGFueVtdID0gW107XHJcblxyXG5jb25zdCBwcm9jZXNzUXVldWUgPSAoZXJyb3I6IGFueSwgdG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICBmYWlsZWRRdWV1ZS5mb3JFYWNoKChwcm9tKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHByb20ucmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9tLnJlc29sdmUodG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZmFpbGVkUXVldWUgPSBbXTtcclxufTtcclxuXHJcbi8vIFJlc3BvbnNlIGludGVyY2VwdG9yIGZvciB0b2tlbiByZWZyZXNoXHJcbmFwaS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKFxyXG4gICAgKHJlc3BvbnNlKSA9PiByZXNwb25zZSxcclxuICAgIGFzeW5jIChlcnJvcjogQXhpb3NFcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUmVxdWVzdDogYW55ID0gZXJyb3IuY29uZmlnO1xyXG5cclxuICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAxICYmICFvcmlnaW5hbFJlcXVlc3QuX3JldHJ5KSB7XHJcbiAgICAgICAgICAgIGlmIChpc1JlZnJlc2hpbmcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkUXVldWUucHVzaCh7IHJlc29sdmUsIHJlamVjdCB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHRva2VuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsUmVxdWVzdC5oZWFkZXJzLkF1dGhvcml6YXRpb24gPSBgQmVhcmVyICR7dG9rZW59YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IFByb21pc2UucmVqZWN0KGVycikpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBvcmlnaW5hbFJlcXVlc3QuX3JldHJ5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IGdldENvb2tpZShcInJlZnJlc2hUb2tlblwiKTtcclxuXHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7cHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX1VSTCB8fCBcImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9hcGlcIn0vYXV0aC9yZWZyZXNoYCxcclxuICAgICAgICAgICAgICAgICAgICB7IHJlZnJlc2hUb2tlbiB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbjogbmV3UmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcImFjY2Vzc1Rva2VuXCIsIGFjY2Vzc1Rva2VuKTtcclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcInJlZnJlc2hUb2tlblwiLCBuZXdSZWZyZXNoVG9rZW4pO1xyXG5cclxuICAgICAgICAgICAgICAgIGFwaS5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vbltcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7YWNjZXNzVG9rZW59YDtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShudWxsLCBhY2Nlc3NUb2tlbik7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChyZWZyZXNoRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShyZWZyZXNoRXJyb3IsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlQ29va2llKFwiYWNjZXNzVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gXCIvYXV0aC9sb2dpblwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlZnJlc2hFcnJvcik7XHJcbiAgICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgICAgICBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcclxuICAgIH1cclxuKTtcclxuIl0sIm5hbWVzIjpbImF4aW9zIiwiZ2V0Q29va2llIiwic2V0Q29va2llIiwiZGVsZXRlQ29va2llIiwiYXBpIiwiY3JlYXRlIiwiYmFzZVVSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfVVJMIiwiaGVhZGVycyIsImludGVyY2VwdG9ycyIsInJlcXVlc3QiLCJ1c2UiLCJjb25maWciLCJ0b2tlbiIsIkF1dGhvcml6YXRpb24iLCJjb25zb2xlIiwibG9nIiwidXJsIiwiaXNSZWZyZXNoaW5nIiwiZmFpbGVkUXVldWUiLCJwcm9jZXNzUXVldWUiLCJlcnJvciIsImZvckVhY2giLCJwcm9tIiwicmVqZWN0IiwicmVzb2x2ZSIsInJlc3BvbnNlIiwib3JpZ2luYWxSZXF1ZXN0Iiwic3RhdHVzIiwiX3JldHJ5IiwiUHJvbWlzZSIsInB1c2giLCJ0aGVuIiwiY2F0Y2giLCJlcnIiLCJyZWZyZXNoVG9rZW4iLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJuZXdSZWZyZXNoVG9rZW4iLCJkYXRhIiwiZGVmYXVsdHMiLCJjb21tb24iLCJyZWZyZXNoRXJyb3IiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/axios.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/catalog.ts": -/*!***********************************!*\ - !*** ./src/shared/api/catalog.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createOffer: () => (/* binding */ createOffer),\n/* harmony export */ deleteOffer: () => (/* binding */ deleteOffer),\n/* harmony export */ getCategories: () => (/* binding */ getCategories),\n/* harmony export */ getMyOffers: () => (/* binding */ getMyOffers),\n/* harmony export */ getOfferById: () => (/* binding */ getOfferById),\n/* harmony export */ toggleOffer: () => (/* binding */ toggleOffer),\n/* harmony export */ updateOffer: () => (/* binding */ updateOffer),\n/* harmony export */ uploadOfferImage: () => (/* binding */ uploadOfferImage)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\nconst getCategories = async ()=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/catalog/categories\");\n return response.data;\n};\nconst getMyOffers = async ()=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/catalog/offers/my\");\n return response.data;\n};\nconst getOfferById = async (id)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(`/catalog/offers/${id}`);\n return response.data;\n};\nconst createOffer = async (payload)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.post(\"/catalog/offers\", payload);\n return response.data;\n};\nconst updateOffer = async (id, payload)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.put(`/catalog/offers/${id}`, payload);\n};\nconst toggleOffer = async (id)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.patch(`/catalog/offers/${id}/toggle`);\n return response.data.isActive;\n};\nconst deleteOffer = async (id)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.delete(`/catalog/offers/${id}`);\n};\nconst uploadOfferImage = async (file)=>{\n const formData = new FormData();\n formData.append(\"file\", file);\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.post(\"/catalog/offers/image\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n return response.data.url;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9jYXRhbG9nLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUE4QjtBQWlEdkIsTUFBTUMsZ0JBQWdCO0lBQ3pCLE1BQU1DLFdBQVcsTUFBTUYsdUNBQUdBLENBQUNHLEdBQUcsQ0FBYTtJQUMzQyxPQUFPRCxTQUFTRSxJQUFJO0FBQ3hCLEVBQUU7QUFFSyxNQUFNQyxjQUFjO0lBQ3ZCLE1BQU1ILFdBQVcsTUFBTUYsdUNBQUdBLENBQUNHLEdBQUcsQ0FBVTtJQUN4QyxPQUFPRCxTQUFTRSxJQUFJO0FBQ3hCLEVBQUU7QUFFSyxNQUFNRSxlQUFlLE9BQU9DO0lBQy9CLE1BQU1MLFdBQVcsTUFBTUYsdUNBQUdBLENBQUNHLEdBQUcsQ0FBUSxDQUFDLGdCQUFnQixFQUFFSSxJQUFJO0lBQzdELE9BQU9MLFNBQVNFLElBQUk7QUFDeEIsRUFBRTtBQUVLLE1BQU1JLGNBQWMsT0FBT0M7SUFDOUIsTUFBTVAsV0FBVyxNQUFNRix1Q0FBR0EsQ0FBQ1UsSUFBSSxDQUFTLG1CQUFtQkQ7SUFDM0QsT0FBT1AsU0FBU0UsSUFBSTtBQUN4QixFQUFFO0FBRUssTUFBTU8sY0FBYyxPQUFPSixJQUFZRTtJQUMxQyxNQUFNVCx1Q0FBR0EsQ0FBQ1ksR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVMLElBQUksRUFBRUU7QUFDM0MsRUFBRTtBQUVLLE1BQU1JLGNBQWMsT0FBT047SUFDOUIsTUFBTUwsV0FBVyxNQUFNRix1Q0FBR0EsQ0FBQ2MsS0FBSyxDQUF3QixDQUFDLGdCQUFnQixFQUFFUCxHQUFHLE9BQU8sQ0FBQztJQUN0RixPQUFPTCxTQUFTRSxJQUFJLENBQUNXLFFBQVE7QUFDakMsRUFBRTtBQUVLLE1BQU1DLGNBQWMsT0FBT1Q7SUFDOUIsTUFBTVAsdUNBQUdBLENBQUNpQixNQUFNLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRVYsSUFBSTtBQUM1QyxFQUFFO0FBRUssTUFBTVcsbUJBQW1CLE9BQU9DO0lBQ25DLE1BQU1DLFdBQVcsSUFBSUM7SUFDckJELFNBQVNFLE1BQU0sQ0FBQyxRQUFRSDtJQUN4QixNQUFNakIsV0FBVyxNQUFNRix1Q0FBR0EsQ0FBQ1UsSUFBSSxDQUFrQix5QkFBeUJVLFVBQVU7UUFDaEZHLFNBQVM7WUFDTCxnQkFBZ0I7UUFDcEI7SUFDSjtJQUNBLE9BQU9yQixTQUFTRSxJQUFJLENBQUNvQixHQUFHO0FBQzVCLEVBQUUiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXHNoYXJlZFxcYXBpXFxjYXRhbG9nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENhdGVnb3J5IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBzbHVnOiBzdHJpbmc7XHJcbiAgICBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDtcclxuICAgIGF0dHJpYnV0ZVNjaGVtYT86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPZmZlciB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgcGVyZm9ybWVySWQ6IHN0cmluZztcclxuICAgIGNhdGVnb3J5SWQ6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgcHJpY2U6IHtcclxuICAgICAgICBhbW91bnQ6IG51bWJlcjtcclxuICAgICAgICBjdXJyZW5jeTogc3RyaW5nO1xyXG4gICAgICAgIHR5cGU6IG51bWJlcjsgLy8gMCA9IEZpeGVkLCAxID0gSG91cmx5LCAyID0gTmVnb3RpYWJsZVxyXG4gICAgfTtcclxuICAgIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsO1xyXG4gICAgaXNBY3RpdmU6IGJvb2xlYW47XHJcbiAgICBpbWFnZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9mZmVyUGF5bG9hZCB7XHJcbiAgICBjYXRlZ29yeUlkOiBzdHJpbmc7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHByaWNlOiB7XHJcbiAgICAgICAgYW1vdW50OiBudW1iZXI7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyO1xyXG4gICAgfTtcclxuICAgIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgICBpbWFnZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU9mZmVyUGF5bG9hZCB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHByaWNlOiB7XHJcbiAgICAgICAgYW1vdW50OiBudW1iZXI7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyO1xyXG4gICAgfTtcclxuICAgIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgICBpbWFnZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0Q2F0ZWdvcmllcyA9IGFzeW5jICgpOiBQcm9taXNlPENhdGVnb3J5W10+ID0+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLmdldDxDYXRlZ29yeVtdPihcIi9jYXRhbG9nL2NhdGVnb3JpZXNcIik7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRNeU9mZmVycyA9IGFzeW5jICgpOiBQcm9taXNlPE9mZmVyW10+ID0+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLmdldDxPZmZlcltdPihcIi9jYXRhbG9nL29mZmVycy9teVwiKTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldE9mZmVyQnlJZCA9IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTxPZmZlcj4gPT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhcGkuZ2V0PE9mZmVyPihgL2NhdGFsb2cvb2ZmZXJzLyR7aWR9YCk7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVPZmZlciA9IGFzeW5jIChwYXlsb2FkOiBDcmVhdGVPZmZlclBheWxvYWQpOiBQcm9taXNlPHN0cmluZz4gPT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhcGkucG9zdDxzdHJpbmc+KFwiL2NhdGFsb2cvb2ZmZXJzXCIsIHBheWxvYWQpO1xyXG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgdXBkYXRlT2ZmZXIgPSBhc3luYyAoaWQ6IHN0cmluZywgcGF5bG9hZDogVXBkYXRlT2ZmZXJQYXlsb2FkKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICBhd2FpdCBhcGkucHV0KGAvY2F0YWxvZy9vZmZlcnMvJHtpZH1gLCBwYXlsb2FkKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCB0b2dnbGVPZmZlciA9IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5wYXRjaDx7IGlzQWN0aXZlOiBib29sZWFuIH0+KGAvY2F0YWxvZy9vZmZlcnMvJHtpZH0vdG9nZ2xlYCk7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5pc0FjdGl2ZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkZWxldGVPZmZlciA9IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICBhd2FpdCBhcGkuZGVsZXRlKGAvY2F0YWxvZy9vZmZlcnMvJHtpZH1gKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCB1cGxvYWRPZmZlckltYWdlID0gYXN5bmMgKGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4gPT4ge1xyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5wb3N0PHsgdXJsOiBzdHJpbmcgfT4oXCIvY2F0YWxvZy9vZmZlcnMvaW1hZ2VcIiwgZm9ybURhdGEsIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiLFxyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhLnVybDtcclxufTtcclxuIl0sIm5hbWVzIjpbImFwaSIsImdldENhdGVnb3JpZXMiLCJyZXNwb25zZSIsImdldCIsImRhdGEiLCJnZXRNeU9mZmVycyIsImdldE9mZmVyQnlJZCIsImlkIiwiY3JlYXRlT2ZmZXIiLCJwYXlsb2FkIiwicG9zdCIsInVwZGF0ZU9mZmVyIiwicHV0IiwidG9nZ2xlT2ZmZXIiLCJwYXRjaCIsImlzQWN0aXZlIiwiZGVsZXRlT2ZmZXIiLCJkZWxldGUiLCJ1cGxvYWRPZmZlckltYWdlIiwiZmlsZSIsImZvcm1EYXRhIiwiRm9ybURhdGEiLCJhcHBlbmQiLCJoZWFkZXJzIiwidXJsIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/catalog.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/geo.ts": -/*!*******************************!*\ - !*** ./src/shared/api/geo.ts ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PerformerState: () => (/* binding */ PerformerState),\n/* harmony export */ searchNearby: () => (/* binding */ searchNearby),\n/* harmony export */ updateGeoStatus: () => (/* binding */ updateGeoStatus)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n// --- Типы ---\n/** Статус исполнителя на карте */ var PerformerState = /*#__PURE__*/ function(PerformerState) {\n PerformerState[PerformerState[\"Offline\"] = 0] = \"Offline\";\n PerformerState[PerformerState[\"Available\"] = 1] = \"Available\";\n PerformerState[PerformerState[\"OnJob\"] = 2] = \"OnJob\";\n return PerformerState;\n}({});\n// --- API-вызовы ---\n/**\r\n * PATCH /api/geo/status — Обновить геопозицию и статус исполнителя.\r\n * Вызывается каждые 10-15 секунд при активном тумблере «На линии».\r\n */ const updateGeoStatus = async (payload)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.patch(\"/geo/status\", payload);\n};\n/**\r\n * GET /api/geo/nearby — Поиск доступных исполнителей в радиусе.\r\n * @param lat - Широта центра\r\n * @param lon - Долгота центра\r\n * @param radius - Радиус в метрах\r\n */ const searchNearby = async (lat, lon, radius)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/geo/nearby\", {\n params: {\n lat,\n lon,\n radius\n }\n });\n return response.data;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9nZW8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QjtBQUU5QixlQUFlO0FBRWYsZ0NBQWdDLEdBQ3pCLDRDQUFLQzs7OztXQUFBQTtNQUlYO0FBaUJELHFCQUFxQjtBQUVyQjs7O0NBR0MsR0FDTSxNQUFNQyxrQkFBa0IsT0FBT0M7SUFDbEMsTUFBTUgsdUNBQUdBLENBQUNJLEtBQUssQ0FBQyxlQUFlRDtBQUNuQyxFQUFFO0FBRUY7Ozs7O0NBS0MsR0FDTSxNQUFNRSxlQUFlLE9BQ3hCQyxLQUNBQyxLQUNBQztJQUVBLE1BQU1DLFdBQVcsTUFBTVQsdUNBQUdBLENBQUNVLEdBQUcsQ0FBb0IsZUFBZTtRQUM3REMsUUFBUTtZQUFFTDtZQUFLQztZQUFLQztRQUFPO0lBQy9CO0lBQ0EsT0FBT0MsU0FBU0csSUFBSTtBQUN4QixFQUFFIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGFwaVxcZ2VvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCI7XHJcblxyXG4vLyAtLS0g0KLQuNC/0YsgLS0tXHJcblxyXG4vKiog0KHRgtCw0YLRg9GBINC40YHQv9C+0LvQvdC40YLQtdC70Y8g0L3QsCDQutCw0YDRgtC1ICovXHJcbmV4cG9ydCBlbnVtIFBlcmZvcm1lclN0YXRlIHtcclxuICAgIE9mZmxpbmUgPSAwLFxyXG4gICAgQXZhaWxhYmxlID0gMSxcclxuICAgIE9uSm9iID0gMixcclxufVxyXG5cclxuLyoqINCX0LDQv9GA0L7RgSDQvdCwINC+0LHQvdC+0LLQu9C10L3QuNC1INGB0YLQsNGC0YPRgdCwICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlU3RhdHVzUGF5bG9hZCB7XHJcbiAgICBwZXJmb3JtZXJJZDogc3RyaW5nO1xyXG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcclxuICAgIGxvbmdpdHVkZTogbnVtYmVyO1xyXG4gICAgc3RhdGU6IFBlcmZvcm1lclN0YXRlO1xyXG59XHJcblxyXG4vKiog0JHQu9C40LbQsNC50YjQuNC5INC40YHQv9C+0LvQvdC40YLQtdC70YwgKNC+0YLQstC10YIg0L7RgiBBUEkpICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmVhcmJ5UGVyZm9ybWVyIHtcclxuICAgIHBlcmZvcm1lcklkOiBzdHJpbmc7XHJcbiAgICBsYXRpdHVkZTogbnVtYmVyO1xyXG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIC0tLSBBUEkt0LLRi9C30L7QstGLIC0tLVxyXG5cclxuLyoqXHJcbiAqIFBBVENIIC9hcGkvZ2VvL3N0YXR1cyDigJQg0J7QsdC90L7QstC40YLRjCDQs9C10L7Qv9C+0LfQuNGG0LjRjiDQuCDRgdGC0LDRgtGD0YEg0LjRgdC/0L7Qu9C90LjRgtC10LvRjy5cclxuICog0JLRi9C30YvQstCw0LXRgtGB0Y8g0LrQsNC20LTRi9C1IDEwLTE1INGB0LXQutGD0L3QtCDQv9GA0Lgg0LDQutGC0LjQstC90L7QvCDRgtGD0LzQsdC70LXRgNC1IMKr0J3QsCDQu9C40L3QuNC4wrsuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdXBkYXRlR2VvU3RhdHVzID0gYXN5bmMgKHBheWxvYWQ6IFVwZGF0ZVN0YXR1c1BheWxvYWQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgIGF3YWl0IGFwaS5wYXRjaChcIi9nZW8vc3RhdHVzXCIsIHBheWxvYWQpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEdFVCAvYXBpL2dlby9uZWFyYnkg4oCUINCf0L7QuNGB0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC40YHQv9C+0LvQvdC40YLQtdC70LXQuSDQsiDRgNCw0LTQuNGD0YHQtS5cclxuICogQHBhcmFtIGxhdCAtINCo0LjRgNC+0YLQsCDRhtC10L3RgtGA0LBcclxuICogQHBhcmFtIGxvbiAtINCU0L7Qu9Cz0L7RgtCwINGG0LXQvdGC0YDQsFxyXG4gKiBAcGFyYW0gcmFkaXVzIC0g0KDQsNC00LjRg9GBINCyINC80LXRgtGA0LDRhVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNlYXJjaE5lYXJieSA9IGFzeW5jIChcclxuICAgIGxhdDogbnVtYmVyLFxyXG4gICAgbG9uOiBudW1iZXIsXHJcbiAgICByYWRpdXM6IG51bWJlclxyXG4pOiBQcm9taXNlPE5lYXJieVBlcmZvcm1lcltdPiA9PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQ8TmVhcmJ5UGVyZm9ybWVyW10+KFwiL2dlby9uZWFyYnlcIiwge1xyXG4gICAgICAgIHBhcmFtczogeyBsYXQsIGxvbiwgcmFkaXVzIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xyXG59O1xyXG4iXSwibmFtZXMiOlsiYXBpIiwiUGVyZm9ybWVyU3RhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJwYXlsb2FkIiwicGF0Y2giLCJzZWFyY2hOZWFyYnkiLCJsYXQiLCJsb24iLCJyYWRpdXMiLCJyZXNwb25zZSIsImdldCIsInBhcmFtcyIsImRhdGEiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/geo.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/lib/utils.ts": -/*!*********************************!*\ - !*** ./src/shared/lib/utils.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn),\n/* harmony export */ formatPhoneNumber: () => (/* binding */ formatPhoneNumber)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\nfunction formatPhoneNumber(phone) {\n if (!phone) return \"—\";\n // Remove all non-digits\n const cleaned = phone.replace(/\\D/g, \"\");\n // Check if it's a Russian number (+7 or 8)\n if (cleaned.length === 11) {\n const country = cleaned[0] === \"8\" ? \"8\" : \"+7\";\n return `${country} (${cleaned.slice(1, 4)}) ${cleaned.slice(4, 7)}-${cleaned.slice(7, 9)}-${cleaned.slice(9, 11)}`;\n }\n return phone;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRDO0FBQ0o7QUFFakMsU0FBU0UsR0FBRyxHQUFHQyxNQUFvQjtJQUN0QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3hCO0FBRU8sU0FBU0Msa0JBQWtCQyxLQUF5QjtJQUN2RCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUVuQix3QkFBd0I7SUFDeEIsTUFBTUMsVUFBVUQsTUFBTUUsT0FBTyxDQUFDLE9BQU87SUFFckMsMkNBQTJDO0lBQzNDLElBQUlELFFBQVFFLE1BQU0sS0FBSyxJQUFJO1FBQ3ZCLE1BQU1DLFVBQVVILE9BQU8sQ0FBQyxFQUFFLEtBQUssTUFBTSxNQUFNO1FBQzNDLE9BQU8sR0FBR0csUUFBUSxFQUFFLEVBQUVILFFBQVFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFSixRQUFRSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRUosUUFBUUksS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUVKLFFBQVFJLEtBQUssQ0FBQyxHQUFHLEtBQUs7SUFDdEg7SUFFQSxPQUFPTDtBQUNYIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGxpYlxcdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSBcImNsc3hcIlxyXG5pbXBvcnQgeyB0d01lcmdlIH0gZnJvbSBcInRhaWx3aW5kLW1lcmdlXCJcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjbiguLi5pbnB1dHM6IENsYXNzVmFsdWVbXSkge1xyXG4gICAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UGhvbmVOdW1iZXIocGhvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gXCLigJRcIjtcclxuXHJcbiAgICAvLyBSZW1vdmUgYWxsIG5vbi1kaWdpdHNcclxuICAgIGNvbnN0IGNsZWFuZWQgPSBwaG9uZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgaXQncyBhIFJ1c3NpYW4gbnVtYmVyICgrNyBvciA4KVxyXG4gICAgaWYgKGNsZWFuZWQubGVuZ3RoID09PSAxMSkge1xyXG4gICAgICAgIGNvbnN0IGNvdW50cnkgPSBjbGVhbmVkWzBdID09PSBcIjhcIiA/IFwiOFwiIDogXCIrN1wiO1xyXG4gICAgICAgIHJldHVybiBgJHtjb3VudHJ5fSAoJHtjbGVhbmVkLnNsaWNlKDEsIDQpfSkgJHtjbGVhbmVkLnNsaWNlKDQsIDcpfS0ke2NsZWFuZWQuc2xpY2UoNywgOSl9LSR7Y2xlYW5lZC5zbGljZSg5LCAxMSl9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGhvbmU7XHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiLCJmb3JtYXRQaG9uZU51bWJlciIsInBob25lIiwiY2xlYW5lZCIsInJlcGxhY2UiLCJsZW5ndGgiLCJjb3VudHJ5Iiwic2xpY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: () => (/* binding */ Header)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/theme/mode-toggle */ \"(ssr)/./src/components/theme/mode-toggle.tsx\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_switch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/switch */ \"(ssr)/./src/components/ui/switch.tsx\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/search.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/briefcase.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/log-out.js\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/features/geo/useGeoStore */ \"(ssr)/./src/features/geo/useGeoStore.ts\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \n\n\n\n\n\n\n\n\nfunction Header() {\n const { isAuth, user, logout } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_6__.useSessionStore)();\n const { isOnline, isUpdating, error: geoError, goOnline, goOffline } = (0,_features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__.useGeoStore)();\n // Проверяем, является ли пользователь исполнителем или компанией\n const isMasterOrCompany = user?.roles?.includes(\"Candidate\") || user?.roles?.includes(\"Company\") || user?.roles?.includes(\"Master\");\n /** Обработчик переключения тумблера «На линии» */ const handleToggleOnline = (checked)=>{\n if (!user?.id) return;\n if (checked) {\n goOnline(user.id);\n } else {\n goOffline(user.id);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container mx-auto flex h-16 items-center justify-between px-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n className: \"flex items-center space-x-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl font-black tracking-tight text-blue-600 dark:text-blue-500\",\n children: \"Nashel\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 42,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 41,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"hidden md:flex gap-6 items-center text-sm font-medium transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/search\",\n className: \"flex items-center gap-2 hover:text-blue-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 51,\n columnNumber: 29\n }, this),\n \"Поиск\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 47,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"hover:text-blue-600\",\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 54,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 46,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 40,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n isAuth && isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden sm:flex items-center gap-2 mr-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: `h-4 w-4 transition-colors ${isOnline ? \"text-green-500\" : \"text-muted-foreground\"}`\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 67,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_switch__WEBPACK_IMPORTED_MODULE_4__.Switch, {\n id: \"geo-online-toggle\",\n checked: isOnline,\n onCheckedChange: handleToggleOnline,\n disabled: isUpdating\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 68,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"geo-online-toggle\",\n className: `text-xs font-medium cursor-pointer select-none transition-colors ${isOnline ? \"text-green-600 dark:text-green-400\" : \"text-muted-foreground\"}`,\n children: isOnline ? \"Готов к заказу\" : \"Офлайн\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 74,\n columnNumber: 29\n }, this),\n geoError && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-red-500 max-w-[120px] truncate\",\n title: geoError,\n children: geoError\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 81,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 66,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__.ModeToggle, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, this),\n isAuth ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n className: \"hidden sm:flex items-center gap-2 focus-visible:ring-0 focus-visible:ring-offset-0 focus:outline-none focus:ring-0 outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 93,\n columnNumber: 37\n }, this),\n user?.roles?.includes(\"Company\") && user?.companyName ? user.companyName : user?.firstName && user?.lastName ? `${user.firstName} ${user.lastName}` : \"Профиль\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 92,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 91,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuContent, {\n align: \"end\",\n className: \"w-56\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuLabel, {\n children: \"Мой аккаунт\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 100,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 101,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/profile\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 104,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Профиль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 105,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 103,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 102,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 110,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 111,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 109,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 108,\n columnNumber: 33\n }, this),\n isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/offers\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 117,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 118,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 116,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 115,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 122,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n className: \"text-destructive focus:text-destructive cursor-pointer\",\n onClick: ()=>logout(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 124,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Выйти из аккаунта\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 125,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 123,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 99,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 90,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n asChild: true,\n className: \"hidden sm:flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/auth/login\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 132,\n columnNumber: 33\n }, this),\n \"Войти\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 131,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 130,\n columnNumber: 25\n }, this),\n isMasterOrCompany ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n children: \"Подобрать заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 139,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 138,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/become-performer\",\n children: \"Стать исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 145,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 144,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 63,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 39,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FDaEUsNEVBQUM1QyxrREFBSUE7Z0NBQUNvQyxNQUFLOzBDQUE4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNyRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcd2lkZ2V0c1xcSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiXHJcbmltcG9ydCB7IE1vZGVUb2dnbGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL21vZGUtdG9nZ2xlXCJcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxyXG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3N3aXRjaFwiXHJcbmltcG9ydCB7IFNlYXJjaCwgVXNlciwgTG9nT3V0LCBCcmllZmNhc2UsIE1hcFBpbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5pbXBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51Q29udGVudCxcclxuICAgIERyb3Bkb3duTWVudUl0ZW0sXHJcbiAgICBEcm9wZG93bk1lbnVMYWJlbCxcclxuICAgIERyb3Bkb3duTWVudVNlcGFyYXRvcixcclxuICAgIERyb3Bkb3duTWVudVRyaWdnZXIsXHJcbn0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51XCJcclxuXHJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxyXG5pbXBvcnQgeyB1c2VHZW9TdG9yZSB9IGZyb20gXCJAL2ZlYXR1cmVzL2dlby91c2VHZW9TdG9yZVwiXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSGVhZGVyKCkge1xyXG4gICAgY29uc3QgeyBpc0F1dGgsIHVzZXIsIGxvZ291dCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcclxuICAgIGNvbnN0IHsgaXNPbmxpbmUsIGlzVXBkYXRpbmcsIGVycm9yOiBnZW9FcnJvciwgZ29PbmxpbmUsIGdvT2ZmbGluZSB9ID0gdXNlR2VvU3RvcmUoKVxyXG5cclxuICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQuNGB0L/QvtC70L3QuNGC0LXQu9C10Lwg0LjQu9C4INC60L7QvNC/0LDQvdC40LXQuVxyXG4gICAgY29uc3QgaXNNYXN0ZXJPckNvbXBhbnkgPSB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDYW5kaWRhdGVcIikgfHwgdXNlcj8ucm9sZXM/LmluY2x1ZGVzKFwiQ29tcGFueVwiKSB8fCB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJNYXN0ZXJcIilcclxuXHJcbiAgICAvKiog0J7QsdGA0LDQsdC+0YLRh9C40Log0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINGC0YPQvNCx0LvQtdGA0LAgwqvQndCwINC70LjQvdC40LjCuyAqL1xyXG4gICAgY29uc3QgaGFuZGxlVG9nZ2xlT25saW5lID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoIXVzZXI/LmlkKSByZXR1cm5cclxuICAgICAgICBpZiAoY2hlY2tlZCkge1xyXG4gICAgICAgICAgICBnb09ubGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGdvT2ZmbGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwic3RpY2t5IHRvcC0wIHotNTAgdy1mdWxsIGJvcmRlci1iIGJnLWJhY2tncm91bmQvOTUgYmFja2Ryb3AtYmx1ciBzdXBwb3J0cy1bYmFja2Ryb3AtZmlsdGVyXTpiZy1iYWNrZ3JvdW5kLzYwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG14LWF1dG8gZmxleCBoLTE2IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYmxhY2sgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTYwMCBkYXJrOnRleHQtYmx1ZS01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hc2hlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuYXYgY2xhc3NOYW1lPVwiaGlkZGVuIG1kOmZsZXggZ2FwLTYgaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1jb2xvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvc2VhcmNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGhvdmVyOnRleHQtYmx1ZS02MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC40YHQulxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL29yZGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJob3Zlcjp0ZXh0LWJsdWUtNjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0JzQvtC4INC30LDQutCw0LfRi1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCi0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsg4oCUINCy0LjQtNC10L0g0YLQvtC70YzQutC+INC40YHQv9C+0LvQvdC40YLQtdC70Y/QvC/QutC+0LzQv9Cw0L3QuNGP0LwgKi99XHJcbiAgICAgICAgICAgICAgICAgICAge2lzQXV0aCAmJiBpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIHNtOmZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1yLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBQaW4gY2xhc3NOYW1lPXtgaC00IHctNCB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTUwMFwiIDogXCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIn1gfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZ2VvLW9ubGluZS10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2lzT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17aGFuZGxlVG9nZ2xlT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1VwZGF0aW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9XCJnZW8tb25saW5lLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdGV4dC14cyBmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTYwMCBkYXJrOnRleHQtZ3JlZW4tNDAwXCIgOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwifWB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzT25saW5lID8gXCLQk9C+0YLQvtCyINC6INC30LDQutCw0LfRg1wiIDogXCLQntGE0LvQsNC50L1cIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3IgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1yZWQtNTAwIG1heC13LVsxMjBweF0gdHJ1bmNhdGVcIiB0aXRsZT17Z2VvRXJyb3J9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3J9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPE1vZGVUb2dnbGUgLz5cclxuICAgICAgICAgICAgICAgICAgICB7aXNBdXRoID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVRyaWdnZXIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzTmFtZT1cImhpZGRlbiBzbTpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBmb2N1cy12aXNpYmxlOnJpbmctMCBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMCBvdXRsaW5lLW5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDb21wYW55XCIpICYmIHVzZXI/LmNvbXBhbnlOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHVzZXIuY29tcGFueU5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKHVzZXI/LmZpcnN0TmFtZSAmJiB1c2VyPy5sYXN0TmFtZSA/IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YCA6IFwi0J/RgNC+0YTQuNC70YxcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51Q29udGVudCBhbGlnbj1cImVuZFwiIGNsYXNzTmFtZT1cInctNTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51TGFiZWw+0JzQvtC5INCw0LrQutCw0YPQvdGCPC9Ecm9wZG93bk1lbnVMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51U2VwYXJhdG9yIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9kYXNoYm9hcmQvcHJvZmlsZVwiIGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyIHctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwibXItMiBoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPtCf0YDQvtGE0LjQu9GMPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvb3JkZXJzXCIgY2xhc3NOYW1lPVwiY3Vyc29yLXBvaW50ZXIgdy1mdWxsIGZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QnNC+0Lgg0LfQsNC60LDQt9GLPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2Rhc2hib2FyZC9vZmZlcnNcIiBjbGFzc05hbWU9XCJjdXJzb3ItcG9pbnRlciB3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnJpZWZjYXNlIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0JzQvtC4INGD0YHQu9GD0LPQuDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVNlcGFyYXRvciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGNsYXNzTmFtZT1cInRleHQtZGVzdHJ1Y3RpdmUgZm9jdXM6dGV4dC1kZXN0cnVjdGl2ZSBjdXJzb3ItcG9pbnRlclwiIG9uQ2xpY2s9eygpID0+IGxvZ291dCgpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExvZ091dCBjbGFzc05hbWU9XCJtci0yIGgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QktGL0LnRgtC4INC40Lcg0LDQutC60LDRg9C90YLQsDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImdob3N0XCIgYXNDaGlsZCBjbGFzc05hbWU9XCJoaWRkZW4gc206ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvYXV0aC9sb2dpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVc2VyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCS0L7QudGC0LhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7aXNNYXN0ZXJPckNvbXBhbnkgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgdGV4dC13aGl0ZVwiIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL29yZGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNC+0LHRgNCw0YLRjCDQt9Cw0LrQsNC30YtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlXCIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvZGFzaGJvYXJkL2JlY29tZS1wZXJmb3JtZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodGC0LDRgtGMINC40YHQv9C+0LvQvdC40YLQtdC70LXQvFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJMaW5rIiwiTW9kZVRvZ2dsZSIsIkJ1dHRvbiIsIlN3aXRjaCIsIlNlYXJjaCIsIlVzZXIiLCJMb2dPdXQiLCJCcmllZmNhc2UiLCJNYXBQaW4iLCJEcm9wZG93bk1lbnUiLCJEcm9wZG93bk1lbnVDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkRyb3Bkb3duTWVudUxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiRHJvcGRvd25NZW51VHJpZ2dlciIsInVzZVNlc3Npb25TdG9yZSIsInVzZUdlb1N0b3JlIiwiSGVhZGVyIiwiaXNBdXRoIiwidXNlciIsImxvZ291dCIsImlzT25saW5lIiwiaXNVcGRhdGluZyIsImVycm9yIiwiZ2VvRXJyb3IiLCJnb09ubGluZSIsImdvT2ZmbGluZSIsImlzTWFzdGVyT3JDb21wYW55Iiwicm9sZXMiLCJpbmNsdWRlcyIsImhhbmRsZVRvZ2dsZU9ubGluZSIsImNoZWNrZWQiLCJpZCIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsImhyZWYiLCJzcGFuIiwibmF2Iiwib25DaGVja2VkQ2hhbmdlIiwiZGlzYWJsZWQiLCJsYWJlbCIsImh0bWxGb3IiLCJ0aXRsZSIsImFzQ2hpbGQiLCJ2YXJpYW50IiwiY29tcGFueU5hbWUiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/widgets/Header.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/globals.css": -/*!*****************************!*\ - !*** ./src/app/globals.css ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"96c14632c738\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXGdsb2JhbHMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOTZjMTQ2MzJjNzM4XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx": -/*!*****************************************************!*\ - !*** ./src/app/dashboard/offers/[id]/edit/page.tsx ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call the default export of \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\[id]\\\\edit\\\\page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx", -"default", -)); - - -/***/ }), - -/***/ "(rsc)/./src/app/layout.tsx": -/*!****************************!*\ - !*** ./src/app/layout.tsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src\\\\\\\\app\\\\\\\\layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\",\\\"cyrillic\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n/* harmony import */ var leaflet_dist_leaflet_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! leaflet/dist/leaflet.css */ \"(rsc)/./node_modules/leaflet/dist/leaflet.css\");\n/* harmony import */ var _components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/theme/theme-provider */ \"(rsc)/./src/components/theme/theme-provider.tsx\");\n/* harmony import */ var _widgets_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/widgets/Header */ \"(rsc)/./src/widgets/Header.tsx\");\n/* harmony import */ var _components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/sonner */ \"(rsc)/./src/components/ui/sonner.tsx\");\n/* harmony import */ var _components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/auth/AuthProvider */ \"(rsc)/./src/components/auth/AuthProvider.tsx\");\n\n\n\n\n\n\n\n\nconst metadata = {\n title: \"Nashel - Маркетплейс услуг\",\n description: \"Найди мастера за 60 минут\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"ru\",\n suppressHydrationWarning: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: `${(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default().className)} min-h-screen bg-background text-foreground antialiased`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__.ThemeProvider, {\n attribute: \"class\",\n defaultTheme: \"system\",\n enableSystem: true,\n disableTransitionOnChange: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__.AuthProvider, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex min-h-screen flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_widgets_Header__WEBPACK_IMPORTED_MODULE_4__.Header, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 34,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 32,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__.Toaster, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 36,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 31,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 25,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQVNNQTtBQVBpQjtBQUNXO0FBQ2dDO0FBQ3hCO0FBQ087QUFDYTtBQUl2RCxNQUFNSyxXQUFxQjtJQUM5QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2pCLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQy9CQyxRQUFRLEVBR1Y7SUFDRSxxQkFDSSw4REFBQ0M7UUFBS0MsTUFBSztRQUFLQyx3QkFBd0I7a0JBQ3BDLDRFQUFDQztZQUFLQyxXQUFXLEdBQUdkLHdLQUFlLENBQUMsdURBQXVELENBQUM7c0JBQ3hGLDRFQUFDQywyRUFBYUE7Z0JBQ1ZjLFdBQVU7Z0JBQ1ZDLGNBQWE7Z0JBQ2JDLFlBQVk7Z0JBQ1pDLHlCQUF5QjswQkFFekIsNEVBQUNkLHVFQUFZQTs7c0NBQ1QsOERBQUNlOzRCQUFJTCxXQUFVOzs4Q0FDWCw4REFBQ1osbURBQU1BOzs7Ozs4Q0FDUCw4REFBQ2tCO29DQUFLTixXQUFVOzhDQUFVTDs7Ozs7Ozs7Ozs7O3NDQUU5Qiw4REFBQ04sMERBQU9BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1oQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcYXBwXFxsYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tIFwibmV4dFwiO1xyXG5pbXBvcnQgeyBJbnRlciB9IGZyb20gXCJuZXh0L2ZvbnQvZ29vZ2xlXCI7XHJcbmltcG9ydCBcIi4vZ2xvYmFscy5jc3NcIjtcclxuaW1wb3J0IFwibGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzXCI7XHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL3RoZW1lLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL3dpZGdldHMvSGVhZGVyXCI7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3Nvbm5lclwiO1xyXG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL2F1dGgvQXV0aFByb3ZpZGVyXCI7XHJcblxyXG5jb25zdCBpbnRlciA9IEludGVyKHsgc3Vic2V0czogW1wibGF0aW5cIiwgXCJjeXJpbGxpY1wiXSB9KTtcclxuXHJcbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XHJcbiAgICB0aXRsZTogXCJOYXNoZWwgLSDQnNCw0YDQutC10YLQv9C70LXQudGBINGD0YHQu9GD0LNcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcItCd0LDQudC00Lgg0LzQsNGB0YLQtdGA0LAg0LfQsCA2MCDQvNC40L3Rg9GCXCIsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSb290TGF5b3V0KHtcclxuICAgIGNoaWxkcmVuLFxyXG59OiBSZWFkb25seTx7XHJcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xyXG59Pikge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8aHRtbCBsYW5nPVwicnVcIiBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc+XHJcbiAgICAgICAgICAgIDxib2R5IGNsYXNzTmFtZT17YCR7aW50ZXIuY2xhc3NOYW1lfSBtaW4taC1zY3JlZW4gYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQgYW50aWFsaWFzZWRgfT5cclxuICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlPVwiY2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRUaGVtZT1cInN5c3RlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlU3lzdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVRyYW5zaXRpb25PbkNoYW5nZVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxBdXRoUHJvdmlkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgZmxleCBtaW4taC1zY3JlZW4gZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkZXIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9hc3RlciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQXV0aFByb3ZpZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxyXG4gICAgICAgICAgICA8L2JvZHk+XHJcbiAgICAgICAgPC9odG1sPlxyXG4gICAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsiaW50ZXIiLCJUaGVtZVByb3ZpZGVyIiwiSGVhZGVyIiwiVG9hc3RlciIsIkF1dGhQcm92aWRlciIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiwiYm9keSIsImNsYXNzTmFtZSIsImF0dHJpYnV0ZSIsImRlZmF1bHRUaGVtZSIsImVuYWJsZVN5c3RlbSIsImRpc2FibGVUcmFuc2l0aW9uT25DaGFuZ2UiLCJkaXYiLCJtYWluIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const AuthProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx", -"AuthProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const ThemeProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx", -"ThemeProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Toaster: () => (/* binding */ Toaster) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Toaster = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx", -"Toaster", -); - -/***/ }), - -/***/ "(rsc)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Header: () => (/* binding */ Header) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Header = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Header() from the server but Header is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx", -"Header", -); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../../../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@radix-ui","vendor-chunks/axios","vendor-chunks/mime-db","vendor-chunks/@floating-ui","vendor-chunks/tailwind-merge","vendor-chunks/sonner","vendor-chunks/lucide-react","vendor-chunks/cookies-next","vendor-chunks/follow-redirects","vendor-chunks/debug","vendor-chunks/tslib","vendor-chunks/react-remove-scroll","vendor-chunks/form-data","vendor-chunks/get-intrinsic","vendor-chunks/cookie","vendor-chunks/asynckit","vendor-chunks/aria-hidden","vendor-chunks/next-themes","vendor-chunks/react-remove-scroll-bar","vendor-chunks/combined-stream","vendor-chunks/mime-types","vendor-chunks/use-callback-ref","vendor-chunks/proxy-from-env","vendor-chunks/use-sidecar","vendor-chunks/class-variance-authority","vendor-chunks/ms","vendor-chunks/supports-color","vendor-chunks/react-style-singleton","vendor-chunks/has-symbols","vendor-chunks/delayed-stream","vendor-chunks/function-bind","vendor-chunks/@swc","vendor-chunks/zustand","vendor-chunks/es-set-tostringtag","vendor-chunks/get-proto","vendor-chunks/call-bind-apply-helpers","vendor-chunks/dunder-proto","vendor-chunks/math-intrinsics","vendor-chunks/es-errors","vendor-chunks/clsx","vendor-chunks/has-flag","vendor-chunks/gopd","vendor-chunks/get-nonce","vendor-chunks/es-define-property","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/leaflet","vendor-chunks/es-object-atoms","vendor-chunks/zod","vendor-chunks/react-hook-form","vendor-chunks/@hookform"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&page=%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&appPaths=%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2F%5Bid%5D%2Fedit%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/dashboard/offers/[id]/edit/page_client-reference-manifest.js b/.next/server/app/dashboard/offers/[id]/edit/page_client-reference-manifest.js deleted file mode 100644 index 9be1ef7..0000000 --- a/.next/server/app/dashboard/offers/[id]/edit/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/dashboard/offers/[id]/edit/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(ssr)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(ssr)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(ssr)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(ssr)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx":{"id":"(app-pages-browser)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx":{"id":"(app-pages-browser)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":["app/dashboard/offers/page","static/chunks/app/dashboard/offers/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":["app/dashboard/offers/[id]/edit/page","static/chunks/app/dashboard/offers/%5Bid%5D/edit/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx":{"id":"(app-pages-browser)/./src/components/home/PerformerButton.tsx","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":{"id":"(app-pages-browser)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\page":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(rsc)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(rsc)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(rsc)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(rsc)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/dashboard/offers/create/page.js b/.next/server/app/dashboard/offers/create/page.js deleted file mode 100644 index f9a14a6..0000000 --- a/.next/server/app/dashboard/offers/create/page.js +++ /dev/null @@ -1,691 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "app/dashboard/offers/create/page"; -exports.ids = ["app/dashboard/offers/create/page"]; -exports.modules = { - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "../app-render/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/server/app-render/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/action-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/after-task-async-storage.external": -/*!***********************************************************************************!*\ - !*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***! - \***********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/work-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/server/app-render/work-async-storage.external.js" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-async-storage.external.js"); - -/***/ }), - -/***/ "./work-unit-async-storage.external": -/*!**********************************************************************************!*\ - !*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***! - \**********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js"); - -/***/ }), - -/***/ "assert": -/*!*************************!*\ - !*** external "assert" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("assert"); - -/***/ }), - -/***/ "crypto": -/*!*************************!*\ - !*** external "crypto" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("crypto"); - -/***/ }), - -/***/ "events": -/*!*************************!*\ - !*** external "events" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("events"); - -/***/ }), - -/***/ "fs": -/*!*********************!*\ - !*** external "fs" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("fs"); - -/***/ }), - -/***/ "http": -/*!***********************!*\ - !*** external "http" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http"); - -/***/ }), - -/***/ "http2": -/*!************************!*\ - !*** external "http2" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http2"); - -/***/ }), - -/***/ "https": -/*!************************!*\ - !*** external "https" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("https"); - -/***/ }), - -/***/ "os": -/*!*********************!*\ - !*** external "os" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("os"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ "stream": -/*!*************************!*\ - !*** external "stream" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("stream"); - -/***/ }), - -/***/ "tty": -/*!**********************!*\ - !*** external "tty" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("tty"); - -/***/ }), - -/***/ "url": -/*!**********************!*\ - !*** external "url" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("url"); - -/***/ }), - -/***/ "util": -/*!***********************!*\ - !*** external "util" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), - -/***/ "zlib": -/*!***********************!*\ - !*** external "zlib" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("zlib"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2Fcreate%2Fpage&page=%2Fdashboard%2Foffers%2Fcreate%2Fpage&appPaths=%2Fdashboard%2Foffers%2Fcreate%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2Fcreate%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": -/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2Fcreate%2Fpage&page=%2Fdashboard%2Foffers%2Fcreate%2Fpage&appPaths=%2Fdashboard%2Foffers%2Fcreate%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2Fcreate%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! - \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/module.compiled.js?91d2\");\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nconst module0 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\"));\nconst module1 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23));\nconst module2 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/forbidden-error */ \"(rsc)/./node_modules/next/dist/client/components/forbidden-error.js\", 23));\nconst module3 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/unauthorized-error */ \"(rsc)/./node_modules/next/dist/client/components/unauthorized-error.js\", 23));\nconst page4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/offers/create/page.tsx */ \"(rsc)/./src/app/dashboard/offers/create/page.tsx\"));\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'dashboard',\n {\n children: [\n 'offers',\n {\n children: [\n 'create',\n {\n children: ['__PAGE__', {}, {\n page: [page4, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [module0, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\"],\n'not-found': [module1, \"next/dist/client/components/not-found-error\"],\n'forbidden': [module2, \"next/dist/client/components/forbidden-error\"],\n'unauthorized': [module3, \"next/dist/client/components/unauthorized-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/dashboard/offers/create/page\",\n pathname: \"/dashboard/offers/create\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkZkYXNoYm9hcmQlMkZvZmZlcnMlMkZjcmVhdGUlMkZwYWdlJnBhZ2U9JTJGZGFzaGJvYXJkJTJGb2ZmZXJzJTJGY3JlYXRlJTJGcGFnZSZhcHBQYXRocz0lMkZkYXNoYm9hcmQlMkZvZmZlcnMlMkZjcmVhdGUlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGZGFzaGJvYXJkJTJGb2ZmZXJzJTJGY3JlYXRlJTJGcGFnZS50c3gmYXBwRGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQlNUNzcmMlNUNhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9c3RhbmRhbG9uZSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQkFBc0Isb0pBQXdGO0FBQzlHLHNCQUFzQiwwTkFBZ0Y7QUFDdEcsc0JBQXNCLDBOQUFnRjtBQUN0RyxzQkFBc0IsZ09BQW1GO0FBQ3pHLG9CQUFvQixnTUFBaUg7QUFHbkk7QUFDc0Q7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ3VEO0FBQ3ZEO0FBQ08sd0JBQXdCLHVHQUFrQjtBQUNqRDtBQUNBLGNBQWMsa0VBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQiLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBtb2R1bGUwID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIik7XG5jb25zdCBtb2R1bGUxID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpO1xuY29uc3QgbW9kdWxlMiA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2ZvcmJpZGRlbi1lcnJvclwiKTtcbmNvbnN0IG1vZHVsZTMgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy91bmF1dGhvcml6ZWQtZXJyb3JcIik7XG5jb25zdCBwYWdlNCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxkYXNoYm9hcmRcXFxcb2ZmZXJzXFxcXGNyZWF0ZVxcXFxwYWdlLnRzeFwiKTtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc3NyJ1xufTtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdkYXNoYm9hcmQnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdvZmZlcnMnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdjcmVhdGUnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbcGFnZTQsIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxkYXNoYm9hcmRcXFxcb2ZmZXJzXFxcXGNyZWF0ZVxcXFxwYWdlLnRzeFwiXSxcbiAgICAgICAgICBcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFttb2R1bGUwLCBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbbW9kdWxlMSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuJ2ZvcmJpZGRlbic6IFttb2R1bGUyLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9mb3JiaWRkZW4tZXJyb3JcIl0sXG4ndW5hdXRob3JpemVkJzogW21vZHVsZTMsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC1lcnJvclwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxvZmZlcnNcXFxcY3JlYXRlXFxcXHBhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvZGFzaGJvYXJkL29mZmVycy9jcmVhdGUvcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvZGFzaGJvYXJkL29mZmVycy9jcmVhdGVcIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiAnJyxcbiAgICAgICAgZmlsZW5hbWU6ICcnLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2Fcreate%2Fpage&page=%2Fdashboard%2Foffers%2Fcreate%2Fpage&appPaths=%2Fdashboard%2Foffers%2Fcreate%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2Fcreate%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(rsc)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(ssr)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(rsc)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(rsc)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(rsc)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(rsc)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(ssr)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(ssr)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(ssr)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(ssr)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Ccreate%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Ccreate%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/offers/create/page.tsx */ \"(rsc)/./src/app/dashboard/offers/create/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNzcmMlNUMlNUNhcHAlNUMlNUNkYXNoYm9hcmQlNUMlNUNvZmZlcnMlNUMlNUNjcmVhdGUlNUMlNUNwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsZ01BQWlIIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxvZmZlcnNcXFxcY3JlYXRlXFxcXHBhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Ccreate%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Ccreate%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Ccreate%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/offers/create/page.tsx */ \"(ssr)/./src/app/dashboard/offers/create/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNzcmMlNUMlNUNhcHAlNUMlNUNkYXNoYm9hcmQlNUMlNUNvZmZlcnMlNUMlNUNjcmVhdGUlNUMlNUNwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsZ01BQWlIIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxvZmZlcnNcXFxcY3JlYXRlXFxcXHBhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Ccreate%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./src/app/dashboard/offers/create/page.tsx": -/*!**************************************************!*\ - !*** ./src/app/dashboard/offers/create/page.tsx ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CreateOfferPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hookform/resolvers/zod */ \"(ssr)/./node_modules/@hookform/resolvers/zod/dist/zod.mjs\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! zod */ \"(ssr)/./node_modules/zod/v4/classic/external.js\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/form */ \"(ssr)/./src/components/ui/form.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/input */ \"(ssr)/./src/components/ui/input.tsx\");\n/* harmony import */ var _components_ui_textarea__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/ui/textarea */ \"(ssr)/./src/components/ui/textarea.tsx\");\n/* harmony import */ var _components_ui_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/ui/select */ \"(ssr)/./src/components/ui/select.tsx\");\n/* harmony import */ var _components_ui_card__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/ui/card */ \"(ssr)/./src/components/ui/card.tsx\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,Plus,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* harmony import */ var _barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,Plus,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/plus.js\");\n/* harmony import */ var _barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,Plus,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\");\n/* harmony import */ var _shared_api_catalog__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/shared/api/catalog */ \"(ssr)/./src/shared/api/catalog.ts\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _components_ui_image_uploader__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/components/ui/image-uploader */ \"(ssr)/./src/components/ui/image-uploader.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst formSchema = zod__WEBPACK_IMPORTED_MODULE_14__.object({\n categoryId: zod__WEBPACK_IMPORTED_MODULE_14__.string().min(1, \"Выберите категорию\"),\n title: zod__WEBPACK_IMPORTED_MODULE_14__.string().min(5, \"Название должно быть минимум из 5 символов\").max(100),\n description: zod__WEBPACK_IMPORTED_MODULE_14__.string().min(10, \"Описание должно быть минимум из 10 символов\").max(2000),\n price: zod__WEBPACK_IMPORTED_MODULE_14__.object({\n amount: zod__WEBPACK_IMPORTED_MODULE_14__.number().min(1, \"Сумма должна быть больше 0\"),\n type: zod__WEBPACK_IMPORTED_MODULE_14__.number().int().min(0).max(2)\n }),\n attributes: zod__WEBPACK_IMPORTED_MODULE_14__.array(zod__WEBPACK_IMPORTED_MODULE_14__.object({\n key: zod__WEBPACK_IMPORTED_MODULE_14__.string().min(1, \"Введите название характеристики\"),\n value: zod__WEBPACK_IMPORTED_MODULE_14__.string().min(1, \"Введите значение\")\n })).optional(),\n images: zod__WEBPACK_IMPORTED_MODULE_14__.array(zod__WEBPACK_IMPORTED_MODULE_14__.string()).max(10, \"Максимум 10 изображений\").optional()\n});\nfunction CreateOfferPage() {\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const { user, isAuth } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_12__.useSessionStore)();\n const [categories, setCategories] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [isSubmitting, setIsSubmitting] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const form = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_15__.useForm)({\n resolver: (0,_hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_3__.zodResolver)(formSchema),\n defaultValues: {\n categoryId: \"00000000-0000-0000-0000-000000000000\",\n title: \"\",\n description: \"\",\n price: {\n amount: 0,\n type: 0 // 0 = Fixed\n },\n attributes: [],\n images: []\n }\n });\n const { fields, append, remove } = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_15__.useFieldArray)({\n name: \"attributes\",\n control: form.control\n });\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"CreateOfferPage.useEffect\": ()=>{\n // Проверка прав доступа\n if (!isAuth) return;\n const isPerformer = user?.roles?.some({\n \"CreateOfferPage.useEffect\": (r)=>[\n \"Master\",\n \"Company\",\n \"Candidate\",\n \"Admin\"\n ].includes(r)\n }[\"CreateOfferPage.useEffect\"]);\n if (!isPerformer) {\n sonner__WEBPACK_IMPORTED_MODULE_10__.toast.error(\"Сначала станьте исполнителем, чтобы создавать услуги\");\n router.push(\"/dashboard/become-performer\");\n return;\n }\n const fetchCategories = {\n \"CreateOfferPage.useEffect.fetchCategories\": async ()=>{\n try {\n const data = await (0,_shared_api_catalog__WEBPACK_IMPORTED_MODULE_11__.getCategories)();\n setCategories(data || []);\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_10__.toast.error(\"Ошибка загрузки категорий\");\n } finally{\n setLoading(false);\n }\n }\n }[\"CreateOfferPage.useEffect.fetchCategories\"];\n fetchCategories();\n }\n }[\"CreateOfferPage.useEffect\"], [\n isAuth,\n user,\n router\n ]);\n async function onSubmit(data) {\n setIsSubmitting(true);\n try {\n const attributesObj = data.attributes?.reduce((acc, curr)=>{\n if (curr.key.trim() && curr.value.trim()) {\n acc[curr.key] = curr.value;\n }\n return acc;\n }, {}) || {};\n await (0,_shared_api_catalog__WEBPACK_IMPORTED_MODULE_11__.createOffer)({\n categoryId: data.categoryId,\n title: data.title,\n description: data.description,\n price: {\n amount: data.price.amount,\n type: data.price.type\n },\n attributes: attributesObj,\n images: data.images || []\n });\n sonner__WEBPACK_IMPORTED_MODULE_10__.toast.success(\"Услуга успешно создана\");\n router.push(\"/dashboard/offers\");\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_10__.toast.error(\"Не удалось создать услугу. Проверьте данные и попробуйте снова.\");\n } finally{\n setIsSubmitting(false);\n }\n }\n if (loading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-center items-center py-20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-primary\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 138,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 137,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-2xl mx-auto py-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_9__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_9__.CardHeader, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_9__.CardTitle, {\n className: \"text-2xl\",\n children: \"Создайте новую услугу\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 147,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_9__.CardDescription, {\n children: \"Заполните детали о вашей услуге, чтобы привлечь больше клиентов.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 148,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 146,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_9__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.Form, {\n ...form,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: form.handleSubmit(onSubmit),\n className: \"space-y-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: \"categoryId\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormLabel, {\n children: \"Категория\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 162,\n columnNumber: 41\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n onValueChange: field.onChange,\n defaultValue: field.value,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"Выберите категорию услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 166,\n columnNumber: 53\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 165,\n columnNumber: 49\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 164,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"00000000-0000-0000-0000-000000000000\",\n children: \"Без категории (Любая)\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 170,\n columnNumber: 49\n }, void 0),\n categories.map((c)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: c.id,\n children: c.name\n }, c.id, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 172,\n columnNumber: 53\n }, void 0))\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 169,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 163,\n columnNumber: 41\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormDescription, {\n children: \"Выберите раздел, в котором клиенты смогут найти вашу услугу.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 178,\n columnNumber: 41\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 181,\n columnNumber: 41\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 161,\n columnNumber: 37\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 157,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: \"title\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormLabel, {\n children: \"Название услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 193,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n placeholder: \"Например: Ремонт квартир под ключ\",\n ...field\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 195,\n columnNumber: 49\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 194,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 197,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 192,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 188,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: \"description\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormLabel, {\n children: \"Описание\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 207,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_textarea__WEBPACK_IMPORTED_MODULE_7__.Textarea, {\n placeholder: \"Детально опишите, что включает ваша услуга...\",\n className: \"min-h-[120px]\",\n ...field\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 209,\n columnNumber: 49\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 208,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 215,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 206,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 202,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 187,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: \"price.amount\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormLabel, {\n children: \"Стоимость (₽)\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 228,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n type: \"number\",\n placeholder: \"0\",\n ...field,\n onChange: (e)=>field.onChange(Number(e.target.value))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 230,\n columnNumber: 49\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 229,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 232,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 227,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 223,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: \"price.type\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormLabel, {\n children: \"Тип цены\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 242,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n onValueChange: (v)=>field.onChange(parseInt(v)),\n defaultValue: field.value.toString(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"Тип оплаты\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 246,\n columnNumber: 57\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 245,\n columnNumber: 53\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 244,\n columnNumber: 49\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"0\",\n children: \"Фиксированная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 250,\n columnNumber: 53\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"1\",\n children: \"Почасовая\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 251,\n columnNumber: 53\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"2\",\n children: \"Договорная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 252,\n columnNumber: 53\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 249,\n columnNumber: 49\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 243,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 255,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 241,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 237,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 222,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between items-center mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-sm font-medium leading-none mb-1\",\n children: \"Дополнительные характеристики\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 265,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground\",\n children: 'Добавьте важные детали (\"Опыт\", \"Гарантия\")'\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 266,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 264,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"outline\",\n size: \"sm\",\n onClick: ()=>append({\n key: \"\",\n value: \"\"\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 274,\n columnNumber: 41\n }, this),\n \"Добавить\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 268,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 263,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: [\n fields.map((field, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-3 items-start\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: `attributes.${index}.key`,\n render: ({ field: inputField })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n className: \"flex-1 space-y-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n placeholder: \"Например: Гарантия\",\n ...inputField\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 288,\n columnNumber: 61\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 287,\n columnNumber: 57\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 290,\n columnNumber: 57\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 286,\n columnNumber: 53\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 282,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: `attributes.${index}.value`,\n render: ({ field: inputField })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n className: \"flex-1 space-y-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n placeholder: \"Например: 1 год\",\n ...inputField\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 300,\n columnNumber: 61\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 299,\n columnNumber: 57\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 302,\n columnNumber: 57\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 298,\n columnNumber: 53\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 294,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"ghost\",\n size: \"icon\",\n className: \"text-destructive h-9 w-9 flex-shrink-0\",\n onClick: ()=>remove(index),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_18__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 313,\n columnNumber: 49\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 306,\n columnNumber: 45\n }, this)\n ]\n }, field.id, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 281,\n columnNumber: 41\n }, this)),\n fields.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground text-center py-4 bg-muted/50 rounded-md border border-dashed\",\n children: \"Нет добавленных характеристик\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 318,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 279,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 262,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-sm font-medium leading-none mb-1\",\n children: \"Изображения (максимум 10)\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 328,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground\",\n children: \"Первое фото станет главным для карточки услуги.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 329,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 327,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormField, {\n control: form.control,\n name: \"images\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_image_uploader__WEBPACK_IMPORTED_MODULE_13__.ImageUploader, {\n value: field.value || [],\n onChange: field.onChange\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 337,\n columnNumber: 49\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 336,\n columnNumber: 45\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_5__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 342,\n columnNumber: 45\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 335,\n columnNumber: 41\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 331,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 326,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-end pt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"outline\",\n className: \"mr-3\",\n onClick: ()=>router.push(\"/dashboard/offers\"),\n disabled: isSubmitting,\n children: \"Отмена\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 349,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"submit\",\n disabled: isSubmitting,\n children: isSubmitting ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_Plus_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"mr-2 h-4 w-4 animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 361,\n columnNumber: 45\n }, this),\n \"Сохранение...\"\n ]\n }, void 0, true) : \"Создать услугу\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 358,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 348,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 154,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 153,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 152,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 145,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\",\n lineNumber: 144,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2Rhc2hib2FyZC9vZmZlcnMvY3JlYXRlL3BhZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTRDO0FBQ0E7QUFDVTtBQUNHO0FBQ2hDO0FBQ3VCO0FBU2xCO0FBQ2dCO0FBQ007QUFPcEI7QUFDNkU7QUFDOUU7QUFDc0I7QUFDdUI7QUFDakI7QUFDSTtBQUUvRCxNQUFNbUMsYUFBYTdCLHdDQUFRLENBQUM7SUFDeEIrQixZQUFZL0Isd0NBQVEsR0FBR2lDLEdBQUcsQ0FBQyxHQUFHO0lBQzlCQyxPQUFPbEMsd0NBQVEsR0FBR2lDLEdBQUcsQ0FBQyxHQUFHLDhDQUE4Q0UsR0FBRyxDQUFDO0lBQzNFQyxhQUFhcEMsd0NBQVEsR0FBR2lDLEdBQUcsQ0FBQyxJQUFJLCtDQUErQ0UsR0FBRyxDQUFDO0lBQ25GRSxPQUFPckMsd0NBQVEsQ0FBQztRQUNac0MsUUFBUXRDLHdDQUFRLEdBQUdpQyxHQUFHLENBQUMsR0FBRztRQUMxQk8sTUFBTXhDLHdDQUFRLEdBQUd5QyxHQUFHLEdBQUdSLEdBQUcsQ0FBQyxHQUFHRSxHQUFHLENBQUM7SUFDdEM7SUFDQU8sWUFBWTFDLHVDQUFPLENBQ2ZBLHdDQUFRLENBQUM7UUFDTDRDLEtBQUs1Qyx3Q0FBUSxHQUFHaUMsR0FBRyxDQUFDLEdBQUc7UUFDdkJZLE9BQU83Qyx3Q0FBUSxHQUFHaUMsR0FBRyxDQUFDLEdBQUc7SUFDN0IsSUFDRmEsUUFBUTtJQUNWQyxRQUFRL0MsdUNBQU8sQ0FBQ0Esd0NBQVEsSUFBSW1DLEdBQUcsQ0FBQyxJQUFJLDJCQUEyQlcsUUFBUTtBQUMzRTtBQUllLFNBQVNFO0lBQ3BCLE1BQU1DLFNBQVNyRCwwREFBU0E7SUFDeEIsTUFBTSxFQUFFc0QsSUFBSSxFQUFFQyxNQUFNLEVBQUUsR0FBR3hCLHlFQUFlQTtJQUN4QyxNQUFNLENBQUN5QixZQUFZQyxjQUFjLEdBQUcxRCwrQ0FBUUEsQ0FBYSxFQUFFO0lBQzNELE1BQU0sQ0FBQzJE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ckJELE1BQUs7NENBQ0xxQixRQUFRLENBQUMsRUFBRUMsS0FBSyxFQUFFLGlCQUNkLDhEQUFDaEYseURBQVFBOztzRUFDTCw4REFBQ0gsNERBQVdBO3NFQUNSLDRFQUFDeUIseUVBQWFBO2dFQUNWaUIsT0FBT3lDLE1BQU16QyxLQUFLLElBQUksRUFBRTtnRUFDeEIyQyxVQUFVRixNQUFNRSxRQUFROzs7Ozs7Ozs7OztzRUFHaEMsOERBQUNoRiw0REFBV0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OENBTTVCLDhEQUFDMEU7b0NBQUlDLFdBQVU7O3NEQUNYLDhEQUFDbEYseURBQU1BOzRDQUNIdUMsTUFBSzs0Q0FDTDhELFNBQVE7NENBQ1JuQixXQUFVOzRDQUNWcUIsU0FBUyxJQUFNdkQsT0FBT3VCLElBQUksQ0FBQzs0Q0FDM0JvQyxVQUFVcEQ7c0RBQ2I7Ozs7OztzREFHRCw4REFBQ3ZELHlEQUFNQTs0Q0FBQ3VDLE1BQUs7NENBQVNvRSxVQUFVcEQ7c0RBQzNCQSw2QkFDRzs7a0VBQ0ksOERBQUNsQyxnR0FBT0E7d0RBQUM2RCxXQUFVOzs7Ozs7b0RBQThCOzsrREFJckQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVV4QyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcYXBwXFxkYXNoYm9hcmRcXG9mZmVyc1xcY3JlYXRlXFxwYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcclxuXHJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgdXNlUm91dGVyIH0gZnJvbSBcIm5leHQvbmF2aWdhdGlvblwiO1xyXG5pbXBvcnQgeyB6b2RSZXNvbHZlciB9IGZyb20gXCJAaG9va2Zvcm0vcmVzb2x2ZXJzL3pvZFwiO1xyXG5pbXBvcnQgeyB1c2VGb3JtLCB1c2VGaWVsZEFycmF5IH0gZnJvbSBcInJlYWN0LWhvb2stZm9ybVwiO1xyXG5pbXBvcnQgKiBhcyB6IGZyb20gXCJ6b2RcIjtcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIjtcclxuaW1wb3J0IHtcclxuICAgIEZvcm0sXHJcbiAgICBGb3JtQ29udHJvbCxcclxuICAgIEZvcm1EZXNjcmlwdGlvbixcclxuICAgIEZvcm1GaWVsZCxcclxuICAgIEZvcm1JdGVtLFxyXG4gICAgRm9ybUxhYmVsLFxyXG4gICAgRm9ybU1lc3NhZ2UsXHJcbn0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9mb3JtXCI7XHJcbmltcG9ydCB7IElucHV0IH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9pbnB1dFwiO1xyXG5pbXBvcnQgeyBUZXh0YXJlYSB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvdGV4dGFyZWFcIjtcclxuaW1wb3J0IHtcclxuICAgIFNlbGVjdCxcclxuICAgIFNlbGVjdENvbnRlbnQsXHJcbiAgICBTZWxlY3RJdGVtLFxyXG4gICAgU2VsZWN0VHJpZ2dlcixcclxuICAgIFNlbGVjdFZhbHVlLFxyXG59IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvc2VsZWN0XCI7XHJcbmltcG9ydCB7IENhcmQsIENhcmRDb250ZW50LCBDYXJkRGVzY3JpcHRpb24sIENhcmRIZWFkZXIsIENhcmRUaXRsZSwgQ2FyZEZvb3RlciB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvY2FyZFwiO1xyXG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gXCJzb25uZXJcIjtcclxuaW1wb3J0IHsgTG9hZGVyMiwgUGx1cywgVHJhc2gyIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiO1xyXG5pbXBvcnQgeyBnZXRDYXRlZ29yaWVzLCBjcmVhdGVPZmZlciwgQ2F0ZWdvcnkgfSBmcm9tIFwiQC9zaGFyZWQvYXBpL2NhdGFsb2dcIjtcclxuaW1wb3J0IHsgdXNlU2Vzc2lvblN0b3JlIH0gZnJvbSBcIkAvZW50aXRpZXMvc2Vzc2lvbi9zdG9yZVwiO1xyXG5pbXBvcnQgeyBJbWFnZVVwbG9hZGVyIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9pbWFnZS11cGxvYWRlclwiO1xyXG5cclxuY29uc3QgZm9ybVNjaGVtYSA9IHoub2JqZWN0KHtcclxuICAgIGNhdGVnb3J5SWQ6IHouc3RyaW5nKCkubWluKDEsIFwi0JLRi9Cx0LXRgNC40YLQtSDQutCw0YLQtdCz0L7RgNC40Y5cIiksXHJcbiAgICB0aXRsZTogei5zdHJpbmcoKS5taW4oNSwgXCLQndCw0LfQstCw0L3QuNC1INC00L7Qu9C20L3QviDQsdGL0YLRjCDQvNC40L3QuNC80YPQvCDQuNC3IDUg0YHQuNC80LLQvtC70L7QslwiKS5tYXgoMTAwKSxcclxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm1pbigxMCwgXCLQntC/0LjRgdCw0L3QuNC1INC00L7Qu9C20L3QviDQsdGL0YLRjCDQvNC40L3QuNC80YPQvCDQuNC3IDEwINGB0LjQvNCy0L7Qu9C+0LJcIikubWF4KDIwMDApLFxyXG4gICAgcHJpY2U6IHoub2JqZWN0KHtcclxuICAgICAgICBhbW91bnQ6IHoubnVtYmVyKCkubWluKDEsIFwi0KHRg9C80LzQsCDQtNC+0LvQttC90LAg0LHRi9GC0Ywg0LHQvtC70YzRiNC1IDBcIiksXHJcbiAgICAgICAgdHlwZTogei5udW1iZXIoKS5pbnQoKS5taW4oMCkubWF4KDIpLFxyXG4gICAgfSksXHJcbiAgICBhdHRyaWJ1dGVzOiB6LmFycmF5KFxyXG4gICAgICAgIHoub2JqZWN0KHtcclxuICAgICAgICAgICAga2V5OiB6LnN0cmluZygpLm1pbigxLCBcItCS0LLQtdC00LjRgtC1INC90LDQt9Cy0LDQvdC40LUg0YXQsNGA0LDQutGC0LXRgNC40YHRgtC40LrQuFwiKSxcclxuICAgICAgICAgICAgdmFsdWU6IHouc3RyaW5nKCkubWluKDEsIFwi0JLQstC10LTQuNGC0LUg0LfQvdCw0YfQtdC90LjQtVwiKSxcclxuICAgICAgICB9KVxyXG4gICAgKS5vcHRpb25hbCgpLFxyXG4gICAgaW1hZ2VzOiB6LmFycmF5KHouc3RyaW5nKCkpLm1heCgxMCwgXCLQnNCw0LrRgdC40LzRg9C8IDEwINC40LfQvtCx0YDQsNC20LXQvdC40LlcIikub3B0aW9uYWwoKSxcclxufSk7XHJcblxyXG50eXBlIEZvcm1WYWx1ZXMgPSB6LmluZmVyPHR5cGVvZiBmb3JtU2NoZW1hPjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENyZWF0ZU9mZmVyUGFnZSgpIHtcclxuICAgIGNvbnN0IHJvdXRlciA9IHVzZVJvdXRlcigpO1xyXG4gICAgY29uc3QgeyB1c2VyLCBpc0F1dGggfSA9IHVzZVNlc3Npb25TdG9yZSgpO1xyXG4gICAgY29uc3QgW2NhdGVnb3JpZXMsIHNldENhdGVnb3JpZXNdID0gdXNlU3RhdGU8Q2F0ZWdvcnlbXT4oW10pO1xyXG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XHJcbiAgICBjb25zdCBbaXNTdWJtaXR0aW5nLCBzZXRJc1N1Ym1pdHRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0IGZvcm0gPSB1c2VGb3JtPEZvcm1WYWx1ZXM+KHtcclxuICAgICAgICByZXNvbHZlcjogem9kUmVzb2x2ZXIoZm9ybVNjaGVtYSksXHJcbiAgICAgICAgZGVmYXVsdFZhbHVlczoge1xyXG4gICAgICAgICAgICBjYXRlZ29yeUlkOiBcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMFwiLFxyXG4gICAgICAgICAgICB0aXRsZTogXCJcIixcclxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiXCIsXHJcbiAgICAgICAgICAgIHByaWNlOiB7XHJcbiAgICAgICAgICAgICAgICBhbW91bnQ6IDAsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAwIC8vIDAgPSBGaXhlZFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXSxcclxuICAgICAgICAgICAgaW1hZ2VzOiBbXSxcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgeyBmaWVsZHMsIGFwcGVuZCwgcmVtb3ZlIH0gPSB1c2VGaWVsZEFycmF5KHtcclxuICAgICAgICBuYW1lOiBcImF0dHJpYnV0ZXNcIixcclxuICAgICAgICBjb250cm9sOiBmb3JtLmNvbnRyb2wsXHJcbiAgICB9KTtcclxuXHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIC8vINCf0YDQvtCy0LXRgNC60LAg0L/RgNCw0LIg0LTQvtGB0YLRg9C/0LBcclxuICAgICAgICBpZiAoIWlzQXV0aCkgcmV0dXJuO1xyXG5cclxuICAgICAgICBjb25zdCBpc1BlcmZvcm1lciA9IHVzZXI/LnJvbGVzPy5zb21lKHIgPT4gW1wiTWFzdGVyXCIsIFwiQ29tcGFueVwiLCBcIkNhbmRpZGF0ZVwiLCBcIkFkbWluXCJdLmluY2x1ZGVzKHIpKTtcclxuICAgICAgICBpZiAoIWlzUGVyZm9ybWVyKSB7XHJcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKFwi0KHQvdCw0YfQsNC70LAg0YHRgtCw0L3RjNGC0LUg0LjRgdC/0L7Qu9C90LjRgtC10LvQtdC8LCDRh9GC0L7QsdGLINGB0L7Qt9C00LDQstCw0YLRjCDRg9GB0LvRg9Cz0LhcIik7XHJcbiAgICAgICAgICAgIHJvdXRlci5wdXNoKFwiL2Rhc2hib2FyZC9iZWNvbWUtcGVyZm9ybWVyXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBmZXRjaENhdGVnb3JpZXMgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZ2V0Q2F0ZWdvcmllcygpO1xyXG4gICAgICAgICAgICAgICAgc2V0Q2F0ZWdvcmllcyhkYXRhIHx8IFtdKTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHRvYXN0LmVycm9yKFwi0J7RiNC40LHQutCwINC30LDQs9GA0YPQt9C60Lgg0LrQsNGC0LXQs9C+0YDQuNC5XCIpO1xyXG4gICAgICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGZldGNoQ2F0ZWdvcmllcygpO1xyXG4gICAgfSwgW2lzQXV0aCwgdXNlciwgcm91dGVyXSk7XHJcblxyXG4gICAgYXN5bmMgZnVuY3Rpb24gb25TdWJtaXQoZGF0YTogRm9ybVZhbHVlcykge1xyXG4gICAgICAgIHNldElzU3VibWl0dGluZyh0cnVlKTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGVzT2JqID0gZGF0YS5hdHRyaWJ1dGVzPy5yZWR1Y2UoKGFjYywgY3VycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGN1cnIua2V5LnRyaW0oKSAmJiBjdXJyLnZhbHVlLnRyaW0oKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGFjY1tjdXJyLmtleV0gPSBjdXJyLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPikgfHwge307XHJcblxyXG4gICAgICAgICAgICBhd2FpdCBjcmVhdGVPZmZlcih7XHJcbiAgICAgICAgICAgICAgICBjYXRlZ29yeUlkOiBkYXRhLmNhdGVnb3J5SWQsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkYXRhLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgcHJpY2U6IHtcclxuICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGRhdGEucHJpY2UuYW1vdW50LFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IGRhdGEucHJpY2UudHlwZSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzT2JqLFxyXG4gICAgICAgICAgICAgICAgaW1hZ2VzOiBkYXRhLmltYWdlcyB8fCBbXVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MoXCLQo9GB0LvRg9Cz0LAg0YPRgdC/0LXRiNC90L4g0YHQvtC30LTQsNC90LBcIik7XHJcbiAgICAgICAgICAgIHJvdXRlci5wdXNoKFwiL2Rhc2hib2FyZC9vZmZlcnNcIik7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdG9hc3QuZXJyb3IoXCLQndC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGD0YHQu9GD0LPRgy4g0J/RgNC+0LLQtdGA0YzRgtC1INC00LDQvdC90YvQtSDQuCDQv9C+0L/RgNC+0LHRg9C50YLQtSDRgdC90L7QstCwLlwiKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXRJc1N1Ym1pdHRpbmcoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAobG9hZGluZykge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgcHktMjBcIj5cclxuICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cImgtOCB3LTggYW5pbWF0ZS1zcGluIHRleHQtcHJpbWFyeVwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTJ4bCBteC1hdXRvIHB5LThcIj5cclxuICAgICAgICAgICAgPENhcmQ+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8Q2FyZFRpdGxlIGNsYXNzTmFtZT1cInRleHQtMnhsXCI+0KHQvtC30LTQsNC50YLQtSDQvdC+0LLRg9GOINGD0YHQu9GD0LPRgzwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxDYXJkRGVzY3JpcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgINCX0LDQv9C+0LvQvdC40YLQtSDQtNC10YLQsNC70Lgg0L4g0LLQsNGI0LXQuSDRg9GB0LvRg9Cz0LUsINGH0YLQvtCx0Ysg0L/RgNC40LLQu9C10YfRjCDQsdC+0LvRjNGI0LUg0LrQu9C40LXQvdGC0L7Qsi5cclxuICAgICAgICAgICAgICAgICAgICA8L0NhcmREZXNjcmlwdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxDYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICA8Rm9ybSB7Li4uZm9ybX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIG9uU3VibWl0PXtmb3JtLmhhbmRsZVN1Ym1pdChvblN1Ym1pdCl9IGNsYXNzTmFtZT1cInNwYWNlLXktOFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDQqNCw0LMgMTog0JrQsNGC0LXQs9C+0YDQuNGPICovfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9e2Zvcm0uY29udHJvbH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY2F0ZWdvcnlJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoeyBmaWVsZCB9KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTGFiZWw+0JrQsNGC0LXQs9C+0YDQuNGPPC9Gb3JtTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0IG9uVmFsdWVDaGFuZ2U9e2ZpZWxkLm9uQ2hhbmdlfSBkZWZhdWx0VmFsdWU9e2ZpZWxkLnZhbHVlfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RUcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFZhbHVlIHBsYWNlaG9sZGVyPVwi0JLRi9Cx0LXRgNC40YLQtSDQutCw0YLQtdCz0L7RgNC40Y4g0YPRgdC70YPQs9C4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RUcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJdGVtIHZhbHVlPVwiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwXCI+0JHQtdC3INC60LDRgtC10LPQvtGA0LjQuCAo0JvRjtCx0LDRjyk8L1NlbGVjdEl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYXRlZ29yaWVzLm1hcCgoYykgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0ga2V5PXtjLmlkfSB2YWx1ZT17Yy5pZH0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2MubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0SXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybURlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCS0YvQsdC10YDQuNGC0LUg0YDQsNC30LTQtdC7LCDQsiDQutC+0YLQvtGA0L7QvCDQutC70LjQtdC90YLRiyDRgdC80L7Qs9GD0YIg0L3QsNC50YLQuCDQstCw0YjRgyDRg9GB0LvRg9Cz0YMuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1EZXNjcmlwdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTWVzc2FnZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDQqNCw0LMgMjog0JHQsNC30LAgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtRmllbGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbD17Zm9ybS5jb250cm9sfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwidGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyh7IGZpZWxkIH0pID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPtCd0LDQt9Cy0LDQvdC40LUg0YPRgdC70YPQs9C4PC9Gb3JtTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgcGxhY2Vob2xkZXI9XCLQndCw0L/RgNC40LzQtdGAOiDQoNC10LzQvtC90YIg0LrQstCw0YDRgtC40YAg0L/QvtC0INC60LvRjtGHXCIgey4uLmZpZWxkfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1NZXNzYWdlIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtRmllbGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbD17Zm9ybS5jb250cm9sfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyh7IGZpZWxkIH0pID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPtCe0L/QuNGB0LDQvdC40LU8L0Zvcm1MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0YXJlYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLQlNC10YLQsNC70YzQvdC+INC+0L/QuNGI0LjRgtC1LCDRh9GC0L4g0LLQutC70Y7Rh9Cw0LXRgiDQstCw0YjQsCDRg9GB0LvRg9Cz0LAuLi5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibWluLWgtWzEyMHB4XVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4uZmllbGR9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybU1lc3NhZ2UgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDQqNCw0LMgMzog0KbQtdC90LAgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUZpZWxkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9e2Zvcm0uY29udHJvbH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInByaWNlLmFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KHsgZmllbGQgfSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTGFiZWw+0KHRgtC+0LjQvNC+0YHRgtGMICjigr0pPC9Gb3JtTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgdHlwZT1cIm51bWJlclwiIHBsYWNlaG9sZGVyPVwiMFwiIHsuLi5maWVsZH0gb25DaGFuZ2U9e2UgPT4gZmllbGQub25DaGFuZ2UoTnVtYmVyKGUudGFyZ2V0LnZhbHVlKSl9IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybU1lc3NhZ2UgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtmb3JtLmNvbnRyb2x9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJwcmljZS50eXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoeyBmaWVsZCB9KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1MYWJlbD7QotC40L8g0YbQtdC90Ys8L0Zvcm1MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0IG9uVmFsdWVDaGFuZ2U9eyh2KSA9PiBmaWVsZC5vbkNoYW5nZShwYXJzZUludCh2KSl9IGRlZmF1bHRWYWx1ZT17ZmllbGQudmFsdWUudG9TdHJpbmcoKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RUcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RWYWx1ZSBwbGFjZWhvbGRlcj1cItCi0LjQvyDQvtC/0LvQsNGC0YtcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RUcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0Q29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJdGVtIHZhbHVlPVwiMFwiPtCk0LjQutGB0LjRgNC+0LLQsNC90L3QsNGPPC9TZWxlY3RJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0gdmFsdWU9XCIxXCI+0J/QvtGH0LDRgdC+0LLQsNGPPC9TZWxlY3RJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0gdmFsdWU9XCIyXCI+0JTQvtCz0L7QstC+0YDQvdCw0Y88L1NlbGVjdEl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0Q29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybU1lc3NhZ2UgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDQqNCw0LMgNDog0JTQuNC90LDQvNC40YfQtdGB0LrQuNC1INCw0YLRgNC40LHRg9GC0YsgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIGxlYWRpbmctbm9uZSBtYi0xXCI+0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDRhdCw0YDQsNC60YLQtdGA0LjRgdGC0LjQutC4PC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+0JTQvtCx0LDQstGM0YLQtSDQstCw0LbQvdGL0LUg0LTQtdGC0LDQu9C4IChcItCe0L/Ri9GCXCIsIFwi0JPQsNGA0LDQvdGC0LjRj1wiKTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGFwcGVuZCh7IGtleTogXCJcIiwgdmFsdWU6IFwiXCIgfSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQbHVzIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQlNC+0LHQsNCy0LjRgtGMXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZmllbGRzLm1hcCgoZmllbGQsIGluZGV4KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGtleT17ZmllbGQuaWR9IGNsYXNzTmFtZT1cImZsZXggZ2FwLTMgaXRlbXMtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUZpZWxkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9e2Zvcm0uY29udHJvbH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17YGF0dHJpYnV0ZXMuJHtpbmRleH0ua2V5YH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoeyBmaWVsZDogaW5wdXRGaWVsZCB9KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUl0ZW0gY2xhc3NOYW1lPVwiZmxleC0xIHNwYWNlLXktMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0IHBsYWNlaG9sZGVyPVwi0J3QsNC/0YDQuNC80LXRgDog0JPQsNGA0LDQvdGC0LjRj1wiIHsuLi5pbnB1dEZpZWxkfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1NZXNzYWdlIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtmb3JtLmNvbnRyb2x9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2BhdHRyaWJ1dGVzLiR7aW5kZXh9LnZhbHVlYH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXsoeyBmaWVsZDogaW5wdXRGaWVsZCB9KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUl0ZW0gY2xhc3NOYW1lPVwiZmxleC0xIHNwYWNlLXktMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0IHBsYWNlaG9sZGVyPVwi0J3QsNC/0YDQuNC80LXRgDogMSDQs9C+0LRcIiB7Li4uaW5wdXRGaWVsZH0gLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTWVzc2FnZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJpY29uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1kZXN0cnVjdGl2ZSBoLTkgdy05IGZsZXgtc2hyaW5rLTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiByZW1vdmUoaW5kZXgpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRyYXNoMiBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2ZpZWxkcy5sZW5ndGggPT09IDAgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQgdGV4dC1jZW50ZXIgcHktNCBiZy1tdXRlZC81MCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItZGFzaGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J3QtdGCINC00L7QsdCw0LLQu9C10L3QvdGL0YUg0YXQsNGA0LDQutGC0LXRgNC40YHRgtC40LpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDQqNCw0LMgNTog0JjQt9C+0LHRgNCw0LbQtdC90LjRjyAqL31cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIGxlYWRpbmctbm9uZSBtYi0xXCI+0JjQt9C+0LHRgNCw0LbQtdC90LjRjyAo0LzQsNC60YHQuNC80YPQvCAxMCk8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPtCf0LXRgNCy0L7QtSDRhNC+0YLQviDRgdGC0LDQvdC10YIg0LPQu9Cw0LLQvdGL0Lwg0LTQu9GPINC60LDRgNGC0L7Rh9C60Lgg0YPRgdC70YPQs9C4LjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUZpZWxkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9e2Zvcm0uY29udHJvbH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImltYWdlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KHsgZmllbGQgfSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlVXBsb2FkZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmaWVsZC52YWx1ZSB8fCBbXX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtmaWVsZC5vbkNoYW5nZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTWVzc2FnZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktZW5kIHB0LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1yLTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiByb3V0ZXIucHVzaChcIi9kYXNoYm9hcmQvb2ZmZXJzXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J7RgtC80LXQvdCwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwic3VibWl0XCIgZGlzYWJsZWQ9e2lzU3VibWl0dGluZ30+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc1N1Ym1pdHRpbmcgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNCBhbmltYXRlLXNwaW5cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCh0L7RhdGA0LDQvdC10L3QuNC1Li4uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwi0KHQvtC30LTQsNGC0Ywg0YPRgdC70YPQs9GDXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICAgICAgPC9DYXJkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJ1c2VSb3V0ZXIiLCJ6b2RSZXNvbHZlciIsInVzZUZvcm0iLCJ1c2VGaWVsZEFycmF5IiwieiIsIkJ1dHRvbiIsIkZvcm0iLCJGb3JtQ29udHJvbCIsIkZvcm1EZXNjcmlwdGlvbiIsIkZvcm1GaWVsZCIsIkZvcm1JdGVtIiwiRm9ybUxhYmVsIiwiRm9ybU1lc3NhZ2UiLCJJbnB1dCIsIlRleHRhcmVhIiwiU2VsZWN0IiwiU2VsZWN0Q29udGVudCIsIlNlbGVjdEl0ZW0iLCJTZWxlY3RUcmlnZ2VyIiwiU2VsZWN0VmFsdWUiLCJDYXJkIiwiQ2FyZENvbnRlbnQiLCJDYXJkRGVzY3JpcHRpb24iLCJDYXJkSGVhZGVyIiwiQ2FyZFRpdGxlIiwidG9hc3QiLCJMb2FkZXIyIiwiUGx1cyIsIlRyYXNoMiIsImdldENhdGVnb3JpZXMiLCJjcmVhdGVPZmZlciIsInVzZVNlc3Npb25TdG9yZSIsIkltYWdlVXBsb2FkZXIiLCJmb3JtU2NoZW1hIiwib2JqZWN0IiwiY2F0ZWdvcnlJZCIsInN0cmluZyIsIm1pbiIsInRpdGxlIiwibWF4IiwiZGVzY3JpcHRpb24iLCJwcmljZSIsImFtb3VudCIsIm51bWJlciIsInR5cGUiLCJpbnQiLCJhdHRyaWJ1dGVzIiwiYXJyYXkiLCJrZXkiLCJ2YWx1ZSIsIm9wdGlvbmFsIiwiaW1hZ2VzIiwiQ3JlYXRlT2ZmZXJQYWdlIiwicm91dGVyIiwidXNlciIsImlzQXV0aCIsImNhdGVnb3JpZXMiLCJzZXRDYXRlZ29yaWVzIiwibG9hZGluZyIsInNldExvYWRpbmciLCJpc1N1Ym1pdHRpbmciLCJzZXRJc1N1Ym1pdHRpbmciLCJmb3JtIiwicmVzb2x2ZXIiLCJkZWZhdWx0VmFsdWVzIiwiZmllbGRzIiwiYXBwZW5kIiwicmVtb3ZlIiwibmFtZSIsImNvbnRyb2wiLCJpc1BlcmZvcm1lciIsInJvbGVzIiwic29tZSIsInIiLCJpbmNsdWRlcyIsImVycm9yIiwicHVzaCIsImZldGNoQ2F0ZWdvcmllcyIsImRhdGEiLCJvblN1Ym1pdCIsImF0dHJpYnV0ZXNPYmoiLCJyZWR1Y2UiLCJhY2MiLCJjdXJyIiwidHJpbSIsInN1Y2Nlc3MiLCJkaXYiLCJjbGFzc05hbWUiLCJoYW5kbGVTdWJtaXQiLCJyZW5kZXIiLCJmaWVsZCIsIm9uVmFsdWVDaGFuZ2UiLCJvbkNoYW5nZSIsImRlZmF1bHRWYWx1ZSIsInBsYWNlaG9sZGVyIiwibWFwIiwiYyIsImlkIiwiZSIsIk51bWJlciIsInRhcmdldCIsInYiLCJwYXJzZUludCIsInRvU3RyaW5nIiwiaDMiLCJwIiwidmFyaWFudCIsInNpemUiLCJvbkNsaWNrIiwiaW5kZXgiLCJpbnB1dEZpZWxkIiwibGVuZ3RoIiwiZGlzYWJsZWQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/app/dashboard/offers/create/page.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* __next_internal_client_entry_do_not_use__ AuthProvider auto */ \n\n\n\nfunction AuthProvider({ children }) {\n const { checkAuth, isInitialized } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_2__.useSessionStore)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AuthProvider.useEffect\": ()=>{\n // Проверяем авторизацию при загрузке приложения\n checkAuth();\n }\n }[\"AuthProvider.useEffect\"], [\n checkAuth\n ]);\n // Показываем загрузку только на первой проверке\n if (!isInitialized) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-blue-600\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 19,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: children\n }, void 0, false);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hdXRoL0F1dGhQcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFaUM7QUFDeUI7QUFDcEI7QUFFL0IsU0FBU0csYUFBYSxFQUFFQyxRQUFRLEVBQWlDO0lBQ3BFLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUUsR0FBR0wsd0VBQWVBO0lBRXBERCxnREFBU0E7a0NBQUM7WUFDTixnREFBZ0Q7WUFDaERLO1FBQ0o7aUNBQUc7UUFBQ0E7S0FBVTtJQUVkLGdEQUFnRDtJQUNoRCxJQUFJLENBQUNDLGVBQWU7UUFDaEIscUJBQ0ksOERBQUNDO1lBQUlDLFdBQVU7c0JBQ1gsNEVBQUNOLG1GQUFPQTtnQkFBQ00sV0FBVTs7Ozs7Ozs7Ozs7SUFHL0I7SUFFQSxxQkFBTztrQkFBR0o7O0FBQ2QiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXGF1dGhcXEF1dGhQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxuaW1wb3J0IHsgTG9hZGVyMiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuXG5leHBvcnQgZnVuY3Rpb24gQXV0aFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICBjb25zdCB7IGNoZWNrQXV0aCwgaXNJbml0aWFsaXplZCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNGOINC/0YDQuCDQt9Cw0LPRgNGD0LfQutC1INC/0YDQuNC70L7QttC10L3QuNGPXG4gICAgICAgIGNoZWNrQXV0aCgpXG4gICAgfSwgW2NoZWNrQXV0aF0pXG5cbiAgICAvLyDQn9C+0LrQsNC30YvQstCw0LXQvCDQt9Cw0LPRgNGD0LfQutGDINGC0L7Qu9GM0LrQviDQvdCwINC/0LXRgNCy0L7QuSDQv9GA0L7QstC10YDQutC1XG4gICAgaWYgKCFpc0luaXRpYWxpemVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggbWluLWgtc2NyZWVuIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cImgtOCB3LTggYW5pbWF0ZS1zcGluIHRleHQtYmx1ZS02MDBcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU2Vzc2lvblN0b3JlIiwiTG9hZGVyMiIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwiY2hlY2tBdXRoIiwiaXNJbml0aWFsaXplZCIsImRpdiIsImNsYXNzTmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/auth/AuthProvider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/mode-toggle.tsx": -/*!**********************************************!*\ - !*** ./src/components/theme/mode-toggle.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModeToggle: () => (/* binding */ ModeToggle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/sun.js\");\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/moon.js\");\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* __next_internal_client_entry_do_not_use__ ModeToggle auto */ \n\n\n\n\n\nfunction ModeToggle() {\n const { setTheme } = (0,next_themes__WEBPACK_IMPORTED_MODULE_2__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"outline\",\n size: \"icon\",\n className: \"rounded-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 22,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 23,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Toggle theme\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 24,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 21,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuContent, {\n align: \"end\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"light\"),\n children: \"Светлая\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 28,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"dark\"),\n children: \"Темная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 31,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"system\"),\n children: \"Системная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 27,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS9tb2RlLXRvZ2dsZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFOEI7QUFDVTtBQUNGO0FBRVM7QUFNVDtBQUUvQixTQUFTUztJQUNaLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdQLHFEQUFRQTtJQUU3QixxQkFDSSw4REFBQ0Usc0VBQVlBOzswQkFDVCw4REFBQ0csNkVBQW1CQTtnQkFBQ0csT0FBTzswQkFDeEIsNEVBQUNQLHlEQUFNQTtvQkFBQ1EsU0FBUTtvQkFBVUMsTUFBSztvQkFBT0MsV0FBVTs7c0NBQzVDLDhEQUFDWixvRkFBR0E7NEJBQUNZLFdBQVU7Ozs7OztzQ0FDZiw4REFBQ2Isb0ZBQUlBOzRCQUFDYSxXQUFVOzs7Ozs7c0NBQ2hCLDhEQUFDQzs0QkFBS0QsV0FBVTtzQ0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBR2xDLDhEQUFDUiw2RUFBbUJBO2dCQUFDVSxPQUFNOztrQ0FDdkIsOERBQUNULDBFQUFnQkE7d0JBQUNVLFNBQVMsSUFBTVAsU0FBUztrQ0FBVTs7Ozs7O2tDQUdwRCw4REFBQ0gsMEVBQWdCQTt3QkFBQ1UsU0FBUyxJQUFNUCxTQUFTO2tDQUFTOzs7Ozs7a0NBR25ELDhEQUFDSCwwRUFBZ0JBO3dCQUFDVSxTQUFTLElBQU1QLFNBQVM7a0NBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1yRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdGhlbWVcXG1vZGUtdG9nZ2xlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgTW9vbiwgU3VuIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuXHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCJcclxuaW1wb3J0IHtcclxuICAgIERyb3Bkb3duTWVudSxcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2Ryb3Bkb3duLW1lbnVcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVUb2dnbGUoKSB7XHJcbiAgICBjb25zdCB7IHNldFRoZW1lIH0gPSB1c2VUaGVtZSgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51VHJpZ2dlciBhc0NoaWxkPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiIHNpemU9XCJpY29uXCIgY2xhc3NOYW1lPVwicm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFN1biBjbGFzc05hbWU9XCJoLVsxLjJyZW1dIHctWzEuMnJlbV0gcm90YXRlLTAgc2NhbGUtMTAwIHRyYW5zaXRpb24tYWxsIGRhcms6LXJvdGF0ZS05MCBkYXJrOnNjYWxlLTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxNb29uIGNsYXNzTmFtZT1cImFic29sdXRlIGgtWzEuMnJlbV0gdy1bMS4ycmVtXSByb3RhdGUtOTAgc2NhbGUtMCB0cmFuc2l0aW9uLWFsbCBkYXJrOnJvdGF0ZS0wIGRhcms6c2NhbGUtMTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+VG9nZ2xlIHRoZW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51VHJpZ2dlcj5cclxuICAgICAgICAgICAgPERyb3Bkb3duTWVudUNvbnRlbnQgYWxpZ249XCJlbmRcIj5cclxuICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIG9uQ2xpY2s9eygpID0+IHNldFRoZW1lKFwibGlnaHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LLQtdGC0LvQsNGPXHJcbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51SXRlbSBvbkNsaWNrPXsoKSA9PiBzZXRUaGVtZShcImRhcmtcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCi0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gb25DbGljaz17KCkgPT4gc2V0VGhlbWUoXCJzeXN0ZW1cIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LjRgdGC0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgPC9Ecm9wZG93bk1lbnU+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiTW9vbiIsIlN1biIsInVzZVRoZW1lIiwiQnV0dG9uIiwiRHJvcGRvd25NZW51IiwiRHJvcGRvd25NZW51Q29udGVudCIsIkRyb3Bkb3duTWVudUl0ZW0iLCJEcm9wZG93bk1lbnVUcmlnZ2VyIiwiTW9kZVRvZ2dsZSIsInNldFRoZW1lIiwiYXNDaGlsZCIsInZhcmlhbnQiLCJzaXplIiwiY2xhc3NOYW1lIiwic3BhbiIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/mode-toggle.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ ThemeProvider auto */ \n\n\nfunction ThemeProvider({ children, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_themes__WEBPACK_IMPORTED_MODULE_2__.ThemeProvider, {\n ...props,\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\theme-provider.tsx\",\n lineNumber: 8,\n columnNumber: 12\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS90aGVtZS1wcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUU4QjtBQUNtQztBQUcxRCxTQUFTQyxjQUFjLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUEyQjtJQUNwRSxxQkFBTyw4REFBQ0Ysc0RBQWtCQTtRQUFFLEdBQUdFLEtBQUs7a0JBQUdEOzs7Ozs7QUFDM0MiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHRoZW1lXFx0aGVtZS1wcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgYXMgTmV4dFRoZW1lc1Byb3ZpZGVyIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuaW1wb3J0IHsgdHlwZSBUaGVtZVByb3ZpZGVyUHJvcHMgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIoeyBjaGlsZHJlbiwgLi4ucHJvcHMgfTogVGhlbWVQcm92aWRlclByb3BzKSB7XHJcbiAgICByZXR1cm4gPE5leHRUaGVtZXNQcm92aWRlciB7Li4ucHJvcHN9PntjaGlsZHJlbn08L05leHRUaGVtZXNQcm92aWRlcj5cclxufVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUaGVtZVByb3ZpZGVyIiwiTmV4dFRoZW1lc1Byb3ZpZGVyIiwiY2hpbGRyZW4iLCJwcm9wcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/theme-provider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/button.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/button.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ buttonVariants: () => (/* binding */ buttonVariants)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst buttonVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n});\nconst Button = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, size, asChild = false, ...props }, ref)=>{\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot : \"button\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Comp, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(buttonVariants({\n variant,\n size,\n className\n })),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\button.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, undefined);\n});\nButton.displayName = \"Button\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9idXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDYTtBQUNzQjtBQUUxQjtBQUV2QyxNQUFNSSxpQkFBaUJGLDZEQUFHQSxDQUN0Qiw0VkFDQTtJQUNJRyxVQUFVO1FBQ05DLFNBQVM7WUFDTEMsU0FBUztZQUNUQyxhQUNJO1lBQ0pDLFNBQ0k7WUFDSkMsV0FDSTtZQUNKQyxPQUFPO1lBQ1BDLE1BQU07UUFDVjtRQUNBQyxNQUFNO1lBQ0ZOLFNBQVM7WUFDVE8sSUFBSTtZQUNKQyxJQUFJO1lBQ0pDLE1BQU07UUFDVjtJQUNKO0lBQ0FDLGlCQUFpQjtRQUNiWCxTQUFTO1FBQ1RPLE1BQU07SUFDVjtBQUNKO0FBU0osTUFBTUssdUJBQVNsQiw2Q0FBZ0IsQ0FDM0IsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFZCxPQUFPLEVBQUVPLElBQUksRUFBRVEsVUFBVSxLQUFLLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUN0RCxNQUFNQyxPQUFPSCxVQUFVcEIsc0RBQUlBLEdBQUc7SUFDOUIscUJBQ0ksOERBQUN1QjtRQUNHSixXQUFXakIscURBQUVBLENBQUNDLGVBQWU7WUFBRUU7WUFBU087WUFBTU87UUFBVTtRQUN4REcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosT0FBT08sV0FBVyxHQUFHO0FBRVkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxidXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIlxyXG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgYnV0dG9uVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIFsmX3N2Z106cG9pbnRlci1ldmVudHMtbm9uZSBbJl9zdmddOnNpemUtNCBbJl9zdmddOnNocmluay0wXCIsXHJcbiAgICB7XHJcbiAgICAgICAgdmFyaWFudHM6IHtcclxuICAgICAgICAgICAgdmFyaWFudDoge1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogXCJiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkvOTBcIixcclxuICAgICAgICAgICAgICAgIGRlc3RydWN0aXZlOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIGhvdmVyOmJnLWRlc3RydWN0aXZlLzkwXCIsXHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICAgICAgXCJiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1zZWNvbmRhcnkvODBcIixcclxuICAgICAgICAgICAgICAgIGdob3N0OiBcImhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBcInRleHQtcHJpbWFyeSB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lXCIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNpemU6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFwiaC0xMCBweC00IHB5LTJcIixcclxuICAgICAgICAgICAgICAgIHNtOiBcImgtOSByb3VuZGVkLW1kIHB4LTNcIixcclxuICAgICAgICAgICAgICAgIGxnOiBcImgtMTEgcm91bmRlZC1tZCBweC04XCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImgtMTAgdy0xMFwiLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVmYXVsdFZhcmlhbnRzOiB7XHJcbiAgICAgICAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICBzaXplOiBcImRlZmF1bHRcIixcclxuICAgICAgICB9LFxyXG4gICAgfVxyXG4pXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzXHJcbiAgICBleHRlbmRzIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PixcclxuICAgIFZhcmlhbnRQcm9wczx0eXBlb2YgYnV0dG9uVmFyaWFudHM+IHtcclxuICAgIGFzQ2hpbGQ/OiBib29sZWFuXHJcbn1cclxuXHJcbmNvbnN0IEJ1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihcclxuICAgICh7IGNsYXNzTmFtZSwgdmFyaWFudCwgc2l6ZSwgYXNDaGlsZCA9IGZhbHNlLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgICAgICBjb25zdCBDb21wID0gYXNDaGlsZCA/IFNsb3QgOiBcImJ1dHRvblwiXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPENvbXBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oYnV0dG9uVmFyaWFudHMoeyB2YXJpYW50LCBzaXplLCBjbGFzc05hbWUgfSkpfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbkJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiQnV0dG9uXCJcclxuXHJcbmV4cG9ydCB7IEJ1dHRvbiwgYnV0dG9uVmFyaWFudHMgfVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTbG90IiwiY3ZhIiwiY24iLCJidXR0b25WYXJpYW50cyIsInZhcmlhbnRzIiwidmFyaWFudCIsImRlZmF1bHQiLCJkZXN0cnVjdGl2ZSIsIm91dGxpbmUiLCJzZWNvbmRhcnkiLCJnaG9zdCIsImxpbmsiLCJzaXplIiwic20iLCJsZyIsImljb24iLCJkZWZhdWx0VmFyaWFudHMiLCJCdXR0b24iLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiYXNDaGlsZCIsInByb3BzIiwicmVmIiwiQ29tcCIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/button.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/card.tsx": -/*!************************************!*\ - !*** ./src/components/ui/card.tsx ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Card: () => (/* binding */ Card),\n/* harmony export */ CardContent: () => (/* binding */ CardContent),\n/* harmony export */ CardDescription: () => (/* binding */ CardDescription),\n/* harmony export */ CardFooter: () => (/* binding */ CardFooter),\n/* harmony export */ CardHeader: () => (/* binding */ CardHeader),\n/* harmony export */ CardTitle: () => (/* binding */ CardTitle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Card = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"rounded-lg border bg-card text-card-foreground shadow-sm\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 8,\n columnNumber: 5\n }, undefined));\nCard.displayName = \"Card\";\nconst CardHeader = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex flex-col space-y-1.5 p-6\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 23,\n columnNumber: 5\n }, undefined));\nCardHeader.displayName = \"CardHeader\";\nconst CardTitle = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-2xl font-semibold leading-none tracking-tight\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 35,\n columnNumber: 5\n }, undefined));\nCardTitle.displayName = \"CardTitle\";\nconst CardDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm text-muted-foreground\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 50,\n columnNumber: 5\n }, undefined));\nCardDescription.displayName = \"CardDescription\";\nconst CardContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"p-6 pt-0\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 62,\n columnNumber: 5\n }, undefined));\nCardContent.displayName = \"CardContent\";\nconst CardFooter = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center p-6 pt-0\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 70,\n columnNumber: 5\n }, undefined));\nCardFooter.displayName = \"CardFooter\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9jYXJkLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDUztBQUV2QyxNQUFNRSxxQkFBT0YsNkNBQWdCLENBRzNCLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FDVCw0REFDQUc7UUFFSCxHQUFHQyxLQUFLOzs7Ozs7QUFHakJILEtBQUtNLFdBQVcsR0FBRztBQUVuQixNQUFNQywyQkFBYVQsNkNBQWdCLENBR2pDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyxpQ0FBaUNHO1FBQzlDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQkksV0FBV0QsV0FBVyxHQUFHO0FBRXpCLE1BQU1FLDBCQUFZViw2Q0FBZ0IsQ0FHaEMsQ0FBQyxFQUFFSSxTQUFTLEVBQUUsR0FBR0MsT0FBTyxFQUFFQyxvQkFDeEIsOERBQUNLO1FBQ0dMLEtBQUtBO1FBQ0xGLFdBQVdILHFEQUFFQSxDQUNULHNEQUNBRztRQUVILEdBQUdDLEtBQUs7Ozs7OztBQUdqQkssVUFBVUYsV0FBVyxHQUFHO0FBRXhCLE1BQU1JLGdDQUFrQlosNkNBQWdCLENBR3RDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDTztRQUNHUCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyxpQ0FBaUNHO1FBQzlDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQk8sZ0JBQWdCSixXQUFXLEdBQUc7QUFFOUIsTUFBTU0sNEJBQWNkLDZDQUFnQixDQUdsQyxDQUFDLEVBQUVJLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ0M7UUFBSUQsS0FBS0E7UUFBS0YsV0FBV0gscURBQUVBLENBQUMsWUFBWUc7UUFBYSxHQUFHQyxLQUFLOzs7Ozs7QUFFbEVTLFlBQVlOLFdBQVcsR0FBRztBQUUxQixNQUFNTywyQkFBYWYsNkNBQWdCLENBR2pDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyw4QkFBOEJHO1FBQzNDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQlUsV0FBV1AsV0FBVyxHQUFHO0FBRXVEIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcY2FyZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IENhcmQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgIFwicm91bmRlZC1sZyBib3JkZXIgYmctY2FyZCB0ZXh0LWNhcmQtZm9yZWdyb3VuZCBzaGFkb3ctc21cIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAvPlxyXG4pKVxyXG5DYXJkLmRpc3BsYXlOYW1lID0gXCJDYXJkXCJcclxuXHJcbmNvbnN0IENhcmRIZWFkZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGZsZXgtY29sIHNwYWNlLXktMS41IHAtNlwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkNhcmRIZWFkZXIuZGlzcGxheU5hbWUgPSBcIkNhcmRIZWFkZXJcIlxyXG5cclxuY29uc3QgQ2FyZFRpdGxlID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIEhUTUxQYXJhZ3JhcGhFbGVtZW50LFxyXG4gICAgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTEhlYWRpbmdFbGVtZW50PlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8aDNcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInRleHQtMnhsIGZvbnQtc2VtaWJvbGQgbGVhZGluZy1ub25lIHRyYWNraW5nLXRpZ2h0XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuQ2FyZFRpdGxlLmRpc3BsYXlOYW1lID0gXCJDYXJkVGl0bGVcIlxyXG5cclxuY29uc3QgQ2FyZERlc2NyaXB0aW9uID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIEhUTUxQYXJhZ3JhcGhFbGVtZW50LFxyXG4gICAgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFBhcmFncmFwaEVsZW1lbnQ+XHJcbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxwXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuQ2FyZERlc2NyaXB0aW9uLmRpc3BsYXlOYW1lID0gXCJDYXJkRGVzY3JpcHRpb25cIlxyXG5cclxuY29uc3QgQ2FyZENvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdiByZWY9e3JlZn0gY2xhc3NOYW1lPXtjbihcInAtNiBwdC0wXCIsIGNsYXNzTmFtZSl9IHsuLi5wcm9wc30gLz5cclxuKSlcclxuQ2FyZENvbnRlbnQuZGlzcGxheU5hbWUgPSBcIkNhcmRDb250ZW50XCJcclxuXHJcbmNvbnN0IENhcmRGb290ZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGl0ZW1zLWNlbnRlciBwLTYgcHQtMFwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkNhcmRGb290ZXIuZGlzcGxheU5hbWUgPSBcIkNhcmRGb290ZXJcIlxyXG5cclxuZXhwb3J0IHsgQ2FyZCwgQ2FyZEhlYWRlciwgQ2FyZEZvb3RlciwgQ2FyZFRpdGxlLCBDYXJkRGVzY3JpcHRpb24sIENhcmRDb250ZW50IH1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY24iLCJDYXJkIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsInByb3BzIiwicmVmIiwiZGl2IiwiZGlzcGxheU5hbWUiLCJDYXJkSGVhZGVyIiwiQ2FyZFRpdGxlIiwiaDMiLCJDYXJkRGVzY3JpcHRpb24iLCJwIiwiQ2FyZENvbnRlbnQiLCJDYXJkRm9vdGVyIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/card.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/dropdown-menu.tsx": -/*!*********************************************!*\ - !*** ./src/components/ui/dropdown-menu.tsx ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropdownMenu: () => (/* binding */ DropdownMenu),\n/* harmony export */ DropdownMenuCheckboxItem: () => (/* binding */ DropdownMenuCheckboxItem),\n/* harmony export */ DropdownMenuContent: () => (/* binding */ DropdownMenuContent),\n/* harmony export */ DropdownMenuGroup: () => (/* binding */ DropdownMenuGroup),\n/* harmony export */ DropdownMenuItem: () => (/* binding */ DropdownMenuItem),\n/* harmony export */ DropdownMenuLabel: () => (/* binding */ DropdownMenuLabel),\n/* harmony export */ DropdownMenuPortal: () => (/* binding */ DropdownMenuPortal),\n/* harmony export */ DropdownMenuRadioGroup: () => (/* binding */ DropdownMenuRadioGroup),\n/* harmony export */ DropdownMenuRadioItem: () => (/* binding */ DropdownMenuRadioItem),\n/* harmony export */ DropdownMenuSeparator: () => (/* binding */ DropdownMenuSeparator),\n/* harmony export */ DropdownMenuShortcut: () => (/* binding */ DropdownMenuShortcut),\n/* harmony export */ DropdownMenuSub: () => (/* binding */ DropdownMenuSub),\n/* harmony export */ DropdownMenuSubContent: () => (/* binding */ DropdownMenuSubContent),\n/* harmony export */ DropdownMenuSubTrigger: () => (/* binding */ DropdownMenuSubTrigger),\n/* harmony export */ DropdownMenuTrigger: () => (/* binding */ DropdownMenuTrigger)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ \"(ssr)/./node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle.js\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ DropdownMenu,DropdownMenuTrigger,DropdownMenuContent,DropdownMenuItem,DropdownMenuCheckboxItem,DropdownMenuRadioItem,DropdownMenuLabel,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuGroup,DropdownMenuPortal,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuRadioGroup auto */ \n\n\n\n\nconst DropdownMenu = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst DropdownMenuTrigger = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Trigger;\nconst DropdownMenuGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Group;\nconst DropdownMenuPortal = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal;\nconst DropdownMenuSub = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Sub;\nconst DropdownMenuRadioGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioGroup;\nconst DropdownMenuSubTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\", inset && \"pl-8\", className),\n ...props,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-auto h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 27,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubTrigger.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger.displayName;\nconst DropdownMenuSubContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent.displayName;\nconst DropdownMenuContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, sideOffset = 4, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n sideOffset: sideOffset,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 63,\n columnNumber: 5\n }, undefined));\nDropdownMenuContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\nconst DropdownMenuItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 83,\n columnNumber: 5\n }, undefined));\nDropdownMenuItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item.displayName;\nconst DropdownMenuCheckboxItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, checked, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n checked: checked,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 109,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 108,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 99,\n columnNumber: 5\n }, undefined));\nDropdownMenuCheckboxItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem.displayName;\nconst DropdownMenuRadioItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-2 w-2 fill-current\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 133,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 132,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 123,\n columnNumber: 5\n }, undefined));\nDropdownMenuRadioItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem.displayName;\nconst DropdownMenuLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 147,\n columnNumber: 5\n }, undefined));\nDropdownMenuLabel.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label.displayName;\nconst DropdownMenuSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 163,\n columnNumber: 5\n }, undefined));\nDropdownMenuSeparator.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator.displayName;\nconst DropdownMenuShortcut = ({ className, ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"ml-auto text-xs tracking-widest opacity-60\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 176,\n columnNumber: 9\n }, undefined);\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRThCO0FBQ3dDO0FBQ1o7QUFFbkI7QUFFdkMsTUFBTU0sZUFBZUwsK0RBQTBCO0FBRS9DLE1BQU1PLHNCQUFzQlAsa0VBQTZCO0FBRXpELE1BQU1TLG9CQUFvQlQsZ0VBQTJCO0FBRXJELE1BQU1XLHFCQUFxQlgsaUVBQTRCO0FBRXZELE1BQU1hLGtCQUFrQmIsOERBQXlCO0FBRWpELE1BQU1lLHlCQUF5QmYscUVBQWdDO0FBRS9ELE1BQU1pQix1Q0FBeUJsQiw2Q0FBZ0IsQ0FLN0MsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN6Qyw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdJQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7O1lBRVJEOzBCQUNELDhEQUFDbkIscUdBQVlBO2dCQUFDaUIsV0FBVTs7Ozs7Ozs7Ozs7O0FBR2hDRix1QkFBdUJRLFdBQVcsR0FDOUJ6QixxRUFBZ0MsQ0FBQ3lCLFdBQVc7QUFFaEQsTUFBTUMsdUNBQXlCM0IsNkNBQWdCLENBRzdDLENBQUMsRUFBRW9CLFNBQVMsRUFBRSxHQUFHRyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHliQUNBZTtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQkksdUJBQXVCRCxXQUFXLEdBQzlCekIscUVBQWdDLENBQUN5QixXQUFXO0FBRWhELE1BQU1HLG9DQUFzQjdCLDZDQUFnQixDQUcxQyxDQUFDLEVBQUVvQixTQUFTLEVBQUVVLGFBQWEsQ0FBQyxFQUFFLEdBQUdQLE9BQU8sRUFBRUMsb0JBQ3hDLDhEQUFDdkIsaUVBQTRCO2tCQUN6Qiw0RUFBQ0Esa0VBQTZCO1lBQzFCdUIsS0FBS0E7WUFDTE0sWUFBWUE7WUFDWlYsV0FBV2YscURBQUVBLENBQ1QseWJBQ0FlO1lBRUgsR0FBR0csS0FBSzs7Ozs7Ozs7Ozs7QUFJckJNLG9CQUFvQkgsV0FBVyxHQUFHekIsa0VBQTZCLENBQUN5QixXQUFXO0FBRTNFLE1BQU1NLGlDQUFtQmhDLDZDQUFnQixDQUt2QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVDLEtBQUssRUFBRSxHQUFHRSxPQUFPLEVBQUVDLG9CQUMvQiw4REFBQ3ZCLCtEQUEwQjtRQUN2QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULG1PQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQlMsaUJBQWlCTixXQUFXLEdBQUd6QiwrREFBMEIsQ0FBQ3lCLFdBQVc7QUFFckUsTUFBTVEseUNBQTJCbEMsNkNBQWdCLENBRy9DLENBQUMsRUFBRW9CLFNBQVMsRUFBRUUsUUFBUSxFQUFFYSxPQUFPLEVBQUUsR0FBR1osT0FBTyxFQUFFQyxvQkFDM0MsOERBQUN2Qix1RUFBa0M7UUFDL0J1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FDVCx3T0FDQWU7UUFFSmUsU0FBU0E7UUFDUixHQUFHWixLQUFLOzswQkFFVCw4REFBQ2M7Z0JBQUtqQixXQUFVOzBCQUNaLDRFQUFDbkIsd0VBQW1DOzhCQUNoQyw0RUFBQ0MscUdBQUtBO3dCQUFDa0IsV0FBVTs7Ozs7Ozs7Ozs7Ozs7OztZQUd4QkU7Ozs7Ozs7QUFHVFkseUJBQXlCUixXQUFXLEdBQ2hDekIsdUVBQWtDLENBQUN5QixXQUFXO0FBRWxELE1BQU1hLHNDQUF3QnZDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUNsQyw4REFBQ3ZCLG9FQUErQjtRQUM1QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdPQUNBZTtRQUVILEdBQUdHLEtBQUs7OzBCQUVULDhEQUFDYztnQkFBS2pCLFdBQVU7MEJBQ1osNEVBQUNuQix3RUFBbUM7OEJBQ2hDLDRFQUFDRyxxR0FBTUE7d0JBQUNnQixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7O1lBR3pCRTs7Ozs7OztBQUdUaUIsc0JBQXNCYixXQUFXLEdBQUd6QixvRUFBK0IsQ0FBQ3lCLFdBQVc7QUFFL0UsTUFBTWUsa0NBQW9CekMsNkNBQWdCLENBS3hDLENBQUMsRUFBRW9CLFNBQVMsRUFBRUMsS0FBSyxFQUFFLEdBQUdFLE9BQU8sRUFBRUMsb0JBQy9CLDhEQUFDdkIsZ0VBQTJCO1FBQ3hCdUIsS0FBS0E7UUFDTEosV0FBV2YscURBQUVBLENBQ1QscUNBQ0FnQixTQUFTLFFBQ1REO1FBRUgsR0FBR0csS0FBSzs7Ozs7O0FBR2pCa0Isa0JBQWtCZixXQUFXLEdBQUd6QixnRUFBMkIsQ0FBQ3lCLFdBQVc7QUFFdkUsTUFBTWlCLHNDQUF3QjNDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUUsR0FBR0csT0FBTyxFQUFFQyxvQkFDeEIsOERBQUN2QixvRUFBK0I7UUFDNUJ1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FBQyw0QkFBNEJlO1FBQ3pDLEdBQUdHLEtBQUs7Ozs7OztBQUdqQm9CLHNCQUFzQmpCLFdBQVcsR0FBR3pCLG9FQUErQixDQUFDeUIsV0FBVztBQUUvRSxNQUFNbUIsdUJBQXVCLENBQUMsRUFDMUJ6QixTQUFTLEVBQ1QsR0FBR0csT0FDaUM7SUFDcEMscUJBQ0ksOERBQUNjO1FBQ0dqQixXQUFXZixxREFBRUEsQ0FBQyw4Q0FBOENlO1FBQzNELEdBQUdHLEtBQUs7Ozs7OztBQUdyQjtBQUNBc0IscUJBQXFCbkIsV0FBVyxHQUFHO0FBa0JsQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGRyb3Bkb3duLW1lbnUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBEcm9wZG93bk1lbnVQcmltaXRpdmUgZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kcm9wZG93bi1tZW51XCJcclxuaW1wb3J0IHsgQ2hlY2ssIENoZXZyb25SaWdodCwgQ2lyY2xlIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51ID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlJvb3RcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVRyaWdnZXIgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuVHJpZ2dlclxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51R3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuR3JvdXBcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVBvcnRhbCA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Qb3J0YWxcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YiA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvR3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9Hcm91cFxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U3ViVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViVHJpZ2dlcj4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJUcmlnZ2VyPiAmIHtcclxuICAgICAgICBpbnNldD86IGJvb2xlYW5cclxuICAgIH1cclxuPigoeyBjbGFzc05hbWUsIGluc2V0LCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXJcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcImZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHgtMiBweS0xLjUgdGV4dC1zbSBvdXRsaW5lLW5vbmUgZm9jdXM6YmctYWNjZW50IGRhdGEtW3N0YXRlPW9wZW5dOmJnLWFjY2VudFwiLFxyXG4gICAgICAgICAgICBpbnNldCAmJiBcInBsLThcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDxDaGV2cm9uUmlnaHQgY2xhc3NOYW1lPVwibWwtYXV0byBoLTQgdy00XCIgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXI+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YlRyaWdnZXIuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXIuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YkNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJDb250ZW50XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJ6LTUwIG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LWxnIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4gZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAgZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wIGRhdGEtW3N0YXRlPWNsb3NlZF06em9vbS1vdXQtOTUgZGF0YS1bc3RhdGU9b3Blbl06em9vbS1pbi05NSBkYXRhLVtzaWRlPWJvdHRvbV06c2xpZGUtaW4tZnJvbS10b3AtMiBkYXRhLVtzaWRlPWxlZnRdOnNsaWRlLWluLWZyb20tcmlnaHQtMiBkYXRhLVtzaWRlPXJpZ2h0XTpzbGlkZS1pbi1mcm9tLWxlZnQtMiBkYXRhLVtzaWRlPXRvcF06c2xpZGUtaW4tZnJvbS1ib3R0b20tMlwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YkNvbnRlbnQuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIHNpZGVPZmZzZXQgPSA0LCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUG9ydGFsPlxyXG4gICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudFxyXG4gICAgICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICAgICAgc2lkZU9mZnNldD17c2lkZU9mZnNldH1cclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgIFwiei01MCBtaW4tdy1bOHJlbV0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXBvcG92ZXIgcC0xIHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZCBkYXRhLVtzdGF0ZT1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWNsb3NlZF06YW5pbWF0ZS1vdXQgZGF0YS1bc3RhdGU9Y2xvc2VkXTpmYWRlLW91dC0wIGRhdGEtW3N0YXRlPW9wZW5dOmZhZGUtaW4tMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3N0YXRlPW9wZW5dOnpvb20taW4tOTUgZGF0YS1bc2lkZT1ib3R0b21dOnNsaWRlLWluLWZyb20tdG9wLTIgZGF0YS1bc2lkZT1sZWZ0XTpzbGlkZS1pbi1mcm9tLXJpZ2h0LTIgZGF0YS1bc2lkZT1yaWdodF06c2xpZGUtaW4tZnJvbS1sZWZ0LTIgZGF0YS1bc2lkZT10b3BdOnNsaWRlLWluLWZyb20tYm90dG9tLTJcIixcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlBvcnRhbD5cclxuKSlcclxuRHJvcGRvd25NZW51Q29udGVudC5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Db250ZW50LmRpc3BsYXlOYW1lXHJcblxyXG5jb25zdCBEcm9wZG93bk1lbnVJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW0+ICYge1xyXG4gICAgICAgIGluc2V0PzogYm9vbGVhblxyXG4gICAgfVxyXG4+KCh7IGNsYXNzTmFtZSwgaW5zZXQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB4LTIgcHktMS41IHRleHQtc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgIGluc2V0ICYmIFwicGwtOFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudUl0ZW0uZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbS5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ2hlY2tib3hJdGVtPlxyXG4+KCh7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIGNoZWNrZWQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW1cclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInJlbGF0aXZlIGZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHktMS41IHBsLTggcHItMiB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpiZy1hY2NlbnQgZm9jdXM6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBkYXRhLVtkaXNhYmxlZF06cG9pbnRlci1ldmVudHMtbm9uZSBkYXRhLVtkaXNhYmxlZF06b3BhY2l0eS01MFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICA8Q2hlY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkNoZWNrYm94SXRlbT5cclxuKSlcclxuRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLmRpc3BsYXlOYW1lID1cclxuICAgIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvSXRlbSA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlJhZGlvSXRlbT5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB5LTEuNSBwbC04IHByLTIgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMgZm9jdXM6YmctYWNjZW50IGZvY3VzOnRleHQtYWNjZW50LWZvcmVncm91bmQgZGF0YS1bZGlzYWJsZWRdOnBvaW50ZXItZXZlbnRzLW5vbmUgZGF0YS1bZGlzYWJsZWRdOm9wYWNpdHktNTBcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0yIGZsZXggaC0zLjUgdy0zLjUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbUluZGljYXRvcj5cclxuICAgICAgICAgICAgICAgIDxDaXJjbGUgY2xhc3NOYW1lPVwiaC0yIHctMiBmaWxsLWN1cnJlbnRcIiAvPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0+XHJcbikpXHJcbkRyb3Bkb3duTWVudVJhZGlvSXRlbS5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUxhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4gJiB7XHJcbiAgICAgICAgaW5zZXQ/OiBib29sZWFuXHJcbiAgICB9XHJcbj4oKHsgY2xhc3NOYW1lLCBpbnNldCwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkxhYmVsXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJweC0yIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIixcclxuICAgICAgICAgICAgaW5zZXQgJiYgXCJwbC04XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51TGFiZWwuZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuTGFiZWwuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVNlcGFyYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU2VwYXJhdG9yPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvcj5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TZXBhcmF0b3JcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFwiLW14LTEgbXktMSBoLXB4IGJnLW11dGVkXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51U2VwYXJhdG9yLmRpc3BsYXlOYW1lID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvci5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U2hvcnRjdXQgPSAoe1xyXG4gICAgY2xhc3NOYW1lLFxyXG4gICAgLi4ucHJvcHNcclxufTogUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFNwYW5FbGVtZW50PikgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwibWwtYXV0byB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdCBvcGFjaXR5LTYwXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcbkRyb3Bkb3duTWVudVNob3J0Y3V0LmRpc3BsYXlOYW1lID0gXCJEcm9wZG93bk1lbnVTaG9ydGN1dFwiXHJcblxyXG5leHBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51UmFkaW9JdGVtLFxyXG4gICAgRHJvcGRvd25NZW51TGFiZWwsXHJcbiAgICBEcm9wZG93bk1lbnVTZXBhcmF0b3IsXHJcbiAgICBEcm9wZG93bk1lbnVTaG9ydGN1dCxcclxuICAgIERyb3Bkb3duTWVudUdyb3VwLFxyXG4gICAgRHJvcGRvd25NZW51UG9ydGFsLFxyXG4gICAgRHJvcGRvd25NZW51U3ViLFxyXG4gICAgRHJvcGRvd25NZW51U3ViQ29udGVudCxcclxuICAgIERyb3Bkb3duTWVudVN1YlRyaWdnZXIsXHJcbiAgICBEcm9wZG93bk1lbnVSYWRpb0dyb3VwLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZSIsIkNoZWNrIiwiQ2hldnJvblJpZ2h0IiwiQ2lyY2xlIiwiY24iLCJEcm9wZG93bk1lbnUiLCJSb290IiwiRHJvcGRvd25NZW51VHJpZ2dlciIsIlRyaWdnZXIiLCJEcm9wZG93bk1lbnVHcm91cCIsIkdyb3VwIiwiRHJvcGRvd25NZW51UG9ydGFsIiwiUG9ydGFsIiwiRHJvcGRvd25NZW51U3ViIiwiU3ViIiwiRHJvcGRvd25NZW51UmFkaW9Hcm91cCIsIlJhZGlvR3JvdXAiLCJEcm9wZG93bk1lbnVTdWJUcmlnZ2VyIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImluc2V0IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlN1YlRyaWdnZXIiLCJkaXNwbGF5TmFtZSIsIkRyb3Bkb3duTWVudVN1YkNvbnRlbnQiLCJTdWJDb250ZW50IiwiRHJvcGRvd25NZW51Q29udGVudCIsInNpZGVPZmZzZXQiLCJDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkl0ZW0iLCJEcm9wZG93bk1lbnVDaGVja2JveEl0ZW0iLCJjaGVja2VkIiwiQ2hlY2tib3hJdGVtIiwic3BhbiIsIkl0ZW1JbmRpY2F0b3IiLCJEcm9wZG93bk1lbnVSYWRpb0l0ZW0iLCJSYWRpb0l0ZW0iLCJEcm9wZG93bk1lbnVMYWJlbCIsIkxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiU2VwYXJhdG9yIiwiRHJvcGRvd25NZW51U2hvcnRjdXQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/dropdown-menu.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/form.tsx": -/*!************************************!*\ - !*** ./src/components/ui/form.tsx ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Form: () => (/* binding */ Form),\n/* harmony export */ FormControl: () => (/* binding */ FormControl),\n/* harmony export */ FormDescription: () => (/* binding */ FormDescription),\n/* harmony export */ FormField: () => (/* binding */ FormField),\n/* harmony export */ FormItem: () => (/* binding */ FormItem),\n/* harmony export */ FormLabel: () => (/* binding */ FormLabel),\n/* harmony export */ FormMessage: () => (/* binding */ FormMessage),\n/* harmony export */ useFormField: () => (/* binding */ useFormField)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* harmony import */ var _components_ui_label__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/label */ \"(ssr)/./src/components/ui/label.tsx\");\n/* __next_internal_client_entry_do_not_use__ useFormField,Form,FormItem,FormLabel,FormControl,FormDescription,FormMessage,FormField auto */ \n\n\n\n\n\nconst Form = react_hook_form__WEBPACK_IMPORTED_MODULE_4__.FormProvider;\nconst FormFieldContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.createContext({});\nconst FormField = ({ ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FormFieldContext.Provider, {\n value: {\n name: props.name\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_hook_form__WEBPACK_IMPORTED_MODULE_4__.Controller, {\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 38,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined);\n};\nconst useFormField = ()=>{\n const fieldContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext(FormFieldContext);\n const itemContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext(FormItemContext);\n const { getFieldState, formState } = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_4__.useFormContext)();\n const fieldState = getFieldState(fieldContext.name, formState);\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within \");\n }\n const { id } = itemContext;\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState\n };\n};\nconst FormItemContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.createContext({});\nconst FormItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const id = react__WEBPACK_IMPORTED_MODULE_1__.useId();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FormItemContext.Provider, {\n value: {\n id\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"space-y-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 82,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 81,\n columnNumber: 9\n }, undefined);\n});\nFormItem.displayName = \"FormItem\";\nconst FormLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const { error, formItemId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(error && \"text-destructive\", className),\n htmlFor: formItemId,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 95,\n columnNumber: 9\n }, undefined);\n});\nFormLabel.displayName = \"FormLabel\";\nconst FormControl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ ...props }, ref)=>{\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_5__.Slot, {\n ref: ref,\n id: formItemId,\n \"aria-describedby\": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,\n \"aria-invalid\": !!error,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 112,\n columnNumber: 9\n }, undefined);\n});\nFormControl.displayName = \"FormControl\";\nconst FormDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const { formDescriptionId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n id: formDescriptionId,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm text-muted-foreground\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 134,\n columnNumber: 9\n }, undefined);\n});\nFormDescription.displayName = \"FormDescription\";\nconst FormMessage = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>{\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message) : children;\n if (!body) {\n return null;\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n id: formMessageId,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm font-medium text-destructive\", className),\n ...props,\n children: body\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 156,\n columnNumber: 9\n }, undefined);\n});\nFormMessage.displayName = \"FormMessage\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9mb3JtLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU4QjtBQUNhO0FBUW5CO0FBRWU7QUFDTTtBQUU3QyxNQUFNTyxPQUFPSix5REFBWUE7QUFTekIsTUFBTUssaUNBQW1CUixnREFBbUIsQ0FDeEMsQ0FBQztBQUdMLE1BQU1VLFlBQVksQ0FHaEIsRUFDRSxHQUFHQyxPQUNnQztJQUNuQyxxQkFDSSw4REFBQ0gsaUJBQWlCSSxRQUFRO1FBQUNDLE9BQU87WUFBRUMsTUFBTUgsTUFBTUcsSUFBSTtRQUFDO2tCQUNqRCw0RUFBQ1osdURBQVVBO1lBQUUsR0FBR1MsS0FBSzs7Ozs7Ozs7Ozs7QUFHakM7QUFFQSxNQUFNSSxlQUFlO0lBQ2pCLE1BQU1DLGVBQWVoQiw2Q0FBZ0IsQ0FBQ1E7SUFDdEMsTUFBTVUsY0FBY2xCLDZDQUFnQixDQUFDbUI7SUFDckMsTUFBTSxFQUFFQyxhQUFhLEVBQUVDLFNBQVMsRUFBRSxHQUFHakIsK0RBQWNBO0lBRW5ELE1BQU1rQixhQUFhRixjQUFjSixhQUFhRixJQUFJLEVBQUVPO0lBRXBELElBQUksQ0FBQ0wsY0FBYztRQUNmLE1BQU0sSUFBSU8sTUFBTTtJQUNwQjtJQUVBLE1BQU0sRUFBRUMsRUFBRSxFQUFFLEdBQUdOO0lBRWYsT0FBTztRQUNITTtRQUNBVixNQUFNRSxhQUFhRixJQUFJO1FBQ3ZCVyxZQUFZLEdBQUdELEdBQUcsVUFBVSxDQUFDO1FBQzdCRSxtQkFBbUIsR0FBR0YsR0FBRyxzQkFBc0IsQ0FBQztRQUNoREcsZUFBZSxHQUFHSCxHQUFHLGtCQUFrQixDQUFDO1FBQ3hDLEdBQUdGLFVBQVU7SUFDakI7QUFDSjtBQU1BLE1BQU1ILGdDQUFrQm5CLGdEQUFtQixDQUN2QyxDQUFDO0FBR0wsTUFBTTRCLHlCQUFXNUIsNkNBQWdCLENBRy9CLENBQUMsRUFBRThCLFNBQVMsRUFBRSxHQUFHbkIsT0FBTyxFQUFFb0I7SUFDeEIsTUFBTVAsS0FBS3hCLHdDQUFXO0lBRXRCLHFCQUNJLDhEQUFDbUIsZ0JBQWdCUCxRQUFRO1FBQUNDLE9BQU87WUFBRVc7UUFBRztrQkFDbEMsNEVBQUNTO1lBQUlGLEtBQUtBO1lBQUtELFdBQVd6QixxREFBRUEsQ0FBQyxhQUFheUI7WUFBYSxHQUFHbkIsS0FBSzs7Ozs7Ozs7Ozs7QUFHM0U7QUFDQWlCLFNBQVNNLFdBQVcsR0FBRztBQUV2QixNQUFNQywwQkFBWW5DLDZDQUFnQixDQUdoQyxDQUFDLEVBQUU4QixTQUFTLEVBQUUsR0FBR25CLE9BQU8sRUFBRW9CO0lBQ3hCLE1BQU0sRUFBRUssS0FBSyxFQUFFWCxVQUFVLEVBQUUsR0FBR1Y7SUFFOUIscUJBQ0ksOERBQUNULHVEQUFLQTtRQUNGeUIsS0FBS0E7UUFDTEQsV0FBV3pCLHFEQUFFQSxDQUFDK0IsU0FBUyxvQkFBb0JOO1FBQzNDTyxTQUFTWjtRQUNSLEdBQUdkLEtBQUs7Ozs7OztBQUdyQjtBQUNBd0IsVUFBVUQsV0FBVyxHQUFHO0FBRXhCLE1BQU1JLDRCQUFjdEMsNkNBQWdCLENBR2xDLENBQUMsRUFBRSxHQUFHVyxPQUFPLEVBQUVvQjtJQUNiLE1BQU0sRUFBRUssS0FBSyxFQUFFWCxVQUFVLEVBQUVDLGlCQUFpQixFQUFFQyxhQUFhLEVBQUUsR0FBR1o7SUFFaEUscUJBQ0ksOERBQUNkLHNEQUFJQTtRQUNEOEIsS0FBS0E7UUFDTFAsSUFBSUM7UUFDSmMsb0JBQ0ksQ0FBQ0gsUUFDSyxHQUFHVixtQkFBbUIsR0FDdEIsR0FBR0Esa0JBQWtCLENBQUMsRUFBRUMsZUFBZTtRQUVqRGEsZ0JBQWMsQ0FBQyxDQUFDSjtRQUNmLEdBQUd6QixLQUFLOzs7Ozs7QUFHckI7QUFDQTJCLFlBQVlKLFdBQVcsR0FBRztBQUUxQixNQUFNTyxnQ0FBa0J6Qyw2Q0FBZ0IsQ0FHdEMsQ0FBQyxFQUFFOEIsU0FBUyxFQUFFLEdBQUduQixPQUFPLEVBQUVvQjtJQUN4QixNQUFNLEVBQUVMLGlCQUFpQixFQUFFLEdBQUdYO0lBRTlCLHFCQUNJLDhEQUFDMkI7UUFDR1gsS0FBS0E7UUFDTFAsSUFBSUU7UUFDSkksV0FBV3pCLHFEQUFFQSxDQUFDLGlDQUFpQ3lCO1FBQzlDLEdBQUduQixLQUFLOzs7Ozs7QUFHckI7QUFDQThCLGdCQUFnQlAsV0FBVyxHQUFHO0FBRTlCLE1BQU1TLDRCQUFjM0MsNkNBQWdCLENBR2xDLENBQUMsRUFBRThCLFNBQVMsRUFBRWMsUUFBUSxFQUFFLEdBQUdqQyxPQUFPLEVBQUVvQjtJQUNsQyxNQUFNLEVBQUVLLEtBQUssRUFBRVQsYUFBYSxFQUFFLEdBQUdaO0lBQ2pDLE1BQU04QixPQUFPVCxRQUFRVSxPQUFPVixPQUFPVyxXQUFXSDtJQUU5QyxJQUFJLENBQUNDLE1BQU07UUFDUCxPQUFPO0lBQ1g7SUFFQSxxQkFDSSw4REFBQ0g7UUFDR1gsS0FBS0E7UUFDTFAsSUFBSUc7UUFDSkcsV0FBV3pCLHFEQUFFQSxDQUFDLHdDQUF3Q3lCO1FBQ3JELEdBQUduQixLQUFLO2tCQUVSa0M7Ozs7OztBQUdiO0FBQ0FGLFlBQVlULFdBQVcsR0FBRztBQVd6QiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGZvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBTbG90IH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1zbG90XCJcclxuaW1wb3J0IHtcclxuICAgIENvbnRyb2xsZXIsXHJcbiAgICBDb250cm9sbGVyUHJvcHMsXHJcbiAgICBGaWVsZFBhdGgsXHJcbiAgICBGaWVsZFZhbHVlcyxcclxuICAgIEZvcm1Qcm92aWRlcixcclxuICAgIHVzZUZvcm1Db250ZXh0LFxyXG59IGZyb20gXCJyZWFjdC1ob29rLWZvcm1cIlxyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuaW1wb3J0IHsgTGFiZWwgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2xhYmVsXCJcclxuXHJcbmNvbnN0IEZvcm0gPSBGb3JtUHJvdmlkZXJcclxuXHJcbnR5cGUgRm9ybUZpZWxkQ29udGV4dFZhbHVlPFxyXG4gICAgVEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXMgPSBGaWVsZFZhbHVlcyxcclxuICAgIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4gPSBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPlxyXG4+ID0ge1xyXG4gICAgbmFtZTogVE5hbWVcclxufVxyXG5cclxuY29uc3QgRm9ybUZpZWxkQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8Rm9ybUZpZWxkQ29udGV4dFZhbHVlPihcclxuICAgIHt9IGFzIEZvcm1GaWVsZENvbnRleHRWYWx1ZVxyXG4pXHJcblxyXG5jb25zdCBGb3JtRmllbGQgPSA8XHJcbiAgICBURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcyA9IEZpZWxkVmFsdWVzLFxyXG4gICAgVE5hbWUgZXh0ZW5kcyBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPiA9IEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+XHJcbj4oe1xyXG4gICAgLi4ucHJvcHNcclxufTogQ29udHJvbGxlclByb3BzPFRGaWVsZFZhbHVlcywgVE5hbWU+KSA9PiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxGb3JtRmllbGRDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IG5hbWU6IHByb3BzLm5hbWUgfX0+XHJcbiAgICAgICAgICAgIDxDb250cm9sbGVyIHsuLi5wcm9wc30gLz5cclxuICAgICAgICA8L0Zvcm1GaWVsZENvbnRleHQuUHJvdmlkZXI+XHJcbiAgICApXHJcbn1cclxuXHJcbmNvbnN0IHVzZUZvcm1GaWVsZCA9ICgpID0+IHtcclxuICAgIGNvbnN0IGZpZWxkQ29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoRm9ybUZpZWxkQ29udGV4dClcclxuICAgIGNvbnN0IGl0ZW1Db250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChGb3JtSXRlbUNvbnRleHQpXHJcbiAgICBjb25zdCB7IGdldEZpZWxkU3RhdGUsIGZvcm1TdGF0ZSB9ID0gdXNlRm9ybUNvbnRleHQoKVxyXG5cclxuICAgIGNvbnN0IGZpZWxkU3RhdGUgPSBnZXRGaWVsZFN0YXRlKGZpZWxkQ29udGV4dC5uYW1lLCBmb3JtU3RhdGUpXHJcblxyXG4gICAgaWYgKCFmaWVsZENvbnRleHQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VGb3JtRmllbGQgc2hvdWxkIGJlIHVzZWQgd2l0aGluIDxGb3JtRmllbGQ+XCIpXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBpZCB9ID0gaXRlbUNvbnRleHRcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIG5hbWU6IGZpZWxkQ29udGV4dC5uYW1lLFxyXG4gICAgICAgIGZvcm1JdGVtSWQ6IGAke2lkfS1mb3JtLWl0ZW1gLFxyXG4gICAgICAgIGZvcm1EZXNjcmlwdGlvbklkOiBgJHtpZH0tZm9ybS1pdGVtLWRlc2NyaXB0aW9uYCxcclxuICAgICAgICBmb3JtTWVzc2FnZUlkOiBgJHtpZH0tZm9ybS1pdGVtLW1lc3NhZ2VgLFxyXG4gICAgICAgIC4uLmZpZWxkU3RhdGUsXHJcbiAgICB9XHJcbn1cclxuXHJcbnR5cGUgRm9ybUl0ZW1Db250ZXh0VmFsdWUgPSB7XHJcbiAgICBpZDogc3RyaW5nXHJcbn1cclxuXHJcbmNvbnN0IEZvcm1JdGVtQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8Rm9ybUl0ZW1Db250ZXh0VmFsdWU+KFxyXG4gICAge30gYXMgRm9ybUl0ZW1Db250ZXh0VmFsdWVcclxuKVxyXG5cclxuY29uc3QgRm9ybUl0ZW0gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgY29uc3QgaWQgPSBSZWFjdC51c2VJZCgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybUl0ZW1Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IGlkIH19PlxyXG4gICAgICAgICAgICA8ZGl2IHJlZj17cmVmfSBjbGFzc05hbWU9e2NuKFwic3BhY2UteS0yXCIsIGNsYXNzTmFtZSl9IHsuLi5wcm9wc30gLz5cclxuICAgICAgICA8L0Zvcm1JdGVtQ29udGV4dC5Qcm92aWRlcj5cclxuICAgIClcclxufSlcclxuRm9ybUl0ZW0uZGlzcGxheU5hbWUgPSBcIkZvcm1JdGVtXCJcclxuXHJcbmNvbnN0IEZvcm1MYWJlbCA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBMYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIExhYmVsPlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGVycm9yLCBmb3JtSXRlbUlkIH0gPSB1c2VGb3JtRmllbGQoKVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPExhYmVsXHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKGVycm9yICYmIFwidGV4dC1kZXN0cnVjdGl2ZVwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgICAgICBodG1sRm9yPXtmb3JtSXRlbUlkfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIClcclxufSlcclxuRm9ybUxhYmVsLmRpc3BsYXlOYW1lID0gXCJGb3JtTGFiZWxcIlxyXG5cclxuY29uc3QgRm9ybUNvbnRyb2wgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2xvdD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFNsb3Q+XHJcbj4oKHsgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGVycm9yLCBmb3JtSXRlbUlkLCBmb3JtRGVzY3JpcHRpb25JZCwgZm9ybU1lc3NhZ2VJZCB9ID0gdXNlRm9ybUZpZWxkKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTbG90XHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBpZD17Zm9ybUl0ZW1JZH1cclxuICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XHJcbiAgICAgICAgICAgICAgICAhZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICA/IGAke2Zvcm1EZXNjcmlwdGlvbklkfWBcclxuICAgICAgICAgICAgICAgICAgICA6IGAke2Zvcm1EZXNjcmlwdGlvbklkfSAke2Zvcm1NZXNzYWdlSWR9YFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGFyaWEtaW52YWxpZD17ISFlcnJvcn1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgIC8+XHJcbiAgICApXHJcbn0pXHJcbkZvcm1Db250cm9sLmRpc3BsYXlOYW1lID0gXCJGb3JtQ29udHJvbFwiXHJcblxyXG5jb25zdCBGb3JtRGVzY3JpcHRpb24gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTFBhcmFncmFwaEVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MUGFyYWdyYXBoRWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBmb3JtRGVzY3JpcHRpb25JZCB9ID0gdXNlRm9ybUZpZWxkKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxwXHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBpZD17Zm9ybURlc2NyaXB0aW9uSWR9XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXCJ0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIClcclxufSlcclxuRm9ybURlc2NyaXB0aW9uLmRpc3BsYXlOYW1lID0gXCJGb3JtRGVzY3JpcHRpb25cIlxyXG5cclxuY29uc3QgRm9ybU1lc3NhZ2UgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTFBhcmFncmFwaEVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MUGFyYWdyYXBoRWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgIGNvbnN0IHsgZXJyb3IsIGZvcm1NZXNzYWdlSWQgfSA9IHVzZUZvcm1GaWVsZCgpXHJcbiAgICBjb25zdCBib2R5ID0gZXJyb3IgPyBTdHJpbmcoZXJyb3I/Lm1lc3NhZ2UpIDogY2hpbGRyZW5cclxuXHJcbiAgICBpZiAoIWJvZHkpIHtcclxuICAgICAgICByZXR1cm4gbnVsbFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPHBcclxuICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgIGlkPXtmb3JtTWVzc2FnZUlkfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwidGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWRlc3RydWN0aXZlXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIHtib2R5fVxyXG4gICAgICAgIDwvcD5cclxuICAgIClcclxufSlcclxuRm9ybU1lc3NhZ2UuZGlzcGxheU5hbWUgPSBcIkZvcm1NZXNzYWdlXCJcclxuXHJcbmV4cG9ydCB7XHJcbiAgICB1c2VGb3JtRmllbGQsXHJcbiAgICBGb3JtLFxyXG4gICAgRm9ybUl0ZW0sXHJcbiAgICBGb3JtTGFiZWwsXHJcbiAgICBGb3JtQ29udHJvbCxcclxuICAgIEZvcm1EZXNjcmlwdGlvbixcclxuICAgIEZvcm1NZXNzYWdlLFxyXG4gICAgRm9ybUZpZWxkLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlNsb3QiLCJDb250cm9sbGVyIiwiRm9ybVByb3ZpZGVyIiwidXNlRm9ybUNvbnRleHQiLCJjbiIsIkxhYmVsIiwiRm9ybSIsIkZvcm1GaWVsZENvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiRm9ybUZpZWxkIiwicHJvcHMiLCJQcm92aWRlciIsInZhbHVlIiwibmFtZSIsInVzZUZvcm1GaWVsZCIsImZpZWxkQ29udGV4dCIsInVzZUNvbnRleHQiLCJpdGVtQ29udGV4dCIsIkZvcm1JdGVtQ29udGV4dCIsImdldEZpZWxkU3RhdGUiLCJmb3JtU3RhdGUiLCJmaWVsZFN0YXRlIiwiRXJyb3IiLCJpZCIsImZvcm1JdGVtSWQiLCJmb3JtRGVzY3JpcHRpb25JZCIsImZvcm1NZXNzYWdlSWQiLCJGb3JtSXRlbSIsImZvcndhcmRSZWYiLCJjbGFzc05hbWUiLCJyZWYiLCJ1c2VJZCIsImRpdiIsImRpc3BsYXlOYW1lIiwiRm9ybUxhYmVsIiwiZXJyb3IiLCJodG1sRm9yIiwiRm9ybUNvbnRyb2wiLCJhcmlhLWRlc2NyaWJlZGJ5IiwiYXJpYS1pbnZhbGlkIiwiRm9ybURlc2NyaXB0aW9uIiwicCIsIkZvcm1NZXNzYWdlIiwiY2hpbGRyZW4iLCJib2R5IiwiU3RyaW5nIiwibWVzc2FnZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/form.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/image-uploader.tsx": -/*!**********************************************!*\ - !*** ./src/components/ui/image-uploader.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImageUploader: () => (/* binding */ ImageUploader)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_api_catalog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/api/catalog */ \"(ssr)/./src/shared/api/catalog.ts\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_ArrowRight_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,ArrowRight,ImagePlus,Loader2,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/arrow-left.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_ArrowRight_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,ArrowRight,ImagePlus,Loader2,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_ArrowRight_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,ArrowRight,ImagePlus,Loader2,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/arrow-right.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_ArrowRight_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,ArrowRight,ImagePlus,Loader2,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_ArrowRight_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,ArrowRight,ImagePlus,Loader2,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/image-plus.js\");\n\n\n\n\n\n\nfunction ImageUploader({ value, onChange }) {\n const fileInputRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const [uploading, setUploading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const handleFileChange = async (e)=>{\n const files = e.target.files;\n if (!files) return;\n if (value.length + files.length > 10) {\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(\"Можно загрузить максимум 10 изображений\");\n return;\n }\n setUploading(true);\n const newUrls = [\n ...value\n ];\n try {\n for(let i = 0; i < files.length; i++){\n const file = files[i];\n if (file.size > 5 * 1024 * 1024) {\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(`Файл ${file.name} превышает 5 МБ`);\n continue;\n }\n const url = await (0,_shared_api_catalog__WEBPACK_IMPORTED_MODULE_2__.uploadOfferImage)(file);\n newUrls.push(url);\n }\n onChange(newUrls);\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(\"Не удалось загрузить изображения\");\n } finally{\n setUploading(false);\n if (fileInputRef.current) fileInputRef.current.value = \"\";\n }\n };\n const removeImage = (index)=>{\n const newUrls = [\n ...value\n ];\n newUrls.splice(index, 1);\n onChange(newUrls);\n };\n const moveImage = (index, direction)=>{\n if (index + direction < 0 || index + direction >= value.length) return;\n const newUrls = [\n ...value\n ];\n const temp = newUrls[index];\n newUrls[index] = newUrls[index + direction];\n newUrls[index + direction] = temp;\n onChange(newUrls);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-4\",\n children: [\n value.map((url, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative group aspect-square rounded-md border bg-muted overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: url,\n alt: `Offer image ${i}`,\n className: \"w-full h-full object-cover\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 67,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 flex flex-col items-center justify-center transition-opacity gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n size: \"icon\",\n variant: \"secondary\",\n className: \"h-7 w-7\",\n onClick: ()=>moveImage(i, -1),\n disabled: i === 0,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_ArrowRight_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 71,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 70,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n size: \"icon\",\n variant: \"destructive\",\n className: \"h-7 w-7\",\n onClick: ()=>removeImage(i),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_ArrowRight_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 74,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 73,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n size: \"icon\",\n variant: \"secondary\",\n className: \"h-7 w-7\",\n onClick: ()=>moveImage(i, 1),\n disabled: i === value.length - 1,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_ArrowRight_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 77,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 76,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 69,\n columnNumber: 29\n }, this),\n i === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] bg-primary text-primary-foreground px-2 py-0.5 rounded font-medium\",\n children: \"Главное\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 81,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 68,\n columnNumber: 25\n }, this)\n ]\n }, url + i, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 66,\n columnNumber: 21\n }, this)),\n value.length < 10 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n onClick: ()=>!uploading && fileInputRef.current?.click(),\n className: `aspect-square rounded-md border border-dashed flex flex-col items-center justify-center text-muted-foreground hover:bg-muted/50 transition-colors cursor-pointer ${uploading ? 'opacity-50 pointer-events-none' : ''}`,\n children: [\n uploading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_ArrowRight_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-6 w-6 animate-spin mb-2\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 92,\n columnNumber: 38\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_ArrowRight_ImagePlus_Loader2_X_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"h-6 w-6 mb-2\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 92,\n columnNumber: 90\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs\",\n children: [\n value.length,\n \"/10 файлов\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 93,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 64,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"file\",\n ref: fileInputRef,\n onChange: handleFileChange,\n accept: \"image/jpeg,image/png,image/webp\",\n multiple: true,\n className: \"hidden\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 98,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\image-uploader.tsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9pbWFnZS11cGxvYWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBZ0Q7QUFDUTtBQUN6QjtBQUNpQjtBQUM0QjtBQU9yRSxTQUFTVyxjQUFjLEVBQUVDLEtBQUssRUFBRUMsUUFBUSxFQUFzQjtJQUNqRSxNQUFNQyxlQUFlYiw2Q0FBTUEsQ0FBbUI7SUFDOUMsTUFBTSxDQUFDYyxXQUFXQyxhQUFhLEdBQUdkLCtDQUFRQSxDQUFDO0lBRTNDLE1BQU1lLG1CQUFtQixPQUFPQztRQUM1QixNQUFNQyxRQUFRRCxFQUFFRSxNQUFNLENBQUNELEtBQUs7UUFDNUIsSUFBSSxDQUFDQSxPQUFPO1FBRVosSUFBSVAsTUFBTVMsTUFBTSxHQUFHRixNQUFNRSxNQUFNLEdBQUcsSUFBSTtZQUNsQ2pCLHlDQUFLQSxDQUFDa0IsS0FBSyxDQUFDO1lBQ1o7UUFDSjtRQUVBTixhQUFhO1FBQ2IsTUFBTU8sVUFBVTtlQUFJWDtTQUFNO1FBRTFCLElBQUk7WUFDQSxJQUFLLElBQUlZLElBQUksR0FBR0EsSUFBSUwsTUFBTUUsTUFBTSxFQUFFRyxJQUFLO2dCQUNuQyxNQUFNQyxPQUFPTixLQUFLLENBQUNLLEVBQUU7Z0JBQ3JCLElBQUlDLEtBQUtDLElBQUksR0FBRyxJQUFJLE9BQU8sTUFBTTtvQkFDN0J0Qix5Q0FBS0EsQ0FBQ2tCLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRUcsS0FBS0UsSUFBSSxDQUFDLGVBQWUsQ0FBQztvQkFDOUM7Z0JBQ0o7Z0JBQ0EsTUFBTUMsTUFBTSxNQUFNekIscUVBQWdCQSxDQUFDc0I7Z0JBQ25DRixRQUFRTSxJQUFJLENBQUNEO1lBQ2pCO1lBQ0FmLFNBQVNVO1FBQ2IsRUFBRSxPQUFPRCxPQUFPO1lBQ1psQix5Q0FBS0EsQ0FBQ2tCLEtBQUssQ0FBQztRQUNoQixTQUFVO1lBQ05OLGFBQWE7WUFDYixJQUFJRixhQUFhZ0IsT0FBTyxFQUFFaEIsYUFBYWdCLE9BQU8sQ0FBQ2xCLEtBQUssR0FBRztRQUMzRDtJQUNKO0lBRUEsTUFBTW1CLGNBQWMsQ0FBQ0M7UUFDakIsTUFBTVQsVUFBVTtlQUFJWDtTQUFNO1FBQzFCVyxRQUFRVSxNQUFNLENBQUNELE9BQU87UUFDdEJuQixTQUFTVTtJQUNiO0lBRUEsTUFBTVcsWUFBWSxDQUFDRixPQUFlRztRQUM5QixJQUFJSCxRQUFRRyxZQUFZLEtBQUtILFFBQVFHLGFBQWF2QixNQUFNUyxNQUFNLEVBQUU7UUFDaEUsTUFBTUUsVUFBVTtlQUFJWDtTQUFNO1FBQzFCLE1BQU13QixPQUFPYixPQUFPLENBQUNTLE1BQU07UUFDM0JULE9BQU8sQ0FBQ1MsTUFBTSxHQUFHVCxPQUFPLENBQUNTLFFBQVFHLFVBQVU7UUFDM0NaLE9BQU8sQ0FBQ1MsUUFBUUcsVUFBVSxHQUFHQztRQUM3QnZCLFNBQVNVO0lBQ2I7SUFFQSxxQkFDSSw4REFBQ2M7UUFBSUMsV0FBVTs7MEJBQ1gsOERBQUNEO2dCQUFJQyxXQUFVOztvQkFDVjFCLE1BQU0yQixHQUFHLENBQUMsQ0FBQ1gsS0FBS0osa0JBQ2IsOERBQUNhOzRCQUFrQkMsV0FBVTs7OENBQ3pCLDhEQUFDRTtvQ0FBSUMsS0FBS2I7b0NBQUtjLEtBQUssQ0FBQyxZQUFZLEVBQUVsQixHQUFHO29DQUFFYyxXQUFVOzs7Ozs7OENBQ2xELDhEQUFDRDtvQ0FBSUMsV0FBVTs7c0RBQ1gsOERBQUNEOzRDQUFJQyxXQUFVOzs4REFDWCw4REFBQ2pDLHlEQUFNQTtvREFBQ3NDLE1BQUs7b0RBQVNqQixNQUFLO29EQUFPa0IsU0FBUTtvREFBWU4sV0FBVTtvREFBVU8sU0FBUyxJQUFNWCxVQUFVVixHQUFHLENBQUM7b0RBQUlzQixVQUFVdEIsTUFBTTs4REFDdkgsNEVBQUNmLG9IQUFTQTt3REFBQzZCLFdBQVU7Ozs7Ozs7Ozs7OzhEQUV6Qiw4REFBQ2pDLHlEQUFNQTtvREFBQ3NDLE1BQUs7b0RBQVNqQixNQUFLO29EQUFPa0IsU0FBUTtvREFBY04sV0FBVTtvREFBVU8sU0FBUyxJQUFNZCxZQUFZUDs4REFDbkcsNEVBQUNsQixvSEFBQ0E7d0RBQUNnQyxXQUFVOzs7Ozs7Ozs7Ozs4REFFakIsOERBQUNqQyx5REFBTUE7b0RBQUNzQyxNQUFLO29EQUFTakIsTUFBSztvREFBT2tCLFNBQVE7b0RBQVlOLFdBQVU7b0RBQVVPLFNBQVMsSUFBTVgsVUFBVVYsR0FBRztvREFBSXNCLFVBQVV0QixNQUFNWixNQUFNUyxNQUFNLEdBQUc7OERBQ3JJLDRFQUFDWCxvSEFBVUE7d0RBQUM0QixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozt3Q0FHN0JkLE1BQU0sbUJBQ0gsOERBQUN1Qjs0Q0FBS1QsV0FBVTtzREFBaUY7Ozs7Ozs7Ozs7Ozs7MkJBZm5HVixNQUFNSjs7Ozs7b0JBcUJuQlosTUFBTVMsTUFBTSxHQUFHLG9CQUNaLDhEQUFDZ0I7d0JBQ0dRLFNBQVMsSUFBTSxDQUFDOUIsYUFBYUQsYUFBYWdCLE9BQU8sRUFBRWtCO3dCQUNuRFYsV0FBVyxDQUFDLGlLQUFpSyxFQUFFdkIsWUFBWSxtQ0FBbUMsSUFBSTs7NEJBRWpPQSwwQkFBWSw4REFBQ1Asb0hBQU9BO2dDQUFDOEIsV0FBVTs7Ozs7cURBQWlDLDhEQUFDL0Isb0hBQVNBO2dDQUFDK0IsV0FBVTs7Ozs7OzBDQUN0Riw4REFBQ1M7Z0NBQUtULFdBQVU7O29DQUFXMUIsTUFBTVMsTUFBTTtvQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFLcEQsOERBQUM0QjtnQkFDR04sTUFBSztnQkFDTE8sS0FBS3BDO2dCQUNMRCxVQUFVSTtnQkFDVmtDLFFBQU87Z0JBQ1BDLFFBQVE7Z0JBQ1JkLFdBQVU7Ozs7Ozs7Ozs7OztBQUkxQiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGltYWdlLXVwbG9hZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyB1cGxvYWRPZmZlckltYWdlIH0gZnJvbSBcIkAvc2hhcmVkL2FwaS9jYXRhbG9nXCI7XHJcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSBcInNvbm5lclwiO1xyXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBYLCBJbWFnZVBsdXMsIExvYWRlcjIsIEFycm93TGVmdCwgQXJyb3dSaWdodCB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcclxuXHJcbmludGVyZmFjZSBJbWFnZVVwbG9hZGVyUHJvcHMge1xyXG4gICAgdmFsdWU6IHN0cmluZ1tdO1xyXG4gICAgb25DaGFuZ2U6ICh1cmxzOiBzdHJpbmdbXSkgPT4gdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEltYWdlVXBsb2FkZXIoeyB2YWx1ZSwgb25DaGFuZ2UgfTogSW1hZ2VVcGxvYWRlclByb3BzKSB7XHJcbiAgICBjb25zdCBmaWxlSW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XHJcbiAgICBjb25zdCBbdXBsb2FkaW5nLCBzZXRVcGxvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0IGhhbmRsZUZpbGVDaGFuZ2UgPSBhc3luYyAoZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcclxuICAgICAgICBjb25zdCBmaWxlcyA9IGUudGFyZ2V0LmZpbGVzO1xyXG4gICAgICAgIGlmICghZmlsZXMpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCArIGZpbGVzLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKFwi0JzQvtC20L3QviDQt9Cw0LPRgNGD0LfQuNGC0Ywg0LzQsNC60YHQuNC80YPQvCAxMCDQuNC30L7QsdGA0LDQttC10L3QuNC5XCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXRVcGxvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgY29uc3QgbmV3VXJscyA9IFsuLi52YWx1ZV07XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1tpXTtcclxuICAgICAgICAgICAgICAgIGlmIChmaWxlLnNpemUgPiA1ICogMTAyNCAqIDEwMjQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0b2FzdC5lcnJvcihg0KTQsNC50LsgJHtmaWxlLm5hbWV9INC/0YDQtdCy0YvRiNCw0LXRgiA1INCc0JFgKTtcclxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IGF3YWl0IHVwbG9hZE9mZmVySW1hZ2UoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICBuZXdVcmxzLnB1c2godXJsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvbkNoYW5nZShuZXdVcmxzKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICB0b2FzdC5lcnJvcihcItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCz0YDRg9C30LjRgtGMINC40LfQvtCx0YDQsNC20LXQvdC40Y9cIik7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0VXBsb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgICAgaWYgKGZpbGVJbnB1dFJlZi5jdXJyZW50KSBmaWxlSW5wdXRSZWYuY3VycmVudC52YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCByZW1vdmVJbWFnZSA9IChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3VXJscyA9IFsuLi52YWx1ZV07XHJcbiAgICAgICAgbmV3VXJscy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIG9uQ2hhbmdlKG5ld1VybHMpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBtb3ZlSW1hZ2UgPSAoaW5kZXg6IG51bWJlciwgZGlyZWN0aW9uOiAtMSB8IDEpID0+IHtcclxuICAgICAgICBpZiAoaW5kZXggKyBkaXJlY3Rpb24gPCAwIHx8IGluZGV4ICsgZGlyZWN0aW9uID49IHZhbHVlLmxlbmd0aCkgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IG5ld1VybHMgPSBbLi4udmFsdWVdO1xyXG4gICAgICAgIGNvbnN0IHRlbXAgPSBuZXdVcmxzW2luZGV4XTtcclxuICAgICAgICBuZXdVcmxzW2luZGV4XSA9IG5ld1VybHNbaW5kZXggKyBkaXJlY3Rpb25dO1xyXG4gICAgICAgIG5ld1VybHNbaW5kZXggKyBkaXJlY3Rpb25dID0gdGVtcDtcclxuICAgICAgICBvbkNoYW5nZShuZXdVcmxzKTtcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTIgc206Z3JpZC1jb2xzLTMgbWQ6Z3JpZC1jb2xzLTQgbGc6Z3JpZC1jb2xzLTUgZ2FwLTRcIj5cclxuICAgICAgICAgICAgICAgIHt2YWx1ZS5tYXAoKHVybCwgaSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXt1cmwgKyBpfSBjbGFzc05hbWU9XCJyZWxhdGl2ZSBncm91cCBhc3BlY3Qtc3F1YXJlIHJvdW5kZWQtbWQgYm9yZGVyIGJnLW11dGVkIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17dXJsfSBhbHQ9e2BPZmZlciBpbWFnZSAke2l9YH0gY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctYmxhY2svNTAgb3BhY2l0eS0wIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRyYW5zaXRpb24tb3BhY2l0eSBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgc2l6ZT1cImljb25cIiB2YXJpYW50PVwic2Vjb25kYXJ5XCIgY2xhc3NOYW1lPVwiaC03IHctN1wiIG9uQ2xpY2s9eygpID0+IG1vdmVJbWFnZShpLCAtMSl9IGRpc2FibGVkPXtpID09PSAwfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFycm93TGVmdCBjbGFzc05hbWU9XCJoLTMgdy0zXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJidXR0b25cIiBzaXplPVwiaWNvblwiIHZhcmlhbnQ9XCJkZXN0cnVjdGl2ZVwiIGNsYXNzTmFtZT1cImgtNyB3LTdcIiBvbkNsaWNrPXsoKSA9PiByZW1vdmVJbWFnZShpKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxYIGNsYXNzTmFtZT1cImgtMyB3LTNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cImJ1dHRvblwiIHNpemU9XCJpY29uXCIgdmFyaWFudD1cInNlY29uZGFyeVwiIGNsYXNzTmFtZT1cImgtNyB3LTdcIiBvbkNsaWNrPXsoKSA9PiBtb3ZlSW1hZ2UoaSwgMSl9IGRpc2FibGVkPXtpID09PSB2YWx1ZS5sZW5ndGggLSAxfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFycm93UmlnaHQgY2xhc3NOYW1lPVwiaC0zIHctM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpID09PSAwICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LVsxMHB4XSBiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIHB4LTIgcHktMC41IHJvdW5kZWQgZm9udC1tZWRpdW1cIj7Qk9C70LDQstC90L7QtTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgKSl9XHJcblxyXG4gICAgICAgICAgICAgICAge3ZhbHVlLmxlbmd0aCA8IDEwICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+ICF1cGxvYWRpbmcgJiYgZmlsZUlucHV0UmVmLmN1cnJlbnQ/LmNsaWNrKCl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGFzcGVjdC1zcXVhcmUgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWRhc2hlZCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6YmctbXV0ZWQvNTAgdHJhbnNpdGlvbi1jb2xvcnMgY3Vyc29yLXBvaW50ZXIgJHt1cGxvYWRpbmcgPyAnb3BhY2l0eS01MCBwb2ludGVyLWV2ZW50cy1ub25lJyA6ICcnfWB9XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7dXBsb2FkaW5nID8gPExvYWRlcjIgY2xhc3NOYW1lPVwiaC02IHctNiBhbmltYXRlLXNwaW4gbWItMlwiIC8+IDogPEltYWdlUGx1cyBjbGFzc05hbWU9XCJoLTYgdy02IG1iLTJcIiAvPn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14c1wiPnt2YWx1ZS5sZW5ndGh9LzEwINGE0LDQudC70L7Qsjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXHJcbiAgICAgICAgICAgICAgICByZWY9e2ZpbGVJbnB1dFJlZn1cclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVGaWxlQ2hhbmdlfVxyXG4gICAgICAgICAgICAgICAgYWNjZXB0PVwiaW1hZ2UvanBlZyxpbWFnZS9wbmcsaW1hZ2Uvd2VicFwiXHJcbiAgICAgICAgICAgICAgICBtdWx0aXBsZVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICk7XHJcbn1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1cGxvYWRPZmZlckltYWdlIiwidG9hc3QiLCJCdXR0b24iLCJYIiwiSW1hZ2VQbHVzIiwiTG9hZGVyMiIsIkFycm93TGVmdCIsIkFycm93UmlnaHQiLCJJbWFnZVVwbG9hZGVyIiwidmFsdWUiLCJvbkNoYW5nZSIsImZpbGVJbnB1dFJlZiIsInVwbG9hZGluZyIsInNldFVwbG9hZGluZyIsImhhbmRsZUZpbGVDaGFuZ2UiLCJlIiwiZmlsZXMiLCJ0YXJnZXQiLCJsZW5ndGgiLCJlcnJvciIsIm5ld1VybHMiLCJpIiwiZmlsZSIsInNpemUiLCJuYW1lIiwidXJsIiwicHVzaCIsImN1cnJlbnQiLCJyZW1vdmVJbWFnZSIsImluZGV4Iiwic3BsaWNlIiwibW92ZUltYWdlIiwiZGlyZWN0aW9uIiwidGVtcCIsImRpdiIsImNsYXNzTmFtZSIsIm1hcCIsImltZyIsInNyYyIsImFsdCIsInR5cGUiLCJ2YXJpYW50Iiwib25DbGljayIsImRpc2FibGVkIiwic3BhbiIsImNsaWNrIiwiaW5wdXQiLCJyZWYiLCJhY2NlcHQiLCJtdWx0aXBsZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/image-uploader.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/input.tsx": -/*!*************************************!*\ - !*** ./src/components/ui/input.tsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Input: () => (/* binding */ Input)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Input = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, type, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: type,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\", className),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\input.tsx\",\n lineNumber: 8,\n columnNumber: 13\n }, undefined);\n});\nInput.displayName = \"Input\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9pbnB1dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUE4QjtBQUVTO0FBRXZDLE1BQU1FLHNCQUFRRiw2Q0FBZ0IsQ0FDMUIsQ0FBQyxFQUFFSSxTQUFTLEVBQUVDLElBQUksRUFBRSxHQUFHQyxPQUFPLEVBQUVDO0lBQzVCLHFCQUNJLDhEQUFDQztRQUNHSCxNQUFNQTtRQUNORCxXQUFXSCxxREFBRUEsQ0FDVCxrWUFDQUc7UUFFSkcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosTUFBTU8sV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxpbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuXHJcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvc2hhcmVkL2xpYi91dGlsc1wiXHJcblxyXG5jb25zdCBJbnB1dCA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJpbnB1dFwiPj4oXHJcbiAgICAoeyBjbGFzc05hbWUsIHR5cGUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT17dHlwZX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgXCJmbGV4IGgtMTAgdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktMiB0ZXh0LWJhc2UgcmluZy1vZmZzZXQtYmFja2dyb3VuZCBmaWxlOmJvcmRlci0wIGZpbGU6YmctdHJhbnNwYXJlbnQgZmlsZTp0ZXh0LXNtIGZpbGU6Zm9udC1tZWRpdW0gZmlsZTp0ZXh0LWZvcmVncm91bmQgcGxhY2Vob2xkZXI6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCBtZDp0ZXh0LXNtXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbklucHV0LmRpc3BsYXlOYW1lID0gXCJJbnB1dFwiXHJcblxyXG5leHBvcnQgeyBJbnB1dCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiSW5wdXQiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwidHlwZSIsInByb3BzIiwicmVmIiwiaW5wdXQiLCJkaXNwbGF5TmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/input.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/label.tsx": -/*!*************************************!*\ - !*** ./src/components/ui/label.tsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Label: () => (/* binding */ Label)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-label */ \"(ssr)/./node_modules/@radix-ui/react-label/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst labelVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\");\nconst Label = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__.Root, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(labelVariants(), className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\label.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined));\nLabel.displayName = _radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__.Root.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9sYWJlbC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQThCO0FBQ3lCO0FBQ1U7QUFFMUI7QUFFdkMsTUFBTUksZ0JBQWdCRiw2REFBR0EsQ0FDckI7QUFHSixNQUFNRyxzQkFBUUwsNkNBQWdCLENBSTVCLENBQUMsRUFBRU8sU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDUix1REFBbUI7UUFDaEJRLEtBQUtBO1FBQ0xGLFdBQVdKLHFEQUFFQSxDQUFDQyxpQkFBaUJHO1FBQzlCLEdBQUdDLEtBQUs7Ozs7OztBQUdqQkgsTUFBTU0sV0FBVyxHQUFHVix1REFBbUIsQ0FBQ1UsV0FBVztBQUVuQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGxhYmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBMYWJlbFByaW1pdGl2ZSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWxhYmVsXCJcclxuaW1wb3J0IHsgY3ZhLCB0eXBlIFZhcmlhbnRQcm9wcyB9IGZyb20gXCJjbGFzcy12YXJpYW5jZS1hdXRob3JpdHlcIlxyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IGxhYmVsVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcInRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy1ub25lIHBlZXItZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIHBlZXItZGlzYWJsZWQ6b3BhY2l0eS03MFwiXHJcbilcclxuXHJcbmNvbnN0IExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIExhYmVsUHJpbWl0aXZlLlJvb3Q+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBMYWJlbFByaW1pdGl2ZS5Sb290PiAmXHJcbiAgICBWYXJpYW50UHJvcHM8dHlwZW9mIGxhYmVsVmFyaWFudHM+XHJcbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxMYWJlbFByaW1pdGl2ZS5Sb290XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihsYWJlbFZhcmlhbnRzKCksIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuTGFiZWwuZGlzcGxheU5hbWUgPSBMYWJlbFByaW1pdGl2ZS5Sb290LmRpc3BsYXlOYW1lXHJcblxyXG5leHBvcnQgeyBMYWJlbCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkxhYmVsUHJpbWl0aXZlIiwiY3ZhIiwiY24iLCJsYWJlbFZhcmlhbnRzIiwiTGFiZWwiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZWYiLCJSb290IiwiZGlzcGxheU5hbWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/label.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/select.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/select.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Select: () => (/* binding */ Select),\n/* harmony export */ SelectContent: () => (/* binding */ SelectContent),\n/* harmony export */ SelectGroup: () => (/* binding */ SelectGroup),\n/* harmony export */ SelectItem: () => (/* binding */ SelectItem),\n/* harmony export */ SelectLabel: () => (/* binding */ SelectLabel),\n/* harmony export */ SelectScrollDownButton: () => (/* binding */ SelectScrollDownButton),\n/* harmony export */ SelectScrollUpButton: () => (/* binding */ SelectScrollUpButton),\n/* harmony export */ SelectSeparator: () => (/* binding */ SelectSeparator),\n/* harmony export */ SelectTrigger: () => (/* binding */ SelectTrigger),\n/* harmony export */ SelectValue: () => (/* binding */ SelectValue)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-select */ \"(ssr)/./node_modules/@radix-ui/react-select/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronUp!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronUp!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronUp!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Select,SelectGroup,SelectValue,SelectTrigger,SelectContent,SelectLabel,SelectItem,SelectSeparator,SelectScrollUpButton,SelectScrollDownButton auto */ \n\n\n\n\nconst Select = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst SelectGroup = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Group;\nconst SelectValue = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Value;\nconst SelectTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Trigger, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\", className),\n ...props,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Icon, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4 opacity-50\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 28,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 19,\n columnNumber: 5\n }, undefined));\nSelectTrigger.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Trigger.displayName;\nconst SelectScrollUpButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollUpButton, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 47,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 39,\n columnNumber: 5\n }, undefined));\nSelectScrollUpButton.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollUpButton.displayName;\nconst SelectScrollDownButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollDownButton, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 56,\n columnNumber: 5\n }, undefined));\nSelectScrollDownButton.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollDownButton.displayName;\nconst SelectContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, position = \"popper\", ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Portal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", position === \"popper\" && \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\", className),\n position: position,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SelectScrollUpButton, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 86,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Viewport, {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"p-1\", position === \"popper\" && \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"),\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 87,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SelectScrollDownButton, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 96,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 75,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 74,\n columnNumber: 5\n }, undefined));\nSelectContent.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\nconst SelectLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-2 py-1.5 text-sm font-semibold\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 106,\n columnNumber: 5\n }, undefined));\nSelectLabel.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Label.displayName;\nconst SelectItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Item, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 128,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 127,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 126,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ItemText, {\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 118,\n columnNumber: 5\n }, undefined));\nSelectItem.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Item.displayName;\nconst SelectSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Separator, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 140,\n columnNumber: 5\n }, undefined));\nSelectSeparator.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Separator.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RUFBQ0MsdUdBQUtBO3dCQUFDWSxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7OzBCQUd6Qiw4REFBQ2IsNERBQXdCOzBCQUFFYzs7Ozs7Ozs7Ozs7O0FBR25Da0IsV0FBV1osV0FBVyxHQUFHcEIsd0RBQW9CLENBQUNvQixXQUFXO0FBRXpELE1BQU1pQixnQ0FBa0J0Qyw2Q0FBZ0IsQ0FHdEMsQ0FBQyxFQUFFYyxTQUFTLEVBQUUsR0FBR0UsT0FBTyxFQUFFQyxvQkFDeEIsOERBQUNoQiw2REFBeUI7UUFDdEJnQixLQUFLQTtRQUNMSCxXQUFXVCw4Q0FBRUEsQ0FBQyw0QkFBNEJTO1FBQ3pDLEdBQUdFLEtBQUs7Ozs7OztBQUdqQnNCLGdCQUFnQmpCLFdBQVcsR0FBR3BCLDZEQUF5QixDQUFDb0IsV0FBVztBQWFsRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXHNlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCAqIGFzIFNlbGVjdFByaW1pdGl2ZSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNlbGVjdFwiXHJcbmltcG9ydCB7IENoZWNrLCBDaGV2cm9uRG93biwgQ2hldnJvblVwIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL2xpYi91dGlsc1wiXHJcblxyXG5jb25zdCBTZWxlY3QgPSBTZWxlY3RQcmltaXRpdmUuUm9vdFxyXG5cclxuY29uc3QgU2VsZWN0R3JvdXAgPSBTZWxlY3RQcmltaXRpdmUuR3JvdXBcclxuXHJcbmNvbnN0IFNlbGVjdFZhbHVlID0gU2VsZWN0UHJpbWl0aXZlLlZhbHVlXHJcblxyXG5jb25zdCBTZWxlY3RUcmlnZ2VyID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5UcmlnZ2VyPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlRyaWdnZXI+XHJcbj4oKHsgY2xhc3NOYW1lLCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8U2VsZWN0UHJpbWl0aXZlLlRyaWdnZXJcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcImZsZXggaC05IHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHdoaXRlc3BhY2Utbm93cmFwIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy10cmFuc3BhcmVudCBweC0zIHB5LTIgdGV4dC1zbSBzaGFkb3ctc20gcmluZy1vZmZzZXQtYmFja2dyb3VuZCBwbGFjZWhvbGRlcjp0ZXh0LW11dGVkLWZvcmVncm91bmQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMSBmb2N1czpyaW5nLXJpbmcgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTAgWyY+c3Bhbl06bGluZS1jbGFtcC0xXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIHtjaGlsZHJlbn1cclxuICAgICAgICA8U2VsZWN0UHJpbWl0aXZlLkljb24gYXNDaGlsZD5cclxuICAgICAgICAgICAgPENoZXZyb25Eb3duIGNsYXNzTmFtZT1cImgtNCB3LTQgb3BhY2l0eS01MFwiIC8+XHJcbiAgICAgICAgPC9TZWxlY3RQcmltaXRpdmUuSWNvbj5cclxuICAgIDwvU2VsZWN0UHJpbWl0aXZlLlRyaWdnZXI+XHJcbikpXHJcblNlbGVjdFRyaWdnZXIuZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuVHJpZ2dlci5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgU2VsZWN0U2Nyb2xsVXBCdXR0b24gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbFVwQnV0dG9uPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbFVwQnV0dG9uPlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8U2VsZWN0UHJpbWl0aXZlLlNjcm9sbFVwQnV0dG9uXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJmbGV4IGN1cnNvci1kZWZhdWx0IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweS0xXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxDaGV2cm9uVXAgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICA8L1NlbGVjdFByaW1pdGl2ZS5TY3JvbGxVcEJ1dHRvbj5cclxuKSlcclxuU2VsZWN0U2Nyb2xsVXBCdXR0b24uZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuU2Nyb2xsVXBCdXR0b24uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IFNlbGVjdFNjcm9sbERvd25CdXR0b24gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbERvd25CdXR0b24+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuU2Nyb2xsRG93bkJ1dHRvbj5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5TY3JvbGxEb3duQnV0dG9uXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJmbGV4IGN1cnNvci1kZWZhdWx0IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweS0xXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxDaGV2cm9uRG93biBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgIDwvU2VsZWN0UHJpbWl0aXZlLlNjcm9sbERvd25CdXR0b24+XHJcbikpXHJcblNlbGVjdFNjcm9sbERvd25CdXR0b24uZGlzcGxheU5hbWUgPVxyXG4gICAgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbERvd25CdXR0b24uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IFNlbGVjdENvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCBwb3NpdGlvbiA9IFwicG9wcGVyXCIsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5Qb3J0YWw+XHJcbiAgICAgICAgPFNlbGVjdFByaW1pdGl2ZS5Db250ZW50XHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICAgICAgXCJyZWxhdGl2ZSB6LTUwIG1heC1oLTk2IG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciB0ZXh0LXBvcG92ZXItZm9yZWdyb3VuZCBzaGFkb3ctbWQgZGF0YS1bc3RhdGU9b3Blbl06YW5pbWF0ZS1pbiBkYXRhLVtzdGF0ZT1jbG9zZWRdOmFuaW1hdGUtb3V0IGRhdGEtW3N0YXRlPWNsb3NlZF06ZmFkZS1vdXQtMCBkYXRhLVtzdGF0ZT1vcGVuXTpmYWRlLWluLTAgZGF0YS1bc3RhdGU9Y2xvc2VkXTp6b29tLW91dC05NSBkYXRhLVtzdGF0ZT1vcGVuXTp6b29tLWluLTk1IGRhdGEtW3NpZGU9Ym90dG9tXTpzbGlkZS1pbi1mcm9tLXRvcC0yIGRhdGEtW3NpZGU9bGVmdF06c2xpZGUtaW4tZnJvbS1yaWdodC0yIGRhdGEtW3NpZGU9cmlnaHRdOnNsaWRlLWluLWZyb20tbGVmdC0yIGRhdGEtW3NpZGU9dG9wXTpzbGlkZS1pbi1mcm9tLWJvdHRvbS0yXCIsXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbiA9PT0gXCJwb3BwZXJcIiAmJlxyXG4gICAgICAgICAgICAgICAgXCJkYXRhLVtzaWRlPWJvdHRvbV06dHJhbnNsYXRlLXktMSBkYXRhLVtzaWRlPWxlZnRdOi10cmFuc2xhdGUteC0xIGRhdGEtW3NpZGU9cmlnaHRdOnRyYW5zbGF0ZS14LTEgZGF0YS1bc2lkZT10b3BdOi10cmFuc2xhdGUteS0xXCIsXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgcG9zaXRpb249e3Bvc2l0aW9ufVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8U2VsZWN0U2Nyb2xsVXBCdXR0b24gLz5cclxuICAgICAgICAgICAgPFNlbGVjdFByaW1pdGl2ZS5WaWV3cG9ydFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICBcInAtMVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uID09PSBcInBvcHBlclwiICYmXHJcbiAgICAgICAgICAgICAgICAgICAgXCJoLVt2YXIoLS1yYWRpeC1zZWxlY3QtdHJpZ2dlci1oZWlnaHQpXSB3LWZ1bGwgbWluLXctW3ZhcigtLXJhZGl4LXNlbGVjdC10cmlnZ2VyLXdpZHRoKV1cIlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgICA8L1NlbGVjdFByaW1pdGl2ZS5WaWV3cG9ydD5cclxuICAgICAgICAgICAgPFNlbGVjdFNjcm9sbERvd25CdXR0b24gLz5cclxuICAgICAgICA8L1NlbGVjdFByaW1pdGl2ZS5Db250ZW50PlxyXG4gICAgPC9TZWxlY3RQcmltaXRpdmUuUG9ydGFsPlxyXG4pKVxyXG5TZWxlY3RDb250ZW50LmRpc3BsYXlOYW1lID0gU2VsZWN0UHJpbWl0aXZlLkNvbnRlbnQuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IFNlbGVjdExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5MYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5MYWJlbD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5MYWJlbFxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJweC0yIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIiwgY2xhc3NOYW1lKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAvPlxyXG4pKVxyXG5TZWxlY3RMYWJlbC5kaXNwbGF5TmFtZSA9IFNlbGVjdFByaW1pdGl2ZS5MYWJlbC5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgU2VsZWN0SXRlbSA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuSXRlbT4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5JdGVtPlxyXG4+KCh7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IHctZnVsbCBjdXJzb3ItZGVmYXVsdCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgcm91bmRlZC1zbSBweS0xLjUgcGwtMiBwci04IHRleHQtc20gb3V0bGluZS1ub25lIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTIgZmxleCBoLTMuNSB3LTMuNSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPFNlbGVjdFByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgICAgICAgICAgPENoZWNrIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICA8L1NlbGVjdFByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8U2VsZWN0UHJpbWl0aXZlLkl0ZW1UZXh0PntjaGlsZHJlbn08L1NlbGVjdFByaW1pdGl2ZS5JdGVtVGV4dD5cclxuICAgIDwvU2VsZWN0UHJpbWl0aXZlLkl0ZW0+XHJcbikpXHJcblNlbGVjdEl0ZW0uZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuSXRlbS5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgU2VsZWN0U2VwYXJhdG9yID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5TZXBhcmF0b3I+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuU2VwYXJhdG9yPlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8U2VsZWN0UHJpbWl0aXZlLlNlcGFyYXRvclxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCItbXgtMSBteS0xIGgtcHggYmctbXV0ZWRcIiwgY2xhc3NOYW1lKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAvPlxyXG4pKVxyXG5TZWxlY3RTZXBhcmF0b3IuZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuU2VwYXJhdG9yLmRpc3BsYXlOYW1lXHJcblxyXG5leHBvcnQge1xyXG4gICAgU2VsZWN0LFxyXG4gICAgU2VsZWN0R3JvdXAsXHJcbiAgICBTZWxlY3RWYWx1ZSxcclxuICAgIFNlbGVjdFRyaWdnZXIsXHJcbiAgICBTZWxlY3RDb250ZW50LFxyXG4gICAgU2VsZWN0TGFiZWwsXHJcbiAgICBTZWxlY3RJdGVtLFxyXG4gICAgU2VsZWN0U2VwYXJhdG9yLFxyXG4gICAgU2VsZWN0U2Nyb2xsVXBCdXR0b24sXHJcbiAgICBTZWxlY3RTY3JvbGxEb3duQnV0dG9uLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlNlbGVjdFByaW1pdGl2ZSIsIkNoZWNrIiwiQ2hldnJvbkRvd24iLCJDaGV2cm9uVXAiLCJjbiIsIlNlbGVjdCIsIlJvb3QiLCJTZWxlY3RHcm91cCIsIkdyb3VwIiwiU2VsZWN0VmFsdWUiLCJWYWx1ZSIsIlNlbGVjdFRyaWdnZXIiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlRyaWdnZXIiLCJJY29uIiwiYXNDaGlsZCIsImRpc3BsYXlOYW1lIiwiU2VsZWN0U2Nyb2xsVXBCdXR0b24iLCJTY3JvbGxVcEJ1dHRvbiIsIlNlbGVjdFNjcm9sbERvd25CdXR0b24iLCJTY3JvbGxEb3duQnV0dG9uIiwiU2VsZWN0Q29udGVudCIsInBvc2l0aW9uIiwiUG9ydGFsIiwiQ29udGVudCIsIlZpZXdwb3J0IiwiU2VsZWN0TGFiZWwiLCJMYWJlbCIsIlNlbGVjdEl0ZW0iLCJJdGVtIiwic3BhbiIsIkl0ZW1JbmRpY2F0b3IiLCJJdGVtVGV4dCIsIlNlbGVjdFNlcGFyYXRvciIsIlNlcGFyYXRvciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/select.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toaster: () => (/* binding */ Toaster)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ Toaster auto */ \n\n\nconst Toaster = ({ ...props })=>{\n const { theme = \"system\" } = (0,next_themes__WEBPACK_IMPORTED_MODULE_1__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(sonner__WEBPACK_IMPORTED_MODULE_2__.Toaster, {\n theme: theme,\n className: \"toaster group\",\n toastOptions: {\n classNames: {\n toast: \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toaster]:text-muted-foreground\",\n actionButton: \"group-[.toaster]:bg-primary group-[.toaster]:text-primary-foreground\",\n cancelButton: \"group-[.toaster]:bg-muted group-[.toaster]:text-muted-foreground\"\n }\n },\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\sonner.tsx\",\n lineNumber: 12,\n columnNumber: 9\n }, undefined);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zb25uZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVzQztBQUNJO0FBSTFDLE1BQU1DLFVBQVUsQ0FBQyxFQUFFLEdBQUdFLE9BQXFCO0lBQ3ZDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLEVBQUUsR0FBR0oscURBQVFBO0lBRXJDLHFCQUNJLDhEQUFDRSwyQ0FBTUE7UUFDSEUsT0FBT0E7UUFDUEMsV0FBVTtRQUNWQyxjQUFjO1lBQ1ZDLFlBQVk7Z0JBQ1JDLE9BQ0k7Z0JBQ0pDLGFBQWE7Z0JBQ2JDLGNBQ0k7Z0JBQ0pDLGNBQ0k7WUFDUjtRQUNKO1FBQ0MsR0FBR1IsS0FBSzs7Ozs7O0FBR3JCO0FBRWtCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcc29ubmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5pbXBvcnQgeyBUb2FzdGVyIGFzIFNvbm5lciB9IGZyb20gXCJzb25uZXJcIlxyXG5cclxudHlwZSBUb2FzdGVyUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgU29ubmVyPlxyXG5cclxuY29uc3QgVG9hc3RlciA9ICh7IC4uLnByb3BzIH06IFRvYXN0ZXJQcm9wcykgPT4ge1xyXG4gICAgY29uc3QgeyB0aGVtZSA9IFwic3lzdGVtXCIgfSA9IHVzZVRoZW1lKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTb25uZXJcclxuICAgICAgICAgICAgdGhlbWU9e3RoZW1lIGFzIFRvYXN0ZXJQcm9wc1tcInRoZW1lXCJdfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0b2FzdGVyIGdyb3VwXCJcclxuICAgICAgICAgICAgdG9hc3RPcHRpb25zPXt7XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9hc3Q6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JvdXAgdG9hc3QgZ3JvdXAtWy50b2FzdGVyXTpiZy1iYWNrZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06dGV4dC1mb3JlZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06Ym9yZGVyLWJvcmRlciBncm91cC1bLnRvYXN0ZXJdOnNoYWRvdy1sZ1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImdyb3VwLVsudG9hc3Rlcl06dGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctcHJpbWFyeSBncm91cC1bLnRvYXN0ZXJdOnRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctbXV0ZWQgZ3JvdXAtWy50b2FzdGVyXTp0ZXh0LW11dGVkLWZvcmVncm91bmRcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgeyBUb2FzdGVyIH1cclxuIl0sIm5hbWVzIjpbInVzZVRoZW1lIiwiVG9hc3RlciIsIlNvbm5lciIsInByb3BzIiwidGhlbWUiLCJjbGFzc05hbWUiLCJ0b2FzdE9wdGlvbnMiLCJjbGFzc05hbWVzIiwidG9hc3QiLCJkZXNjcmlwdGlvbiIsImFjdGlvbkJ1dHRvbiIsImNhbmNlbEJ1dHRvbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/sonner.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/switch.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/switch.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Switch: () => (/* binding */ Switch)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Switch auto */ \n\n\n/**\r\n * Переключатель (тумблер) — аналог Shadcn Switch.\r\n * Используется для тумблера «На линии» в шапке.\r\n */ const Switch = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, checked = false, onCheckedChange, disabled, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n disabled: disabled,\n ref: ref,\n onClick: ()=>onCheckedChange?.(!checked),\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors\", \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\", \"disabled:cursor-not-allowed disabled:opacity-50\", checked ? \"bg-green-500\" : \"bg-input\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform\", checked ? \"translate-x-5\" : \"translate-x-0\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined);\n});\nSwitch.displayName = \"Switch\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zd2l0Y2gudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFOEI7QUFDUztBQU92Qzs7O0NBR0MsR0FDRCxNQUFNRSx1QkFBU0YsNkNBQWdCLENBQzNCLENBQUMsRUFBRUksU0FBUyxFQUFFQyxVQUFVLEtBQUssRUFBRUMsZUFBZSxFQUFFQyxRQUFRLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUNsRSxxQkFDSSw4REFBQ0M7UUFDR0MsTUFBSztRQUNMQyxNQUFLO1FBQ0xDLGdCQUFjUjtRQUNkRSxVQUFVQTtRQUNWRSxLQUFLQTtRQUNMSyxTQUFTLElBQU1SLGtCQUFrQixDQUFDRDtRQUNsQ0QsV0FBV0gscURBQUVBLENBQ1QsNkhBQ0EsNElBQ0EsbURBQ0FJLFVBQVUsaUJBQWlCLFlBQzNCRDtRQUVILEdBQUdJLEtBQUs7a0JBRVQsNEVBQUNPO1lBQ0dYLFdBQVdILHFEQUFFQSxDQUNULHNHQUNBSSxVQUFVLGtCQUFrQjs7Ozs7Ozs7Ozs7QUFLaEQ7QUFFSkgsT0FBT2MsV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxzd2l0Y2gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuaW50ZXJmYWNlIFN3aXRjaFByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuXHJcbiAgICBvbkNoZWNrZWRDaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZFxyXG59XHJcblxyXG4vKipcclxuICog0J/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70YwgKNGC0YPQvNCx0LvQtdGAKSDigJQg0LDQvdCw0LvQvtCzIFNoYWRjbiBTd2l0Y2guXHJcbiAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YLRg9C80LHQu9C10YDQsCDCq9Cd0LAg0LvQuNC90LjQuMK7INCyINGI0LDQv9C60LUuXHJcbiAqL1xyXG5jb25zdCBTd2l0Y2ggPSBSZWFjdC5mb3J3YXJkUmVmPEhUTUxCdXR0b25FbGVtZW50LCBTd2l0Y2hQcm9wcz4oXHJcbiAgICAoeyBjbGFzc05hbWUsIGNoZWNrZWQgPSBmYWxzZSwgb25DaGVja2VkQ2hhbmdlLCBkaXNhYmxlZCwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcclxuICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cclxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cclxuICAgICAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGVja2VkQ2hhbmdlPy4oIWNoZWNrZWQpfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICBcInBlZXIgaW5saW5lLWZsZXggaC02IHctMTEgc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItdHJhbnNwYXJlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIixcclxuICAgICAgICAgICAgICAgICAgICBcImZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LWJhY2tncm91bmRcIixcclxuICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwiYmctZ3JlZW4tNTAwXCIgOiBcImJnLWlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicG9pbnRlci1ldmVudHMtbm9uZSBibG9jayBoLTUgdy01IHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1sZyByaW5nLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm1cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwidHJhbnNsYXRlLXgtNVwiIDogXCJ0cmFuc2xhdGUteC0wXCJcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcblN3aXRjaC5kaXNwbGF5TmFtZSA9IFwiU3dpdGNoXCJcclxuXHJcbmV4cG9ydCB7IFN3aXRjaCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiU3dpdGNoIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImNoZWNrZWQiLCJvbkNoZWNrZWRDaGFuZ2UiLCJkaXNhYmxlZCIsInByb3BzIiwicmVmIiwiYnV0dG9uIiwidHlwZSIsInJvbGUiLCJhcmlhLWNoZWNrZWQiLCJvbkNsaWNrIiwic3BhbiIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/switch.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/textarea.tsx": -/*!****************************************!*\ - !*** ./src/components/ui/textarea.tsx ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Textarea: () => (/* binding */ Textarea)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Textarea = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\", className),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\textarea.tsx\",\n lineNumber: 11,\n columnNumber: 7\n }, undefined);\n});\nTextarea.displayName = \"Textarea\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS90ZXh0YXJlYS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUE4QjtBQUVTO0FBS3ZDLE1BQU1FLHlCQUFXRiw2Q0FBZ0IsQ0FDL0IsQ0FBQyxFQUFFSSxTQUFTLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUN4QixxQkFDRSw4REFBQ0M7UUFDQ0gsV0FBV0gscURBQUVBLENBQ1gsd1NBQ0FHO1FBRUZFLEtBQUtBO1FBQ0osR0FBR0QsS0FBSzs7Ozs7O0FBR2Y7QUFFRkgsU0FBU00sV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFx0ZXh0YXJlYS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcblxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcblxuZXhwb3J0IGludGVyZmFjZSBUZXh0YXJlYVByb3BzXG4gIGV4dGVuZHMgUmVhY3QuVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50PiB7fVxuXG5jb25zdCBUZXh0YXJlYSA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTFRleHRBcmVhRWxlbWVudCwgVGV4dGFyZWFQcm9wcz4oXG4gICh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgIFwiZmxleCBtaW4taC1bODBweF0gdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktMiB0ZXh0LXNtIHJpbmctb2Zmc2V0LWJhY2tncm91bmQgcGxhY2Vob2xkZXI6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MFwiLFxuICAgICAgICAgIGNsYXNzTmFtZVxuICAgICAgICApfVxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgLz5cbiAgICApXG4gIH1cbilcblRleHRhcmVhLmRpc3BsYXlOYW1lID0gXCJUZXh0YXJlYVwiXG5cbmV4cG9ydCB7IFRleHRhcmVhIH1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiVGV4dGFyZWEiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZWYiLCJ0ZXh0YXJlYSIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/textarea.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/entities/session/store.ts": -/*!***************************************!*\ - !*** ./src/entities/session/store.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSessionStore: () => (/* binding */ useSessionStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/shared/api/axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n\n\nconst useSessionStore = (0,zustand__WEBPACK_IMPORTED_MODULE_2__.create)((set, get)=>({\n user: null,\n isAuth: false,\n isLoading: false,\n isInitialized: false,\n checkAuth: async ()=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (!token) {\n set({\n isInitialized: true,\n isAuth: false\n });\n return;\n }\n set({\n isLoading: true\n });\n try {\n await get().getProfile();\n set({\n isAuth: true,\n isInitialized: true\n });\n } catch (error) {\n console.error(\"Auth check failed\", error);\n // Токен недействителен, очищаем состояние\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false,\n isInitialized: true\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n login: async (phone, password)=>{\n set({\n isLoading: true\n });\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/login\", {\n phone,\n password\n });\n const { accessToken, refreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", refreshToken);\n set({\n isAuth: true\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n register: async (data)=>{\n set({\n isLoading: true\n });\n try {\n // Убираем confirmPassword перед отправкой на бэкенд\n const { confirmPassword, ...registerData } = data;\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/register\", registerData);\n } finally{\n set({\n isLoading: false\n });\n }\n },\n logout: ()=>{\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false\n });\n if (false) {}\n },\n getProfile: async ()=>{\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.get(\"/profile\", {\n params: {\n _t: Date.now()\n } // bypass cache\n });\n set({\n user: response.data,\n isAuth: true\n });\n } catch (error) {\n console.error(\"Profile load failed\", error);\n }\n },\n updateProfile: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile\", data);\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePhone: async (newPhone)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-phone\", {\n newPhone\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformer: async ()=>{\n set({\n isLoading: true\n });\n try {\n // Исправлен путь: убрали лишний /api, так как он уже есть в baseURL\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\");\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformerFull: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\", {\n description: data.description,\n competencies: data.competencies,\n location: data.location,\n currentLocation: null,\n isAlwaysReady: data.workSchedule.isAlwaysReady,\n workingDays: data.workSchedule.isAlwaysReady ? null : JSON.stringify(data.workSchedule.schedulePerDay)\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateCompetencies: async (competencies)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/competencies\", {\n Competencies: competencies\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n uploadAvatar: async (file)=>{\n set({\n isLoading: true\n });\n try {\n const formData = new FormData();\n formData.append(\"file\", file);\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/avatar\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePassword: async (oldPassword, newPassword)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-password\", {\n accountId: userId,\n oldPassword,\n newPassword\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateLocation: async (location, currentLocation)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/location\", {\n accountId: userId,\n location,\n currentLocation\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateSchedule: async (isAlwaysReady, schedulePerDay)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n const workingDaysJson = isAlwaysReady ? \"[]\" : JSON.stringify(schedulePerDay || {});\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/schedule\", {\n accountId: userId,\n isAlwaysReady,\n workingDaysJson\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LGdCQUFnQixPQUFPdEIsZUFBZUs7WUFDbEM1QyxJQUFJO2dCQUFFSSxXQUFXO1lBQUs7WUFDdEIsSUFBSTtnQkFDQSxNQUFNb0QsU0FBU3ZELE1BQU1DLElBQUksRUFBRXVEO2dCQUMzQixJQUFJLENBQUNELFFBQVEsTUFBTSxJQUFJRSxNQUFNO2dCQUU3QixNQUFNSSxrQkFBa0J2QixnQkFDbEIsT0FDQUcsS0FBS0MsU0FBUyxDQUFDQyxrQkFBa0IsQ0FBQztnQkFFeEMsTUFBTTlDLGtEQUFHQSxDQUFDaUMsR0FBRyxDQUFDLHFCQUFxQjtvQkFDL0I0QixXQUFXSDtvQkFDWGpCO29CQUNBdUI7Z0JBQ0o7Z0JBQ0EsTUFBTTdELE1BQU1PLFVBQVU7WUFDMUIsU0FBVTtnQkFDTlIsSUFBSTtvQkFBRUksV0FBVztnQkFBTTtZQUMzQjtRQUNKO0lBQ0osSUFBSSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcZW50aXRpZXNcXHNlc3Npb25cXHN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHNldENvb2tpZSwgZGVsZXRlQ29va2llLCBnZXRDb29raWUgfSBmcm9tIFwiY29va2llcy1uZXh0XCI7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvYXhpb3NcIjtcclxuXHJcbmludGVyZmFjZSBVc2VyIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBwaG9uZTogc3RyaW5nO1xyXG4gICAgcm9sZXM6IHN0cmluZ1tdO1xyXG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xyXG4gICAgcGF0cm9ueW1pYz86IHN0cmluZztcclxuICAgIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xyXG4gICAgaW5uPzogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgICBsb2NhdGlvbj86IHN0cmluZztcclxuICAgIGN1cnJlbnRMb2NhdGlvbj86IHN0cmluZztcclxuICAgIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgICBhdmF0YXJVcmw/OiBzdHJpbmc7XHJcbiAgICBjb21wZXRlbmNpZXM6IHN0cmluZ1tdO1xyXG4gICAgd29ya1NjaGVkdWxlPzoge1xyXG4gICAgICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICAgICAgc2NoZWR1bGVQZXJEYXk/OiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7IHN0YXJ0OiBzdHJpbmc7IGVuZDogc3RyaW5nIH0+PjtcclxuICAgIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBXb3JrU2NoZWR1bGVEYXRhIHtcclxuICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICBzY2hlZHVsZVBlckRheTogUmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9Pj47XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZXNzaW9uU3RhdGUge1xyXG4gICAgdXNlcjogVXNlciB8IG51bGw7XHJcbiAgICBpc0F1dGg6IGJvb2xlYW47XHJcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xyXG4gICAgY2hlY2tBdXRoOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgbG9naW46IChwaG9uZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgcmVnaXN0ZXI6IChkYXRhOiBhbnkpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBsb2dvdXQ6ICgpID0+IHZvaWQ7XHJcbiAgICBnZXRQcm9maWxlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlUHJvZmlsZTogKGRhdGE6IHsgZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcsIHBhdHJvbnltaWM/OiBzdHJpbmcsIGNvbXBhbnlOYW1lPzogc3RyaW5nLCBpbm4/OiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBjaGFuZ2VQaG9uZTogKG5ld1Bob25lOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXI6ICgpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiAoZGF0YToge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICAgICAgY29tcGV0ZW5jaWVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb2NhdGlvbjogc3RyaW5nO1xyXG4gICAgICAgIHdvcmtTY2hlZHVsZTogV29ya1NjaGVkdWxlRGF0YTtcclxuICAgIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICB1cGRhdGVDb21wZXRlbmNpZXM6IChjb21wZXRlbmNpZXM6IHN0cmluZ1tdKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBsb2FkQXZhdGFyOiAoZmlsZTogRmlsZSkgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIGNoYW5nZVBhc3N3b3JkOiAob2xkUGFzc3dvcmQ6IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIHVwZGF0ZUxvY2F0aW9uOiAobG9jYXRpb246IHN0cmluZywgY3VycmVudExvY2F0aW9uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlU2NoZWR1bGU6IChpc0Fsd2F5c1JlYWR5OiBib29sZWFuLCBzY2hlZHVsZVBlckRheT86IFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfT4+KSA9PiBQcm9taXNlPHZvaWQ+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdXNlU2Vzc2lvblN0b3JlID0gY3JlYXRlPFNlc3Npb25TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgdXNlcjogbnVsbCxcclxuICAgIGlzQXV0aDogZmFsc2UsXHJcbiAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgaXNJbml0aWFsaXplZDogZmFsc2UsXHJcblxyXG4gICAgY2hlY2tBdXRoOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuXHJcbiAgICAgICAgaWYgKCF0b2tlbikge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0luaXRpYWxpemVkOiB0cnVlLCBpc0F1dGg6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICAgICAgc2V0KHsgaXNBdXRoOiB0cnVlLCBpc0luaXRpYWxpemVkOiB0cnVlIH0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJBdXRoIGNoZWNrIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIC8vINCi0L7QutC10L0g0L3QtdC00LXQudGB0YLQstC40YLQtdC70LXQvSwg0L7Rh9C40YnQsNC10Lwg0YHQvtGB0YLQvtGP0L3QuNC1XHJcbiAgICAgICAgICAgIGRlbGV0ZUNvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IG51bGwsIGlzQXV0aDogZmFsc2UsIGlzSW5pdGlhbGl6ZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGxvZ2luOiBhc3luYyAocGhvbmUsIHBhc3N3b3JkKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9sb2dpblwiLCB7IHBob25lLCBwYXNzd29yZCB9KTtcclxuICAgICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgc2V0Q29va2llKFwiYWNjZXNzVG9rZW5cIiwgYWNjZXNzVG9rZW4pO1xyXG4gICAgICAgICAgICBzZXRDb29raWUoXCJyZWZyZXNoVG9rZW5cIiwgcmVmcmVzaFRva2VuKTtcclxuXHJcbiAgICAgICAgICAgIHNldCh7IGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICByZWdpc3RlcjogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQo9Cx0LjRgNCw0LXQvCBjb25maXJtUGFzc3dvcmQg0L/QtdGA0LXQtCDQvtGC0L/RgNCw0LLQutC+0Lkg0L3QsCDQsdGN0LrQtdC90LRcclxuICAgICAgICAgICAgY29uc3QgeyBjb25maXJtUGFzc3dvcmQsIC4uLnJlZ2lzdGVyRGF0YSB9ID0gZGF0YTtcclxuICAgICAgICAgICAgYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9yZWdpc3RlclwiLCByZWdpc3RlckRhdGEpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBsb2dvdXQ6ICgpID0+IHtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgc2V0KHsgdXNlcjogbnVsbCwgaXNBdXRoOiBmYWxzZSB9KTtcclxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiL2F1dGgvbG9naW5cIjtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFByb2ZpbGU6IGFzeW5jICgpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQoXCIvcHJvZmlsZVwiLCB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHsgX3Q6IERhdGUubm93KCkgfSAvLyBieXBhc3MgY2FjaGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IHJlc3BvbnNlLmRhdGEsIGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiUHJvZmlsZSBsb2FkIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVQcm9maWxlOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucHV0KFwiL3Byb2ZpbGVcIiwgZGF0YSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgY2hhbmdlUGhvbmU6IGFzeW5jIChuZXdQaG9uZSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1waG9uZVwiLCB7IG5ld1Bob25lIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGJlY29tZVBlcmZvcm1lcjogYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQmNGB0L/RgNCw0LLQu9C10L0g0L/Rg9GC0Yw6INGD0LHRgNCw0LvQuCDQu9C40YjQvdC40LkgL2FwaSwg0YLQsNC6INC60LDQuiDQvtC9INGD0LbQtSDQtdGB0YLRjCDQsiBiYXNlVVJMXHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYmVjb21lLXBlcmZvcm1lclwiKTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2JlY29tZS1wZXJmb3JtZXJcIiwge1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRhdGEuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICBjb21wZXRlbmNpZXM6IGRhdGEuY29tcGV0ZW5jaWVzLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGRhdGEubG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgICAgICBpc0Fsd2F5c1JlYWR5OiBkYXRhLndvcmtTY2hlZHVsZS5pc0Fsd2F5c1JlYWR5LFxyXG4gICAgICAgICAgICAgICAgd29ya2luZ0RheXM6IGRhdGEud29ya1NjaGVkdWxlLmlzQWx3YXlzUmVhZHlcclxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KGRhdGEud29ya1NjaGVkdWxlLnNjaGVkdWxlUGVyRGF5KSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgdXBkYXRlQ29tcGV0ZW5jaWVzOiBhc3luYyAoY29tcGV0ZW5jaWVzKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wdXQoXCIvcHJvZmlsZS9jb21wZXRlbmNpZXNcIiwgeyBDb21wZXRlbmNpZXM6IGNvbXBldGVuY2llcyB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGxvYWRBdmF0YXI6IGFzeW5jIChmaWxlKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYXZhdGFyXCIsIGZvcm1EYXRhLCB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBjaGFuZ2VQYXNzd29yZDogYXN5bmMgKG9sZFBhc3N3b3JkLCBuZXdQYXNzd29yZCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1c2VySWQgPSBnZXQoKS51c2VyPy5pZDtcclxuICAgICAgICAgICAgaWYgKCF1c2VySWQpIHRocm93IG5ldyBFcnJvcihcItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L1cIik7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1wYXNzd29yZFwiLCB7XHJcbiAgICAgICAgICAgICAgICBhY2NvdW50SWQ6IHVzZXJJZCxcclxuICAgICAgICAgICAgICAgIG9sZFBhc3N3b3JkLFxyXG4gICAgICAgICAgICAgICAgbmV3UGFzc3dvcmQsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVMb2NhdGlvbjogYXN5bmMgKGxvY2F0aW9uLCBjdXJyZW50TG9jYXRpb24pID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL2xvY2F0aW9uXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb24sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZVNjaGVkdWxlOiBhc3luYyAoaXNBbHdheXNSZWFkeSwgc2NoZWR1bGVQZXJEYXkpID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgd29ya2luZ0RheXNKc29uID0gaXNBbHdheXNSZWFkeVxyXG4gICAgICAgICAgICAgICAgPyBcIltdXCJcclxuICAgICAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkoc2NoZWR1bGVQZXJEYXkgfHwge30pO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL3NjaGVkdWxlXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgaXNBbHdheXNSZWFkeSxcclxuICAgICAgICAgICAgICAgIHdvcmtpbmdEYXlzSnNvbixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbn0pKTtcclxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsInNldENvb2tpZSIsImRlbGV0ZUNvb2tpZSIsImdldENvb2tpZSIsImFwaSIsInVzZVNlc3Npb25TdG9yZSIsInNldCIsImdldCIsInVzZXIiLCJpc0F1dGgiLCJpc0xvYWRpbmciLCJpc0luaXRpYWxpemVkIiwiY2hlY2tBdXRoIiwidG9rZW4iLCJnZXRQcm9maWxlIiwiZXJyb3IiLCJjb25zb2xlIiwibG9naW4iLCJwaG9uZSIsInBhc3N3b3JkIiwicmVzcG9uc2UiLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJyZWZyZXNoVG9rZW4iLCJkYXRhIiwicmVnaXN0ZXIiLCJjb25maXJtUGFzc3dvcmQiLCJyZWdpc3RlckRhdGEiLCJsb2dvdXQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJwYXJhbXMiLCJfdCIsIkRhdGUiLCJub3ciLCJ1cGRhdGVQcm9maWxlIiwicHV0IiwiY2hhbmdlUGhvbmUiLCJuZXdQaG9uZSIsImJlY29tZVBlcmZvcm1lciIsImJlY29tZVBlcmZvcm1lckZ1bGwiLCJkZXNjcmlwdGlvbiIsImNvbXBldGVuY2llcyIsImN1cnJlbnRMb2NhdGlvbiIsImlzQWx3YXlzUmVhZHkiLCJ3b3JrU2NoZWR1bGUiLCJ3b3JraW5nRGF5cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzY2hlZHVsZVBlckRheSIsInVwZGF0ZUNvbXBldGVuY2llcyIsIkNvbXBldGVuY2llcyIsInVwbG9hZEF2YXRhciIsImZpbGUiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiaGVhZGVycyIsImNoYW5nZVBhc3N3b3JkIiwib2xkUGFzc3dvcmQiLCJuZXdQYXNzd29yZCIsInVzZXJJZCIsImlkIiwiRXJyb3IiLCJhY2NvdW50SWQiLCJ1cGRhdGVMb2NhdGlvbiIsInVwZGF0ZVNjaGVkdWxlIiwid29ya2luZ0RheXNKc29uIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/entities/session/store.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/features/geo/useGeoStore.ts": -/*!*****************************************!*\ - !*** ./src/features/geo/useGeoStore.ts ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useGeoStore: () => (/* binding */ useGeoStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/shared/api/geo */ \"(ssr)/./src/shared/api/geo.ts\");\n\n\nconst useGeoStore = (0,zustand__WEBPACK_IMPORTED_MODULE_1__.create)((set, get)=>({\n isOnline: false,\n watchId: null,\n isUpdating: false,\n error: null,\n lastCoords: null,\n goOnline: (performerId)=>{\n if (true) {\n set({\n error: \"Геолокация не поддерживается вашим браузером.\"\n });\n return;\n }\n // Таймер для периодической отправки (каждые 10 секунд)\n let sendInterval = null;\n const watchId = navigator.geolocation.watchPosition(async (position)=>{\n const { latitude, longitude } = position.coords;\n set({\n lastCoords: {\n lat: latitude,\n lon: longitude\n },\n error: null\n });\n // Отправляем при первом получении координат\n try {\n set({\n isUpdating: true\n });\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude,\n longitude,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки статуса:\", err);\n set({\n error: \"Не удалось обновить статус на сервере.\"\n });\n } finally{\n set({\n isUpdating: false\n });\n }\n }, (err)=>{\n console.error(\"[Geo] Ошибка геолокации:\", err);\n let errorMsg = \"Ошибка определения местоположения.\";\n if (err.code === err.PERMISSION_DENIED) {\n errorMsg = \"Доступ к геолокации запрещён. Разрешите в настройках браузера.\";\n }\n set({\n error: errorMsg\n });\n }, {\n enableHighAccuracy: true,\n maximumAge: 10000,\n timeout: 15000\n });\n // Дополнительно: периодическая отправка каждые 10 секунд\n sendInterval = setInterval(async ()=>{\n const state = get();\n if (state.lastCoords && state.isOnline) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: state.lastCoords.lat,\n longitude: state.lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка периодической отправки:\", err);\n }\n }\n }, 10000);\n // Сохраняем watchId и intervalId в замыкании для очистки\n set({\n isOnline: true,\n watchId,\n error: null\n });\n // Храним intervalId в window для очистки при goOffline\n window.__geoInterval = sendInterval;\n },\n goOffline: async (performerId)=>{\n const { watchId, lastCoords } = get();\n // Останавливаем слежение\n if (watchId !== null) {\n navigator.geolocation.clearWatch(watchId);\n }\n // Останавливаем интервал\n if (window.__geoInterval) {\n clearInterval(window.__geoInterval);\n window.__geoInterval = null;\n }\n // Отправляем статус Offline\n if (lastCoords) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: lastCoords.lat,\n longitude: lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Offline\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки Offline:\", err);\n }\n }\n set({\n isOnline: false,\n watchId: null,\n lastCoords: null,\n error: null\n });\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFPckIsMkRBQWNBLENBQUNxQyxPQUFPO29CQUNqQztnQkFDSixFQUFFLE9BQU9kLEtBQUs7b0JBQ1ZDLFFBQVFqQixLQUFLLENBQUMsa0NBQWtDZ0I7Z0JBQ3BEO1lBQ0o7WUFFQXJCLElBQUk7Z0JBQUVFLFVBQVU7Z0JBQU9DLFNBQVM7Z0JBQU1HLFlBQVk7Z0JBQU1ELE9BQU87WUFBSztRQUN4RTtJQUNKLElBQUkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGZlYXR1cmVzXFxnZW9cXHVzZUdlb1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHVwZGF0ZUdlb1N0YXR1cywgUGVyZm9ybWVyU3RhdGUgfSBmcm9tIFwiQC9zaGFyZWQvYXBpL2dlb1wiO1xyXG5cclxuaW50ZXJmYWNlIEdlb1N0YXRlIHtcclxuICAgIC8qKiDQktC60LvRjtGH0ZHQvSDQu9C4INGC0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsgKi9cclxuICAgIGlzT25saW5lOiBib29sZWFuO1xyXG4gICAgLyoqIElEINGC0LXQutGD0YnQtdCz0L4gd2F0Y2hQb3NpdGlvbiAqL1xyXG4gICAgd2F0Y2hJZDogbnVtYmVyIHwgbnVsbDtcclxuICAgIC8qKiDQmNC00ZHRgiDQu9C4INC+0LHQvdC+0LLQu9C10L3QuNC1ICovXHJcbiAgICBpc1VwZGF0aW5nOiBib29sZWFuO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90Y/RjyDQvtGI0LjQsdC60LAgKi9cclxuICAgIGVycm9yOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90LjQtSDQuNC30LLQtdGB0YLQvdGL0LUg0LrQvtC+0YDQtNC40L3QsNGC0YsgKi9cclxuICAgIGxhc3RDb29yZHM6IHsgbGF0OiBudW1iZXI7IGxvbjogbnVtYmVyIH0gfCBudWxsO1xyXG5cclxuICAgIC8qKiDQktC60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L7RgtGB0LvQtdC20LjQstCw0L3QuNC1INCz0LXQvtC/0L7Qt9C40YbQuNC4ICovXHJcbiAgICBnb09ubGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgICAvKiog0JLRi9C60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQvtGC0L/RgNCw0LLQuNGC0YwgT2ZmbGluZSDQuCDQvtGB0YLQsNC90L7QstC40YLRjCDQvtGC0YHQu9C10LbQuNCy0LDQvdC40LUgKi9cclxuICAgIGdvT2ZmbGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB1c2VHZW9TdG9yZSA9IGNyZWF0ZTxHZW9TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgaXNPbmxpbmU6IGZhbHNlLFxyXG4gICAgd2F0Y2hJZDogbnVsbCxcclxuICAgIGlzVXBkYXRpbmc6IGZhbHNlLFxyXG4gICAgZXJyb3I6IG51bGwsXHJcbiAgICBsYXN0Q29vcmRzOiBudWxsLFxyXG5cclxuICAgIGdvT25saW5lOiAocGVyZm9ybWVySWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiIHx8ICFuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcclxuICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0JPQtdC+0LvQvtC60LDRhtC40Y8g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINCy0LDRiNC40Lwg0LHRgNCw0YPQt9C10YDQvtC8LlwiIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQotCw0LnQvNC10YAg0LTQu9GPINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60LggKNC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LQpXHJcbiAgICAgICAgbGV0IHNlbmRJbnRlcnZhbDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGNvbnN0IHdhdGNoSWQgPSBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihcclxuICAgICAgICAgICAgYXN5bmMgKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IGxhdGl0dWRlLCBsb25naXR1ZGUgfSA9IHBvc2l0aW9uLmNvb3JkcztcclxuICAgICAgICAgICAgICAgIHNldCh7IGxhc3RDb29yZHM6IHsgbGF0OiBsYXRpdHVkZSwgbG9uOiBsb25naXR1ZGUgfSwgZXJyb3I6IG51bGwgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8g0J7RgtC/0YDQsNCy0LvRj9C10Lwg0L/RgNC4INC/0LXRgNCy0L7QvCDQv9C+0LvRg9GH0LXQvdC40Lgg0LrQvtC+0YDQtNC40L3QsNGCXHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldCh7IGlzVXBkYXRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlR2VvU3RhdHVzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWVySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC+0YLQv9GA0LDQstC60Lgg0YHRgtCw0YLRg9GB0LA6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINGB0YLQsNGC0YPRgSDQvdCwINGB0LXRgNCy0LXRgNC1LlwiIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXQoeyBpc1VwZGF0aW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQs9C10L7Qu9C+0LrQsNGG0LjQuDpcIiwgZXJyKTtcclxuICAgICAgICAgICAgICAgIGxldCBlcnJvck1zZyA9IFwi0J7RiNC40LHQutCwINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjRjy5cIjtcclxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gZXJyLlBFUk1JU1NJT05fREVOSUVEKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2cgPSBcItCU0L7RgdGC0YPQvyDQuiDQs9C10L7Qu9C+0LrQsNGG0LjQuCDQt9Cw0L/RgNC10YnRkdC9LiDQoNCw0LfRgNC10YjQuNGC0LUg0LIg0L3QsNGB0YLRgNC+0LnQutCw0YUg0LHRgNCw0YPQt9C10YDQsC5cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNldCh7IGVycm9yOiBlcnJvck1zZyB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbWF4aW11bUFnZTogMTAwMDAsICAgICAvLyDQmtGN0Ygg0L/QvtC30LjRhtC40LggMTAg0YHQtdC6XHJcbiAgICAgICAgICAgICAgICB0aW1lb3V0OiAxNTAwMCwgICAgICAgICAvLyDQotCw0LnQvNCw0YPRgiAxNSDRgdC10LpcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+OiDQv9C10YDQuNC+0LTQuNGH0LXRgdC60LDRjyDQvtGC0L/RgNCw0LLQutCwINC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LRcclxuICAgICAgICBzZW5kSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gZ2V0KCk7XHJcbiAgICAgICAgICAgIGlmIChzdGF0ZS5sYXN0Q29vcmRzICYmIHN0YXRlLmlzT25saW5lKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUdlb1N0YXR1cyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60Lg6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDAwMCk7XHJcblxyXG4gICAgICAgIC8vINCh0L7RhdGA0LDQvdGP0LXQvCB3YXRjaElkINC4IGludGVydmFsSWQg0LIg0LfQsNC80YvQutCw0L3QuNC4INC00LvRjyDQvtGH0LjRgdGC0LrQuFxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiB0cnVlLCB3YXRjaElkLCBlcnJvcjogbnVsbCB9KTtcclxuXHJcbiAgICAgICAgLy8g0KXRgNCw0L3QuNC8IGludGVydmFsSWQg0LIgd2luZG93INC00LvRjyDQvtGH0LjRgdGC0LrQuCDQv9GA0LggZ29PZmZsaW5lXHJcbiAgICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwgPSBzZW5kSW50ZXJ2YWw7XHJcbiAgICB9LFxyXG5cclxuICAgIGdvT2ZmbGluZTogYXN5bmMgKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCB7IHdhdGNoSWQsIGxhc3RDb29yZHMgfSA9IGdldCgpO1xyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDRgdC70LXQttC10L3QuNC1XHJcbiAgICAgICAgaWYgKHdhdGNoSWQgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2god2F0Y2hJZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDQuNC90YLQtdGA0LLQsNC7XHJcbiAgICAgICAgaWYgKCh3aW5kb3cgYXMgYW55KS5fX2dlb0ludGVydmFsKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwpO1xyXG4gICAgICAgICAgICAod2luZG93IGFzIGFueSkuX19nZW9JbnRlcnZhbCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGC0L/RgNCw0LLQu9GP0LXQvCDRgdGC0LDRgtGD0YEgT2ZmbGluZVxyXG4gICAgICAgIGlmIChsYXN0Q29vcmRzKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVHZW9TdGF0dXMoe1xyXG4gICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBsYXN0Q29vcmRzLmxhdCxcclxuICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IGxhc3RDb29yZHMubG9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5PZmZsaW5lLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQvtGC0L/RgNCw0LLQutC4IE9mZmxpbmU6XCIsIGVycik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiBmYWxzZSwgd2F0Y2hJZDogbnVsbCwgbGFzdENvb3JkczogbnVsbCwgZXJyb3I6IG51bGwgfSk7XHJcbiAgICB9LFxyXG59KSk7XHJcbiJdLCJuYW1lcyI6WyJjcmVhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJQZXJmb3JtZXJTdGF0ZSIsInVzZUdlb1N0b3JlIiwic2V0IiwiZ2V0IiwiaXNPbmxpbmUiLCJ3YXRjaElkIiwiaXNVcGRhdGluZyIsImVycm9yIiwibGFzdENvb3JkcyIsImdvT25saW5lIiwicGVyZm9ybWVySWQiLCJuYXZpZ2F0b3IiLCJnZW9sb2NhdGlvbiIsInNlbmRJbnRlcnZhbCIsIndhdGNoUG9zaXRpb24iLCJwb3NpdGlvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY29vcmRzIiwibGF0IiwibG9uIiwic3RhdGUiLCJBdmFpbGFibGUiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3JNc2ciLCJjb2RlIiwiUEVSTUlTU0lPTl9ERU5JRUQiLCJlbmFibGVIaWdoQWNjdXJhY3kiLCJtYXhpbXVtQWdlIiwidGltZW91dCIsInNldEludGVydmFsIiwid2luZG93IiwiX19nZW9JbnRlcnZhbCIsImdvT2ZmbGluZSIsImNsZWFyV2F0Y2giLCJjbGVhckludGVydmFsIiwiT2ZmbGluZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/features/geo/useGeoStore.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/lib/utils.ts": -/*!**************************!*\ - !*** ./src/lib/utils.ts ***! - \**************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3V0aWxzLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE0QztBQUNKO0FBRWpDLFNBQVNFLEdBQUcsR0FBR0MsTUFBb0I7SUFDdEMsT0FBT0YsdURBQU9BLENBQUNELDBDQUFJQSxDQUFDRztBQUN4QiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcbGliXFx1dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENsYXNzVmFsdWUsIGNsc3ggfSBmcm9tIFwiY2xzeFwiXHJcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tIFwidGFpbHdpbmQtbWVyZ2VcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNuKC4uLmlucHV0czogQ2xhc3NWYWx1ZVtdKSB7XHJcbiAgICByZXR1cm4gdHdNZXJnZShjbHN4KGlucHV0cykpXHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/axios.ts": -/*!*********************************!*\ - !*** ./src/shared/api/axios.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ api: () => (/* binding */ api)\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ \"(ssr)/./node_modules/axios/lib/axios.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst api = axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create({\n baseURL: \"http://127.0.0.1:5000/api\" || 0,\n headers: {\n \"Content-Type\": \"application/json\"\n }\n});\n// Interceptor for adding Auth token\napi.interceptors.request.use((config)=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (token && config.headers) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n console.log(`🚀 Sending request to: ${config.baseURL}${config.url}`);\n return config;\n});\nlet isRefreshing = false;\nlet failedQueue = [];\nconst processQueue = (error, token = null)=>{\n failedQueue.forEach((prom)=>{\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n// Response interceptor for token refresh\napi.interceptors.response.use((response)=>response, async (error)=>{\n const originalRequest = error.config;\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (isRefreshing) {\n return new Promise((resolve, reject)=>{\n failedQueue.push({\n resolve,\n reject\n });\n }).then((token)=>{\n originalRequest.headers.Authorization = `Bearer ${token}`;\n return api(originalRequest);\n }).catch((err)=>Promise.reject(err));\n }\n originalRequest._retry = true;\n isRefreshing = true;\n const refreshToken = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"refreshToken\");\n try {\n const response = await axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post(`${\"http://127.0.0.1:5000/api\" || 0}/auth/refresh`, {\n refreshToken\n });\n const { accessToken, refreshToken: newRefreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", newRefreshToken);\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${accessToken}`;\n processQueue(null, accessToken);\n return api(originalRequest);\n } catch (refreshError) {\n processQueue(refreshError, null);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n if (false) {}\n return Promise.reject(refreshError);\n } finally{\n isRefreshing = false;\n }\n }\n return Promise.reject(error);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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XHNoYXJlZFxcYXBpXFxheGlvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHsgQXhpb3NFcnJvciB9IGZyb20gXCJheGlvc1wiO1xyXG5pbXBvcnQgeyBnZXRDb29raWUsIHNldENvb2tpZSwgZGVsZXRlQ29va2llIH0gZnJvbSBcImNvb2tpZXMtbmV4dFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGFwaSA9IGF4aW9zLmNyZWF0ZSh7XHJcbiAgICBiYXNlVVJMOiBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfVVJMIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo1MDAwL2FwaVwiLFxyXG4gICAgaGVhZGVyczoge1xyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgfSxcclxufSk7XHJcblxyXG4vLyBJbnRlcmNlcHRvciBmb3IgYWRkaW5nIEF1dGggdG9rZW5cclxuYXBpLmludGVyY2VwdG9ycy5yZXF1ZXN0LnVzZSgoY29uZmlnKSA9PiB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGdldENvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgaWYgKHRva2VuICYmIGNvbmZpZy5oZWFkZXJzKSB7XHJcbiAgICAgICAgY29uZmlnLmhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHt0b2tlbn1gO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coYPCfmoAgU2VuZGluZyByZXF1ZXN0IHRvOiAke2NvbmZpZy5iYXNlVVJMfSR7Y29uZmlnLnVybH1gKTtcclxuICAgIHJldHVybiBjb25maWc7XHJcbn0pO1xyXG5cclxubGV0IGlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG5sZXQgZmFpbGVkUXVldWU6IGFueVtdID0gW107XHJcblxyXG5jb25zdCBwcm9jZXNzUXVldWUgPSAoZXJyb3I6IGFueSwgdG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICBmYWlsZWRRdWV1ZS5mb3JFYWNoKChwcm9tKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHByb20ucmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9tLnJlc29sdmUodG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZmFpbGVkUXVldWUgPSBbXTtcclxufTtcclxuXHJcbi8vIFJlc3BvbnNlIGludGVyY2VwdG9yIGZvciB0b2tlbiByZWZyZXNoXHJcbmFwaS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKFxyXG4gICAgKHJlc3BvbnNlKSA9PiByZXNwb25zZSxcclxuICAgIGFzeW5jIChlcnJvcjogQXhpb3NFcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUmVxdWVzdDogYW55ID0gZXJyb3IuY29uZmlnO1xyXG5cclxuICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAxICYmICFvcmlnaW5hbFJlcXVlc3QuX3JldHJ5KSB7XHJcbiAgICAgICAgICAgIGlmIChpc1JlZnJlc2hpbmcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkUXVldWUucHVzaCh7IHJlc29sdmUsIHJlamVjdCB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHRva2VuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsUmVxdWVzdC5oZWFkZXJzLkF1dGhvcml6YXRpb24gPSBgQmVhcmVyICR7dG9rZW59YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IFByb21pc2UucmVqZWN0KGVycikpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBvcmlnaW5hbFJlcXVlc3QuX3JldHJ5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IGdldENvb2tpZShcInJlZnJlc2hUb2tlblwiKTtcclxuXHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7cHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX1VSTCB8fCBcImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9hcGlcIn0vYXV0aC9yZWZyZXNoYCxcclxuICAgICAgICAgICAgICAgICAgICB7IHJlZnJlc2hUb2tlbiB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbjogbmV3UmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcImFjY2Vzc1Rva2VuXCIsIGFjY2Vzc1Rva2VuKTtcclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcInJlZnJlc2hUb2tlblwiLCBuZXdSZWZyZXNoVG9rZW4pO1xyXG5cclxuICAgICAgICAgICAgICAgIGFwaS5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vbltcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7YWNjZXNzVG9rZW59YDtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShudWxsLCBhY2Nlc3NUb2tlbik7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChyZWZyZXNoRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShyZWZyZXNoRXJyb3IsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlQ29va2llKFwiYWNjZXNzVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gXCIvYXV0aC9sb2dpblwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlZnJlc2hFcnJvcik7XHJcbiAgICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgICAgICBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcclxuICAgIH1cclxuKTtcclxuIl0sIm5hbWVzIjpbImF4aW9zIiwiZ2V0Q29va2llIiwic2V0Q29va2llIiwiZGVsZXRlQ29va2llIiwiYXBpIiwiY3JlYXRlIiwiYmFzZVVSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfVVJMIiwiaGVhZGVycyIsImludGVyY2VwdG9ycyIsInJlcXVlc3QiLCJ1c2UiLCJjb25maWciLCJ0b2tlbiIsIkF1dGhvcml6YXRpb24iLCJjb25zb2xlIiwibG9nIiwidXJsIiwiaXNSZWZyZXNoaW5nIiwiZmFpbGVkUXVldWUiLCJwcm9jZXNzUXVldWUiLCJlcnJvciIsImZvckVhY2giLCJwcm9tIiwicmVqZWN0IiwicmVzb2x2ZSIsInJlc3BvbnNlIiwib3JpZ2luYWxSZXF1ZXN0Iiwic3RhdHVzIiwiX3JldHJ5IiwiUHJvbWlzZSIsInB1c2giLCJ0aGVuIiwiY2F0Y2giLCJlcnIiLCJyZWZyZXNoVG9rZW4iLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJuZXdSZWZyZXNoVG9rZW4iLCJkYXRhIiwiZGVmYXVsdHMiLCJjb21tb24iLCJyZWZyZXNoRXJyb3IiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/axios.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/catalog.ts": -/*!***********************************!*\ - !*** ./src/shared/api/catalog.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createOffer: () => (/* binding */ createOffer),\n/* harmony export */ deleteOffer: () => (/* binding */ deleteOffer),\n/* harmony export */ getCategories: () => (/* binding */ getCategories),\n/* harmony export */ getMyOffers: () => (/* binding */ getMyOffers),\n/* harmony export */ getOfferById: () => (/* binding */ getOfferById),\n/* harmony export */ toggleOffer: () => (/* binding */ toggleOffer),\n/* harmony export */ updateOffer: () => (/* binding */ updateOffer),\n/* harmony export */ uploadOfferImage: () => (/* binding */ uploadOfferImage)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\nconst getCategories = async ()=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/catalog/categories\");\n return response.data;\n};\nconst getMyOffers = async ()=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/catalog/offers/my\");\n return response.data;\n};\nconst getOfferById = async (id)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(`/catalog/offers/${id}`);\n return response.data;\n};\nconst createOffer = async (payload)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.post(\"/catalog/offers\", payload);\n return response.data;\n};\nconst updateOffer = async (id, payload)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.put(`/catalog/offers/${id}`, payload);\n};\nconst toggleOffer = async (id)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.patch(`/catalog/offers/${id}/toggle`);\n return response.data.isActive;\n};\nconst deleteOffer = async (id)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.delete(`/catalog/offers/${id}`);\n};\nconst uploadOfferImage = async (file)=>{\n const formData = new FormData();\n formData.append(\"file\", file);\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.post(\"/catalog/offers/image\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n return response.data.url;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9jYXRhbG9nLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUE4QjtBQWlEdkIsTUFBTUMsZ0JBQWdCO0lBQ3pCLE1BQU1DLFdBQVcsTUFBTUYsdUNBQUdBLENBQUNHLEdBQUcsQ0FBYTtJQUMzQyxPQUFPRCxTQUFTRSxJQUFJO0FBQ3hCLEVBQUU7QUFFSyxNQUFNQyxjQUFjO0lBQ3ZCLE1BQU1ILFdBQVcsTUFBTUYsdUNBQUdBLENBQUNHLEdBQUcsQ0FBVTtJQUN4QyxPQUFPRCxTQUFTRSxJQUFJO0FBQ3hCLEVBQUU7QUFFSyxNQUFNRSxlQUFlLE9BQU9DO0lBQy9CLE1BQU1MLFdBQVcsTUFBTUYsdUNBQUdBLENBQUNHLEdBQUcsQ0FBUSxDQUFDLGdCQUFnQixFQUFFSSxJQUFJO0lBQzdELE9BQU9MLFNBQVNFLElBQUk7QUFDeEIsRUFBRTtBQUVLLE1BQU1JLGNBQWMsT0FBT0M7SUFDOUIsTUFBTVAsV0FBVyxNQUFNRix1Q0FBR0EsQ0FBQ1UsSUFBSSxDQUFTLG1CQUFtQkQ7SUFDM0QsT0FBT1AsU0FBU0UsSUFBSTtBQUN4QixFQUFFO0FBRUssTUFBTU8sY0FBYyxPQUFPSixJQUFZRTtJQUMxQyxNQUFNVCx1Q0FBR0EsQ0FBQ1ksR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVMLElBQUksRUFBRUU7QUFDM0MsRUFBRTtBQUVLLE1BQU1JLGNBQWMsT0FBT047SUFDOUIsTUFBTUwsV0FBVyxNQUFNRix1Q0FBR0EsQ0FBQ2MsS0FBSyxDQUF3QixDQUFDLGdCQUFnQixFQUFFUCxHQUFHLE9BQU8sQ0FBQztJQUN0RixPQUFPTCxTQUFTRSxJQUFJLENBQUNXLFFBQVE7QUFDakMsRUFBRTtBQUVLLE1BQU1DLGNBQWMsT0FBT1Q7SUFDOUIsTUFBTVAsdUNBQUdBLENBQUNpQixNQUFNLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRVYsSUFBSTtBQUM1QyxFQUFFO0FBRUssTUFBTVcsbUJBQW1CLE9BQU9DO0lBQ25DLE1BQU1DLFdBQVcsSUFBSUM7SUFDckJELFNBQVNFLE1BQU0sQ0FBQyxRQUFRSDtJQUN4QixNQUFNakIsV0FBVyxNQUFNRix1Q0FBR0EsQ0FBQ1UsSUFBSSxDQUFrQix5QkFBeUJVLFVBQVU7UUFDaEZHLFNBQVM7WUFDTCxnQkFBZ0I7UUFDcEI7SUFDSjtJQUNBLE9BQU9yQixTQUFTRSxJQUFJLENBQUNvQixHQUFHO0FBQzVCLEVBQUUiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXHNoYXJlZFxcYXBpXFxjYXRhbG9nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENhdGVnb3J5IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBzbHVnOiBzdHJpbmc7XHJcbiAgICBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDtcclxuICAgIGF0dHJpYnV0ZVNjaGVtYT86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPZmZlciB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgcGVyZm9ybWVySWQ6IHN0cmluZztcclxuICAgIGNhdGVnb3J5SWQ6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgcHJpY2U6IHtcclxuICAgICAgICBhbW91bnQ6IG51bWJlcjtcclxuICAgICAgICBjdXJyZW5jeTogc3RyaW5nO1xyXG4gICAgICAgIHR5cGU6IG51bWJlcjsgLy8gMCA9IEZpeGVkLCAxID0gSG91cmx5LCAyID0gTmVnb3RpYWJsZVxyXG4gICAgfTtcclxuICAgIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsO1xyXG4gICAgaXNBY3RpdmU6IGJvb2xlYW47XHJcbiAgICBpbWFnZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9mZmVyUGF5bG9hZCB7XHJcbiAgICBjYXRlZ29yeUlkOiBzdHJpbmc7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHByaWNlOiB7XHJcbiAgICAgICAgYW1vdW50OiBudW1iZXI7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyO1xyXG4gICAgfTtcclxuICAgIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgICBpbWFnZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU9mZmVyUGF5bG9hZCB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHByaWNlOiB7XHJcbiAgICAgICAgYW1vdW50OiBudW1iZXI7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyO1xyXG4gICAgfTtcclxuICAgIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgICBpbWFnZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0Q2F0ZWdvcmllcyA9IGFzeW5jICgpOiBQcm9taXNlPENhdGVnb3J5W10+ID0+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLmdldDxDYXRlZ29yeVtdPihcIi9jYXRhbG9nL2NhdGVnb3JpZXNcIik7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRNeU9mZmVycyA9IGFzeW5jICgpOiBQcm9taXNlPE9mZmVyW10+ID0+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLmdldDxPZmZlcltdPihcIi9jYXRhbG9nL29mZmVycy9teVwiKTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldE9mZmVyQnlJZCA9IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTxPZmZlcj4gPT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhcGkuZ2V0PE9mZmVyPihgL2NhdGFsb2cvb2ZmZXJzLyR7aWR9YCk7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVPZmZlciA9IGFzeW5jIChwYXlsb2FkOiBDcmVhdGVPZmZlclBheWxvYWQpOiBQcm9taXNlPHN0cmluZz4gPT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhcGkucG9zdDxzdHJpbmc+KFwiL2NhdGFsb2cvb2ZmZXJzXCIsIHBheWxvYWQpO1xyXG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgdXBkYXRlT2ZmZXIgPSBhc3luYyAoaWQ6IHN0cmluZywgcGF5bG9hZDogVXBkYXRlT2ZmZXJQYXlsb2FkKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICBhd2FpdCBhcGkucHV0KGAvY2F0YWxvZy9vZmZlcnMvJHtpZH1gLCBwYXlsb2FkKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCB0b2dnbGVPZmZlciA9IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5wYXRjaDx7IGlzQWN0aXZlOiBib29sZWFuIH0+KGAvY2F0YWxvZy9vZmZlcnMvJHtpZH0vdG9nZ2xlYCk7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5pc0FjdGl2ZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkZWxldGVPZmZlciA9IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICBhd2FpdCBhcGkuZGVsZXRlKGAvY2F0YWxvZy9vZmZlcnMvJHtpZH1gKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCB1cGxvYWRPZmZlckltYWdlID0gYXN5bmMgKGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4gPT4ge1xyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5wb3N0PHsgdXJsOiBzdHJpbmcgfT4oXCIvY2F0YWxvZy9vZmZlcnMvaW1hZ2VcIiwgZm9ybURhdGEsIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiLFxyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhLnVybDtcclxufTtcclxuIl0sIm5hbWVzIjpbImFwaSIsImdldENhdGVnb3JpZXMiLCJyZXNwb25zZSIsImdldCIsImRhdGEiLCJnZXRNeU9mZmVycyIsImdldE9mZmVyQnlJZCIsImlkIiwiY3JlYXRlT2ZmZXIiLCJwYXlsb2FkIiwicG9zdCIsInVwZGF0ZU9mZmVyIiwicHV0IiwidG9nZ2xlT2ZmZXIiLCJwYXRjaCIsImlzQWN0aXZlIiwiZGVsZXRlT2ZmZXIiLCJkZWxldGUiLCJ1cGxvYWRPZmZlckltYWdlIiwiZmlsZSIsImZvcm1EYXRhIiwiRm9ybURhdGEiLCJhcHBlbmQiLCJoZWFkZXJzIiwidXJsIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/catalog.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/geo.ts": -/*!*******************************!*\ - !*** ./src/shared/api/geo.ts ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PerformerState: () => (/* binding */ PerformerState),\n/* harmony export */ searchNearby: () => (/* binding */ searchNearby),\n/* harmony export */ updateGeoStatus: () => (/* binding */ updateGeoStatus)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n// --- Типы ---\n/** Статус исполнителя на карте */ var PerformerState = /*#__PURE__*/ function(PerformerState) {\n PerformerState[PerformerState[\"Offline\"] = 0] = \"Offline\";\n PerformerState[PerformerState[\"Available\"] = 1] = \"Available\";\n PerformerState[PerformerState[\"OnJob\"] = 2] = \"OnJob\";\n return PerformerState;\n}({});\n// --- API-вызовы ---\n/**\r\n * PATCH /api/geo/status — Обновить геопозицию и статус исполнителя.\r\n * Вызывается каждые 10-15 секунд при активном тумблере «На линии».\r\n */ const updateGeoStatus = async (payload)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.patch(\"/geo/status\", payload);\n};\n/**\r\n * GET /api/geo/nearby — Поиск доступных исполнителей в радиусе.\r\n * @param lat - Широта центра\r\n * @param lon - Долгота центра\r\n * @param radius - Радиус в метрах\r\n */ const searchNearby = async (lat, lon, radius)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/geo/nearby\", {\n params: {\n lat,\n lon,\n radius\n }\n });\n return response.data;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9nZW8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QjtBQUU5QixlQUFlO0FBRWYsZ0NBQWdDLEdBQ3pCLDRDQUFLQzs7OztXQUFBQTtNQUlYO0FBaUJELHFCQUFxQjtBQUVyQjs7O0NBR0MsR0FDTSxNQUFNQyxrQkFBa0IsT0FBT0M7SUFDbEMsTUFBTUgsdUNBQUdBLENBQUNJLEtBQUssQ0FBQyxlQUFlRDtBQUNuQyxFQUFFO0FBRUY7Ozs7O0NBS0MsR0FDTSxNQUFNRSxlQUFlLE9BQ3hCQyxLQUNBQyxLQUNBQztJQUVBLE1BQU1DLFdBQVcsTUFBTVQsdUNBQUdBLENBQUNVLEdBQUcsQ0FBb0IsZUFBZTtRQUM3REMsUUFBUTtZQUFFTDtZQUFLQztZQUFLQztRQUFPO0lBQy9CO0lBQ0EsT0FBT0MsU0FBU0csSUFBSTtBQUN4QixFQUFFIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGFwaVxcZ2VvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCI7XHJcblxyXG4vLyAtLS0g0KLQuNC/0YsgLS0tXHJcblxyXG4vKiog0KHRgtCw0YLRg9GBINC40YHQv9C+0LvQvdC40YLQtdC70Y8g0L3QsCDQutCw0YDRgtC1ICovXHJcbmV4cG9ydCBlbnVtIFBlcmZvcm1lclN0YXRlIHtcclxuICAgIE9mZmxpbmUgPSAwLFxyXG4gICAgQXZhaWxhYmxlID0gMSxcclxuICAgIE9uSm9iID0gMixcclxufVxyXG5cclxuLyoqINCX0LDQv9GA0L7RgSDQvdCwINC+0LHQvdC+0LLQu9C10L3QuNC1INGB0YLQsNGC0YPRgdCwICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlU3RhdHVzUGF5bG9hZCB7XHJcbiAgICBwZXJmb3JtZXJJZDogc3RyaW5nO1xyXG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcclxuICAgIGxvbmdpdHVkZTogbnVtYmVyO1xyXG4gICAgc3RhdGU6IFBlcmZvcm1lclN0YXRlO1xyXG59XHJcblxyXG4vKiog0JHQu9C40LbQsNC50YjQuNC5INC40YHQv9C+0LvQvdC40YLQtdC70YwgKNC+0YLQstC10YIg0L7RgiBBUEkpICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmVhcmJ5UGVyZm9ybWVyIHtcclxuICAgIHBlcmZvcm1lcklkOiBzdHJpbmc7XHJcbiAgICBsYXRpdHVkZTogbnVtYmVyO1xyXG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIC0tLSBBUEkt0LLRi9C30L7QstGLIC0tLVxyXG5cclxuLyoqXHJcbiAqIFBBVENIIC9hcGkvZ2VvL3N0YXR1cyDigJQg0J7QsdC90L7QstC40YLRjCDQs9C10L7Qv9C+0LfQuNGG0LjRjiDQuCDRgdGC0LDRgtGD0YEg0LjRgdC/0L7Qu9C90LjRgtC10LvRjy5cclxuICog0JLRi9C30YvQstCw0LXRgtGB0Y8g0LrQsNC20LTRi9C1IDEwLTE1INGB0LXQutGD0L3QtCDQv9GA0Lgg0LDQutGC0LjQstC90L7QvCDRgtGD0LzQsdC70LXRgNC1IMKr0J3QsCDQu9C40L3QuNC4wrsuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdXBkYXRlR2VvU3RhdHVzID0gYXN5bmMgKHBheWxvYWQ6IFVwZGF0ZVN0YXR1c1BheWxvYWQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgIGF3YWl0IGFwaS5wYXRjaChcIi9nZW8vc3RhdHVzXCIsIHBheWxvYWQpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEdFVCAvYXBpL2dlby9uZWFyYnkg4oCUINCf0L7QuNGB0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC40YHQv9C+0LvQvdC40YLQtdC70LXQuSDQsiDRgNCw0LTQuNGD0YHQtS5cclxuICogQHBhcmFtIGxhdCAtINCo0LjRgNC+0YLQsCDRhtC10L3RgtGA0LBcclxuICogQHBhcmFtIGxvbiAtINCU0L7Qu9Cz0L7RgtCwINGG0LXQvdGC0YDQsFxyXG4gKiBAcGFyYW0gcmFkaXVzIC0g0KDQsNC00LjRg9GBINCyINC80LXRgtGA0LDRhVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNlYXJjaE5lYXJieSA9IGFzeW5jIChcclxuICAgIGxhdDogbnVtYmVyLFxyXG4gICAgbG9uOiBudW1iZXIsXHJcbiAgICByYWRpdXM6IG51bWJlclxyXG4pOiBQcm9taXNlPE5lYXJieVBlcmZvcm1lcltdPiA9PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQ8TmVhcmJ5UGVyZm9ybWVyW10+KFwiL2dlby9uZWFyYnlcIiwge1xyXG4gICAgICAgIHBhcmFtczogeyBsYXQsIGxvbiwgcmFkaXVzIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xyXG59O1xyXG4iXSwibmFtZXMiOlsiYXBpIiwiUGVyZm9ybWVyU3RhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJwYXlsb2FkIiwicGF0Y2giLCJzZWFyY2hOZWFyYnkiLCJsYXQiLCJsb24iLCJyYWRpdXMiLCJyZXNwb25zZSIsImdldCIsInBhcmFtcyIsImRhdGEiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/geo.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/lib/utils.ts": -/*!*********************************!*\ - !*** ./src/shared/lib/utils.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn),\n/* harmony export */ formatPhoneNumber: () => (/* binding */ formatPhoneNumber)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\nfunction formatPhoneNumber(phone) {\n if (!phone) return \"—\";\n // Remove all non-digits\n const cleaned = phone.replace(/\\D/g, \"\");\n // Check if it's a Russian number (+7 or 8)\n if (cleaned.length === 11) {\n const country = cleaned[0] === \"8\" ? \"8\" : \"+7\";\n return `${country} (${cleaned.slice(1, 4)}) ${cleaned.slice(4, 7)}-${cleaned.slice(7, 9)}-${cleaned.slice(9, 11)}`;\n }\n return phone;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRDO0FBQ0o7QUFFakMsU0FBU0UsR0FBRyxHQUFHQyxNQUFvQjtJQUN0QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3hCO0FBRU8sU0FBU0Msa0JBQWtCQyxLQUF5QjtJQUN2RCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUVuQix3QkFBd0I7SUFDeEIsTUFBTUMsVUFBVUQsTUFBTUUsT0FBTyxDQUFDLE9BQU87SUFFckMsMkNBQTJDO0lBQzNDLElBQUlELFFBQVFFLE1BQU0sS0FBSyxJQUFJO1FBQ3ZCLE1BQU1DLFVBQVVILE9BQU8sQ0FBQyxFQUFFLEtBQUssTUFBTSxNQUFNO1FBQzNDLE9BQU8sR0FBR0csUUFBUSxFQUFFLEVBQUVILFFBQVFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFSixRQUFRSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRUosUUFBUUksS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUVKLFFBQVFJLEtBQUssQ0FBQyxHQUFHLEtBQUs7SUFDdEg7SUFFQSxPQUFPTDtBQUNYIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGxpYlxcdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSBcImNsc3hcIlxyXG5pbXBvcnQgeyB0d01lcmdlIH0gZnJvbSBcInRhaWx3aW5kLW1lcmdlXCJcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjbiguLi5pbnB1dHM6IENsYXNzVmFsdWVbXSkge1xyXG4gICAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UGhvbmVOdW1iZXIocGhvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gXCLigJRcIjtcclxuXHJcbiAgICAvLyBSZW1vdmUgYWxsIG5vbi1kaWdpdHNcclxuICAgIGNvbnN0IGNsZWFuZWQgPSBwaG9uZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgaXQncyBhIFJ1c3NpYW4gbnVtYmVyICgrNyBvciA4KVxyXG4gICAgaWYgKGNsZWFuZWQubGVuZ3RoID09PSAxMSkge1xyXG4gICAgICAgIGNvbnN0IGNvdW50cnkgPSBjbGVhbmVkWzBdID09PSBcIjhcIiA/IFwiOFwiIDogXCIrN1wiO1xyXG4gICAgICAgIHJldHVybiBgJHtjb3VudHJ5fSAoJHtjbGVhbmVkLnNsaWNlKDEsIDQpfSkgJHtjbGVhbmVkLnNsaWNlKDQsIDcpfS0ke2NsZWFuZWQuc2xpY2UoNywgOSl9LSR7Y2xlYW5lZC5zbGljZSg5LCAxMSl9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGhvbmU7XHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiLCJmb3JtYXRQaG9uZU51bWJlciIsInBob25lIiwiY2xlYW5lZCIsInJlcGxhY2UiLCJsZW5ndGgiLCJjb3VudHJ5Iiwic2xpY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: () => (/* binding */ Header)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/theme/mode-toggle */ \"(ssr)/./src/components/theme/mode-toggle.tsx\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_switch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/switch */ \"(ssr)/./src/components/ui/switch.tsx\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/search.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/briefcase.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/log-out.js\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/features/geo/useGeoStore */ \"(ssr)/./src/features/geo/useGeoStore.ts\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \n\n\n\n\n\n\n\n\nfunction Header() {\n const { isAuth, user, logout } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_6__.useSessionStore)();\n const { isOnline, isUpdating, error: geoError, goOnline, goOffline } = (0,_features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__.useGeoStore)();\n // Проверяем, является ли пользователь исполнителем или компанией\n const isMasterOrCompany = user?.roles?.includes(\"Candidate\") || user?.roles?.includes(\"Company\") || user?.roles?.includes(\"Master\");\n /** Обработчик переключения тумблера «На линии» */ const handleToggleOnline = (checked)=>{\n if (!user?.id) return;\n if (checked) {\n goOnline(user.id);\n } else {\n goOffline(user.id);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container mx-auto flex h-16 items-center justify-between px-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n className: \"flex items-center space-x-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl font-black tracking-tight text-blue-600 dark:text-blue-500\",\n children: \"Nashel\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 42,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 41,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"hidden md:flex gap-6 items-center text-sm font-medium transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/search\",\n className: \"flex items-center gap-2 hover:text-blue-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 51,\n columnNumber: 29\n }, this),\n \"Поиск\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 47,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"hover:text-blue-600\",\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 54,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 46,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 40,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n isAuth && isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden sm:flex items-center gap-2 mr-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: `h-4 w-4 transition-colors ${isOnline ? \"text-green-500\" : \"text-muted-foreground\"}`\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 67,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_switch__WEBPACK_IMPORTED_MODULE_4__.Switch, {\n id: \"geo-online-toggle\",\n checked: isOnline,\n onCheckedChange: handleToggleOnline,\n disabled: isUpdating\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 68,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"geo-online-toggle\",\n className: `text-xs font-medium cursor-pointer select-none transition-colors ${isOnline ? \"text-green-600 dark:text-green-400\" : \"text-muted-foreground\"}`,\n children: isOnline ? \"Готов к заказу\" : \"Офлайн\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 74,\n columnNumber: 29\n }, this),\n geoError && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-red-500 max-w-[120px] truncate\",\n title: geoError,\n children: geoError\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 81,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 66,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__.ModeToggle, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, this),\n isAuth ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n className: \"hidden sm:flex items-center gap-2 focus-visible:ring-0 focus-visible:ring-offset-0 focus:outline-none focus:ring-0 outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 93,\n columnNumber: 37\n }, this),\n user?.roles?.includes(\"Company\") && user?.companyName ? user.companyName : user?.firstName && user?.lastName ? `${user.firstName} ${user.lastName}` : \"Профиль\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 92,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 91,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuContent, {\n align: \"end\",\n className: \"w-56\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuLabel, {\n children: \"Мой аккаунт\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 100,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 101,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/profile\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 104,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Профиль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 105,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 103,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 102,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 110,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 111,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 109,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 108,\n columnNumber: 33\n }, this),\n isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/offers\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 117,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 118,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 116,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 115,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 122,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n className: \"text-destructive focus:text-destructive cursor-pointer\",\n onClick: ()=>logout(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 124,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Выйти из аккаунта\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 125,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 123,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 99,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 90,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n asChild: true,\n className: \"hidden sm:flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/auth/login\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 132,\n columnNumber: 33\n }, this),\n \"Войти\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 131,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 130,\n columnNumber: 25\n }, this),\n isMasterOrCompany ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n children: \"Подобрать заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 139,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 138,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/become-performer\",\n children: \"Стать исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 145,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 144,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 63,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 39,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FDaEUsNEVBQUM1QyxrREFBSUE7Z0NBQUNvQyxNQUFLOzBDQUE4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNyRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcd2lkZ2V0c1xcSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiXHJcbmltcG9ydCB7IE1vZGVUb2dnbGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL21vZGUtdG9nZ2xlXCJcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxyXG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3N3aXRjaFwiXHJcbmltcG9ydCB7IFNlYXJjaCwgVXNlciwgTG9nT3V0LCBCcmllZmNhc2UsIE1hcFBpbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5pbXBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51Q29udGVudCxcclxuICAgIERyb3Bkb3duTWVudUl0ZW0sXHJcbiAgICBEcm9wZG93bk1lbnVMYWJlbCxcclxuICAgIERyb3Bkb3duTWVudVNlcGFyYXRvcixcclxuICAgIERyb3Bkb3duTWVudVRyaWdnZXIsXHJcbn0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51XCJcclxuXHJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxyXG5pbXBvcnQgeyB1c2VHZW9TdG9yZSB9IGZyb20gXCJAL2ZlYXR1cmVzL2dlby91c2VHZW9TdG9yZVwiXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSGVhZGVyKCkge1xyXG4gICAgY29uc3QgeyBpc0F1dGgsIHVzZXIsIGxvZ291dCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcclxuICAgIGNvbnN0IHsgaXNPbmxpbmUsIGlzVXBkYXRpbmcsIGVycm9yOiBnZW9FcnJvciwgZ29PbmxpbmUsIGdvT2ZmbGluZSB9ID0gdXNlR2VvU3RvcmUoKVxyXG5cclxuICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQuNGB0L/QvtC70L3QuNGC0LXQu9C10Lwg0LjQu9C4INC60L7QvNC/0LDQvdC40LXQuVxyXG4gICAgY29uc3QgaXNNYXN0ZXJPckNvbXBhbnkgPSB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDYW5kaWRhdGVcIikgfHwgdXNlcj8ucm9sZXM/LmluY2x1ZGVzKFwiQ29tcGFueVwiKSB8fCB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJNYXN0ZXJcIilcclxuXHJcbiAgICAvKiog0J7QsdGA0LDQsdC+0YLRh9C40Log0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINGC0YPQvNCx0LvQtdGA0LAgwqvQndCwINC70LjQvdC40LjCuyAqL1xyXG4gICAgY29uc3QgaGFuZGxlVG9nZ2xlT25saW5lID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoIXVzZXI/LmlkKSByZXR1cm5cclxuICAgICAgICBpZiAoY2hlY2tlZCkge1xyXG4gICAgICAgICAgICBnb09ubGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGdvT2ZmbGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwic3RpY2t5IHRvcC0wIHotNTAgdy1mdWxsIGJvcmRlci1iIGJnLWJhY2tncm91bmQvOTUgYmFja2Ryb3AtYmx1ciBzdXBwb3J0cy1bYmFja2Ryb3AtZmlsdGVyXTpiZy1iYWNrZ3JvdW5kLzYwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG14LWF1dG8gZmxleCBoLTE2IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYmxhY2sgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTYwMCBkYXJrOnRleHQtYmx1ZS01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hc2hlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuYXYgY2xhc3NOYW1lPVwiaGlkZGVuIG1kOmZsZXggZ2FwLTYgaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1jb2xvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvc2VhcmNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGhvdmVyOnRleHQtYmx1ZS02MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC40YHQulxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL29yZGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJob3Zlcjp0ZXh0LWJsdWUtNjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0JzQvtC4INC30LDQutCw0LfRi1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCi0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsg4oCUINCy0LjQtNC10L0g0YLQvtC70YzQutC+INC40YHQv9C+0LvQvdC40YLQtdC70Y/QvC/QutC+0LzQv9Cw0L3QuNGP0LwgKi99XHJcbiAgICAgICAgICAgICAgICAgICAge2lzQXV0aCAmJiBpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIHNtOmZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1yLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBQaW4gY2xhc3NOYW1lPXtgaC00IHctNCB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTUwMFwiIDogXCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIn1gfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZ2VvLW9ubGluZS10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2lzT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17aGFuZGxlVG9nZ2xlT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1VwZGF0aW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9XCJnZW8tb25saW5lLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdGV4dC14cyBmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTYwMCBkYXJrOnRleHQtZ3JlZW4tNDAwXCIgOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwifWB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzT25saW5lID8gXCLQk9C+0YLQvtCyINC6INC30LDQutCw0LfRg1wiIDogXCLQntGE0LvQsNC50L1cIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3IgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1yZWQtNTAwIG1heC13LVsxMjBweF0gdHJ1bmNhdGVcIiB0aXRsZT17Z2VvRXJyb3J9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3J9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPE1vZGVUb2dnbGUgLz5cclxuICAgICAgICAgICAgICAgICAgICB7aXNBdXRoID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVRyaWdnZXIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzTmFtZT1cImhpZGRlbiBzbTpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBmb2N1cy12aXNpYmxlOnJpbmctMCBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMCBvdXRsaW5lLW5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDb21wYW55XCIpICYmIHVzZXI/LmNvbXBhbnlOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHVzZXIuY29tcGFueU5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKHVzZXI/LmZpcnN0TmFtZSAmJiB1c2VyPy5sYXN0TmFtZSA/IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YCA6IFwi0J/RgNC+0YTQuNC70YxcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51Q29udGVudCBhbGlnbj1cImVuZFwiIGNsYXNzTmFtZT1cInctNTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51TGFiZWw+0JzQvtC5INCw0LrQutCw0YPQvdGCPC9Ecm9wZG93bk1lbnVMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51U2VwYXJhdG9yIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9kYXNoYm9hcmQvcHJvZmlsZVwiIGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyIHctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwibXItMiBoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPtCf0YDQvtGE0LjQu9GMPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvb3JkZXJzXCIgY2xhc3NOYW1lPVwiY3Vyc29yLXBvaW50ZXIgdy1mdWxsIGZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QnNC+0Lgg0LfQsNC60LDQt9GLPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2Rhc2hib2FyZC9vZmZlcnNcIiBjbGFzc05hbWU9XCJjdXJzb3ItcG9pbnRlciB3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnJpZWZjYXNlIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0JzQvtC4INGD0YHQu9GD0LPQuDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVNlcGFyYXRvciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGNsYXNzTmFtZT1cInRleHQtZGVzdHJ1Y3RpdmUgZm9jdXM6dGV4dC1kZXN0cnVjdGl2ZSBjdXJzb3ItcG9pbnRlclwiIG9uQ2xpY2s9eygpID0+IGxvZ291dCgpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExvZ091dCBjbGFzc05hbWU9XCJtci0yIGgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QktGL0LnRgtC4INC40Lcg0LDQutC60LDRg9C90YLQsDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImdob3N0XCIgYXNDaGlsZCBjbGFzc05hbWU9XCJoaWRkZW4gc206ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvYXV0aC9sb2dpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVc2VyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCS0L7QudGC0LhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7aXNNYXN0ZXJPckNvbXBhbnkgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgdGV4dC13aGl0ZVwiIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL29yZGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNC+0LHRgNCw0YLRjCDQt9Cw0LrQsNC30YtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlXCIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvZGFzaGJvYXJkL2JlY29tZS1wZXJmb3JtZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodGC0LDRgtGMINC40YHQv9C+0LvQvdC40YLQtdC70LXQvFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJMaW5rIiwiTW9kZVRvZ2dsZSIsIkJ1dHRvbiIsIlN3aXRjaCIsIlNlYXJjaCIsIlVzZXIiLCJMb2dPdXQiLCJCcmllZmNhc2UiLCJNYXBQaW4iLCJEcm9wZG93bk1lbnUiLCJEcm9wZG93bk1lbnVDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkRyb3Bkb3duTWVudUxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiRHJvcGRvd25NZW51VHJpZ2dlciIsInVzZVNlc3Npb25TdG9yZSIsInVzZUdlb1N0b3JlIiwiSGVhZGVyIiwiaXNBdXRoIiwidXNlciIsImxvZ291dCIsImlzT25saW5lIiwiaXNVcGRhdGluZyIsImVycm9yIiwiZ2VvRXJyb3IiLCJnb09ubGluZSIsImdvT2ZmbGluZSIsImlzTWFzdGVyT3JDb21wYW55Iiwicm9sZXMiLCJpbmNsdWRlcyIsImhhbmRsZVRvZ2dsZU9ubGluZSIsImNoZWNrZWQiLCJpZCIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsImhyZWYiLCJzcGFuIiwibmF2Iiwib25DaGVja2VkQ2hhbmdlIiwiZGlzYWJsZWQiLCJsYWJlbCIsImh0bWxGb3IiLCJ0aXRsZSIsImFzQ2hpbGQiLCJ2YXJpYW50IiwiY29tcGFueU5hbWUiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/widgets/Header.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/globals.css": -/*!*****************************!*\ - !*** ./src/app/globals.css ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"96c14632c738\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXGdsb2JhbHMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOTZjMTQ2MzJjNzM4XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/dashboard/offers/create/page.tsx": -/*!**************************************************!*\ - !*** ./src/app/dashboard/offers/create/page.tsx ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call the default export of \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\create\\\\page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx", -"default", -)); - - -/***/ }), - -/***/ "(rsc)/./src/app/layout.tsx": -/*!****************************!*\ - !*** ./src/app/layout.tsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src\\\\\\\\app\\\\\\\\layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\",\\\"cyrillic\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n/* harmony import */ var leaflet_dist_leaflet_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! leaflet/dist/leaflet.css */ \"(rsc)/./node_modules/leaflet/dist/leaflet.css\");\n/* harmony import */ var _components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/theme/theme-provider */ \"(rsc)/./src/components/theme/theme-provider.tsx\");\n/* harmony import */ var _widgets_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/widgets/Header */ \"(rsc)/./src/widgets/Header.tsx\");\n/* harmony import */ var _components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/sonner */ \"(rsc)/./src/components/ui/sonner.tsx\");\n/* harmony import */ var _components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/auth/AuthProvider */ \"(rsc)/./src/components/auth/AuthProvider.tsx\");\n\n\n\n\n\n\n\n\nconst metadata = {\n title: \"Nashel - Маркетплейс услуг\",\n description: \"Найди мастера за 60 минут\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"ru\",\n suppressHydrationWarning: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: `${(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default().className)} min-h-screen bg-background text-foreground antialiased`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__.ThemeProvider, {\n attribute: \"class\",\n defaultTheme: \"system\",\n enableSystem: true,\n disableTransitionOnChange: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__.AuthProvider, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex min-h-screen flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_widgets_Header__WEBPACK_IMPORTED_MODULE_4__.Header, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 34,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 32,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__.Toaster, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 36,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 31,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 25,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQVNNQTtBQVBpQjtBQUNXO0FBQ2dDO0FBQ3hCO0FBQ087QUFDYTtBQUl2RCxNQUFNSyxXQUFxQjtJQUM5QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2pCLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQy9CQyxRQUFRLEVBR1Y7SUFDRSxxQkFDSSw4REFBQ0M7UUFBS0MsTUFBSztRQUFLQyx3QkFBd0I7a0JBQ3BDLDRFQUFDQztZQUFLQyxXQUFXLEdBQUdkLHdLQUFlLENBQUMsdURBQXVELENBQUM7c0JBQ3hGLDRFQUFDQywyRUFBYUE7Z0JBQ1ZjLFdBQVU7Z0JBQ1ZDLGNBQWE7Z0JBQ2JDLFlBQVk7Z0JBQ1pDLHlCQUF5QjswQkFFekIsNEVBQUNkLHVFQUFZQTs7c0NBQ1QsOERBQUNlOzRCQUFJTCxXQUFVOzs4Q0FDWCw4REFBQ1osbURBQU1BOzs7Ozs4Q0FDUCw4REFBQ2tCO29DQUFLTixXQUFVOzhDQUFVTDs7Ozs7Ozs7Ozs7O3NDQUU5Qiw4REFBQ04sMERBQU9BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1oQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcYXBwXFxsYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tIFwibmV4dFwiO1xyXG5pbXBvcnQgeyBJbnRlciB9IGZyb20gXCJuZXh0L2ZvbnQvZ29vZ2xlXCI7XHJcbmltcG9ydCBcIi4vZ2xvYmFscy5jc3NcIjtcclxuaW1wb3J0IFwibGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzXCI7XHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL3RoZW1lLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL3dpZGdldHMvSGVhZGVyXCI7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3Nvbm5lclwiO1xyXG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL2F1dGgvQXV0aFByb3ZpZGVyXCI7XHJcblxyXG5jb25zdCBpbnRlciA9IEludGVyKHsgc3Vic2V0czogW1wibGF0aW5cIiwgXCJjeXJpbGxpY1wiXSB9KTtcclxuXHJcbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XHJcbiAgICB0aXRsZTogXCJOYXNoZWwgLSDQnNCw0YDQutC10YLQv9C70LXQudGBINGD0YHQu9GD0LNcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcItCd0LDQudC00Lgg0LzQsNGB0YLQtdGA0LAg0LfQsCA2MCDQvNC40L3Rg9GCXCIsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSb290TGF5b3V0KHtcclxuICAgIGNoaWxkcmVuLFxyXG59OiBSZWFkb25seTx7XHJcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xyXG59Pikge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8aHRtbCBsYW5nPVwicnVcIiBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc+XHJcbiAgICAgICAgICAgIDxib2R5IGNsYXNzTmFtZT17YCR7aW50ZXIuY2xhc3NOYW1lfSBtaW4taC1zY3JlZW4gYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQgYW50aWFsaWFzZWRgfT5cclxuICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlPVwiY2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRUaGVtZT1cInN5c3RlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlU3lzdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVRyYW5zaXRpb25PbkNoYW5nZVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxBdXRoUHJvdmlkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgZmxleCBtaW4taC1zY3JlZW4gZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkZXIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9hc3RlciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQXV0aFByb3ZpZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxyXG4gICAgICAgICAgICA8L2JvZHk+XHJcbiAgICAgICAgPC9odG1sPlxyXG4gICAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsiaW50ZXIiLCJUaGVtZVByb3ZpZGVyIiwiSGVhZGVyIiwiVG9hc3RlciIsIkF1dGhQcm92aWRlciIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiwiYm9keSIsImNsYXNzTmFtZSIsImF0dHJpYnV0ZSIsImRlZmF1bHRUaGVtZSIsImVuYWJsZVN5c3RlbSIsImRpc2FibGVUcmFuc2l0aW9uT25DaGFuZ2UiLCJkaXYiLCJtYWluIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const AuthProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx", -"AuthProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const ThemeProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx", -"ThemeProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Toaster: () => (/* binding */ Toaster) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Toaster = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx", -"Toaster", -); - -/***/ }), - -/***/ "(rsc)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Header: () => (/* binding */ Header) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Header = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Header() from the server but Header is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx", -"Header", -); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@radix-ui","vendor-chunks/axios","vendor-chunks/tailwind-merge","vendor-chunks/mime-db","vendor-chunks/@floating-ui","vendor-chunks/sonner","vendor-chunks/lucide-react","vendor-chunks/cookies-next","vendor-chunks/follow-redirects","vendor-chunks/debug","vendor-chunks/tslib","vendor-chunks/react-remove-scroll","vendor-chunks/form-data","vendor-chunks/get-intrinsic","vendor-chunks/cookie","vendor-chunks/asynckit","vendor-chunks/aria-hidden","vendor-chunks/class-variance-authority","vendor-chunks/next-themes","vendor-chunks/react-remove-scroll-bar","vendor-chunks/combined-stream","vendor-chunks/mime-types","vendor-chunks/use-callback-ref","vendor-chunks/proxy-from-env","vendor-chunks/use-sidecar","vendor-chunks/ms","vendor-chunks/supports-color","vendor-chunks/react-style-singleton","vendor-chunks/has-symbols","vendor-chunks/delayed-stream","vendor-chunks/function-bind","vendor-chunks/@swc","vendor-chunks/zustand","vendor-chunks/es-set-tostringtag","vendor-chunks/get-proto","vendor-chunks/call-bind-apply-helpers","vendor-chunks/dunder-proto","vendor-chunks/math-intrinsics","vendor-chunks/clsx","vendor-chunks/es-errors","vendor-chunks/has-flag","vendor-chunks/gopd","vendor-chunks/get-nonce","vendor-chunks/es-define-property","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/leaflet","vendor-chunks/es-object-atoms","vendor-chunks/zod","vendor-chunks/react-hook-form","vendor-chunks/@hookform"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2Fcreate%2Fpage&page=%2Fdashboard%2Foffers%2Fcreate%2Fpage&appPaths=%2Fdashboard%2Foffers%2Fcreate%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2Fcreate%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/dashboard/offers/create/page_client-reference-manifest.js b/.next/server/app/dashboard/offers/create/page_client-reference-manifest.js deleted file mode 100644 index 6a7fc44..0000000 --- a/.next/server/app/dashboard/offers/create/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/dashboard/offers/create/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(ssr)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(ssr)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(ssr)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(ssr)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx":{"id":"(app-pages-browser)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx":{"id":"(app-pages-browser)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":["app/dashboard/offers/page","static/chunks/app/dashboard/offers/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":["app/dashboard/offers/create/page","static/chunks/app/dashboard/offers/create/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx":{"id":"(app-pages-browser)/./src/components/home/PerformerButton.tsx","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":{"id":"(app-pages-browser)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\page":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(rsc)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(rsc)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(rsc)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(rsc)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/dashboard/offers/page.js b/.next/server/app/dashboard/offers/page.js deleted file mode 100644 index 6073eff..0000000 --- a/.next/server/app/dashboard/offers/page.js +++ /dev/null @@ -1,614 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "app/dashboard/offers/page"; -exports.ids = ["app/dashboard/offers/page"]; -exports.modules = { - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "../app-render/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/server/app-render/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/action-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/after-task-async-storage.external": -/*!***********************************************************************************!*\ - !*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***! - \***********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/work-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/server/app-render/work-async-storage.external.js" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-async-storage.external.js"); - -/***/ }), - -/***/ "./work-unit-async-storage.external": -/*!**********************************************************************************!*\ - !*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***! - \**********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js"); - -/***/ }), - -/***/ "assert": -/*!*************************!*\ - !*** external "assert" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("assert"); - -/***/ }), - -/***/ "crypto": -/*!*************************!*\ - !*** external "crypto" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("crypto"); - -/***/ }), - -/***/ "events": -/*!*************************!*\ - !*** external "events" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("events"); - -/***/ }), - -/***/ "fs": -/*!*********************!*\ - !*** external "fs" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("fs"); - -/***/ }), - -/***/ "http": -/*!***********************!*\ - !*** external "http" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http"); - -/***/ }), - -/***/ "http2": -/*!************************!*\ - !*** external "http2" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http2"); - -/***/ }), - -/***/ "https": -/*!************************!*\ - !*** external "https" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("https"); - -/***/ }), - -/***/ "os": -/*!*********************!*\ - !*** external "os" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("os"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ "stream": -/*!*************************!*\ - !*** external "stream" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("stream"); - -/***/ }), - -/***/ "tty": -/*!**********************!*\ - !*** external "tty" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("tty"); - -/***/ }), - -/***/ "url": -/*!**********************!*\ - !*** external "url" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("url"); - -/***/ }), - -/***/ "util": -/*!***********************!*\ - !*** external "util" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), - -/***/ "zlib": -/*!***********************!*\ - !*** external "zlib" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("zlib"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2Fpage&page=%2Fdashboard%2Foffers%2Fpage&appPaths=%2Fdashboard%2Foffers%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": -/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2Fpage&page=%2Fdashboard%2Foffers%2Fpage&appPaths=%2Fdashboard%2Foffers%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! - \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/module.compiled.js?91d2\");\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nconst module0 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\"));\nconst module1 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23));\nconst module2 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/forbidden-error */ \"(rsc)/./node_modules/next/dist/client/components/forbidden-error.js\", 23));\nconst module3 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/unauthorized-error */ \"(rsc)/./node_modules/next/dist/client/components/unauthorized-error.js\", 23));\nconst page4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/offers/page.tsx */ \"(rsc)/./src/app/dashboard/offers/page.tsx\"));\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'dashboard',\n {\n children: [\n 'offers',\n {\n children: ['__PAGE__', {}, {\n page: [page4, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [module0, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\"],\n'not-found': [module1, \"next/dist/client/components/not-found-error\"],\n'forbidden': [module2, \"next/dist/client/components/forbidden-error\"],\n'unauthorized': [module3, \"next/dist/client/components/unauthorized-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/dashboard/offers/page\",\n pathname: \"/dashboard/offers\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkZkYXNoYm9hcmQlMkZvZmZlcnMlMkZwYWdlJnBhZ2U9JTJGZGFzaGJvYXJkJTJGb2ZmZXJzJTJGcGFnZSZhcHBQYXRocz0lMkZkYXNoYm9hcmQlMkZvZmZlcnMlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGZGFzaGJvYXJkJTJGb2ZmZXJzJTJGcGFnZS50c3gmYXBwRGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQlNUNzcmMlNUNhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9c3RhbmRhbG9uZSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQkFBc0Isb0pBQXdGO0FBQzlHLHNCQUFzQiwwTkFBZ0Y7QUFDdEcsc0JBQXNCLDBOQUFnRjtBQUN0RyxzQkFBc0IsZ09BQW1GO0FBQ3pHLG9CQUFvQixrTEFBeUc7QUFHM0g7QUFDc0Q7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQzZEO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUN1RDtBQUN2RDtBQUNPLHdCQUF3Qix1R0FBa0I7QUFDakQ7QUFDQSxjQUFjLGtFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbW9kdWxlMCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxsYXlvdXQudHN4XCIpO1xuY29uc3QgbW9kdWxlMSA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKTtcbmNvbnN0IG1vZHVsZTIgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9mb3JiaWRkZW4tZXJyb3JcIik7XG5jb25zdCBtb2R1bGUzID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvdW5hdXRob3JpemVkLWVycm9yXCIpO1xuY29uc3QgcGFnZTQgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcZGFzaGJvYXJkXFxcXG9mZmVyc1xcXFxwYWdlLnRzeFwiKTtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc3NyJ1xufTtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdkYXNoYm9hcmQnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdvZmZlcnMnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbcGFnZTQsIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxkYXNoYm9hcmRcXFxcb2ZmZXJzXFxcXHBhZ2UudHN4XCJdLFxuICAgICAgICAgIFxuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFttb2R1bGUwLCBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbbW9kdWxlMSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuJ2ZvcmJpZGRlbic6IFttb2R1bGUyLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9mb3JiaWRkZW4tZXJyb3JcIl0sXG4ndW5hdXRob3JpemVkJzogW21vZHVsZTMsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC1lcnJvclwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxvZmZlcnNcXFxccGFnZS50c3hcIl07XG5leHBvcnQgeyB0cmVlLCBwYWdlcyB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBHbG9iYWxFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIjtcbmNvbnN0IF9fbmV4dF9hcHBfcmVxdWlyZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfX1xuY29uc3QgX19uZXh0X2FwcF9sb2FkX2NodW5rX18gPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoKVxuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICBwYWdlOiBcIi9kYXNoYm9hcmQvb2ZmZXJzL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2Rhc2hib2FyZC9vZmZlcnNcIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiAnJyxcbiAgICAgICAgZmlsZW5hbWU6ICcnLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2Fpage&page=%2Fdashboard%2Foffers%2Fpage&appPaths=%2Fdashboard%2Foffers%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(rsc)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(ssr)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(rsc)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(rsc)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(rsc)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(rsc)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(ssr)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(ssr)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(ssr)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(ssr)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/offers/page.tsx */ \"(rsc)/./src/app/dashboard/offers/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNzcmMlNUMlNUNhcHAlNUMlNUNkYXNoYm9hcmQlNUMlNUNvZmZlcnMlNUMlNUNwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa0xBQXlHIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxvZmZlcnNcXFxccGFnZS50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/offers/page.tsx */ \"(ssr)/./src/app/dashboard/offers/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNzcmMlNUMlNUNhcHAlNUMlNUNkYXNoYm9hcmQlNUMlNUNvZmZlcnMlNUMlNUNwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa0xBQXlHIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxvZmZlcnNcXFxccGFnZS50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Coffers%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./src/app/dashboard/offers/page.tsx": -/*!*******************************************!*\ - !*** ./src/app/dashboard/offers/page.tsx ***! - \*******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ MyOffersPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_api_catalog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/api/catalog */ \"(ssr)/./src/shared/api/catalog.ts\");\n/* harmony import */ var _components_ui_card__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/card */ \"(ssr)/./src/components/ui/card.tsx\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,PauseCircle,Pencil,PlayCircle,PlusCircle,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* harmony import */ var _barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,PauseCircle,Pencil,PlayCircle,PlusCircle,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-plus.js\");\n/* harmony import */ var _barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,PauseCircle,Pencil,PlayCircle,PlusCircle,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/pencil.js\");\n/* harmony import */ var _barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,PauseCircle,Pencil,PlayCircle,PlusCircle,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-pause.js\");\n/* harmony import */ var _barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,PauseCircle,Pencil,PlayCircle,PlusCircle,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-play.js\");\n/* harmony import */ var _barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2,PauseCircle,Pencil,PlayCircle,PlusCircle,Trash2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\n\n\nfunction MyOffersPage() {\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_7__.useRouter)();\n const { user, isAuth } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_8__.useSessionStore)();\n const [offers, setOffers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"MyOffersPage.useEffect\": ()=>{\n // Проверка прав доступа\n if (!isAuth) return;\n const isPerformer = user?.roles?.some({\n \"MyOffersPage.useEffect\": (r)=>[\n \"Master\",\n \"Company\",\n \"Candidate\",\n \"Admin\"\n ].includes(r)\n }[\"MyOffersPage.useEffect\"]);\n if (!isPerformer) {\n sonner__WEBPACK_IMPORTED_MODULE_5__.toast.error(\"Чтобы создавать услуги, вам нужно стать исполнителем\");\n router.push(\"/dashboard/become-performer\");\n return;\n }\n const fetchOffers = {\n \"MyOffersPage.useEffect.fetchOffers\": async ()=>{\n try {\n const data = await (0,_shared_api_catalog__WEBPACK_IMPORTED_MODULE_2__.getMyOffers)();\n setOffers(data || []);\n } catch (error) {\n console.error(error);\n sonner__WEBPACK_IMPORTED_MODULE_5__.toast.error(\"Не удалось загрузить ваши услуги\");\n } finally{\n setLoading(false);\n }\n }\n }[\"MyOffersPage.useEffect.fetchOffers\"];\n fetchOffers();\n }\n }[\"MyOffersPage.useEffect\"], [\n isAuth,\n user,\n router\n ]);\n const handleToggle = async (id)=>{\n try {\n const newStatus = await (0,_shared_api_catalog__WEBPACK_IMPORTED_MODULE_2__.toggleOffer)(id);\n setOffers(offers.map((o)=>o.id === id ? {\n ...o,\n isActive: newStatus\n } : o));\n sonner__WEBPACK_IMPORTED_MODULE_5__.toast.success(newStatus ? \"Услуга активирована\" : \"Услуга приостановлена\");\n } catch {\n sonner__WEBPACK_IMPORTED_MODULE_5__.toast.error(\"Не удалось изменить статус услуги\");\n }\n };\n const handleDelete = async (id)=>{\n if (!confirm(\"Вы уверены, что хотите удалить эту услугу?\")) return;\n try {\n await (0,_shared_api_catalog__WEBPACK_IMPORTED_MODULE_2__.deleteOffer)(id);\n setOffers(offers.filter((o)=>o.id !== id));\n sonner__WEBPACK_IMPORTED_MODULE_5__.toast.success(\"Услуга удалена\");\n } catch {\n sonner__WEBPACK_IMPORTED_MODULE_5__.toast.error(\"Не удалось удалить услугу\");\n }\n };\n if (loading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-center items-center h-48\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-muted-foreground\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 69,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 68,\n columnNumber: 13\n }, this);\n }\n if (offers.length === 0) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container max-w-5xl py-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center justify-center p-12 text-center bg-card rounded-2xl border shadow-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-4 rounded-full bg-primary/10 p-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-12 w-12 text-primary\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 79,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 78,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-2xl font-bold mb-3\",\n children: \"У вас еще нет услуг\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 81,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground mb-8 max-w-md text-lg\",\n children: \"Создайте свою первую услугу, чтобы клиенты могли вас найти и предложить заказ.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 82,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_6___default()), {\n href: \"/dashboard/offers/create\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n size: \"lg\",\n className: \"gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 87,\n columnNumber: 29\n }, this),\n \"Создать первую услугу\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 86,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 85,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 77,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 76,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container max-w-5xl py-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col md:flex-row md:items-center justify-between gap-4 mb-8 bg-card p-6 rounded-2xl shadow-sm border\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-3xl font-bold\",\n children: \"Мои услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 99,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_6___default()), {\n href: \"/dashboard/offers/create\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n className: \"gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 102,\n columnNumber: 25\n }, this),\n \"Создать услугу\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 101,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 100,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 98,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6\",\n children: offers.map((offer)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_3__.Card, {\n className: `flex flex-col transition-all hover:shadow-md ${!offer.isActive ? \"bg-muted/30 border-dashed\" : \"border-border\"}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_3__.CardHeader, {\n className: \"pb-3 relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_3__.CardTitle, {\n className: `text-xl font-semibold line-clamp-1 ${!offer.isActive && \"text-muted-foreground\"}`,\n children: offer.title\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 112,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_3__.CardDescription, {\n children: offer.isActive ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"inline-flex items-center text-green-600 dark:text-green-500 text-xs font-medium bg-green-100 dark:bg-green-900/30 px-2 py-0.5 rounded-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-1.5 h-1.5 rounded-full bg-green-600 dark:bg-green-500 mr-1.5\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 116,\n columnNumber: 41\n }, this),\n \"Активна\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 115,\n columnNumber: 37\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"inline-flex items-center text-muted-foreground text-xs font-medium bg-muted px-2 py-0.5 rounded-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-1.5 h-1.5 rounded-full bg-muted-foreground mr-1.5\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 121,\n columnNumber: 41\n }, this),\n \"Приостановлена\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 120,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 113,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 111,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_3__.CardContent, {\n className: `flex-1 ${!offer.isActive && \"opacity-70 grayscale\"}`,\n children: [\n offer.images && offer.images.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full h-32 mb-4 rounded-md bg-muted overflow-hidden relative\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: offer.images[0],\n className: \"w-full h-full object-cover\",\n alt: \"Primary image\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 130,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 129,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-foreground/80 line-clamp-3 mb-4 leading-relaxed\",\n children: offer.description\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 133,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-semibold text-lg flex items-center gap-1\",\n children: [\n offer.price.amount,\n \" ₽\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-normal text-muted-foreground relative top-0.5\",\n children: offer.price.type === 0 ? \"фиксированно\" : offer.price.type === 1 ? \"в час\" : \"договорная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 138,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 136,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 127,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_3__.CardFooter, {\n className: \"flex gap-2 justify-end bg-muted/20 pt-4 mt-auto border-t\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_6___default()), {\n href: `/dashboard/offers/${offer.id}/edit`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n size: \"sm\",\n className: \"group flex items-center gap-0 overflow-hidden px-2 hover:px-3 hover:bg-primary/10 border-transparent hover:border-primary/20 text-muted-foreground hover:text-primary transition-all duration-300 ease-out\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"h-4 w-4 shrink-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 146,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"max-w-0 overflow-hidden whitespace-nowrap opacity-0 group-hover:max-w-[120px] group-hover:opacity-100 group-hover:ml-2 transition-all duration-300 ease-out\",\n children: \"Редактировать\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 147,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 145,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 144,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n size: \"sm\",\n className: \"group flex items-center gap-0 overflow-hidden px-2 hover:px-3 hover:bg-orange-500/10 border-transparent hover:border-orange-500/20 text-muted-foreground hover:text-orange-500 transition-all duration-300 ease-out\",\n onClick: ()=>handleToggle(offer.id),\n children: [\n offer.isActive ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"h-4 w-4 shrink-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 153,\n columnNumber: 51\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"h-4 w-4 shrink-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 153,\n columnNumber: 98\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"max-w-0 overflow-hidden whitespace-nowrap opacity-0 group-hover:max-w-[120px] group-hover:opacity-100 group-hover:ml-2 transition-all duration-300 ease-out\",\n children: offer.isActive ? \"Приостановить\" : \"Активировать\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 154,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 152,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n size: \"sm\",\n className: \"group flex items-center gap-0 overflow-hidden px-2 hover:px-3 hover:bg-destructive/10 border-transparent hover:border-destructive/20 text-muted-foreground hover:text-destructive transition-all duration-300 ease-out\",\n onClick: ()=>handleDelete(offer.id),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_PauseCircle_Pencil_PlayCircle_PlusCircle_Trash2_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"h-4 w-4 shrink-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 159,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"max-w-0 overflow-hidden whitespace-nowrap opacity-0 group-hover:max-w-[100px] group-hover:opacity-100 group-hover:ml-2 transition-all duration-300 ease-out\",\n children: \"Удалить\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 160,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 158,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 143,\n columnNumber: 25\n }, this)\n ]\n }, offer.id, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 110,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 108,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\",\n lineNumber: 97,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2Rhc2hib2FyZC9vZmZlcnMvcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNEM7QUFDd0M7QUFDeUI7QUFDN0Q7QUFDakI7QUFDRjtBQUNlO0FBQ29FO0FBQ3JEO0FBRTVDLFNBQVNzQjtJQUNwQixNQUFNQyxTQUFTVCwwREFBU0E7SUFDeEIsTUFBTSxFQUFFVSxJQUFJLEVBQUVDLE1BQU0sRUFBRSxHQUFHSix3RUFBZUE7SUFDeEMsTUFBTSxDQUFDSyxRQUFRQyxVQUFVLEdBQUcxQiwrQ0FBUUEsQ0FBVSxFQUFFO0lBQ2hELE1BQU0sQ0FBQzJCLFNBQVNDLFdBQVcsR0FBRzVCLCtDQUFRQSxDQUFDO0lBRXZDRCxnREFBU0E7a0NBQUM7WUFDTix3QkFBd0I7WUFDeEIsSUFBSSxDQUFDeUIsUUFBUTtZQUViLE1BQU1LLGNBQWNOLE1BQU1PLE9BQU9DOzBDQUFLQyxDQUFBQSxJQUFLO3dCQUFDO3dCQUFVO3dCQUFXO3dCQUFhO3FCQUFRLENBQUNDLFFBQVEsQ0FBQ0Q7O1lBQ2hHLElBQUksQ0FBQ0gsYUFBYTtnQkFDZGxCLHlDQUFLQSxDQUFDdUIsS0FBSyxDQUFDO2dCQUNaWixPQUFPYSxJQUFJLENBQUM7Z0JBQ1o7WUFDSjtZQUVBLE1BQU1DO3NEQUFjO29CQUNoQixJQUFJO3dCQUNBLE1BQU1DLE9BQU8sTUFBTXBDLGdFQUFXQTt3QkFDOUJ5QixVQUFVVyxRQUFRLEVBQUU7b0JBQ3hCLEVBQUUsT0FBT0gsT0FBTzt3QkFDWkksUUFBUUosS0FBSyxDQUFDQTt3QkFDZHZCLHlDQUFLQSxDQUFDdUIsS0FBSyxDQUFDO29CQUNoQixTQUFVO3dCQUNOTixXQUFXO29CQUNmO2dCQUNKOztZQUVBUTtRQUNKO2lDQUFHO1FBQUNaO1FBQVFEO1FBQU1EO0tBQU87SUFFekIsTUFBTWlCLGVBQWUsT0FBT0M7UUFDeEIsSUFBSTtZQUNBLE1BQU1DLFlBQVksTUFBTXZDLGdFQUFXQSxDQUFDc0M7WUFDcENkLFVBQVVELE9BQU9pQixHQUFHLENBQUNDLENBQUFBLElBQUtBLEVBQUVILEVBQUUsS0FBS0EsS0FBSztvQkFBRSxHQUFHRyxDQUFDO29CQUFFQyxVQUFVSDtnQkFBVSxJQUFJRTtZQUN4RWhDLHlDQUFLQSxDQUFDa0MsT0FBTyxDQUFDSixZQUFZLHdCQUF3QjtRQUN0RCxFQUFFLE9BQU07WUFDSjlCLHlDQUFLQSxDQUFDdUIsS0FBSyxDQUFDO1FBQ2hCO0lBQ0o7SUFFQSxNQUFNWSxlQUFlLE9BQU9OO1FBQ3hCLElBQUksQ0FBQ08sUUFBUSwrQ0FBK0M7UUFDNUQsSUFBSTtZQUNBLE1BQU01QyxnRUFBV0EsQ0FBQ3FDO1lBQ2xCZCxVQUFVRCxPQUFPdUIsTUFBTSxDQUFDTCxDQUFBQSxJQUFLQSxFQUFFSCxFQUFFLEtBQUtBO1lBQ3RDN0IseUNBQUtBLENBQUNrQyxPQUFPLENBQUM7UUFDbEIsRUFBRSxPQUFNO1lBQ0psQyx5Q0FBS0EsQ0FBQ3VCLEtBQUssQ0FBQztRQUNoQjtJQUNKO0lBRUEsSUFBSVAsU0FBUztRQUNULHFCQUNJLDhEQUFDc0I7WUFBSUMsV0FBVTtzQkFDWCw0RUFBQ25DLG1JQUFPQTtnQkFBQ21DLFdBQVU7Ozs7Ozs7Ozs7O0lBRy9CO0lBRUEsSUFBSXpCLE9BQU8wQixNQUFNLEtBQUssR0FBRztRQUNyQixxQkFDSSw4REFBQ0Y7WUFBSUMsV0FBVTtzQkFDWCw0RUFBQ0Q7Z0JBQUlDLFdBQVU7O2tDQUNYLDhEQUFDRDt3QkFBSUMsV0FBVTtrQ0FDWCw0RUFBQ3BDLG9JQUFVQTs0QkFBQ29DLFdBQVU7Ozs7Ozs7Ozs7O2tDQUUxQiw4REFBQ0U7d0JBQUdGLFdBQVU7a0NBQTBCOzs7Ozs7a0NBQ3hDLDhEQUFDRzt3QkFBRUgsV0FBVTtrQ0FBOEM7Ozs7OztrQ0FHM0QsOERBQUN0QyxrREFBSUE7d0JBQUMwQyxNQUFLO2tDQUNQLDRFQUFDNUMseURBQU1BOzRCQUFDNkMsTUFBSzs0QkFBS0wsV0FBVTs7OENBQ3hCLDhEQUFDcEMsb0lBQVVBO29DQUFDb0MsV0FBVTs7Ozs7O2dDQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQU8xRDtJQUVBLHFCQUNJLDhEQUFDRDtRQUFJQyxXQUFVOzswQkFDWCw4REFBQ0Q7Z0JBQUlDLFdBQVU7O2tDQUNYLDhEQUFDTTt3QkFBR04sV0FBVTtrQ0FBcUI7Ozs7OztrQ0FDbkMsOERBQUN0QyxrREFBSUE7d0JBQUMwQyxNQUFLO2tDQUNQLDRFQUFDNUMseURBQU1BOzRCQUFDd0MsV0FBVTs7OENBQ2QsOERBQUNwQyxvSUFBVUE7b0NBQUNvQyxXQUFVOzs7Ozs7Z0NBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFNOUMsOERBQUNEO2dCQUFJQyxXQUFVOzBCQUNWekIsT0FBT2lCLEdBQUcsQ0FBQyxDQUFDZSxzQkFDVCw4REFBQ3JELHFEQUFJQTt3QkFBZ0I4QyxXQUFXLENBQUMsNkNBQTZDLEVBQUUsQ0FBQ08sTUFBTWIsUUFBUSxHQUFHLDhCQUE4QixpQkFBaUI7OzBDQUM3SSw4REFBQ3BDLDJEQUFVQTtnQ0FBQzBDLFdBQVU7O2tEQUNsQiw4REFBQ3pDLDBEQUFTQTt3Q0FBQ3lDLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxDQUFDTyxNQUFNYixRQUFRLElBQUkseUJBQXlCO2tEQUFHYSxNQUFNQyxLQUFLOzs7Ozs7a0RBQ3RILDhEQUFDcEQsZ0VBQWVBO2tEQUNYbUQsTUFBTWIsUUFBUSxpQkFDWCw4REFBQ2U7NENBQUtULFdBQVU7OzhEQUNaLDhEQUFDUztvREFBS1QsV0FBVTs7Ozs7O2dEQUF3RTs7Ozs7O2lFQUk1Riw4REFBQ1M7NENBQUtULFdBQVU7OzhEQUNaLDhEQUFDUztvREFBS1QsV0FBVTs7Ozs7O2dEQUE2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBDQU03Riw4REFBQzdDLDREQUFXQTtnQ0FBQzZDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQ08sTUFBTWIsUUFBUSxJQUFJLHdCQUF3Qjs7b0NBQ3hFYSxNQUFNRyxNQUFNLElBQUlILE1BQU1HLE1BQU0sQ0FBQ1QsTUFBTSxHQUFHLG1CQUNuQyw4REFBQ0Y7d0NBQUlDLFdBQVU7a0RBQ1gsNEVBQUNXOzRDQUFJQyxLQUFLTCxNQUFNRyxNQUFNLENBQUMsRUFBRTs0Q0FBRVYsV0FBVTs0Q0FBNkJhLEtBQUk7Ozs7Ozs7Ozs7O2tEQUc5RSw4REFBQ1Y7d0NBQUVILFdBQVU7a0RBQ1JPLE1BQU1PLFdBQVc7Ozs7OztrREFFdEIsOERBQUNmO3dDQUFJQyxXQUFVOzs0Q0FDVk8sTUFBTVEsS0FBSyxDQUFDQyxNQUFNOzRDQUFDOzBEQUNwQiw4REFBQ1A7Z0RBQUtULFdBQVU7MERBQ1hPLE1BQU1RLEtBQUssQ0FBQ0UsSUFBSSxLQUFLLElBQUksaUJBQWlCVixNQUFNUSxLQUFLLENBQUNFLElBQUksS0FBSyxJQUFJLFVBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQ0FJMUYsOERBQUM1RCwyREFBVUE7Z0NBQUMyQyxXQUFVOztrREFDbEIsOERBQUN0QyxrREFBSUE7d0NBQUMwQyxNQUFNLENBQUMsa0JBQWtCLEVBQUVHLE1BQU1qQixFQUFFLENBQUMsS0FBSyxDQUFDO2tEQUM1Qyw0RUFBQzlCLHlEQUFNQTs0Q0FBQzBELFNBQVE7NENBQVViLE1BQUs7NENBQUtMLFdBQVU7OzhEQUMxQyw4REFBQ2xDLG9JQUFNQTtvREFBQ2tDLFdBQVU7Ozs7Ozs4REFDbEIsOERBQUNTO29EQUFLVCxXQUFVOzhEQUE4Sjs7Ozs7Ozs7Ozs7Ozs7Ozs7a0RBS3RMLDhEQUFDeEMseURBQU1BO3dDQUFDMEQsU0FBUTt3Q0FBVWIsTUFBSzt3Q0FBS0wsV0FBVTt3Q0FBc05tQixTQUFTLElBQU05QixhQUFha0IsTUFBTWpCLEVBQUU7OzRDQUNuU2lCLE1BQU1iLFFBQVEsaUJBQUcsOERBQUMxQixvSUFBV0E7Z0RBQUNnQyxXQUFVOzs7OztxRUFBd0IsOERBQUMvQixvSUFBVUE7Z0RBQUMrQixXQUFVOzs7Ozs7MERBQ3ZGLDhEQUFDUztnREFBS1QsV0FBVTswREFDWE8sTUFBTWIsUUFBUSxHQUFHLGtCQUFrQjs7Ozs7Ozs7Ozs7O2tEQUc1Qyw4REFBQ2xDLHlEQUFNQTt3Q0FBQzBELFNBQVE7d0NBQVViLE1BQUs7d0NBQUtMLFdBQVU7d0NBQXlObUIsU0FBUyxJQUFNdkIsYUFBYVcsTUFBTWpCLEVBQUU7OzBEQUN2Uyw4REFBQ3ZCLG9JQUFNQTtnREFBQ2lDLFdBQVU7Ozs7OzswREFDbEIsOERBQUNTO2dEQUFLVCxXQUFVOzBEQUE4Sjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1QkFsRC9LTyxNQUFNakIsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztBQTREdkMiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGFwcFxcZGFzaGJvYXJkXFxvZmZlcnNcXHBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xyXG5cclxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBnZXRNeU9mZmVycywgT2ZmZXIsIHRvZ2dsZU9mZmVyLCBkZWxldGVPZmZlciB9IGZyb20gXCJAL3NoYXJlZC9hcGkvY2F0YWxvZ1wiO1xyXG5pbXBvcnQgeyBDYXJkLCBDYXJkQ29udGVudCwgQ2FyZERlc2NyaXB0aW9uLCBDYXJkRm9vdGVyLCBDYXJkSGVhZGVyLCBDYXJkVGl0bGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2NhcmRcIjtcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIjtcclxuaW1wb3J0IHsgdG9hc3QgfSBmcm9tIFwic29ubmVyXCI7XHJcbmltcG9ydCBMaW5rIGZyb20gXCJuZXh0L2xpbmtcIjtcclxuaW1wb3J0IHsgdXNlUm91dGVyIH0gZnJvbSBcIm5leHQvbmF2aWdhdGlvblwiO1xyXG5pbXBvcnQgeyBQbHVzQ2lyY2xlLCBMb2FkZXIyLCBQZW5jaWwsIFRyYXNoMiwgUGF1c2VDaXJjbGUsIFBsYXlDaXJjbGUsIEltYWdlIGFzIEltYWdlSWNvbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcclxuaW1wb3J0IHsgdXNlU2Vzc2lvblN0b3JlIH0gZnJvbSBcIkAvZW50aXRpZXMvc2Vzc2lvbi9zdG9yZVwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTXlPZmZlcnNQYWdlKCkge1xyXG4gICAgY29uc3Qgcm91dGVyID0gdXNlUm91dGVyKCk7XHJcbiAgICBjb25zdCB7IHVzZXIsIGlzQXV0aCB9ID0gdXNlU2Vzc2lvblN0b3JlKCk7XHJcbiAgICBjb25zdCBbb2ZmZXJzLCBzZXRPZmZlcnNdID0gdXNlU3RhdGU8T2ZmZXJbXT4oW10pO1xyXG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XHJcblxyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICAvLyDQn9GA0L7QstC10YDQutCwINC/0YDQsNCyINC00L7RgdGC0YPQv9CwXHJcbiAgICAgICAgaWYgKCFpc0F1dGgpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgaXNQZXJmb3JtZXIgPSB1c2VyPy5yb2xlcz8uc29tZShyID0+IFtcIk1hc3RlclwiLCBcIkNvbXBhbnlcIiwgXCJDYW5kaWRhdGVcIiwgXCJBZG1pblwiXS5pbmNsdWRlcyhyKSk7XHJcbiAgICAgICAgaWYgKCFpc1BlcmZvcm1lcikge1xyXG4gICAgICAgICAgICB0b2FzdC5lcnJvcihcItCn0YLQvtCx0Ysg0YHQvtC30LTQsNCy0LDRgtGMINGD0YHQu9GD0LPQuCwg0LLQsNC8INC90YPQttC90L4g0YHRgtCw0YLRjCDQuNGB0L/QvtC70L3QuNGC0LXQu9C10LxcIik7XHJcbiAgICAgICAgICAgIHJvdXRlci5wdXNoKFwiL2Rhc2hib2FyZC9iZWNvbWUtcGVyZm9ybWVyXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBmZXRjaE9mZmVycyA9IGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXRNeU9mZmVycygpO1xyXG4gICAgICAgICAgICAgICAgc2V0T2ZmZXJzKGRhdGEgfHwgW10pO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgICAgICB0b2FzdC5lcnJvcihcItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCz0YDRg9C30LjRgtGMINCy0LDRiNC4INGD0YHQu9GD0LPQuFwiKTtcclxuICAgICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgZmV0Y2hPZmZlcnMoKTtcclxuICAgIH0sIFtpc0F1dGgsIHVzZXIsIHJvdXRlcl0pO1xyXG5cclxuICAgIGNvbnN0IGhhbmRsZVRvZ2dsZSA9IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgbmV3U3RhdHVzID0gYXdhaXQgdG9nZ2xlT2ZmZXIoaWQpO1xyXG4gICAgICAgICAgICBzZXRPZmZlcnMob2ZmZXJzLm1hcChvID0+IG8uaWQgPT09IGlkID8geyAuLi5vLCBpc0FjdGl2ZTogbmV3U3RhdHVzIH0gOiBvKSk7XHJcbiAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MobmV3U3RhdHVzID8gXCLQo9GB0LvRg9Cz0LAg0LDQutGC0LjQstC40YDQvtCy0LDQvdCwXCIgOiBcItCj0YHQu9GD0LPQsCDQv9GA0LjQvtGB0YLQsNC90L7QstC70LXQvdCwXCIpO1xyXG4gICAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgICAgICB0b2FzdC5lcnJvcihcItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LjQt9C80LXQvdC40YLRjCDRgdGC0LDRgtGD0YEg0YPRgdC70YPQs9C4XCIpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgaGFuZGxlRGVsZXRlID0gYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAoIWNvbmZpcm0oXCLQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINGN0YLRgyDRg9GB0LvRg9Cz0YM/XCIpKSByZXR1cm47XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgYXdhaXQgZGVsZXRlT2ZmZXIoaWQpO1xyXG4gICAgICAgICAgICBzZXRPZmZlcnMob2ZmZXJzLmZpbHRlcihvID0+IG8uaWQgIT09IGlkKSk7XHJcbiAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MoXCLQo9GB0LvRg9Cz0LAg0YPQtNCw0LvQtdC90LBcIik7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKFwi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDRg9GB0LvRg9Cz0YNcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAobG9hZGluZykge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgaC00OFwiPlxyXG4gICAgICAgICAgICAgICAgPExvYWRlcjIgY2xhc3NOYW1lPVwiaC04IHctOCBhbmltYXRlLXNwaW4gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob2ZmZXJzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG1heC13LTV4bCBweS0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTEyIHRleHQtY2VudGVyIGJnLWNhcmQgcm91bmRlZC0yeGwgYm9yZGVyIHNoYWRvdy1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItNCByb3VuZGVkLWZ1bGwgYmctcHJpbWFyeS8xMCBwLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFBsdXNDaXJjbGUgY2xhc3NOYW1lPVwiaC0xMiB3LTEyIHRleHQtcHJpbWFyeVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZCBtYi0zXCI+0KMg0LLQsNGBINC10YnQtSDQvdC10YIg0YPRgdC70YPQszwvaDI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG1iLTggbWF4LXctbWQgdGV4dC1sZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDQodC+0LfQtNCw0LnRgtC1INGB0LLQvtGOINC/0LXRgNCy0YPRjiDRg9GB0LvRg9Cz0YMsINGH0YLQvtCx0Ysg0LrQu9C40LXQvdGC0Ysg0LzQvtCz0LvQuCDQstCw0YEg0L3QsNC50YLQuCDQuCDQv9GA0LXQtNC70L7QttC40YLRjCDQt9Cw0LrQsNC3LlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2Rhc2hib2FyZC9vZmZlcnMvY3JlYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gc2l6ZT1cImxnXCIgY2xhc3NOYW1lPVwiZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQbHVzQ2lyY2xlIGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0KHQvtC30LTQsNGC0Ywg0L/QtdGA0LLRg9GOINGD0YHQu9GD0LPRg1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG1heC13LTV4bCBweS0xMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgbWQ6aXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtNCBtYi04IGJnLWNhcmQgcC02IHJvdW5kZWQtMnhsIHNoYWRvdy1zbSBib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTN4bCBmb250LWJvbGRcIj7QnNC+0Lgg0YPRgdC70YPQs9C4PC9oMT5cclxuICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvZGFzaGJvYXJkL29mZmVycy9jcmVhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cImdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxQbHVzQ2lyY2xlIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDQodC+0LfQtNCw0YLRjCDRg9GB0LvRg9Cz0YNcclxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMgZ2FwLTZcIj5cclxuICAgICAgICAgICAgICAgIHtvZmZlcnMubWFwKChvZmZlcikgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxDYXJkIGtleT17b2ZmZXIuaWR9IGNsYXNzTmFtZT17YGZsZXggZmxleC1jb2wgdHJhbnNpdGlvbi1hbGwgaG92ZXI6c2hhZG93LW1kICR7IW9mZmVyLmlzQWN0aXZlID8gXCJiZy1tdXRlZC8zMCBib3JkZXItZGFzaGVkXCIgOiBcImJvcmRlci1ib3JkZXJcIn1gfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRIZWFkZXIgY2xhc3NOYW1lPVwicGItMyByZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9e2B0ZXh0LXhsIGZvbnQtc2VtaWJvbGQgbGluZS1jbGFtcC0xICR7IW9mZmVyLmlzQWN0aXZlICYmIFwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCJ9YH0+e29mZmVyLnRpdGxlfTwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmREZXNjcmlwdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b2ZmZXIuaXNBY3RpdmUgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LWdyZWVuLTYwMCBkYXJrOnRleHQtZ3JlZW4tNTAwIHRleHQteHMgZm9udC1tZWRpdW0gYmctZ3JlZW4tMTAwIGRhcms6YmctZ3JlZW4tOTAwLzMwIHB4LTIgcHktMC41IHJvdW5kZWQtZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidy0xLjUgaC0xLjUgcm91bmRlZC1mdWxsIGJnLWdyZWVuLTYwMCBkYXJrOmJnLWdyZWVuLTUwMCBtci0xLjVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQkNC60YLQuNCy0L3QsFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCB0ZXh0LXhzIGZvbnQtbWVkaXVtIGJnLW11dGVkIHB4LTIgcHktMC41IHJvdW5kZWQtZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidy0xLjUgaC0xLjUgcm91bmRlZC1mdWxsIGJnLW11dGVkLWZvcmVncm91bmQgbXItMS41XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/RgNC40L7RgdGC0LDQvdC+0LLQu9C10L3QsFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkQ29udGVudCBjbGFzc05hbWU9e2BmbGV4LTEgJHshb2ZmZXIuaXNBY3RpdmUgJiYgXCJvcGFjaXR5LTcwIGdyYXlzY2FsZVwifWB9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge29mZmVyLmltYWdlcyAmJiBvZmZlci5pbWFnZXMubGVuZ3RoID4gMCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LWZ1bGwgaC0zMiBtYi00IHJvdW5kZWQtbWQgYmctbXV0ZWQgb3ZlcmZsb3ctaGlkZGVuIHJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtvZmZlci5pbWFnZXNbMF19IGNsYXNzTmFtZT1cInctZnVsbCBoLWZ1bGwgb2JqZWN0LWNvdmVyXCIgYWx0PVwiUHJpbWFyeSBpbWFnZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWZvcmVncm91bmQvODAgbGluZS1jbGFtcC0zIG1iLTQgbGVhZGluZy1yZWxheGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29mZmVyLmRlc2NyaXB0aW9ufVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRleHQtbGcgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b2ZmZXIucHJpY2UuYW1vdW50fSDigr1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbm9ybWFsIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCByZWxhdGl2ZSB0b3AtMC41XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvZmZlci5wcmljZS50eXBlID09PSAwID8gXCLRhNC40LrRgdC40YDQvtCy0LDQvdC90L5cIiA6IG9mZmVyLnByaWNlLnR5cGUgPT09IDEgPyBcItCyINGH0LDRgVwiIDogXCLQtNC+0LPQvtCy0L7RgNC90LDRj1wifVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmRDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZEZvb3RlciBjbGFzc05hbWU9XCJmbGV4IGdhcC0yIGp1c3RpZnktZW5kIGJnLW11dGVkLzIwIHB0LTQgbXQtYXV0byBib3JkZXItdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgaHJlZj17YC9kYXNoYm9hcmQvb2ZmZXJzLyR7b2ZmZXIuaWR9L2VkaXRgfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJvdXRsaW5lXCIgc2l6ZT1cInNtXCIgY2xhc3NOYW1lPVwiZ3JvdXAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTAgb3ZlcmZsb3ctaGlkZGVuIHB4LTIgaG92ZXI6cHgtMyBob3ZlcjpiZy1wcmltYXJ5LzEwIGJvcmRlci10cmFuc3BhcmVudCBob3Zlcjpib3JkZXItcHJpbWFyeS8yMCB0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6dGV4dC1wcmltYXJ5IHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBlYXNlLW91dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UGVuY2lsIGNsYXNzTmFtZT1cImgtNCB3LTQgc2hyaW5rLTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtYXgtdy0wIG92ZXJmbG93LWhpZGRlbiB3aGl0ZXNwYWNlLW5vd3JhcCBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6bWF4LXctWzEyMHB4XSBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCBncm91cC1ob3ZlcjptbC0yIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBlYXNlLW91dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiIHNpemU9XCJzbVwiIGNsYXNzTmFtZT1cImdyb3VwIGZsZXggaXRlbXMtY2VudGVyIGdhcC0wIG92ZXJmbG93LWhpZGRlbiBweC0yIGhvdmVyOnB4LTMgaG92ZXI6Ymctb3JhbmdlLTUwMC8xMCBib3JkZXItdHJhbnNwYXJlbnQgaG92ZXI6Ym9yZGVyLW9yYW5nZS01MDAvMjAgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGhvdmVyOnRleHQtb3JhbmdlLTUwMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZWFzZS1vdXRcIiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVUb2dnbGUob2ZmZXIuaWQpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b2ZmZXIuaXNBY3RpdmUgPyA8UGF1c2VDaXJjbGUgY2xhc3NOYW1lPVwiaC00IHctNCBzaHJpbmstMFwiIC8+IDogPFBsYXlDaXJjbGUgY2xhc3NOYW1lPVwiaC00IHctNCBzaHJpbmstMFwiIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1heC13LTAgb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwIG9wYWNpdHktMCBncm91cC1ob3ZlcjptYXgtdy1bMTIwcHhdIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIGdyb3VwLWhvdmVyOm1sLTIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIGVhc2Utb3V0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvZmZlci5pc0FjdGl2ZSA/IFwi0J/RgNC40L7RgdGC0LDQvdC+0LLQuNGC0YxcIiA6IFwi0JDQutGC0LjQstC40YDQvtCy0LDRgtGMXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJvdXRsaW5lXCIgc2l6ZT1cInNtXCIgY2xhc3NOYW1lPVwiZ3JvdXAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTAgb3ZlcmZsb3ctaGlkZGVuIHB4LTIgaG92ZXI6cHgtMyBob3ZlcjpiZy1kZXN0cnVjdGl2ZS8xMCBib3JkZXItdHJhbnNwYXJlbnQgaG92ZXI6Ym9yZGVyLWRlc3RydWN0aXZlLzIwIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBob3Zlcjp0ZXh0LWRlc3RydWN0aXZlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBlYXNlLW91dFwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZShvZmZlci5pZCl9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUcmFzaDIgY2xhc3NOYW1lPVwiaC00IHctNCBzaHJpbmstMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibWF4LXctMCBvdmVyZmxvdy1oaWRkZW4gd2hpdGVzcGFjZS1ub3dyYXAgb3BhY2l0eS0wIGdyb3VwLWhvdmVyOm1heC13LVsxMDBweF0gZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgZ3JvdXAtaG92ZXI6bWwtMiB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgZWFzZS1vdXRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0KPQtNCw0LvQuNGC0YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkRm9vdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cclxuICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICk7XHJcbn1cclxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiZ2V0TXlPZmZlcnMiLCJ0b2dnbGVPZmZlciIsImRlbGV0ZU9mZmVyIiwiQ2FyZCIsIkNhcmRDb250ZW50IiwiQ2FyZERlc2NyaXB0aW9uIiwiQ2FyZEZvb3RlciIsIkNhcmRIZWFkZXIiLCJDYXJkVGl0bGUiLCJCdXR0b24iLCJ0b2FzdCIsIkxpbmsiLCJ1c2VSb3V0ZXIiLCJQbHVzQ2lyY2xlIiwiTG9hZGVyMiIsIlBlbmNpbCIsIlRyYXNoMiIsIlBhdXNlQ2lyY2xlIiwiUGxheUNpcmNsZSIsInVzZVNlc3Npb25TdG9yZSIsIk15T2ZmZXJzUGFnZSIsInJvdXRlciIsInVzZXIiLCJpc0F1dGgiLCJvZmZlcnMiLCJzZXRPZmZlcnMiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImlzUGVyZm9ybWVyIiwicm9sZXMiLCJzb21lIiwiciIsImluY2x1ZGVzIiwiZXJyb3IiLCJwdXNoIiwiZmV0Y2hPZmZlcnMiLCJkYXRhIiwiY29uc29sZSIsImhhbmRsZVRvZ2dsZSIsImlkIiwibmV3U3RhdHVzIiwibWFwIiwibyIsImlzQWN0aXZlIiwic3VjY2VzcyIsImhhbmRsZURlbGV0ZSIsImNvbmZpcm0iLCJmaWx0ZXIiLCJkaXYiLCJjbGFzc05hbWUiLCJsZW5ndGgiLCJoMiIsInAiLCJocmVmIiwic2l6ZSIsImgxIiwib2ZmZXIiLCJ0aXRsZSIsInNwYW4iLCJpbWFnZXMiLCJpbWciLCJzcmMiLCJhbHQiLCJkZXNjcmlwdGlvbiIsInByaWNlIiwiYW1vdW50IiwidHlwZSIsInZhcmlhbnQiLCJvbkNsaWNrIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/app/dashboard/offers/page.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* __next_internal_client_entry_do_not_use__ AuthProvider auto */ \n\n\n\nfunction AuthProvider({ children }) {\n const { checkAuth, isInitialized } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_2__.useSessionStore)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AuthProvider.useEffect\": ()=>{\n // Проверяем авторизацию при загрузке приложения\n checkAuth();\n }\n }[\"AuthProvider.useEffect\"], [\n checkAuth\n ]);\n // Показываем загрузку только на первой проверке\n if (!isInitialized) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-blue-600\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 19,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: children\n }, void 0, false);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hdXRoL0F1dGhQcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFaUM7QUFDeUI7QUFDcEI7QUFFL0IsU0FBU0csYUFBYSxFQUFFQyxRQUFRLEVBQWlDO0lBQ3BFLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUUsR0FBR0wsd0VBQWVBO0lBRXBERCxnREFBU0E7a0NBQUM7WUFDTixnREFBZ0Q7WUFDaERLO1FBQ0o7aUNBQUc7UUFBQ0E7S0FBVTtJQUVkLGdEQUFnRDtJQUNoRCxJQUFJLENBQUNDLGVBQWU7UUFDaEIscUJBQ0ksOERBQUNDO1lBQUlDLFdBQVU7c0JBQ1gsNEVBQUNOLG1GQUFPQTtnQkFBQ00sV0FBVTs7Ozs7Ozs7Ozs7SUFHL0I7SUFFQSxxQkFBTztrQkFBR0o7O0FBQ2QiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXGF1dGhcXEF1dGhQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxuaW1wb3J0IHsgTG9hZGVyMiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuXG5leHBvcnQgZnVuY3Rpb24gQXV0aFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICBjb25zdCB7IGNoZWNrQXV0aCwgaXNJbml0aWFsaXplZCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNGOINC/0YDQuCDQt9Cw0LPRgNGD0LfQutC1INC/0YDQuNC70L7QttC10L3QuNGPXG4gICAgICAgIGNoZWNrQXV0aCgpXG4gICAgfSwgW2NoZWNrQXV0aF0pXG5cbiAgICAvLyDQn9C+0LrQsNC30YvQstCw0LXQvCDQt9Cw0LPRgNGD0LfQutGDINGC0L7Qu9GM0LrQviDQvdCwINC/0LXRgNCy0L7QuSDQv9GA0L7QstC10YDQutC1XG4gICAgaWYgKCFpc0luaXRpYWxpemVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggbWluLWgtc2NyZWVuIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cImgtOCB3LTggYW5pbWF0ZS1zcGluIHRleHQtYmx1ZS02MDBcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU2Vzc2lvblN0b3JlIiwiTG9hZGVyMiIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwiY2hlY2tBdXRoIiwiaXNJbml0aWFsaXplZCIsImRpdiIsImNsYXNzTmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/auth/AuthProvider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/mode-toggle.tsx": -/*!**********************************************!*\ - !*** ./src/components/theme/mode-toggle.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModeToggle: () => (/* binding */ ModeToggle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/sun.js\");\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/moon.js\");\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* __next_internal_client_entry_do_not_use__ ModeToggle auto */ \n\n\n\n\n\nfunction ModeToggle() {\n const { setTheme } = (0,next_themes__WEBPACK_IMPORTED_MODULE_2__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"outline\",\n size: \"icon\",\n className: \"rounded-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 22,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 23,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Toggle theme\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 24,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 21,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuContent, {\n align: \"end\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"light\"),\n children: \"Светлая\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 28,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"dark\"),\n children: \"Темная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 31,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"system\"),\n children: \"Системная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 27,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS9tb2RlLXRvZ2dsZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFOEI7QUFDVTtBQUNGO0FBRVM7QUFNVDtBQUUvQixTQUFTUztJQUNaLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdQLHFEQUFRQTtJQUU3QixxQkFDSSw4REFBQ0Usc0VBQVlBOzswQkFDVCw4REFBQ0csNkVBQW1CQTtnQkFBQ0csT0FBTzswQkFDeEIsNEVBQUNQLHlEQUFNQTtvQkFBQ1EsU0FBUTtvQkFBVUMsTUFBSztvQkFBT0MsV0FBVTs7c0NBQzVDLDhEQUFDWixvRkFBR0E7NEJBQUNZLFdBQVU7Ozs7OztzQ0FDZiw4REFBQ2Isb0ZBQUlBOzRCQUFDYSxXQUFVOzs7Ozs7c0NBQ2hCLDhEQUFDQzs0QkFBS0QsV0FBVTtzQ0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBR2xDLDhEQUFDUiw2RUFBbUJBO2dCQUFDVSxPQUFNOztrQ0FDdkIsOERBQUNULDBFQUFnQkE7d0JBQUNVLFNBQVMsSUFBTVAsU0FBUztrQ0FBVTs7Ozs7O2tDQUdwRCw4REFBQ0gsMEVBQWdCQTt3QkFBQ1UsU0FBUyxJQUFNUCxTQUFTO2tDQUFTOzs7Ozs7a0NBR25ELDhEQUFDSCwwRUFBZ0JBO3dCQUFDVSxTQUFTLElBQU1QLFNBQVM7a0NBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1yRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdGhlbWVcXG1vZGUtdG9nZ2xlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgTW9vbiwgU3VuIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuXHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCJcclxuaW1wb3J0IHtcclxuICAgIERyb3Bkb3duTWVudSxcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2Ryb3Bkb3duLW1lbnVcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVUb2dnbGUoKSB7XHJcbiAgICBjb25zdCB7IHNldFRoZW1lIH0gPSB1c2VUaGVtZSgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51VHJpZ2dlciBhc0NoaWxkPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiIHNpemU9XCJpY29uXCIgY2xhc3NOYW1lPVwicm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFN1biBjbGFzc05hbWU9XCJoLVsxLjJyZW1dIHctWzEuMnJlbV0gcm90YXRlLTAgc2NhbGUtMTAwIHRyYW5zaXRpb24tYWxsIGRhcms6LXJvdGF0ZS05MCBkYXJrOnNjYWxlLTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxNb29uIGNsYXNzTmFtZT1cImFic29sdXRlIGgtWzEuMnJlbV0gdy1bMS4ycmVtXSByb3RhdGUtOTAgc2NhbGUtMCB0cmFuc2l0aW9uLWFsbCBkYXJrOnJvdGF0ZS0wIGRhcms6c2NhbGUtMTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+VG9nZ2xlIHRoZW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51VHJpZ2dlcj5cclxuICAgICAgICAgICAgPERyb3Bkb3duTWVudUNvbnRlbnQgYWxpZ249XCJlbmRcIj5cclxuICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIG9uQ2xpY2s9eygpID0+IHNldFRoZW1lKFwibGlnaHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LLQtdGC0LvQsNGPXHJcbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51SXRlbSBvbkNsaWNrPXsoKSA9PiBzZXRUaGVtZShcImRhcmtcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCi0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gb25DbGljaz17KCkgPT4gc2V0VGhlbWUoXCJzeXN0ZW1cIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LjRgdGC0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgPC9Ecm9wZG93bk1lbnU+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiTW9vbiIsIlN1biIsInVzZVRoZW1lIiwiQnV0dG9uIiwiRHJvcGRvd25NZW51IiwiRHJvcGRvd25NZW51Q29udGVudCIsIkRyb3Bkb3duTWVudUl0ZW0iLCJEcm9wZG93bk1lbnVUcmlnZ2VyIiwiTW9kZVRvZ2dsZSIsInNldFRoZW1lIiwiYXNDaGlsZCIsInZhcmlhbnQiLCJzaXplIiwiY2xhc3NOYW1lIiwic3BhbiIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/mode-toggle.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ ThemeProvider auto */ \n\n\nfunction ThemeProvider({ children, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_themes__WEBPACK_IMPORTED_MODULE_2__.ThemeProvider, {\n ...props,\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\theme-provider.tsx\",\n lineNumber: 8,\n columnNumber: 12\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS90aGVtZS1wcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUU4QjtBQUNtQztBQUcxRCxTQUFTQyxjQUFjLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUEyQjtJQUNwRSxxQkFBTyw4REFBQ0Ysc0RBQWtCQTtRQUFFLEdBQUdFLEtBQUs7a0JBQUdEOzs7Ozs7QUFDM0MiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHRoZW1lXFx0aGVtZS1wcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgYXMgTmV4dFRoZW1lc1Byb3ZpZGVyIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuaW1wb3J0IHsgdHlwZSBUaGVtZVByb3ZpZGVyUHJvcHMgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIoeyBjaGlsZHJlbiwgLi4ucHJvcHMgfTogVGhlbWVQcm92aWRlclByb3BzKSB7XHJcbiAgICByZXR1cm4gPE5leHRUaGVtZXNQcm92aWRlciB7Li4ucHJvcHN9PntjaGlsZHJlbn08L05leHRUaGVtZXNQcm92aWRlcj5cclxufVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUaGVtZVByb3ZpZGVyIiwiTmV4dFRoZW1lc1Byb3ZpZGVyIiwiY2hpbGRyZW4iLCJwcm9wcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/theme-provider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/button.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/button.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ buttonVariants: () => (/* binding */ buttonVariants)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst buttonVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n});\nconst Button = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, size, asChild = false, ...props }, ref)=>{\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot : \"button\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Comp, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(buttonVariants({\n variant,\n size,\n className\n })),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\button.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, undefined);\n});\nButton.displayName = \"Button\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9idXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDYTtBQUNzQjtBQUUxQjtBQUV2QyxNQUFNSSxpQkFBaUJGLDZEQUFHQSxDQUN0Qiw0VkFDQTtJQUNJRyxVQUFVO1FBQ05DLFNBQVM7WUFDTEMsU0FBUztZQUNUQyxhQUNJO1lBQ0pDLFNBQ0k7WUFDSkMsV0FDSTtZQUNKQyxPQUFPO1lBQ1BDLE1BQU07UUFDVjtRQUNBQyxNQUFNO1lBQ0ZOLFNBQVM7WUFDVE8sSUFBSTtZQUNKQyxJQUFJO1lBQ0pDLE1BQU07UUFDVjtJQUNKO0lBQ0FDLGlCQUFpQjtRQUNiWCxTQUFTO1FBQ1RPLE1BQU07SUFDVjtBQUNKO0FBU0osTUFBTUssdUJBQVNsQiw2Q0FBZ0IsQ0FDM0IsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFZCxPQUFPLEVBQUVPLElBQUksRUFBRVEsVUFBVSxLQUFLLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUN0RCxNQUFNQyxPQUFPSCxVQUFVcEIsc0RBQUlBLEdBQUc7SUFDOUIscUJBQ0ksOERBQUN1QjtRQUNHSixXQUFXakIscURBQUVBLENBQUNDLGVBQWU7WUFBRUU7WUFBU087WUFBTU87UUFBVTtRQUN4REcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosT0FBT08sV0FBVyxHQUFHO0FBRVkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxidXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIlxyXG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgYnV0dG9uVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIFsmX3N2Z106cG9pbnRlci1ldmVudHMtbm9uZSBbJl9zdmddOnNpemUtNCBbJl9zdmddOnNocmluay0wXCIsXHJcbiAgICB7XHJcbiAgICAgICAgdmFyaWFudHM6IHtcclxuICAgICAgICAgICAgdmFyaWFudDoge1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogXCJiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkvOTBcIixcclxuICAgICAgICAgICAgICAgIGRlc3RydWN0aXZlOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIGhvdmVyOmJnLWRlc3RydWN0aXZlLzkwXCIsXHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICAgICAgXCJiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1zZWNvbmRhcnkvODBcIixcclxuICAgICAgICAgICAgICAgIGdob3N0OiBcImhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBcInRleHQtcHJpbWFyeSB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lXCIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNpemU6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFwiaC0xMCBweC00IHB5LTJcIixcclxuICAgICAgICAgICAgICAgIHNtOiBcImgtOSByb3VuZGVkLW1kIHB4LTNcIixcclxuICAgICAgICAgICAgICAgIGxnOiBcImgtMTEgcm91bmRlZC1tZCBweC04XCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImgtMTAgdy0xMFwiLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVmYXVsdFZhcmlhbnRzOiB7XHJcbiAgICAgICAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICBzaXplOiBcImRlZmF1bHRcIixcclxuICAgICAgICB9LFxyXG4gICAgfVxyXG4pXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzXHJcbiAgICBleHRlbmRzIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PixcclxuICAgIFZhcmlhbnRQcm9wczx0eXBlb2YgYnV0dG9uVmFyaWFudHM+IHtcclxuICAgIGFzQ2hpbGQ/OiBib29sZWFuXHJcbn1cclxuXHJcbmNvbnN0IEJ1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihcclxuICAgICh7IGNsYXNzTmFtZSwgdmFyaWFudCwgc2l6ZSwgYXNDaGlsZCA9IGZhbHNlLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgICAgICBjb25zdCBDb21wID0gYXNDaGlsZCA/IFNsb3QgOiBcImJ1dHRvblwiXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPENvbXBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oYnV0dG9uVmFyaWFudHMoeyB2YXJpYW50LCBzaXplLCBjbGFzc05hbWUgfSkpfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbkJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiQnV0dG9uXCJcclxuXHJcbmV4cG9ydCB7IEJ1dHRvbiwgYnV0dG9uVmFyaWFudHMgfVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTbG90IiwiY3ZhIiwiY24iLCJidXR0b25WYXJpYW50cyIsInZhcmlhbnRzIiwidmFyaWFudCIsImRlZmF1bHQiLCJkZXN0cnVjdGl2ZSIsIm91dGxpbmUiLCJzZWNvbmRhcnkiLCJnaG9zdCIsImxpbmsiLCJzaXplIiwic20iLCJsZyIsImljb24iLCJkZWZhdWx0VmFyaWFudHMiLCJCdXR0b24iLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiYXNDaGlsZCIsInByb3BzIiwicmVmIiwiQ29tcCIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/button.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/card.tsx": -/*!************************************!*\ - !*** ./src/components/ui/card.tsx ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Card: () => (/* binding */ Card),\n/* harmony export */ CardContent: () => (/* binding */ CardContent),\n/* harmony export */ CardDescription: () => (/* binding */ CardDescription),\n/* harmony export */ CardFooter: () => (/* binding */ CardFooter),\n/* harmony export */ CardHeader: () => (/* binding */ CardHeader),\n/* harmony export */ CardTitle: () => (/* binding */ CardTitle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Card = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"rounded-lg border bg-card text-card-foreground shadow-sm\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 8,\n columnNumber: 5\n }, undefined));\nCard.displayName = \"Card\";\nconst CardHeader = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex flex-col space-y-1.5 p-6\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 23,\n columnNumber: 5\n }, undefined));\nCardHeader.displayName = \"CardHeader\";\nconst CardTitle = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-2xl font-semibold leading-none tracking-tight\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 35,\n columnNumber: 5\n }, undefined));\nCardTitle.displayName = \"CardTitle\";\nconst CardDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm text-muted-foreground\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 50,\n columnNumber: 5\n }, undefined));\nCardDescription.displayName = \"CardDescription\";\nconst CardContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"p-6 pt-0\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 62,\n columnNumber: 5\n }, undefined));\nCardContent.displayName = \"CardContent\";\nconst CardFooter = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center p-6 pt-0\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 70,\n columnNumber: 5\n }, undefined));\nCardFooter.displayName = \"CardFooter\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9jYXJkLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDUztBQUV2QyxNQUFNRSxxQkFBT0YsNkNBQWdCLENBRzNCLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FDVCw0REFDQUc7UUFFSCxHQUFHQyxLQUFLOzs7Ozs7QUFHakJILEtBQUtNLFdBQVcsR0FBRztBQUVuQixNQUFNQywyQkFBYVQsNkNBQWdCLENBR2pDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyxpQ0FBaUNHO1FBQzlDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQkksV0FBV0QsV0FBVyxHQUFHO0FBRXpCLE1BQU1FLDBCQUFZViw2Q0FBZ0IsQ0FHaEMsQ0FBQyxFQUFFSSxTQUFTLEVBQUUsR0FBR0MsT0FBTyxFQUFFQyxvQkFDeEIsOERBQUNLO1FBQ0dMLEtBQUtBO1FBQ0xGLFdBQVdILHFEQUFFQSxDQUNULHNEQUNBRztRQUVILEdBQUdDLEtBQUs7Ozs7OztBQUdqQkssVUFBVUYsV0FBVyxHQUFHO0FBRXhCLE1BQU1JLGdDQUFrQlosNkNBQWdCLENBR3RDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDTztRQUNHUCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyxpQ0FBaUNHO1FBQzlDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQk8sZ0JBQWdCSixXQUFXLEdBQUc7QUFFOUIsTUFBTU0sNEJBQWNkLDZDQUFnQixDQUdsQyxDQUFDLEVBQUVJLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ0M7UUFBSUQsS0FBS0E7UUFBS0YsV0FBV0gscURBQUVBLENBQUMsWUFBWUc7UUFBYSxHQUFHQyxLQUFLOzs7Ozs7QUFFbEVTLFlBQVlOLFdBQVcsR0FBRztBQUUxQixNQUFNTywyQkFBYWYsNkNBQWdCLENBR2pDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyw4QkFBOEJHO1FBQzNDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQlUsV0FBV1AsV0FBVyxHQUFHO0FBRXVEIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcY2FyZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IENhcmQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgIFwicm91bmRlZC1sZyBib3JkZXIgYmctY2FyZCB0ZXh0LWNhcmQtZm9yZWdyb3VuZCBzaGFkb3ctc21cIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAvPlxyXG4pKVxyXG5DYXJkLmRpc3BsYXlOYW1lID0gXCJDYXJkXCJcclxuXHJcbmNvbnN0IENhcmRIZWFkZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGZsZXgtY29sIHNwYWNlLXktMS41IHAtNlwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkNhcmRIZWFkZXIuZGlzcGxheU5hbWUgPSBcIkNhcmRIZWFkZXJcIlxyXG5cclxuY29uc3QgQ2FyZFRpdGxlID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIEhUTUxQYXJhZ3JhcGhFbGVtZW50LFxyXG4gICAgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTEhlYWRpbmdFbGVtZW50PlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8aDNcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInRleHQtMnhsIGZvbnQtc2VtaWJvbGQgbGVhZGluZy1ub25lIHRyYWNraW5nLXRpZ2h0XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuQ2FyZFRpdGxlLmRpc3BsYXlOYW1lID0gXCJDYXJkVGl0bGVcIlxyXG5cclxuY29uc3QgQ2FyZERlc2NyaXB0aW9uID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIEhUTUxQYXJhZ3JhcGhFbGVtZW50LFxyXG4gICAgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFBhcmFncmFwaEVsZW1lbnQ+XHJcbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxwXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuQ2FyZERlc2NyaXB0aW9uLmRpc3BsYXlOYW1lID0gXCJDYXJkRGVzY3JpcHRpb25cIlxyXG5cclxuY29uc3QgQ2FyZENvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdiByZWY9e3JlZn0gY2xhc3NOYW1lPXtjbihcInAtNiBwdC0wXCIsIGNsYXNzTmFtZSl9IHsuLi5wcm9wc30gLz5cclxuKSlcclxuQ2FyZENvbnRlbnQuZGlzcGxheU5hbWUgPSBcIkNhcmRDb250ZW50XCJcclxuXHJcbmNvbnN0IENhcmRGb290ZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGl0ZW1zLWNlbnRlciBwLTYgcHQtMFwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkNhcmRGb290ZXIuZGlzcGxheU5hbWUgPSBcIkNhcmRGb290ZXJcIlxyXG5cclxuZXhwb3J0IHsgQ2FyZCwgQ2FyZEhlYWRlciwgQ2FyZEZvb3RlciwgQ2FyZFRpdGxlLCBDYXJkRGVzY3JpcHRpb24sIENhcmRDb250ZW50IH1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY24iLCJDYXJkIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsInByb3BzIiwicmVmIiwiZGl2IiwiZGlzcGxheU5hbWUiLCJDYXJkSGVhZGVyIiwiQ2FyZFRpdGxlIiwiaDMiLCJDYXJkRGVzY3JpcHRpb24iLCJwIiwiQ2FyZENvbnRlbnQiLCJDYXJkRm9vdGVyIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/card.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/dropdown-menu.tsx": -/*!*********************************************!*\ - !*** ./src/components/ui/dropdown-menu.tsx ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropdownMenu: () => (/* binding */ DropdownMenu),\n/* harmony export */ DropdownMenuCheckboxItem: () => (/* binding */ DropdownMenuCheckboxItem),\n/* harmony export */ DropdownMenuContent: () => (/* binding */ DropdownMenuContent),\n/* harmony export */ DropdownMenuGroup: () => (/* binding */ DropdownMenuGroup),\n/* harmony export */ DropdownMenuItem: () => (/* binding */ DropdownMenuItem),\n/* harmony export */ DropdownMenuLabel: () => (/* binding */ DropdownMenuLabel),\n/* harmony export */ DropdownMenuPortal: () => (/* binding */ DropdownMenuPortal),\n/* harmony export */ DropdownMenuRadioGroup: () => (/* binding */ DropdownMenuRadioGroup),\n/* harmony export */ DropdownMenuRadioItem: () => (/* binding */ DropdownMenuRadioItem),\n/* harmony export */ DropdownMenuSeparator: () => (/* binding */ DropdownMenuSeparator),\n/* harmony export */ DropdownMenuShortcut: () => (/* binding */ DropdownMenuShortcut),\n/* harmony export */ DropdownMenuSub: () => (/* binding */ DropdownMenuSub),\n/* harmony export */ DropdownMenuSubContent: () => (/* binding */ DropdownMenuSubContent),\n/* harmony export */ DropdownMenuSubTrigger: () => (/* binding */ DropdownMenuSubTrigger),\n/* harmony export */ DropdownMenuTrigger: () => (/* binding */ DropdownMenuTrigger)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ \"(ssr)/./node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle.js\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ DropdownMenu,DropdownMenuTrigger,DropdownMenuContent,DropdownMenuItem,DropdownMenuCheckboxItem,DropdownMenuRadioItem,DropdownMenuLabel,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuGroup,DropdownMenuPortal,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuRadioGroup auto */ \n\n\n\n\nconst DropdownMenu = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst DropdownMenuTrigger = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Trigger;\nconst DropdownMenuGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Group;\nconst DropdownMenuPortal = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal;\nconst DropdownMenuSub = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Sub;\nconst DropdownMenuRadioGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioGroup;\nconst DropdownMenuSubTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\", inset && \"pl-8\", className),\n ...props,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-auto h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 27,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubTrigger.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger.displayName;\nconst DropdownMenuSubContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent.displayName;\nconst DropdownMenuContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, sideOffset = 4, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n sideOffset: sideOffset,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 63,\n columnNumber: 5\n }, undefined));\nDropdownMenuContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\nconst DropdownMenuItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 83,\n columnNumber: 5\n }, undefined));\nDropdownMenuItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item.displayName;\nconst DropdownMenuCheckboxItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, checked, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n checked: checked,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 109,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 108,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 99,\n columnNumber: 5\n }, undefined));\nDropdownMenuCheckboxItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem.displayName;\nconst DropdownMenuRadioItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-2 w-2 fill-current\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 133,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 132,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 123,\n columnNumber: 5\n }, undefined));\nDropdownMenuRadioItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem.displayName;\nconst DropdownMenuLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 147,\n columnNumber: 5\n }, undefined));\nDropdownMenuLabel.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label.displayName;\nconst DropdownMenuSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 163,\n columnNumber: 5\n }, undefined));\nDropdownMenuSeparator.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator.displayName;\nconst DropdownMenuShortcut = ({ className, ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"ml-auto text-xs tracking-widest opacity-60\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 176,\n columnNumber: 9\n }, undefined);\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRThCO0FBQ3dDO0FBQ1o7QUFFbkI7QUFFdkMsTUFBTU0sZUFBZUwsK0RBQTBCO0FBRS9DLE1BQU1PLHNCQUFzQlAsa0VBQTZCO0FBRXpELE1BQU1TLG9CQUFvQlQsZ0VBQTJCO0FBRXJELE1BQU1XLHFCQUFxQlgsaUVBQTRCO0FBRXZELE1BQU1hLGtCQUFrQmIsOERBQXlCO0FBRWpELE1BQU1lLHlCQUF5QmYscUVBQWdDO0FBRS9ELE1BQU1pQix1Q0FBeUJsQiw2Q0FBZ0IsQ0FLN0MsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN6Qyw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdJQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7O1lBRVJEOzBCQUNELDhEQUFDbkIscUdBQVlBO2dCQUFDaUIsV0FBVTs7Ozs7Ozs7Ozs7O0FBR2hDRix1QkFBdUJRLFdBQVcsR0FDOUJ6QixxRUFBZ0MsQ0FBQ3lCLFdBQVc7QUFFaEQsTUFBTUMsdUNBQXlCM0IsNkNBQWdCLENBRzdDLENBQUMsRUFBRW9CLFNBQVMsRUFBRSxHQUFHRyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHliQUNBZTtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQkksdUJBQXVCRCxXQUFXLEdBQzlCekIscUVBQWdDLENBQUN5QixXQUFXO0FBRWhELE1BQU1HLG9DQUFzQjdCLDZDQUFnQixDQUcxQyxDQUFDLEVBQUVvQixTQUFTLEVBQUVVLGFBQWEsQ0FBQyxFQUFFLEdBQUdQLE9BQU8sRUFBRUMsb0JBQ3hDLDhEQUFDdkIsaUVBQTRCO2tCQUN6Qiw0RUFBQ0Esa0VBQTZCO1lBQzFCdUIsS0FBS0E7WUFDTE0sWUFBWUE7WUFDWlYsV0FBV2YscURBQUVBLENBQ1QseWJBQ0FlO1lBRUgsR0FBR0csS0FBSzs7Ozs7Ozs7Ozs7QUFJckJNLG9CQUFvQkgsV0FBVyxHQUFHekIsa0VBQTZCLENBQUN5QixXQUFXO0FBRTNFLE1BQU1NLGlDQUFtQmhDLDZDQUFnQixDQUt2QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVDLEtBQUssRUFBRSxHQUFHRSxPQUFPLEVBQUVDLG9CQUMvQiw4REFBQ3ZCLCtEQUEwQjtRQUN2QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULG1PQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQlMsaUJBQWlCTixXQUFXLEdBQUd6QiwrREFBMEIsQ0FBQ3lCLFdBQVc7QUFFckUsTUFBTVEseUNBQTJCbEMsNkNBQWdCLENBRy9DLENBQUMsRUFBRW9CLFNBQVMsRUFBRUUsUUFBUSxFQUFFYSxPQUFPLEVBQUUsR0FBR1osT0FBTyxFQUFFQyxvQkFDM0MsOERBQUN2Qix1RUFBa0M7UUFDL0J1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FDVCx3T0FDQWU7UUFFSmUsU0FBU0E7UUFDUixHQUFHWixLQUFLOzswQkFFVCw4REFBQ2M7Z0JBQUtqQixXQUFVOzBCQUNaLDRFQUFDbkIsd0VBQW1DOzhCQUNoQyw0RUFBQ0MscUdBQUtBO3dCQUFDa0IsV0FBVTs7Ozs7Ozs7Ozs7Ozs7OztZQUd4QkU7Ozs7Ozs7QUFHVFkseUJBQXlCUixXQUFXLEdBQ2hDekIsdUVBQWtDLENBQUN5QixXQUFXO0FBRWxELE1BQU1hLHNDQUF3QnZDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUNsQyw4REFBQ3ZCLG9FQUErQjtRQUM1QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdPQUNBZTtRQUVILEdBQUdHLEtBQUs7OzBCQUVULDhEQUFDYztnQkFBS2pCLFdBQVU7MEJBQ1osNEVBQUNuQix3RUFBbUM7OEJBQ2hDLDRFQUFDRyxxR0FBTUE7d0JBQUNnQixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7O1lBR3pCRTs7Ozs7OztBQUdUaUIsc0JBQXNCYixXQUFXLEdBQUd6QixvRUFBK0IsQ0FBQ3lCLFdBQVc7QUFFL0UsTUFBTWUsa0NBQW9CekMsNkNBQWdCLENBS3hDLENBQUMsRUFBRW9CLFNBQVMsRUFBRUMsS0FBSyxFQUFFLEdBQUdFLE9BQU8sRUFBRUMsb0JBQy9CLDhEQUFDdkIsZ0VBQTJCO1FBQ3hCdUIsS0FBS0E7UUFDTEosV0FBV2YscURBQUVBLENBQ1QscUNBQ0FnQixTQUFTLFFBQ1REO1FBRUgsR0FBR0csS0FBSzs7Ozs7O0FBR2pCa0Isa0JBQWtCZixXQUFXLEdBQUd6QixnRUFBMkIsQ0FBQ3lCLFdBQVc7QUFFdkUsTUFBTWlCLHNDQUF3QjNDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUUsR0FBR0csT0FBTyxFQUFFQyxvQkFDeEIsOERBQUN2QixvRUFBK0I7UUFDNUJ1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FBQyw0QkFBNEJlO1FBQ3pDLEdBQUdHLEtBQUs7Ozs7OztBQUdqQm9CLHNCQUFzQmpCLFdBQVcsR0FBR3pCLG9FQUErQixDQUFDeUIsV0FBVztBQUUvRSxNQUFNbUIsdUJBQXVCLENBQUMsRUFDMUJ6QixTQUFTLEVBQ1QsR0FBR0csT0FDaUM7SUFDcEMscUJBQ0ksOERBQUNjO1FBQ0dqQixXQUFXZixxREFBRUEsQ0FBQyw4Q0FBOENlO1FBQzNELEdBQUdHLEtBQUs7Ozs7OztBQUdyQjtBQUNBc0IscUJBQXFCbkIsV0FBVyxHQUFHO0FBa0JsQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGRyb3Bkb3duLW1lbnUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBEcm9wZG93bk1lbnVQcmltaXRpdmUgZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kcm9wZG93bi1tZW51XCJcclxuaW1wb3J0IHsgQ2hlY2ssIENoZXZyb25SaWdodCwgQ2lyY2xlIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51ID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlJvb3RcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVRyaWdnZXIgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuVHJpZ2dlclxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51R3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuR3JvdXBcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVBvcnRhbCA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Qb3J0YWxcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YiA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvR3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9Hcm91cFxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U3ViVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViVHJpZ2dlcj4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJUcmlnZ2VyPiAmIHtcclxuICAgICAgICBpbnNldD86IGJvb2xlYW5cclxuICAgIH1cclxuPigoeyBjbGFzc05hbWUsIGluc2V0LCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXJcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcImZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHgtMiBweS0xLjUgdGV4dC1zbSBvdXRsaW5lLW5vbmUgZm9jdXM6YmctYWNjZW50IGRhdGEtW3N0YXRlPW9wZW5dOmJnLWFjY2VudFwiLFxyXG4gICAgICAgICAgICBpbnNldCAmJiBcInBsLThcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDxDaGV2cm9uUmlnaHQgY2xhc3NOYW1lPVwibWwtYXV0byBoLTQgdy00XCIgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXI+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YlRyaWdnZXIuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXIuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YkNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJDb250ZW50XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJ6LTUwIG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LWxnIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4gZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAgZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wIGRhdGEtW3N0YXRlPWNsb3NlZF06em9vbS1vdXQtOTUgZGF0YS1bc3RhdGU9b3Blbl06em9vbS1pbi05NSBkYXRhLVtzaWRlPWJvdHRvbV06c2xpZGUtaW4tZnJvbS10b3AtMiBkYXRhLVtzaWRlPWxlZnRdOnNsaWRlLWluLWZyb20tcmlnaHQtMiBkYXRhLVtzaWRlPXJpZ2h0XTpzbGlkZS1pbi1mcm9tLWxlZnQtMiBkYXRhLVtzaWRlPXRvcF06c2xpZGUtaW4tZnJvbS1ib3R0b20tMlwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YkNvbnRlbnQuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIHNpZGVPZmZzZXQgPSA0LCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUG9ydGFsPlxyXG4gICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudFxyXG4gICAgICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICAgICAgc2lkZU9mZnNldD17c2lkZU9mZnNldH1cclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgIFwiei01MCBtaW4tdy1bOHJlbV0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXBvcG92ZXIgcC0xIHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZCBkYXRhLVtzdGF0ZT1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWNsb3NlZF06YW5pbWF0ZS1vdXQgZGF0YS1bc3RhdGU9Y2xvc2VkXTpmYWRlLW91dC0wIGRhdGEtW3N0YXRlPW9wZW5dOmZhZGUtaW4tMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3N0YXRlPW9wZW5dOnpvb20taW4tOTUgZGF0YS1bc2lkZT1ib3R0b21dOnNsaWRlLWluLWZyb20tdG9wLTIgZGF0YS1bc2lkZT1sZWZ0XTpzbGlkZS1pbi1mcm9tLXJpZ2h0LTIgZGF0YS1bc2lkZT1yaWdodF06c2xpZGUtaW4tZnJvbS1sZWZ0LTIgZGF0YS1bc2lkZT10b3BdOnNsaWRlLWluLWZyb20tYm90dG9tLTJcIixcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlBvcnRhbD5cclxuKSlcclxuRHJvcGRvd25NZW51Q29udGVudC5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Db250ZW50LmRpc3BsYXlOYW1lXHJcblxyXG5jb25zdCBEcm9wZG93bk1lbnVJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW0+ICYge1xyXG4gICAgICAgIGluc2V0PzogYm9vbGVhblxyXG4gICAgfVxyXG4+KCh7IGNsYXNzTmFtZSwgaW5zZXQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB4LTIgcHktMS41IHRleHQtc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgIGluc2V0ICYmIFwicGwtOFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudUl0ZW0uZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbS5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ2hlY2tib3hJdGVtPlxyXG4+KCh7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIGNoZWNrZWQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW1cclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInJlbGF0aXZlIGZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHktMS41IHBsLTggcHItMiB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpiZy1hY2NlbnQgZm9jdXM6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBkYXRhLVtkaXNhYmxlZF06cG9pbnRlci1ldmVudHMtbm9uZSBkYXRhLVtkaXNhYmxlZF06b3BhY2l0eS01MFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICA8Q2hlY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkNoZWNrYm94SXRlbT5cclxuKSlcclxuRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLmRpc3BsYXlOYW1lID1cclxuICAgIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvSXRlbSA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlJhZGlvSXRlbT5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB5LTEuNSBwbC04IHByLTIgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMgZm9jdXM6YmctYWNjZW50IGZvY3VzOnRleHQtYWNjZW50LWZvcmVncm91bmQgZGF0YS1bZGlzYWJsZWRdOnBvaW50ZXItZXZlbnRzLW5vbmUgZGF0YS1bZGlzYWJsZWRdOm9wYWNpdHktNTBcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0yIGZsZXggaC0zLjUgdy0zLjUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbUluZGljYXRvcj5cclxuICAgICAgICAgICAgICAgIDxDaXJjbGUgY2xhc3NOYW1lPVwiaC0yIHctMiBmaWxsLWN1cnJlbnRcIiAvPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0+XHJcbikpXHJcbkRyb3Bkb3duTWVudVJhZGlvSXRlbS5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUxhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4gJiB7XHJcbiAgICAgICAgaW5zZXQ/OiBib29sZWFuXHJcbiAgICB9XHJcbj4oKHsgY2xhc3NOYW1lLCBpbnNldCwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkxhYmVsXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJweC0yIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIixcclxuICAgICAgICAgICAgaW5zZXQgJiYgXCJwbC04XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51TGFiZWwuZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuTGFiZWwuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVNlcGFyYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU2VwYXJhdG9yPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvcj5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TZXBhcmF0b3JcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFwiLW14LTEgbXktMSBoLXB4IGJnLW11dGVkXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51U2VwYXJhdG9yLmRpc3BsYXlOYW1lID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvci5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U2hvcnRjdXQgPSAoe1xyXG4gICAgY2xhc3NOYW1lLFxyXG4gICAgLi4ucHJvcHNcclxufTogUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFNwYW5FbGVtZW50PikgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwibWwtYXV0byB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdCBvcGFjaXR5LTYwXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcbkRyb3Bkb3duTWVudVNob3J0Y3V0LmRpc3BsYXlOYW1lID0gXCJEcm9wZG93bk1lbnVTaG9ydGN1dFwiXHJcblxyXG5leHBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51UmFkaW9JdGVtLFxyXG4gICAgRHJvcGRvd25NZW51TGFiZWwsXHJcbiAgICBEcm9wZG93bk1lbnVTZXBhcmF0b3IsXHJcbiAgICBEcm9wZG93bk1lbnVTaG9ydGN1dCxcclxuICAgIERyb3Bkb3duTWVudUdyb3VwLFxyXG4gICAgRHJvcGRvd25NZW51UG9ydGFsLFxyXG4gICAgRHJvcGRvd25NZW51U3ViLFxyXG4gICAgRHJvcGRvd25NZW51U3ViQ29udGVudCxcclxuICAgIERyb3Bkb3duTWVudVN1YlRyaWdnZXIsXHJcbiAgICBEcm9wZG93bk1lbnVSYWRpb0dyb3VwLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZSIsIkNoZWNrIiwiQ2hldnJvblJpZ2h0IiwiQ2lyY2xlIiwiY24iLCJEcm9wZG93bk1lbnUiLCJSb290IiwiRHJvcGRvd25NZW51VHJpZ2dlciIsIlRyaWdnZXIiLCJEcm9wZG93bk1lbnVHcm91cCIsIkdyb3VwIiwiRHJvcGRvd25NZW51UG9ydGFsIiwiUG9ydGFsIiwiRHJvcGRvd25NZW51U3ViIiwiU3ViIiwiRHJvcGRvd25NZW51UmFkaW9Hcm91cCIsIlJhZGlvR3JvdXAiLCJEcm9wZG93bk1lbnVTdWJUcmlnZ2VyIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImluc2V0IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlN1YlRyaWdnZXIiLCJkaXNwbGF5TmFtZSIsIkRyb3Bkb3duTWVudVN1YkNvbnRlbnQiLCJTdWJDb250ZW50IiwiRHJvcGRvd25NZW51Q29udGVudCIsInNpZGVPZmZzZXQiLCJDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkl0ZW0iLCJEcm9wZG93bk1lbnVDaGVja2JveEl0ZW0iLCJjaGVja2VkIiwiQ2hlY2tib3hJdGVtIiwic3BhbiIsIkl0ZW1JbmRpY2F0b3IiLCJEcm9wZG93bk1lbnVSYWRpb0l0ZW0iLCJSYWRpb0l0ZW0iLCJEcm9wZG93bk1lbnVMYWJlbCIsIkxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiU2VwYXJhdG9yIiwiRHJvcGRvd25NZW51U2hvcnRjdXQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/dropdown-menu.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toaster: () => (/* binding */ Toaster)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ Toaster auto */ \n\n\nconst Toaster = ({ ...props })=>{\n const { theme = \"system\" } = (0,next_themes__WEBPACK_IMPORTED_MODULE_1__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(sonner__WEBPACK_IMPORTED_MODULE_2__.Toaster, {\n theme: theme,\n className: \"toaster group\",\n toastOptions: {\n classNames: {\n toast: \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toaster]:text-muted-foreground\",\n actionButton: \"group-[.toaster]:bg-primary group-[.toaster]:text-primary-foreground\",\n cancelButton: \"group-[.toaster]:bg-muted group-[.toaster]:text-muted-foreground\"\n }\n },\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\sonner.tsx\",\n lineNumber: 12,\n columnNumber: 9\n }, undefined);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zb25uZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVzQztBQUNJO0FBSTFDLE1BQU1DLFVBQVUsQ0FBQyxFQUFFLEdBQUdFLE9BQXFCO0lBQ3ZDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLEVBQUUsR0FBR0oscURBQVFBO0lBRXJDLHFCQUNJLDhEQUFDRSwyQ0FBTUE7UUFDSEUsT0FBT0E7UUFDUEMsV0FBVTtRQUNWQyxjQUFjO1lBQ1ZDLFlBQVk7Z0JBQ1JDLE9BQ0k7Z0JBQ0pDLGFBQWE7Z0JBQ2JDLGNBQ0k7Z0JBQ0pDLGNBQ0k7WUFDUjtRQUNKO1FBQ0MsR0FBR1IsS0FBSzs7Ozs7O0FBR3JCO0FBRWtCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcc29ubmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5pbXBvcnQgeyBUb2FzdGVyIGFzIFNvbm5lciB9IGZyb20gXCJzb25uZXJcIlxyXG5cclxudHlwZSBUb2FzdGVyUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgU29ubmVyPlxyXG5cclxuY29uc3QgVG9hc3RlciA9ICh7IC4uLnByb3BzIH06IFRvYXN0ZXJQcm9wcykgPT4ge1xyXG4gICAgY29uc3QgeyB0aGVtZSA9IFwic3lzdGVtXCIgfSA9IHVzZVRoZW1lKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTb25uZXJcclxuICAgICAgICAgICAgdGhlbWU9e3RoZW1lIGFzIFRvYXN0ZXJQcm9wc1tcInRoZW1lXCJdfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0b2FzdGVyIGdyb3VwXCJcclxuICAgICAgICAgICAgdG9hc3RPcHRpb25zPXt7XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9hc3Q6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JvdXAgdG9hc3QgZ3JvdXAtWy50b2FzdGVyXTpiZy1iYWNrZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06dGV4dC1mb3JlZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06Ym9yZGVyLWJvcmRlciBncm91cC1bLnRvYXN0ZXJdOnNoYWRvdy1sZ1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImdyb3VwLVsudG9hc3Rlcl06dGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctcHJpbWFyeSBncm91cC1bLnRvYXN0ZXJdOnRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctbXV0ZWQgZ3JvdXAtWy50b2FzdGVyXTp0ZXh0LW11dGVkLWZvcmVncm91bmRcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgeyBUb2FzdGVyIH1cclxuIl0sIm5hbWVzIjpbInVzZVRoZW1lIiwiVG9hc3RlciIsIlNvbm5lciIsInByb3BzIiwidGhlbWUiLCJjbGFzc05hbWUiLCJ0b2FzdE9wdGlvbnMiLCJjbGFzc05hbWVzIiwidG9hc3QiLCJkZXNjcmlwdGlvbiIsImFjdGlvbkJ1dHRvbiIsImNhbmNlbEJ1dHRvbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/sonner.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/switch.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/switch.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Switch: () => (/* binding */ Switch)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Switch auto */ \n\n\n/**\r\n * Переключатель (тумблер) — аналог Shadcn Switch.\r\n * Используется для тумблера «На линии» в шапке.\r\n */ const Switch = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, checked = false, onCheckedChange, disabled, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n disabled: disabled,\n ref: ref,\n onClick: ()=>onCheckedChange?.(!checked),\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors\", \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\", \"disabled:cursor-not-allowed disabled:opacity-50\", checked ? \"bg-green-500\" : \"bg-input\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform\", checked ? \"translate-x-5\" : \"translate-x-0\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined);\n});\nSwitch.displayName = \"Switch\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zd2l0Y2gudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFOEI7QUFDUztBQU92Qzs7O0NBR0MsR0FDRCxNQUFNRSx1QkFBU0YsNkNBQWdCLENBQzNCLENBQUMsRUFBRUksU0FBUyxFQUFFQyxVQUFVLEtBQUssRUFBRUMsZUFBZSxFQUFFQyxRQUFRLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUNsRSxxQkFDSSw4REFBQ0M7UUFDR0MsTUFBSztRQUNMQyxNQUFLO1FBQ0xDLGdCQUFjUjtRQUNkRSxVQUFVQTtRQUNWRSxLQUFLQTtRQUNMSyxTQUFTLElBQU1SLGtCQUFrQixDQUFDRDtRQUNsQ0QsV0FBV0gscURBQUVBLENBQ1QsNkhBQ0EsNElBQ0EsbURBQ0FJLFVBQVUsaUJBQWlCLFlBQzNCRDtRQUVILEdBQUdJLEtBQUs7a0JBRVQsNEVBQUNPO1lBQ0dYLFdBQVdILHFEQUFFQSxDQUNULHNHQUNBSSxVQUFVLGtCQUFrQjs7Ozs7Ozs7Ozs7QUFLaEQ7QUFFSkgsT0FBT2MsV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxzd2l0Y2gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuaW50ZXJmYWNlIFN3aXRjaFByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuXHJcbiAgICBvbkNoZWNrZWRDaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZFxyXG59XHJcblxyXG4vKipcclxuICog0J/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70YwgKNGC0YPQvNCx0LvQtdGAKSDigJQg0LDQvdCw0LvQvtCzIFNoYWRjbiBTd2l0Y2guXHJcbiAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YLRg9C80LHQu9C10YDQsCDCq9Cd0LAg0LvQuNC90LjQuMK7INCyINGI0LDQv9C60LUuXHJcbiAqL1xyXG5jb25zdCBTd2l0Y2ggPSBSZWFjdC5mb3J3YXJkUmVmPEhUTUxCdXR0b25FbGVtZW50LCBTd2l0Y2hQcm9wcz4oXHJcbiAgICAoeyBjbGFzc05hbWUsIGNoZWNrZWQgPSBmYWxzZSwgb25DaGVja2VkQ2hhbmdlLCBkaXNhYmxlZCwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcclxuICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cclxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cclxuICAgICAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGVja2VkQ2hhbmdlPy4oIWNoZWNrZWQpfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICBcInBlZXIgaW5saW5lLWZsZXggaC02IHctMTEgc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItdHJhbnNwYXJlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIixcclxuICAgICAgICAgICAgICAgICAgICBcImZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LWJhY2tncm91bmRcIixcclxuICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwiYmctZ3JlZW4tNTAwXCIgOiBcImJnLWlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicG9pbnRlci1ldmVudHMtbm9uZSBibG9jayBoLTUgdy01IHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1sZyByaW5nLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm1cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwidHJhbnNsYXRlLXgtNVwiIDogXCJ0cmFuc2xhdGUteC0wXCJcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcblN3aXRjaC5kaXNwbGF5TmFtZSA9IFwiU3dpdGNoXCJcclxuXHJcbmV4cG9ydCB7IFN3aXRjaCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiU3dpdGNoIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImNoZWNrZWQiLCJvbkNoZWNrZWRDaGFuZ2UiLCJkaXNhYmxlZCIsInByb3BzIiwicmVmIiwiYnV0dG9uIiwidHlwZSIsInJvbGUiLCJhcmlhLWNoZWNrZWQiLCJvbkNsaWNrIiwic3BhbiIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/switch.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/entities/session/store.ts": -/*!***************************************!*\ - !*** ./src/entities/session/store.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSessionStore: () => (/* binding */ useSessionStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/shared/api/axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n\n\nconst useSessionStore = (0,zustand__WEBPACK_IMPORTED_MODULE_2__.create)((set, get)=>({\n user: null,\n isAuth: false,\n isLoading: false,\n isInitialized: false,\n checkAuth: async ()=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (!token) {\n set({\n isInitialized: true,\n isAuth: false\n });\n return;\n }\n set({\n isLoading: true\n });\n try {\n await get().getProfile();\n set({\n isAuth: true,\n isInitialized: true\n });\n } catch (error) {\n console.error(\"Auth check failed\", error);\n // Токен недействителен, очищаем состояние\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false,\n isInitialized: true\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n login: async (phone, password)=>{\n set({\n isLoading: true\n });\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/login\", {\n phone,\n password\n });\n const { accessToken, refreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", refreshToken);\n set({\n isAuth: true\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n register: async (data)=>{\n set({\n isLoading: true\n });\n try {\n // Убираем confirmPassword перед отправкой на бэкенд\n const { confirmPassword, ...registerData } = data;\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/register\", registerData);\n } finally{\n set({\n isLoading: false\n });\n }\n },\n logout: ()=>{\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false\n });\n if (false) {}\n },\n getProfile: async ()=>{\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.get(\"/profile\", {\n params: {\n _t: Date.now()\n } // bypass cache\n });\n set({\n user: response.data,\n isAuth: true\n });\n } catch (error) {\n console.error(\"Profile load failed\", error);\n }\n },\n updateProfile: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile\", data);\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePhone: async (newPhone)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-phone\", {\n newPhone\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformer: async ()=>{\n set({\n isLoading: true\n });\n try {\n // Исправлен путь: убрали лишний /api, так как он уже есть в baseURL\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\");\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformerFull: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\", {\n description: data.description,\n competencies: data.competencies,\n location: data.location,\n currentLocation: null,\n isAlwaysReady: data.workSchedule.isAlwaysReady,\n workingDays: data.workSchedule.isAlwaysReady ? null : JSON.stringify(data.workSchedule.schedulePerDay)\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateCompetencies: async (competencies)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/competencies\", {\n Competencies: competencies\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n uploadAvatar: async (file)=>{\n set({\n isLoading: true\n });\n try {\n const formData = new FormData();\n formData.append(\"file\", file);\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/avatar\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePassword: async (oldPassword, newPassword)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-password\", {\n accountId: userId,\n oldPassword,\n newPassword\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateLocation: async (location, currentLocation)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/location\", {\n accountId: userId,\n location,\n currentLocation\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateSchedule: async (isAlwaysReady, schedulePerDay)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n const workingDaysJson = isAlwaysReady ? \"[]\" : JSON.stringify(schedulePerDay || {});\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/schedule\", {\n accountId: userId,\n isAlwaysReady,\n workingDaysJson\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LGdCQUFnQixPQUFPdEIsZUFBZUs7WUFDbEM1QyxJQUFJO2dCQUFFSSxXQUFXO1lBQUs7WUFDdEIsSUFBSTtnQkFDQSxNQUFNb0QsU0FBU3ZELE1BQU1DLElBQUksRUFBRXVEO2dCQUMzQixJQUFJLENBQUNELFFBQVEsTUFBTSxJQUFJRSxNQUFNO2dCQUU3QixNQUFNSSxrQkFBa0J2QixnQkFDbEIsT0FDQUcsS0FBS0MsU0FBUyxDQUFDQyxrQkFBa0IsQ0FBQztnQkFFeEMsTUFBTTlDLGtEQUFHQSxDQUFDaUMsR0FBRyxDQUFDLHFCQUFxQjtvQkFDL0I0QixXQUFXSDtvQkFDWGpCO29CQUNBdUI7Z0JBQ0o7Z0JBQ0EsTUFBTTdELE1BQU1PLFVBQVU7WUFDMUIsU0FBVTtnQkFDTlIsSUFBSTtvQkFBRUksV0FBVztnQkFBTTtZQUMzQjtRQUNKO0lBQ0osSUFBSSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcZW50aXRpZXNcXHNlc3Npb25cXHN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHNldENvb2tpZSwgZGVsZXRlQ29va2llLCBnZXRDb29raWUgfSBmcm9tIFwiY29va2llcy1uZXh0XCI7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvYXhpb3NcIjtcclxuXHJcbmludGVyZmFjZSBVc2VyIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBwaG9uZTogc3RyaW5nO1xyXG4gICAgcm9sZXM6IHN0cmluZ1tdO1xyXG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xyXG4gICAgcGF0cm9ueW1pYz86IHN0cmluZztcclxuICAgIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xyXG4gICAgaW5uPzogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgICBsb2NhdGlvbj86IHN0cmluZztcclxuICAgIGN1cnJlbnRMb2NhdGlvbj86IHN0cmluZztcclxuICAgIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgICBhdmF0YXJVcmw/OiBzdHJpbmc7XHJcbiAgICBjb21wZXRlbmNpZXM6IHN0cmluZ1tdO1xyXG4gICAgd29ya1NjaGVkdWxlPzoge1xyXG4gICAgICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICAgICAgc2NoZWR1bGVQZXJEYXk/OiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7IHN0YXJ0OiBzdHJpbmc7IGVuZDogc3RyaW5nIH0+PjtcclxuICAgIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBXb3JrU2NoZWR1bGVEYXRhIHtcclxuICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICBzY2hlZHVsZVBlckRheTogUmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9Pj47XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZXNzaW9uU3RhdGUge1xyXG4gICAgdXNlcjogVXNlciB8IG51bGw7XHJcbiAgICBpc0F1dGg6IGJvb2xlYW47XHJcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xyXG4gICAgY2hlY2tBdXRoOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgbG9naW46IChwaG9uZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgcmVnaXN0ZXI6IChkYXRhOiBhbnkpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBsb2dvdXQ6ICgpID0+IHZvaWQ7XHJcbiAgICBnZXRQcm9maWxlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlUHJvZmlsZTogKGRhdGE6IHsgZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcsIHBhdHJvbnltaWM/OiBzdHJpbmcsIGNvbXBhbnlOYW1lPzogc3RyaW5nLCBpbm4/OiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBjaGFuZ2VQaG9uZTogKG5ld1Bob25lOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXI6ICgpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiAoZGF0YToge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICAgICAgY29tcGV0ZW5jaWVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb2NhdGlvbjogc3RyaW5nO1xyXG4gICAgICAgIHdvcmtTY2hlZHVsZTogV29ya1NjaGVkdWxlRGF0YTtcclxuICAgIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICB1cGRhdGVDb21wZXRlbmNpZXM6IChjb21wZXRlbmNpZXM6IHN0cmluZ1tdKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBsb2FkQXZhdGFyOiAoZmlsZTogRmlsZSkgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIGNoYW5nZVBhc3N3b3JkOiAob2xkUGFzc3dvcmQ6IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIHVwZGF0ZUxvY2F0aW9uOiAobG9jYXRpb246IHN0cmluZywgY3VycmVudExvY2F0aW9uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlU2NoZWR1bGU6IChpc0Fsd2F5c1JlYWR5OiBib29sZWFuLCBzY2hlZHVsZVBlckRheT86IFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfT4+KSA9PiBQcm9taXNlPHZvaWQ+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdXNlU2Vzc2lvblN0b3JlID0gY3JlYXRlPFNlc3Npb25TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgdXNlcjogbnVsbCxcclxuICAgIGlzQXV0aDogZmFsc2UsXHJcbiAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgaXNJbml0aWFsaXplZDogZmFsc2UsXHJcblxyXG4gICAgY2hlY2tBdXRoOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuXHJcbiAgICAgICAgaWYgKCF0b2tlbikge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0luaXRpYWxpemVkOiB0cnVlLCBpc0F1dGg6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICAgICAgc2V0KHsgaXNBdXRoOiB0cnVlLCBpc0luaXRpYWxpemVkOiB0cnVlIH0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJBdXRoIGNoZWNrIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIC8vINCi0L7QutC10L0g0L3QtdC00LXQudGB0YLQstC40YLQtdC70LXQvSwg0L7Rh9C40YnQsNC10Lwg0YHQvtGB0YLQvtGP0L3QuNC1XHJcbiAgICAgICAgICAgIGRlbGV0ZUNvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IG51bGwsIGlzQXV0aDogZmFsc2UsIGlzSW5pdGlhbGl6ZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGxvZ2luOiBhc3luYyAocGhvbmUsIHBhc3N3b3JkKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9sb2dpblwiLCB7IHBob25lLCBwYXNzd29yZCB9KTtcclxuICAgICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgc2V0Q29va2llKFwiYWNjZXNzVG9rZW5cIiwgYWNjZXNzVG9rZW4pO1xyXG4gICAgICAgICAgICBzZXRDb29raWUoXCJyZWZyZXNoVG9rZW5cIiwgcmVmcmVzaFRva2VuKTtcclxuXHJcbiAgICAgICAgICAgIHNldCh7IGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICByZWdpc3RlcjogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQo9Cx0LjRgNCw0LXQvCBjb25maXJtUGFzc3dvcmQg0L/QtdGA0LXQtCDQvtGC0L/RgNCw0LLQutC+0Lkg0L3QsCDQsdGN0LrQtdC90LRcclxuICAgICAgICAgICAgY29uc3QgeyBjb25maXJtUGFzc3dvcmQsIC4uLnJlZ2lzdGVyRGF0YSB9ID0gZGF0YTtcclxuICAgICAgICAgICAgYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9yZWdpc3RlclwiLCByZWdpc3RlckRhdGEpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBsb2dvdXQ6ICgpID0+IHtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgc2V0KHsgdXNlcjogbnVsbCwgaXNBdXRoOiBmYWxzZSB9KTtcclxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiL2F1dGgvbG9naW5cIjtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFByb2ZpbGU6IGFzeW5jICgpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQoXCIvcHJvZmlsZVwiLCB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHsgX3Q6IERhdGUubm93KCkgfSAvLyBieXBhc3MgY2FjaGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IHJlc3BvbnNlLmRhdGEsIGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiUHJvZmlsZSBsb2FkIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVQcm9maWxlOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucHV0KFwiL3Byb2ZpbGVcIiwgZGF0YSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgY2hhbmdlUGhvbmU6IGFzeW5jIChuZXdQaG9uZSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1waG9uZVwiLCB7IG5ld1Bob25lIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGJlY29tZVBlcmZvcm1lcjogYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQmNGB0L/RgNCw0LLQu9C10L0g0L/Rg9GC0Yw6INGD0LHRgNCw0LvQuCDQu9C40YjQvdC40LkgL2FwaSwg0YLQsNC6INC60LDQuiDQvtC9INGD0LbQtSDQtdGB0YLRjCDQsiBiYXNlVVJMXHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYmVjb21lLXBlcmZvcm1lclwiKTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2JlY29tZS1wZXJmb3JtZXJcIiwge1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRhdGEuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICBjb21wZXRlbmNpZXM6IGRhdGEuY29tcGV0ZW5jaWVzLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGRhdGEubG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgICAgICBpc0Fsd2F5c1JlYWR5OiBkYXRhLndvcmtTY2hlZHVsZS5pc0Fsd2F5c1JlYWR5LFxyXG4gICAgICAgICAgICAgICAgd29ya2luZ0RheXM6IGRhdGEud29ya1NjaGVkdWxlLmlzQWx3YXlzUmVhZHlcclxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KGRhdGEud29ya1NjaGVkdWxlLnNjaGVkdWxlUGVyRGF5KSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgdXBkYXRlQ29tcGV0ZW5jaWVzOiBhc3luYyAoY29tcGV0ZW5jaWVzKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wdXQoXCIvcHJvZmlsZS9jb21wZXRlbmNpZXNcIiwgeyBDb21wZXRlbmNpZXM6IGNvbXBldGVuY2llcyB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGxvYWRBdmF0YXI6IGFzeW5jIChmaWxlKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYXZhdGFyXCIsIGZvcm1EYXRhLCB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBjaGFuZ2VQYXNzd29yZDogYXN5bmMgKG9sZFBhc3N3b3JkLCBuZXdQYXNzd29yZCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1c2VySWQgPSBnZXQoKS51c2VyPy5pZDtcclxuICAgICAgICAgICAgaWYgKCF1c2VySWQpIHRocm93IG5ldyBFcnJvcihcItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L1cIik7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1wYXNzd29yZFwiLCB7XHJcbiAgICAgICAgICAgICAgICBhY2NvdW50SWQ6IHVzZXJJZCxcclxuICAgICAgICAgICAgICAgIG9sZFBhc3N3b3JkLFxyXG4gICAgICAgICAgICAgICAgbmV3UGFzc3dvcmQsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVMb2NhdGlvbjogYXN5bmMgKGxvY2F0aW9uLCBjdXJyZW50TG9jYXRpb24pID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL2xvY2F0aW9uXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb24sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZVNjaGVkdWxlOiBhc3luYyAoaXNBbHdheXNSZWFkeSwgc2NoZWR1bGVQZXJEYXkpID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgd29ya2luZ0RheXNKc29uID0gaXNBbHdheXNSZWFkeVxyXG4gICAgICAgICAgICAgICAgPyBcIltdXCJcclxuICAgICAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkoc2NoZWR1bGVQZXJEYXkgfHwge30pO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL3NjaGVkdWxlXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgaXNBbHdheXNSZWFkeSxcclxuICAgICAgICAgICAgICAgIHdvcmtpbmdEYXlzSnNvbixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbn0pKTtcclxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsInNldENvb2tpZSIsImRlbGV0ZUNvb2tpZSIsImdldENvb2tpZSIsImFwaSIsInVzZVNlc3Npb25TdG9yZSIsInNldCIsImdldCIsInVzZXIiLCJpc0F1dGgiLCJpc0xvYWRpbmciLCJpc0luaXRpYWxpemVkIiwiY2hlY2tBdXRoIiwidG9rZW4iLCJnZXRQcm9maWxlIiwiZXJyb3IiLCJjb25zb2xlIiwibG9naW4iLCJwaG9uZSIsInBhc3N3b3JkIiwicmVzcG9uc2UiLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJyZWZyZXNoVG9rZW4iLCJkYXRhIiwicmVnaXN0ZXIiLCJjb25maXJtUGFzc3dvcmQiLCJyZWdpc3RlckRhdGEiLCJsb2dvdXQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJwYXJhbXMiLCJfdCIsIkRhdGUiLCJub3ciLCJ1cGRhdGVQcm9maWxlIiwicHV0IiwiY2hhbmdlUGhvbmUiLCJuZXdQaG9uZSIsImJlY29tZVBlcmZvcm1lciIsImJlY29tZVBlcmZvcm1lckZ1bGwiLCJkZXNjcmlwdGlvbiIsImNvbXBldGVuY2llcyIsImN1cnJlbnRMb2NhdGlvbiIsImlzQWx3YXlzUmVhZHkiLCJ3b3JrU2NoZWR1bGUiLCJ3b3JraW5nRGF5cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzY2hlZHVsZVBlckRheSIsInVwZGF0ZUNvbXBldGVuY2llcyIsIkNvbXBldGVuY2llcyIsInVwbG9hZEF2YXRhciIsImZpbGUiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiaGVhZGVycyIsImNoYW5nZVBhc3N3b3JkIiwib2xkUGFzc3dvcmQiLCJuZXdQYXNzd29yZCIsInVzZXJJZCIsImlkIiwiRXJyb3IiLCJhY2NvdW50SWQiLCJ1cGRhdGVMb2NhdGlvbiIsInVwZGF0ZVNjaGVkdWxlIiwid29ya2luZ0RheXNKc29uIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/entities/session/store.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/features/geo/useGeoStore.ts": -/*!*****************************************!*\ - !*** ./src/features/geo/useGeoStore.ts ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useGeoStore: () => (/* binding */ useGeoStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/shared/api/geo */ \"(ssr)/./src/shared/api/geo.ts\");\n\n\nconst useGeoStore = (0,zustand__WEBPACK_IMPORTED_MODULE_1__.create)((set, get)=>({\n isOnline: false,\n watchId: null,\n isUpdating: false,\n error: null,\n lastCoords: null,\n goOnline: (performerId)=>{\n if (true) {\n set({\n error: \"Геолокация не поддерживается вашим браузером.\"\n });\n return;\n }\n // Таймер для периодической отправки (каждые 10 секунд)\n let sendInterval = null;\n const watchId = navigator.geolocation.watchPosition(async (position)=>{\n const { latitude, longitude } = position.coords;\n set({\n lastCoords: {\n lat: latitude,\n lon: longitude\n },\n error: null\n });\n // Отправляем при первом получении координат\n try {\n set({\n isUpdating: true\n });\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude,\n longitude,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки статуса:\", err);\n set({\n error: \"Не удалось обновить статус на сервере.\"\n });\n } finally{\n set({\n isUpdating: false\n });\n }\n }, (err)=>{\n console.error(\"[Geo] Ошибка геолокации:\", err);\n let errorMsg = \"Ошибка определения местоположения.\";\n if (err.code === err.PERMISSION_DENIED) {\n errorMsg = \"Доступ к геолокации запрещён. Разрешите в настройках браузера.\";\n }\n set({\n error: errorMsg\n });\n }, {\n enableHighAccuracy: true,\n maximumAge: 10000,\n timeout: 15000\n });\n // Дополнительно: периодическая отправка каждые 10 секунд\n sendInterval = setInterval(async ()=>{\n const state = get();\n if (state.lastCoords && state.isOnline) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: state.lastCoords.lat,\n longitude: state.lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка периодической отправки:\", err);\n }\n }\n }, 10000);\n // Сохраняем watchId и intervalId в замыкании для очистки\n set({\n isOnline: true,\n watchId,\n error: null\n });\n // Храним intervalId в window для очистки при goOffline\n window.__geoInterval = sendInterval;\n },\n goOffline: async (performerId)=>{\n const { watchId, lastCoords } = get();\n // Останавливаем слежение\n if (watchId !== null) {\n navigator.geolocation.clearWatch(watchId);\n }\n // Останавливаем интервал\n if (window.__geoInterval) {\n clearInterval(window.__geoInterval);\n window.__geoInterval = null;\n }\n // Отправляем статус Offline\n if (lastCoords) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: lastCoords.lat,\n longitude: lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Offline\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки Offline:\", err);\n }\n }\n set({\n isOnline: false,\n watchId: null,\n lastCoords: null,\n error: null\n });\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFPckIsMkRBQWNBLENBQUNxQyxPQUFPO29CQUNqQztnQkFDSixFQUFFLE9BQU9kLEtBQUs7b0JBQ1ZDLFFBQVFqQixLQUFLLENBQUMsa0NBQWtDZ0I7Z0JBQ3BEO1lBQ0o7WUFFQXJCLElBQUk7Z0JBQUVFLFVBQVU7Z0JBQU9DLFNBQVM7Z0JBQU1HLFlBQVk7Z0JBQU1ELE9BQU87WUFBSztRQUN4RTtJQUNKLElBQUkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGZlYXR1cmVzXFxnZW9cXHVzZUdlb1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHVwZGF0ZUdlb1N0YXR1cywgUGVyZm9ybWVyU3RhdGUgfSBmcm9tIFwiQC9zaGFyZWQvYXBpL2dlb1wiO1xyXG5cclxuaW50ZXJmYWNlIEdlb1N0YXRlIHtcclxuICAgIC8qKiDQktC60LvRjtGH0ZHQvSDQu9C4INGC0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsgKi9cclxuICAgIGlzT25saW5lOiBib29sZWFuO1xyXG4gICAgLyoqIElEINGC0LXQutGD0YnQtdCz0L4gd2F0Y2hQb3NpdGlvbiAqL1xyXG4gICAgd2F0Y2hJZDogbnVtYmVyIHwgbnVsbDtcclxuICAgIC8qKiDQmNC00ZHRgiDQu9C4INC+0LHQvdC+0LLQu9C10L3QuNC1ICovXHJcbiAgICBpc1VwZGF0aW5nOiBib29sZWFuO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90Y/RjyDQvtGI0LjQsdC60LAgKi9cclxuICAgIGVycm9yOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90LjQtSDQuNC30LLQtdGB0YLQvdGL0LUg0LrQvtC+0YDQtNC40L3QsNGC0YsgKi9cclxuICAgIGxhc3RDb29yZHM6IHsgbGF0OiBudW1iZXI7IGxvbjogbnVtYmVyIH0gfCBudWxsO1xyXG5cclxuICAgIC8qKiDQktC60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L7RgtGB0LvQtdC20LjQstCw0L3QuNC1INCz0LXQvtC/0L7Qt9C40YbQuNC4ICovXHJcbiAgICBnb09ubGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgICAvKiog0JLRi9C60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQvtGC0L/RgNCw0LLQuNGC0YwgT2ZmbGluZSDQuCDQvtGB0YLQsNC90L7QstC40YLRjCDQvtGC0YHQu9C10LbQuNCy0LDQvdC40LUgKi9cclxuICAgIGdvT2ZmbGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB1c2VHZW9TdG9yZSA9IGNyZWF0ZTxHZW9TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgaXNPbmxpbmU6IGZhbHNlLFxyXG4gICAgd2F0Y2hJZDogbnVsbCxcclxuICAgIGlzVXBkYXRpbmc6IGZhbHNlLFxyXG4gICAgZXJyb3I6IG51bGwsXHJcbiAgICBsYXN0Q29vcmRzOiBudWxsLFxyXG5cclxuICAgIGdvT25saW5lOiAocGVyZm9ybWVySWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiIHx8ICFuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcclxuICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0JPQtdC+0LvQvtC60LDRhtC40Y8g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINCy0LDRiNC40Lwg0LHRgNCw0YPQt9C10YDQvtC8LlwiIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQotCw0LnQvNC10YAg0LTQu9GPINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60LggKNC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LQpXHJcbiAgICAgICAgbGV0IHNlbmRJbnRlcnZhbDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGNvbnN0IHdhdGNoSWQgPSBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihcclxuICAgICAgICAgICAgYXN5bmMgKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IGxhdGl0dWRlLCBsb25naXR1ZGUgfSA9IHBvc2l0aW9uLmNvb3JkcztcclxuICAgICAgICAgICAgICAgIHNldCh7IGxhc3RDb29yZHM6IHsgbGF0OiBsYXRpdHVkZSwgbG9uOiBsb25naXR1ZGUgfSwgZXJyb3I6IG51bGwgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8g0J7RgtC/0YDQsNCy0LvRj9C10Lwg0L/RgNC4INC/0LXRgNCy0L7QvCDQv9C+0LvRg9GH0LXQvdC40Lgg0LrQvtC+0YDQtNC40L3QsNGCXHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldCh7IGlzVXBkYXRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlR2VvU3RhdHVzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWVySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC+0YLQv9GA0LDQstC60Lgg0YHRgtCw0YLRg9GB0LA6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINGB0YLQsNGC0YPRgSDQvdCwINGB0LXRgNCy0LXRgNC1LlwiIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXQoeyBpc1VwZGF0aW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQs9C10L7Qu9C+0LrQsNGG0LjQuDpcIiwgZXJyKTtcclxuICAgICAgICAgICAgICAgIGxldCBlcnJvck1zZyA9IFwi0J7RiNC40LHQutCwINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjRjy5cIjtcclxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gZXJyLlBFUk1JU1NJT05fREVOSUVEKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2cgPSBcItCU0L7RgdGC0YPQvyDQuiDQs9C10L7Qu9C+0LrQsNGG0LjQuCDQt9Cw0L/RgNC10YnRkdC9LiDQoNCw0LfRgNC10YjQuNGC0LUg0LIg0L3QsNGB0YLRgNC+0LnQutCw0YUg0LHRgNCw0YPQt9C10YDQsC5cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNldCh7IGVycm9yOiBlcnJvck1zZyB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbWF4aW11bUFnZTogMTAwMDAsICAgICAvLyDQmtGN0Ygg0L/QvtC30LjRhtC40LggMTAg0YHQtdC6XHJcbiAgICAgICAgICAgICAgICB0aW1lb3V0OiAxNTAwMCwgICAgICAgICAvLyDQotCw0LnQvNCw0YPRgiAxNSDRgdC10LpcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+OiDQv9C10YDQuNC+0LTQuNGH0LXRgdC60LDRjyDQvtGC0L/RgNCw0LLQutCwINC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LRcclxuICAgICAgICBzZW5kSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gZ2V0KCk7XHJcbiAgICAgICAgICAgIGlmIChzdGF0ZS5sYXN0Q29vcmRzICYmIHN0YXRlLmlzT25saW5lKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUdlb1N0YXR1cyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60Lg6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDAwMCk7XHJcblxyXG4gICAgICAgIC8vINCh0L7RhdGA0LDQvdGP0LXQvCB3YXRjaElkINC4IGludGVydmFsSWQg0LIg0LfQsNC80YvQutCw0L3QuNC4INC00LvRjyDQvtGH0LjRgdGC0LrQuFxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiB0cnVlLCB3YXRjaElkLCBlcnJvcjogbnVsbCB9KTtcclxuXHJcbiAgICAgICAgLy8g0KXRgNCw0L3QuNC8IGludGVydmFsSWQg0LIgd2luZG93INC00LvRjyDQvtGH0LjRgdGC0LrQuCDQv9GA0LggZ29PZmZsaW5lXHJcbiAgICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwgPSBzZW5kSW50ZXJ2YWw7XHJcbiAgICB9LFxyXG5cclxuICAgIGdvT2ZmbGluZTogYXN5bmMgKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCB7IHdhdGNoSWQsIGxhc3RDb29yZHMgfSA9IGdldCgpO1xyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDRgdC70LXQttC10L3QuNC1XHJcbiAgICAgICAgaWYgKHdhdGNoSWQgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2god2F0Y2hJZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDQuNC90YLQtdGA0LLQsNC7XHJcbiAgICAgICAgaWYgKCh3aW5kb3cgYXMgYW55KS5fX2dlb0ludGVydmFsKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwpO1xyXG4gICAgICAgICAgICAod2luZG93IGFzIGFueSkuX19nZW9JbnRlcnZhbCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGC0L/RgNCw0LLQu9GP0LXQvCDRgdGC0LDRgtGD0YEgT2ZmbGluZVxyXG4gICAgICAgIGlmIChsYXN0Q29vcmRzKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVHZW9TdGF0dXMoe1xyXG4gICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBsYXN0Q29vcmRzLmxhdCxcclxuICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IGxhc3RDb29yZHMubG9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5PZmZsaW5lLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQvtGC0L/RgNCw0LLQutC4IE9mZmxpbmU6XCIsIGVycik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiBmYWxzZSwgd2F0Y2hJZDogbnVsbCwgbGFzdENvb3JkczogbnVsbCwgZXJyb3I6IG51bGwgfSk7XHJcbiAgICB9LFxyXG59KSk7XHJcbiJdLCJuYW1lcyI6WyJjcmVhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJQZXJmb3JtZXJTdGF0ZSIsInVzZUdlb1N0b3JlIiwic2V0IiwiZ2V0IiwiaXNPbmxpbmUiLCJ3YXRjaElkIiwiaXNVcGRhdGluZyIsImVycm9yIiwibGFzdENvb3JkcyIsImdvT25saW5lIiwicGVyZm9ybWVySWQiLCJuYXZpZ2F0b3IiLCJnZW9sb2NhdGlvbiIsInNlbmRJbnRlcnZhbCIsIndhdGNoUG9zaXRpb24iLCJwb3NpdGlvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY29vcmRzIiwibGF0IiwibG9uIiwic3RhdGUiLCJBdmFpbGFibGUiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3JNc2ciLCJjb2RlIiwiUEVSTUlTU0lPTl9ERU5JRUQiLCJlbmFibGVIaWdoQWNjdXJhY3kiLCJtYXhpbXVtQWdlIiwidGltZW91dCIsInNldEludGVydmFsIiwid2luZG93IiwiX19nZW9JbnRlcnZhbCIsImdvT2ZmbGluZSIsImNsZWFyV2F0Y2giLCJjbGVhckludGVydmFsIiwiT2ZmbGluZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/features/geo/useGeoStore.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/axios.ts": -/*!*********************************!*\ - !*** ./src/shared/api/axios.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ api: () => (/* binding */ api)\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ \"(ssr)/./node_modules/axios/lib/axios.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst api = axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create({\n baseURL: \"http://127.0.0.1:5000/api\" || 0,\n headers: {\n \"Content-Type\": \"application/json\"\n }\n});\n// Interceptor for adding Auth token\napi.interceptors.request.use((config)=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (token && config.headers) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n console.log(`🚀 Sending request to: ${config.baseURL}${config.url}`);\n return config;\n});\nlet isRefreshing = false;\nlet failedQueue = [];\nconst processQueue = (error, token = null)=>{\n failedQueue.forEach((prom)=>{\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n// Response interceptor for token refresh\napi.interceptors.response.use((response)=>response, async (error)=>{\n const originalRequest = error.config;\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (isRefreshing) {\n return new Promise((resolve, reject)=>{\n failedQueue.push({\n resolve,\n reject\n });\n }).then((token)=>{\n originalRequest.headers.Authorization = `Bearer ${token}`;\n return api(originalRequest);\n }).catch((err)=>Promise.reject(err));\n }\n originalRequest._retry = true;\n isRefreshing = true;\n const refreshToken = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"refreshToken\");\n try {\n const response = await axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post(`${\"http://127.0.0.1:5000/api\" || 0}/auth/refresh`, {\n refreshToken\n });\n const { accessToken, refreshToken: newRefreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", newRefreshToken);\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${accessToken}`;\n processQueue(null, accessToken);\n return api(originalRequest);\n } catch (refreshError) {\n processQueue(refreshError, null);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n if (false) {}\n return Promise.reject(refreshError);\n } finally{\n isRefreshing = false;\n }\n }\n return Promise.reject(error);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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XHNoYXJlZFxcYXBpXFxheGlvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHsgQXhpb3NFcnJvciB9IGZyb20gXCJheGlvc1wiO1xyXG5pbXBvcnQgeyBnZXRDb29raWUsIHNldENvb2tpZSwgZGVsZXRlQ29va2llIH0gZnJvbSBcImNvb2tpZXMtbmV4dFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGFwaSA9IGF4aW9zLmNyZWF0ZSh7XHJcbiAgICBiYXNlVVJMOiBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfVVJMIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo1MDAwL2FwaVwiLFxyXG4gICAgaGVhZGVyczoge1xyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgfSxcclxufSk7XHJcblxyXG4vLyBJbnRlcmNlcHRvciBmb3IgYWRkaW5nIEF1dGggdG9rZW5cclxuYXBpLmludGVyY2VwdG9ycy5yZXF1ZXN0LnVzZSgoY29uZmlnKSA9PiB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGdldENvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgaWYgKHRva2VuICYmIGNvbmZpZy5oZWFkZXJzKSB7XHJcbiAgICAgICAgY29uZmlnLmhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHt0b2tlbn1gO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coYPCfmoAgU2VuZGluZyByZXF1ZXN0IHRvOiAke2NvbmZpZy5iYXNlVVJMfSR7Y29uZmlnLnVybH1gKTtcclxuICAgIHJldHVybiBjb25maWc7XHJcbn0pO1xyXG5cclxubGV0IGlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG5sZXQgZmFpbGVkUXVldWU6IGFueVtdID0gW107XHJcblxyXG5jb25zdCBwcm9jZXNzUXVldWUgPSAoZXJyb3I6IGFueSwgdG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICBmYWlsZWRRdWV1ZS5mb3JFYWNoKChwcm9tKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHByb20ucmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9tLnJlc29sdmUodG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZmFpbGVkUXVldWUgPSBbXTtcclxufTtcclxuXHJcbi8vIFJlc3BvbnNlIGludGVyY2VwdG9yIGZvciB0b2tlbiByZWZyZXNoXHJcbmFwaS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKFxyXG4gICAgKHJlc3BvbnNlKSA9PiByZXNwb25zZSxcclxuICAgIGFzeW5jIChlcnJvcjogQXhpb3NFcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUmVxdWVzdDogYW55ID0gZXJyb3IuY29uZmlnO1xyXG5cclxuICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAxICYmICFvcmlnaW5hbFJlcXVlc3QuX3JldHJ5KSB7XHJcbiAgICAgICAgICAgIGlmIChpc1JlZnJlc2hpbmcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkUXVldWUucHVzaCh7IHJlc29sdmUsIHJlamVjdCB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHRva2VuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsUmVxdWVzdC5oZWFkZXJzLkF1dGhvcml6YXRpb24gPSBgQmVhcmVyICR7dG9rZW59YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IFByb21pc2UucmVqZWN0KGVycikpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBvcmlnaW5hbFJlcXVlc3QuX3JldHJ5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IGdldENvb2tpZShcInJlZnJlc2hUb2tlblwiKTtcclxuXHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7cHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX1VSTCB8fCBcImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9hcGlcIn0vYXV0aC9yZWZyZXNoYCxcclxuICAgICAgICAgICAgICAgICAgICB7IHJlZnJlc2hUb2tlbiB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbjogbmV3UmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcImFjY2Vzc1Rva2VuXCIsIGFjY2Vzc1Rva2VuKTtcclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcInJlZnJlc2hUb2tlblwiLCBuZXdSZWZyZXNoVG9rZW4pO1xyXG5cclxuICAgICAgICAgICAgICAgIGFwaS5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vbltcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7YWNjZXNzVG9rZW59YDtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShudWxsLCBhY2Nlc3NUb2tlbik7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChyZWZyZXNoRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShyZWZyZXNoRXJyb3IsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlQ29va2llKFwiYWNjZXNzVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gXCIvYXV0aC9sb2dpblwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlZnJlc2hFcnJvcik7XHJcbiAgICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgICAgICBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcclxuICAgIH1cclxuKTtcclxuIl0sIm5hbWVzIjpbImF4aW9zIiwiZ2V0Q29va2llIiwic2V0Q29va2llIiwiZGVsZXRlQ29va2llIiwiYXBpIiwiY3JlYXRlIiwiYmFzZVVSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfVVJMIiwiaGVhZGVycyIsImludGVyY2VwdG9ycyIsInJlcXVlc3QiLCJ1c2UiLCJjb25maWciLCJ0b2tlbiIsIkF1dGhvcml6YXRpb24iLCJjb25zb2xlIiwibG9nIiwidXJsIiwiaXNSZWZyZXNoaW5nIiwiZmFpbGVkUXVldWUiLCJwcm9jZXNzUXVldWUiLCJlcnJvciIsImZvckVhY2giLCJwcm9tIiwicmVqZWN0IiwicmVzb2x2ZSIsInJlc3BvbnNlIiwib3JpZ2luYWxSZXF1ZXN0Iiwic3RhdHVzIiwiX3JldHJ5IiwiUHJvbWlzZSIsInB1c2giLCJ0aGVuIiwiY2F0Y2giLCJlcnIiLCJyZWZyZXNoVG9rZW4iLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJuZXdSZWZyZXNoVG9rZW4iLCJkYXRhIiwiZGVmYXVsdHMiLCJjb21tb24iLCJyZWZyZXNoRXJyb3IiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/axios.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/catalog.ts": -/*!***********************************!*\ - !*** ./src/shared/api/catalog.ts ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createOffer: () => (/* binding */ createOffer),\n/* harmony export */ deleteOffer: () => (/* binding */ deleteOffer),\n/* harmony export */ getCategories: () => (/* binding */ getCategories),\n/* harmony export */ getMyOffers: () => (/* binding */ getMyOffers),\n/* harmony export */ getOfferById: () => (/* binding */ getOfferById),\n/* harmony export */ toggleOffer: () => (/* binding */ toggleOffer),\n/* harmony export */ updateOffer: () => (/* binding */ updateOffer),\n/* harmony export */ uploadOfferImage: () => (/* binding */ uploadOfferImage)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\nconst getCategories = async ()=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/catalog/categories\");\n return response.data;\n};\nconst getMyOffers = async ()=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/catalog/offers/my\");\n return response.data;\n};\nconst getOfferById = async (id)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(`/catalog/offers/${id}`);\n return response.data;\n};\nconst createOffer = async (payload)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.post(\"/catalog/offers\", payload);\n return response.data;\n};\nconst updateOffer = async (id, payload)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.put(`/catalog/offers/${id}`, payload);\n};\nconst toggleOffer = async (id)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.patch(`/catalog/offers/${id}/toggle`);\n return response.data.isActive;\n};\nconst deleteOffer = async (id)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.delete(`/catalog/offers/${id}`);\n};\nconst uploadOfferImage = async (file)=>{\n const formData = new FormData();\n formData.append(\"file\", file);\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.post(\"/catalog/offers/image\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n return response.data.url;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9jYXRhbG9nLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUE4QjtBQWlEdkIsTUFBTUMsZ0JBQWdCO0lBQ3pCLE1BQU1DLFdBQVcsTUFBTUYsdUNBQUdBLENBQUNHLEdBQUcsQ0FBYTtJQUMzQyxPQUFPRCxTQUFTRSxJQUFJO0FBQ3hCLEVBQUU7QUFFSyxNQUFNQyxjQUFjO0lBQ3ZCLE1BQU1ILFdBQVcsTUFBTUYsdUNBQUdBLENBQUNHLEdBQUcsQ0FBVTtJQUN4QyxPQUFPRCxTQUFTRSxJQUFJO0FBQ3hCLEVBQUU7QUFFSyxNQUFNRSxlQUFlLE9BQU9DO0lBQy9CLE1BQU1MLFdBQVcsTUFBTUYsdUNBQUdBLENBQUNHLEdBQUcsQ0FBUSxDQUFDLGdCQUFnQixFQUFFSSxJQUFJO0lBQzdELE9BQU9MLFNBQVNFLElBQUk7QUFDeEIsRUFBRTtBQUVLLE1BQU1JLGNBQWMsT0FBT0M7SUFDOUIsTUFBTVAsV0FBVyxNQUFNRix1Q0FBR0EsQ0FBQ1UsSUFBSSxDQUFTLG1CQUFtQkQ7SUFDM0QsT0FBT1AsU0FBU0UsSUFBSTtBQUN4QixFQUFFO0FBRUssTUFBTU8sY0FBYyxPQUFPSixJQUFZRTtJQUMxQyxNQUFNVCx1Q0FBR0EsQ0FBQ1ksR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVMLElBQUksRUFBRUU7QUFDM0MsRUFBRTtBQUVLLE1BQU1JLGNBQWMsT0FBT047SUFDOUIsTUFBTUwsV0FBVyxNQUFNRix1Q0FBR0EsQ0FBQ2MsS0FBSyxDQUF3QixDQUFDLGdCQUFnQixFQUFFUCxHQUFHLE9BQU8sQ0FBQztJQUN0RixPQUFPTCxTQUFTRSxJQUFJLENBQUNXLFFBQVE7QUFDakMsRUFBRTtBQUVLLE1BQU1DLGNBQWMsT0FBT1Q7SUFDOUIsTUFBTVAsdUNBQUdBLENBQUNpQixNQUFNLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRVYsSUFBSTtBQUM1QyxFQUFFO0FBRUssTUFBTVcsbUJBQW1CLE9BQU9DO0lBQ25DLE1BQU1DLFdBQVcsSUFBSUM7SUFDckJELFNBQVNFLE1BQU0sQ0FBQyxRQUFRSDtJQUN4QixNQUFNakIsV0FBVyxNQUFNRix1Q0FBR0EsQ0FBQ1UsSUFBSSxDQUFrQix5QkFBeUJVLFVBQVU7UUFDaEZHLFNBQVM7WUFDTCxnQkFBZ0I7UUFDcEI7SUFDSjtJQUNBLE9BQU9yQixTQUFTRSxJQUFJLENBQUNvQixHQUFHO0FBQzVCLEVBQUUiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXHNoYXJlZFxcYXBpXFxjYXRhbG9nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENhdGVnb3J5IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBzbHVnOiBzdHJpbmc7XHJcbiAgICBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDtcclxuICAgIGF0dHJpYnV0ZVNjaGVtYT86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPZmZlciB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgcGVyZm9ybWVySWQ6IHN0cmluZztcclxuICAgIGNhdGVnb3J5SWQ6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgcHJpY2U6IHtcclxuICAgICAgICBhbW91bnQ6IG51bWJlcjtcclxuICAgICAgICBjdXJyZW5jeTogc3RyaW5nO1xyXG4gICAgICAgIHR5cGU6IG51bWJlcjsgLy8gMCA9IEZpeGVkLCAxID0gSG91cmx5LCAyID0gTmVnb3RpYWJsZVxyXG4gICAgfTtcclxuICAgIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsO1xyXG4gICAgaXNBY3RpdmU6IGJvb2xlYW47XHJcbiAgICBpbWFnZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9mZmVyUGF5bG9hZCB7XHJcbiAgICBjYXRlZ29yeUlkOiBzdHJpbmc7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHByaWNlOiB7XHJcbiAgICAgICAgYW1vdW50OiBudW1iZXI7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyO1xyXG4gICAgfTtcclxuICAgIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgICBpbWFnZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU9mZmVyUGF5bG9hZCB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHByaWNlOiB7XHJcbiAgICAgICAgYW1vdW50OiBudW1iZXI7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyO1xyXG4gICAgfTtcclxuICAgIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgICBpbWFnZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0Q2F0ZWdvcmllcyA9IGFzeW5jICgpOiBQcm9taXNlPENhdGVnb3J5W10+ID0+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLmdldDxDYXRlZ29yeVtdPihcIi9jYXRhbG9nL2NhdGVnb3JpZXNcIik7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRNeU9mZmVycyA9IGFzeW5jICgpOiBQcm9taXNlPE9mZmVyW10+ID0+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLmdldDxPZmZlcltdPihcIi9jYXRhbG9nL29mZmVycy9teVwiKTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldE9mZmVyQnlJZCA9IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTxPZmZlcj4gPT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhcGkuZ2V0PE9mZmVyPihgL2NhdGFsb2cvb2ZmZXJzLyR7aWR9YCk7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVPZmZlciA9IGFzeW5jIChwYXlsb2FkOiBDcmVhdGVPZmZlclBheWxvYWQpOiBQcm9taXNlPHN0cmluZz4gPT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhcGkucG9zdDxzdHJpbmc+KFwiL2NhdGFsb2cvb2ZmZXJzXCIsIHBheWxvYWQpO1xyXG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgdXBkYXRlT2ZmZXIgPSBhc3luYyAoaWQ6IHN0cmluZywgcGF5bG9hZDogVXBkYXRlT2ZmZXJQYXlsb2FkKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICBhd2FpdCBhcGkucHV0KGAvY2F0YWxvZy9vZmZlcnMvJHtpZH1gLCBwYXlsb2FkKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCB0b2dnbGVPZmZlciA9IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5wYXRjaDx7IGlzQWN0aXZlOiBib29sZWFuIH0+KGAvY2F0YWxvZy9vZmZlcnMvJHtpZH0vdG9nZ2xlYCk7XHJcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5pc0FjdGl2ZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkZWxldGVPZmZlciA9IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgICBhd2FpdCBhcGkuZGVsZXRlKGAvY2F0YWxvZy9vZmZlcnMvJHtpZH1gKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCB1cGxvYWRPZmZlckltYWdlID0gYXN5bmMgKGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4gPT4ge1xyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5wb3N0PHsgdXJsOiBzdHJpbmcgfT4oXCIvY2F0YWxvZy9vZmZlcnMvaW1hZ2VcIiwgZm9ybURhdGEsIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiLFxyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhLnVybDtcclxufTtcclxuIl0sIm5hbWVzIjpbImFwaSIsImdldENhdGVnb3JpZXMiLCJyZXNwb25zZSIsImdldCIsImRhdGEiLCJnZXRNeU9mZmVycyIsImdldE9mZmVyQnlJZCIsImlkIiwiY3JlYXRlT2ZmZXIiLCJwYXlsb2FkIiwicG9zdCIsInVwZGF0ZU9mZmVyIiwicHV0IiwidG9nZ2xlT2ZmZXIiLCJwYXRjaCIsImlzQWN0aXZlIiwiZGVsZXRlT2ZmZXIiLCJkZWxldGUiLCJ1cGxvYWRPZmZlckltYWdlIiwiZmlsZSIsImZvcm1EYXRhIiwiRm9ybURhdGEiLCJhcHBlbmQiLCJoZWFkZXJzIiwidXJsIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/catalog.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/geo.ts": -/*!*******************************!*\ - !*** ./src/shared/api/geo.ts ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PerformerState: () => (/* binding */ PerformerState),\n/* harmony export */ searchNearby: () => (/* binding */ searchNearby),\n/* harmony export */ updateGeoStatus: () => (/* binding */ updateGeoStatus)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n// --- Типы ---\n/** Статус исполнителя на карте */ var PerformerState = /*#__PURE__*/ function(PerformerState) {\n PerformerState[PerformerState[\"Offline\"] = 0] = \"Offline\";\n PerformerState[PerformerState[\"Available\"] = 1] = \"Available\";\n PerformerState[PerformerState[\"OnJob\"] = 2] = \"OnJob\";\n return PerformerState;\n}({});\n// --- API-вызовы ---\n/**\r\n * PATCH /api/geo/status — Обновить геопозицию и статус исполнителя.\r\n * Вызывается каждые 10-15 секунд при активном тумблере «На линии».\r\n */ const updateGeoStatus = async (payload)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.patch(\"/geo/status\", payload);\n};\n/**\r\n * GET /api/geo/nearby — Поиск доступных исполнителей в радиусе.\r\n * @param lat - Широта центра\r\n * @param lon - Долгота центра\r\n * @param radius - Радиус в метрах\r\n */ const searchNearby = async (lat, lon, radius)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/geo/nearby\", {\n params: {\n lat,\n lon,\n radius\n }\n });\n return response.data;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9nZW8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QjtBQUU5QixlQUFlO0FBRWYsZ0NBQWdDLEdBQ3pCLDRDQUFLQzs7OztXQUFBQTtNQUlYO0FBaUJELHFCQUFxQjtBQUVyQjs7O0NBR0MsR0FDTSxNQUFNQyxrQkFBa0IsT0FBT0M7SUFDbEMsTUFBTUgsdUNBQUdBLENBQUNJLEtBQUssQ0FBQyxlQUFlRDtBQUNuQyxFQUFFO0FBRUY7Ozs7O0NBS0MsR0FDTSxNQUFNRSxlQUFlLE9BQ3hCQyxLQUNBQyxLQUNBQztJQUVBLE1BQU1DLFdBQVcsTUFBTVQsdUNBQUdBLENBQUNVLEdBQUcsQ0FBb0IsZUFBZTtRQUM3REMsUUFBUTtZQUFFTDtZQUFLQztZQUFLQztRQUFPO0lBQy9CO0lBQ0EsT0FBT0MsU0FBU0csSUFBSTtBQUN4QixFQUFFIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGFwaVxcZ2VvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCI7XHJcblxyXG4vLyAtLS0g0KLQuNC/0YsgLS0tXHJcblxyXG4vKiog0KHRgtCw0YLRg9GBINC40YHQv9C+0LvQvdC40YLQtdC70Y8g0L3QsCDQutCw0YDRgtC1ICovXHJcbmV4cG9ydCBlbnVtIFBlcmZvcm1lclN0YXRlIHtcclxuICAgIE9mZmxpbmUgPSAwLFxyXG4gICAgQXZhaWxhYmxlID0gMSxcclxuICAgIE9uSm9iID0gMixcclxufVxyXG5cclxuLyoqINCX0LDQv9GA0L7RgSDQvdCwINC+0LHQvdC+0LLQu9C10L3QuNC1INGB0YLQsNGC0YPRgdCwICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlU3RhdHVzUGF5bG9hZCB7XHJcbiAgICBwZXJmb3JtZXJJZDogc3RyaW5nO1xyXG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcclxuICAgIGxvbmdpdHVkZTogbnVtYmVyO1xyXG4gICAgc3RhdGU6IFBlcmZvcm1lclN0YXRlO1xyXG59XHJcblxyXG4vKiog0JHQu9C40LbQsNC50YjQuNC5INC40YHQv9C+0LvQvdC40YLQtdC70YwgKNC+0YLQstC10YIg0L7RgiBBUEkpICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmVhcmJ5UGVyZm9ybWVyIHtcclxuICAgIHBlcmZvcm1lcklkOiBzdHJpbmc7XHJcbiAgICBsYXRpdHVkZTogbnVtYmVyO1xyXG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIC0tLSBBUEkt0LLRi9C30L7QstGLIC0tLVxyXG5cclxuLyoqXHJcbiAqIFBBVENIIC9hcGkvZ2VvL3N0YXR1cyDigJQg0J7QsdC90L7QstC40YLRjCDQs9C10L7Qv9C+0LfQuNGG0LjRjiDQuCDRgdGC0LDRgtGD0YEg0LjRgdC/0L7Qu9C90LjRgtC10LvRjy5cclxuICog0JLRi9C30YvQstCw0LXRgtGB0Y8g0LrQsNC20LTRi9C1IDEwLTE1INGB0LXQutGD0L3QtCDQv9GA0Lgg0LDQutGC0LjQstC90L7QvCDRgtGD0LzQsdC70LXRgNC1IMKr0J3QsCDQu9C40L3QuNC4wrsuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdXBkYXRlR2VvU3RhdHVzID0gYXN5bmMgKHBheWxvYWQ6IFVwZGF0ZVN0YXR1c1BheWxvYWQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgIGF3YWl0IGFwaS5wYXRjaChcIi9nZW8vc3RhdHVzXCIsIHBheWxvYWQpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEdFVCAvYXBpL2dlby9uZWFyYnkg4oCUINCf0L7QuNGB0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC40YHQv9C+0LvQvdC40YLQtdC70LXQuSDQsiDRgNCw0LTQuNGD0YHQtS5cclxuICogQHBhcmFtIGxhdCAtINCo0LjRgNC+0YLQsCDRhtC10L3RgtGA0LBcclxuICogQHBhcmFtIGxvbiAtINCU0L7Qu9Cz0L7RgtCwINGG0LXQvdGC0YDQsFxyXG4gKiBAcGFyYW0gcmFkaXVzIC0g0KDQsNC00LjRg9GBINCyINC80LXRgtGA0LDRhVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNlYXJjaE5lYXJieSA9IGFzeW5jIChcclxuICAgIGxhdDogbnVtYmVyLFxyXG4gICAgbG9uOiBudW1iZXIsXHJcbiAgICByYWRpdXM6IG51bWJlclxyXG4pOiBQcm9taXNlPE5lYXJieVBlcmZvcm1lcltdPiA9PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQ8TmVhcmJ5UGVyZm9ybWVyW10+KFwiL2dlby9uZWFyYnlcIiwge1xyXG4gICAgICAgIHBhcmFtczogeyBsYXQsIGxvbiwgcmFkaXVzIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xyXG59O1xyXG4iXSwibmFtZXMiOlsiYXBpIiwiUGVyZm9ybWVyU3RhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJwYXlsb2FkIiwicGF0Y2giLCJzZWFyY2hOZWFyYnkiLCJsYXQiLCJsb24iLCJyYWRpdXMiLCJyZXNwb25zZSIsImdldCIsInBhcmFtcyIsImRhdGEiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/geo.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/lib/utils.ts": -/*!*********************************!*\ - !*** ./src/shared/lib/utils.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn),\n/* harmony export */ formatPhoneNumber: () => (/* binding */ formatPhoneNumber)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\nfunction formatPhoneNumber(phone) {\n if (!phone) return \"—\";\n // Remove all non-digits\n const cleaned = phone.replace(/\\D/g, \"\");\n // Check if it's a Russian number (+7 or 8)\n if (cleaned.length === 11) {\n const country = cleaned[0] === \"8\" ? \"8\" : \"+7\";\n return `${country} (${cleaned.slice(1, 4)}) ${cleaned.slice(4, 7)}-${cleaned.slice(7, 9)}-${cleaned.slice(9, 11)}`;\n }\n return phone;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRDO0FBQ0o7QUFFakMsU0FBU0UsR0FBRyxHQUFHQyxNQUFvQjtJQUN0QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3hCO0FBRU8sU0FBU0Msa0JBQWtCQyxLQUF5QjtJQUN2RCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUVuQix3QkFBd0I7SUFDeEIsTUFBTUMsVUFBVUQsTUFBTUUsT0FBTyxDQUFDLE9BQU87SUFFckMsMkNBQTJDO0lBQzNDLElBQUlELFFBQVFFLE1BQU0sS0FBSyxJQUFJO1FBQ3ZCLE1BQU1DLFVBQVVILE9BQU8sQ0FBQyxFQUFFLEtBQUssTUFBTSxNQUFNO1FBQzNDLE9BQU8sR0FBR0csUUFBUSxFQUFFLEVBQUVILFFBQVFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFSixRQUFRSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRUosUUFBUUksS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUVKLFFBQVFJLEtBQUssQ0FBQyxHQUFHLEtBQUs7SUFDdEg7SUFFQSxPQUFPTDtBQUNYIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGxpYlxcdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSBcImNsc3hcIlxyXG5pbXBvcnQgeyB0d01lcmdlIH0gZnJvbSBcInRhaWx3aW5kLW1lcmdlXCJcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjbiguLi5pbnB1dHM6IENsYXNzVmFsdWVbXSkge1xyXG4gICAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UGhvbmVOdW1iZXIocGhvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gXCLigJRcIjtcclxuXHJcbiAgICAvLyBSZW1vdmUgYWxsIG5vbi1kaWdpdHNcclxuICAgIGNvbnN0IGNsZWFuZWQgPSBwaG9uZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgaXQncyBhIFJ1c3NpYW4gbnVtYmVyICgrNyBvciA4KVxyXG4gICAgaWYgKGNsZWFuZWQubGVuZ3RoID09PSAxMSkge1xyXG4gICAgICAgIGNvbnN0IGNvdW50cnkgPSBjbGVhbmVkWzBdID09PSBcIjhcIiA/IFwiOFwiIDogXCIrN1wiO1xyXG4gICAgICAgIHJldHVybiBgJHtjb3VudHJ5fSAoJHtjbGVhbmVkLnNsaWNlKDEsIDQpfSkgJHtjbGVhbmVkLnNsaWNlKDQsIDcpfS0ke2NsZWFuZWQuc2xpY2UoNywgOSl9LSR7Y2xlYW5lZC5zbGljZSg5LCAxMSl9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGhvbmU7XHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiLCJmb3JtYXRQaG9uZU51bWJlciIsInBob25lIiwiY2xlYW5lZCIsInJlcGxhY2UiLCJsZW5ndGgiLCJjb3VudHJ5Iiwic2xpY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: () => (/* binding */ Header)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/theme/mode-toggle */ \"(ssr)/./src/components/theme/mode-toggle.tsx\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_switch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/switch */ \"(ssr)/./src/components/ui/switch.tsx\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/search.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/briefcase.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/log-out.js\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/features/geo/useGeoStore */ \"(ssr)/./src/features/geo/useGeoStore.ts\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \n\n\n\n\n\n\n\n\nfunction Header() {\n const { isAuth, user, logout } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_6__.useSessionStore)();\n const { isOnline, isUpdating, error: geoError, goOnline, goOffline } = (0,_features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__.useGeoStore)();\n // Проверяем, является ли пользователь исполнителем или компанией\n const isMasterOrCompany = user?.roles?.includes(\"Candidate\") || user?.roles?.includes(\"Company\") || user?.roles?.includes(\"Master\");\n /** Обработчик переключения тумблера «На линии» */ const handleToggleOnline = (checked)=>{\n if (!user?.id) return;\n if (checked) {\n goOnline(user.id);\n } else {\n goOffline(user.id);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container mx-auto flex h-16 items-center justify-between px-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n className: \"flex items-center space-x-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl font-black tracking-tight text-blue-600 dark:text-blue-500\",\n children: \"Nashel\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 42,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 41,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"hidden md:flex gap-6 items-center text-sm font-medium transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/search\",\n className: \"flex items-center gap-2 hover:text-blue-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 51,\n columnNumber: 29\n }, this),\n \"Поиск\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 47,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"hover:text-blue-600\",\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 54,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 46,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 40,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n isAuth && isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden sm:flex items-center gap-2 mr-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: `h-4 w-4 transition-colors ${isOnline ? \"text-green-500\" : \"text-muted-foreground\"}`\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 67,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_switch__WEBPACK_IMPORTED_MODULE_4__.Switch, {\n id: \"geo-online-toggle\",\n checked: isOnline,\n onCheckedChange: handleToggleOnline,\n disabled: isUpdating\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 68,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"geo-online-toggle\",\n className: `text-xs font-medium cursor-pointer select-none transition-colors ${isOnline ? \"text-green-600 dark:text-green-400\" : \"text-muted-foreground\"}`,\n children: isOnline ? \"Готов к заказу\" : \"Офлайн\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 74,\n columnNumber: 29\n }, this),\n geoError && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-red-500 max-w-[120px] truncate\",\n title: geoError,\n children: geoError\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 81,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 66,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__.ModeToggle, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, this),\n isAuth ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n className: \"hidden sm:flex items-center gap-2 focus-visible:ring-0 focus-visible:ring-offset-0 focus:outline-none focus:ring-0 outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 93,\n columnNumber: 37\n }, this),\n user?.roles?.includes(\"Company\") && user?.companyName ? user.companyName : user?.firstName && user?.lastName ? `${user.firstName} ${user.lastName}` : \"Профиль\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 92,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 91,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuContent, {\n align: \"end\",\n className: \"w-56\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuLabel, {\n children: \"Мой аккаунт\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 100,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 101,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/profile\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 104,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Профиль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 105,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 103,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 102,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 110,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 111,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 109,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 108,\n columnNumber: 33\n }, this),\n isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/offers\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 117,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 118,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 116,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 115,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 122,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n className: \"text-destructive focus:text-destructive cursor-pointer\",\n onClick: ()=>logout(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 124,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Выйти из аккаунта\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 125,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 123,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 99,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 90,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n asChild: true,\n className: \"hidden sm:flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/auth/login\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 132,\n columnNumber: 33\n }, this),\n \"Войти\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 131,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 130,\n columnNumber: 25\n }, this),\n isMasterOrCompany ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n children: \"Подобрать заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 139,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 138,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/become-performer\",\n children: \"Стать исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 145,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 144,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 63,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 39,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FDaEUsNEVBQUM1QyxrREFBSUE7Z0NBQUNvQyxNQUFLOzBDQUE4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNyRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcd2lkZ2V0c1xcSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiXHJcbmltcG9ydCB7IE1vZGVUb2dnbGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL21vZGUtdG9nZ2xlXCJcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxyXG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3N3aXRjaFwiXHJcbmltcG9ydCB7IFNlYXJjaCwgVXNlciwgTG9nT3V0LCBCcmllZmNhc2UsIE1hcFBpbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5pbXBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51Q29udGVudCxcclxuICAgIERyb3Bkb3duTWVudUl0ZW0sXHJcbiAgICBEcm9wZG93bk1lbnVMYWJlbCxcclxuICAgIERyb3Bkb3duTWVudVNlcGFyYXRvcixcclxuICAgIERyb3Bkb3duTWVudVRyaWdnZXIsXHJcbn0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51XCJcclxuXHJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxyXG5pbXBvcnQgeyB1c2VHZW9TdG9yZSB9IGZyb20gXCJAL2ZlYXR1cmVzL2dlby91c2VHZW9TdG9yZVwiXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSGVhZGVyKCkge1xyXG4gICAgY29uc3QgeyBpc0F1dGgsIHVzZXIsIGxvZ291dCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcclxuICAgIGNvbnN0IHsgaXNPbmxpbmUsIGlzVXBkYXRpbmcsIGVycm9yOiBnZW9FcnJvciwgZ29PbmxpbmUsIGdvT2ZmbGluZSB9ID0gdXNlR2VvU3RvcmUoKVxyXG5cclxuICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQuNGB0L/QvtC70L3QuNGC0LXQu9C10Lwg0LjQu9C4INC60L7QvNC/0LDQvdC40LXQuVxyXG4gICAgY29uc3QgaXNNYXN0ZXJPckNvbXBhbnkgPSB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDYW5kaWRhdGVcIikgfHwgdXNlcj8ucm9sZXM/LmluY2x1ZGVzKFwiQ29tcGFueVwiKSB8fCB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJNYXN0ZXJcIilcclxuXHJcbiAgICAvKiog0J7QsdGA0LDQsdC+0YLRh9C40Log0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINGC0YPQvNCx0LvQtdGA0LAgwqvQndCwINC70LjQvdC40LjCuyAqL1xyXG4gICAgY29uc3QgaGFuZGxlVG9nZ2xlT25saW5lID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoIXVzZXI/LmlkKSByZXR1cm5cclxuICAgICAgICBpZiAoY2hlY2tlZCkge1xyXG4gICAgICAgICAgICBnb09ubGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGdvT2ZmbGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwic3RpY2t5IHRvcC0wIHotNTAgdy1mdWxsIGJvcmRlci1iIGJnLWJhY2tncm91bmQvOTUgYmFja2Ryb3AtYmx1ciBzdXBwb3J0cy1bYmFja2Ryb3AtZmlsdGVyXTpiZy1iYWNrZ3JvdW5kLzYwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG14LWF1dG8gZmxleCBoLTE2IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYmxhY2sgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTYwMCBkYXJrOnRleHQtYmx1ZS01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hc2hlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuYXYgY2xhc3NOYW1lPVwiaGlkZGVuIG1kOmZsZXggZ2FwLTYgaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1jb2xvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvc2VhcmNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGhvdmVyOnRleHQtYmx1ZS02MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC40YHQulxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL29yZGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJob3Zlcjp0ZXh0LWJsdWUtNjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0JzQvtC4INC30LDQutCw0LfRi1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCi0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsg4oCUINCy0LjQtNC10L0g0YLQvtC70YzQutC+INC40YHQv9C+0LvQvdC40YLQtdC70Y/QvC/QutC+0LzQv9Cw0L3QuNGP0LwgKi99XHJcbiAgICAgICAgICAgICAgICAgICAge2lzQXV0aCAmJiBpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIHNtOmZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1yLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBQaW4gY2xhc3NOYW1lPXtgaC00IHctNCB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTUwMFwiIDogXCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIn1gfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZ2VvLW9ubGluZS10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2lzT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17aGFuZGxlVG9nZ2xlT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1VwZGF0aW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9XCJnZW8tb25saW5lLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdGV4dC14cyBmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTYwMCBkYXJrOnRleHQtZ3JlZW4tNDAwXCIgOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwifWB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzT25saW5lID8gXCLQk9C+0YLQvtCyINC6INC30LDQutCw0LfRg1wiIDogXCLQntGE0LvQsNC50L1cIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3IgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1yZWQtNTAwIG1heC13LVsxMjBweF0gdHJ1bmNhdGVcIiB0aXRsZT17Z2VvRXJyb3J9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3J9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPE1vZGVUb2dnbGUgLz5cclxuICAgICAgICAgICAgICAgICAgICB7aXNBdXRoID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVRyaWdnZXIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzTmFtZT1cImhpZGRlbiBzbTpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBmb2N1cy12aXNpYmxlOnJpbmctMCBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMCBvdXRsaW5lLW5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDb21wYW55XCIpICYmIHVzZXI/LmNvbXBhbnlOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHVzZXIuY29tcGFueU5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKHVzZXI/LmZpcnN0TmFtZSAmJiB1c2VyPy5sYXN0TmFtZSA/IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YCA6IFwi0J/RgNC+0YTQuNC70YxcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51Q29udGVudCBhbGlnbj1cImVuZFwiIGNsYXNzTmFtZT1cInctNTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51TGFiZWw+0JzQvtC5INCw0LrQutCw0YPQvdGCPC9Ecm9wZG93bk1lbnVMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51U2VwYXJhdG9yIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9kYXNoYm9hcmQvcHJvZmlsZVwiIGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyIHctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwibXItMiBoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPtCf0YDQvtGE0LjQu9GMPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvb3JkZXJzXCIgY2xhc3NOYW1lPVwiY3Vyc29yLXBvaW50ZXIgdy1mdWxsIGZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QnNC+0Lgg0LfQsNC60LDQt9GLPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2Rhc2hib2FyZC9vZmZlcnNcIiBjbGFzc05hbWU9XCJjdXJzb3ItcG9pbnRlciB3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnJpZWZjYXNlIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0JzQvtC4INGD0YHQu9GD0LPQuDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVNlcGFyYXRvciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGNsYXNzTmFtZT1cInRleHQtZGVzdHJ1Y3RpdmUgZm9jdXM6dGV4dC1kZXN0cnVjdGl2ZSBjdXJzb3ItcG9pbnRlclwiIG9uQ2xpY2s9eygpID0+IGxvZ291dCgpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExvZ091dCBjbGFzc05hbWU9XCJtci0yIGgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QktGL0LnRgtC4INC40Lcg0LDQutC60LDRg9C90YLQsDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImdob3N0XCIgYXNDaGlsZCBjbGFzc05hbWU9XCJoaWRkZW4gc206ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvYXV0aC9sb2dpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVc2VyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCS0L7QudGC0LhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7aXNNYXN0ZXJPckNvbXBhbnkgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgdGV4dC13aGl0ZVwiIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL29yZGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNC+0LHRgNCw0YLRjCDQt9Cw0LrQsNC30YtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlXCIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvZGFzaGJvYXJkL2JlY29tZS1wZXJmb3JtZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodGC0LDRgtGMINC40YHQv9C+0LvQvdC40YLQtdC70LXQvFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJMaW5rIiwiTW9kZVRvZ2dsZSIsIkJ1dHRvbiIsIlN3aXRjaCIsIlNlYXJjaCIsIlVzZXIiLCJMb2dPdXQiLCJCcmllZmNhc2UiLCJNYXBQaW4iLCJEcm9wZG93bk1lbnUiLCJEcm9wZG93bk1lbnVDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkRyb3Bkb3duTWVudUxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiRHJvcGRvd25NZW51VHJpZ2dlciIsInVzZVNlc3Npb25TdG9yZSIsInVzZUdlb1N0b3JlIiwiSGVhZGVyIiwiaXNBdXRoIiwidXNlciIsImxvZ291dCIsImlzT25saW5lIiwiaXNVcGRhdGluZyIsImVycm9yIiwiZ2VvRXJyb3IiLCJnb09ubGluZSIsImdvT2ZmbGluZSIsImlzTWFzdGVyT3JDb21wYW55Iiwicm9sZXMiLCJpbmNsdWRlcyIsImhhbmRsZVRvZ2dsZU9ubGluZSIsImNoZWNrZWQiLCJpZCIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsImhyZWYiLCJzcGFuIiwibmF2Iiwib25DaGVja2VkQ2hhbmdlIiwiZGlzYWJsZWQiLCJsYWJlbCIsImh0bWxGb3IiLCJ0aXRsZSIsImFzQ2hpbGQiLCJ2YXJpYW50IiwiY29tcGFueU5hbWUiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/widgets/Header.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/globals.css": -/*!*****************************!*\ - !*** ./src/app/globals.css ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"96c14632c738\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXGdsb2JhbHMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOTZjMTQ2MzJjNzM4XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/dashboard/offers/page.tsx": -/*!*******************************************!*\ - !*** ./src/app/dashboard/offers/page.tsx ***! - \*******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call the default export of \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\offers\\\\page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx", -"default", -)); - - -/***/ }), - -/***/ "(rsc)/./src/app/layout.tsx": -/*!****************************!*\ - !*** ./src/app/layout.tsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src\\\\\\\\app\\\\\\\\layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\",\\\"cyrillic\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n/* harmony import */ var leaflet_dist_leaflet_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! leaflet/dist/leaflet.css */ \"(rsc)/./node_modules/leaflet/dist/leaflet.css\");\n/* harmony import */ var _components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/theme/theme-provider */ \"(rsc)/./src/components/theme/theme-provider.tsx\");\n/* harmony import */ var _widgets_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/widgets/Header */ \"(rsc)/./src/widgets/Header.tsx\");\n/* harmony import */ var _components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/sonner */ \"(rsc)/./src/components/ui/sonner.tsx\");\n/* harmony import */ var _components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/auth/AuthProvider */ \"(rsc)/./src/components/auth/AuthProvider.tsx\");\n\n\n\n\n\n\n\n\nconst metadata = {\n title: \"Nashel - Маркетплейс услуг\",\n description: \"Найди мастера за 60 минут\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"ru\",\n suppressHydrationWarning: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: `${(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default().className)} min-h-screen bg-background text-foreground antialiased`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__.ThemeProvider, {\n attribute: \"class\",\n defaultTheme: \"system\",\n enableSystem: true,\n disableTransitionOnChange: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__.AuthProvider, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex min-h-screen flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_widgets_Header__WEBPACK_IMPORTED_MODULE_4__.Header, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 34,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 32,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__.Toaster, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 36,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 31,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 25,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQVNNQTtBQVBpQjtBQUNXO0FBQ2dDO0FBQ3hCO0FBQ087QUFDYTtBQUl2RCxNQUFNSyxXQUFxQjtJQUM5QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2pCLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQy9CQyxRQUFRLEVBR1Y7SUFDRSxxQkFDSSw4REFBQ0M7UUFBS0MsTUFBSztRQUFLQyx3QkFBd0I7a0JBQ3BDLDRFQUFDQztZQUFLQyxXQUFXLEdBQUdkLHdLQUFlLENBQUMsdURBQXVELENBQUM7c0JBQ3hGLDRFQUFDQywyRUFBYUE7Z0JBQ1ZjLFdBQVU7Z0JBQ1ZDLGNBQWE7Z0JBQ2JDLFlBQVk7Z0JBQ1pDLHlCQUF5QjswQkFFekIsNEVBQUNkLHVFQUFZQTs7c0NBQ1QsOERBQUNlOzRCQUFJTCxXQUFVOzs4Q0FDWCw4REFBQ1osbURBQU1BOzs7Ozs4Q0FDUCw4REFBQ2tCO29DQUFLTixXQUFVOzhDQUFVTDs7Ozs7Ozs7Ozs7O3NDQUU5Qiw4REFBQ04sMERBQU9BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1oQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcYXBwXFxsYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tIFwibmV4dFwiO1xyXG5pbXBvcnQgeyBJbnRlciB9IGZyb20gXCJuZXh0L2ZvbnQvZ29vZ2xlXCI7XHJcbmltcG9ydCBcIi4vZ2xvYmFscy5jc3NcIjtcclxuaW1wb3J0IFwibGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzXCI7XHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL3RoZW1lLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL3dpZGdldHMvSGVhZGVyXCI7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3Nvbm5lclwiO1xyXG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL2F1dGgvQXV0aFByb3ZpZGVyXCI7XHJcblxyXG5jb25zdCBpbnRlciA9IEludGVyKHsgc3Vic2V0czogW1wibGF0aW5cIiwgXCJjeXJpbGxpY1wiXSB9KTtcclxuXHJcbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XHJcbiAgICB0aXRsZTogXCJOYXNoZWwgLSDQnNCw0YDQutC10YLQv9C70LXQudGBINGD0YHQu9GD0LNcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcItCd0LDQudC00Lgg0LzQsNGB0YLQtdGA0LAg0LfQsCA2MCDQvNC40L3Rg9GCXCIsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSb290TGF5b3V0KHtcclxuICAgIGNoaWxkcmVuLFxyXG59OiBSZWFkb25seTx7XHJcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xyXG59Pikge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8aHRtbCBsYW5nPVwicnVcIiBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc+XHJcbiAgICAgICAgICAgIDxib2R5IGNsYXNzTmFtZT17YCR7aW50ZXIuY2xhc3NOYW1lfSBtaW4taC1zY3JlZW4gYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQgYW50aWFsaWFzZWRgfT5cclxuICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlPVwiY2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRUaGVtZT1cInN5c3RlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlU3lzdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVRyYW5zaXRpb25PbkNoYW5nZVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxBdXRoUHJvdmlkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgZmxleCBtaW4taC1zY3JlZW4gZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkZXIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9hc3RlciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQXV0aFByb3ZpZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxyXG4gICAgICAgICAgICA8L2JvZHk+XHJcbiAgICAgICAgPC9odG1sPlxyXG4gICAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsiaW50ZXIiLCJUaGVtZVByb3ZpZGVyIiwiSGVhZGVyIiwiVG9hc3RlciIsIkF1dGhQcm92aWRlciIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiwiYm9keSIsImNsYXNzTmFtZSIsImF0dHJpYnV0ZSIsImRlZmF1bHRUaGVtZSIsImVuYWJsZVN5c3RlbSIsImRpc2FibGVUcmFuc2l0aW9uT25DaGFuZ2UiLCJkaXYiLCJtYWluIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const AuthProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx", -"AuthProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const ThemeProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx", -"ThemeProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Toaster: () => (/* binding */ Toaster) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Toaster = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx", -"Toaster", -); - -/***/ }), - -/***/ "(rsc)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Header: () => (/* binding */ Header) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Header = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Header() from the server but Header is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx", -"Header", -); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@radix-ui","vendor-chunks/axios","vendor-chunks/mime-db","vendor-chunks/@floating-ui","vendor-chunks/tailwind-merge","vendor-chunks/sonner","vendor-chunks/lucide-react","vendor-chunks/cookies-next","vendor-chunks/follow-redirects","vendor-chunks/debug","vendor-chunks/tslib","vendor-chunks/react-remove-scroll","vendor-chunks/form-data","vendor-chunks/get-intrinsic","vendor-chunks/cookie","vendor-chunks/asynckit","vendor-chunks/aria-hidden","vendor-chunks/next-themes","vendor-chunks/react-remove-scroll-bar","vendor-chunks/combined-stream","vendor-chunks/mime-types","vendor-chunks/use-callback-ref","vendor-chunks/proxy-from-env","vendor-chunks/use-sidecar","vendor-chunks/class-variance-authority","vendor-chunks/ms","vendor-chunks/supports-color","vendor-chunks/react-style-singleton","vendor-chunks/has-symbols","vendor-chunks/delayed-stream","vendor-chunks/function-bind","vendor-chunks/@swc","vendor-chunks/zustand","vendor-chunks/es-set-tostringtag","vendor-chunks/get-proto","vendor-chunks/call-bind-apply-helpers","vendor-chunks/dunder-proto","vendor-chunks/math-intrinsics","vendor-chunks/es-errors","vendor-chunks/clsx","vendor-chunks/has-flag","vendor-chunks/gopd","vendor-chunks/get-nonce","vendor-chunks/es-define-property","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/leaflet","vendor-chunks/es-object-atoms"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Foffers%2Fpage&page=%2Fdashboard%2Foffers%2Fpage&appPaths=%2Fdashboard%2Foffers%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Foffers%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/dashboard/offers/page_client-reference-manifest.js b/.next/server/app/dashboard/offers/page_client-reference-manifest.js deleted file mode 100644 index 9d1c373..0000000 --- a/.next/server/app/dashboard/offers/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/dashboard/offers/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(ssr)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(ssr)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(ssr)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(ssr)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx":{"id":"(app-pages-browser)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx":{"id":"(app-pages-browser)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":["app/dashboard/offers/page","static/chunks/app/dashboard/offers/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx":{"id":"(app-pages-browser)/./src/components/home/PerformerButton.tsx","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":{"id":"(app-pages-browser)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\page":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(rsc)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(rsc)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(rsc)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(rsc)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/dashboard/profile/page.js b/.next/server/app/dashboard/profile/page.js deleted file mode 100644 index 6b95b60..0000000 --- a/.next/server/app/dashboard/profile/page.js +++ /dev/null @@ -1,801 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "app/dashboard/profile/page"; -exports.ids = ["app/dashboard/profile/page"]; -exports.modules = { - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "../app-render/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/server/app-render/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/action-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/after-task-async-storage.external": -/*!***********************************************************************************!*\ - !*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***! - \***********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/work-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/server/app-render/work-async-storage.external.js" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-async-storage.external.js"); - -/***/ }), - -/***/ "./work-unit-async-storage.external": -/*!**********************************************************************************!*\ - !*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***! - \**********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js"); - -/***/ }), - -/***/ "assert": -/*!*************************!*\ - !*** external "assert" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("assert"); - -/***/ }), - -/***/ "crypto": -/*!*************************!*\ - !*** external "crypto" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("crypto"); - -/***/ }), - -/***/ "events": -/*!*************************!*\ - !*** external "events" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("events"); - -/***/ }), - -/***/ "fs": -/*!*********************!*\ - !*** external "fs" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("fs"); - -/***/ }), - -/***/ "http": -/*!***********************!*\ - !*** external "http" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http"); - -/***/ }), - -/***/ "http2": -/*!************************!*\ - !*** external "http2" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http2"); - -/***/ }), - -/***/ "https": -/*!************************!*\ - !*** external "https" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("https"); - -/***/ }), - -/***/ "os": -/*!*********************!*\ - !*** external "os" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("os"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ "stream": -/*!*************************!*\ - !*** external "stream" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("stream"); - -/***/ }), - -/***/ "tty": -/*!**********************!*\ - !*** external "tty" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("tty"); - -/***/ }), - -/***/ "url": -/*!**********************!*\ - !*** external "url" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("url"); - -/***/ }), - -/***/ "util": -/*!***********************!*\ - !*** external "util" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), - -/***/ "zlib": -/*!***********************!*\ - !*** external "zlib" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("zlib"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Fprofile%2Fpage&page=%2Fdashboard%2Fprofile%2Fpage&appPaths=%2Fdashboard%2Fprofile%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Fprofile%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": -/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Fprofile%2Fpage&page=%2Fdashboard%2Fprofile%2Fpage&appPaths=%2Fdashboard%2Fprofile%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Fprofile%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! - \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/module.compiled.js?91d2\");\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nconst module0 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\"));\nconst module1 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23));\nconst module2 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/forbidden-error */ \"(rsc)/./node_modules/next/dist/client/components/forbidden-error.js\", 23));\nconst module3 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/unauthorized-error */ \"(rsc)/./node_modules/next/dist/client/components/unauthorized-error.js\", 23));\nconst page4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/profile/page.tsx */ \"(rsc)/./src/app/dashboard/profile/page.tsx\"));\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'dashboard',\n {\n children: [\n 'profile',\n {\n children: ['__PAGE__', {}, {\n page: [page4, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [module0, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\"],\n'not-found': [module1, \"next/dist/client/components/not-found-error\"],\n'forbidden': [module2, \"next/dist/client/components/forbidden-error\"],\n'unauthorized': [module3, \"next/dist/client/components/unauthorized-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/dashboard/profile/page\",\n pathname: \"/dashboard/profile\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkZkYXNoYm9hcmQlMkZwcm9maWxlJTJGcGFnZSZwYWdlPSUyRmRhc2hib2FyZCUyRnByb2ZpbGUlMkZwYWdlJmFwcFBhdGhzPSUyRmRhc2hib2FyZCUyRnByb2ZpbGUlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGZGFzaGJvYXJkJTJGcHJvZmlsZSUyRnBhZ2UudHN4JmFwcERpcj1FJTNBJTVDR0lUJTVDbXZwJTVDbmFzaGVsLWZyb250ZW5kJTVDc3JjJTVDYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj1FJTNBJTVDR0lUJTVDbXZwJTVDbmFzaGVsLWZyb250ZW5kJmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PXN0YW5kYWxvbmUmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0JBQXNCLG9KQUF3RjtBQUM5RyxzQkFBc0IsME5BQWdGO0FBQ3RHLHNCQUFzQiwwTkFBZ0Y7QUFDdEcsc0JBQXNCLGdPQUFtRjtBQUN6RyxvQkFBb0Isb0xBQTBHO0FBRzVIO0FBQ3NEO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUN1QjtBQUM2RDtBQUNwRiw2QkFBNkIsbUJBQW1CO0FBQ2hEO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsdUdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyxrRUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IG1vZHVsZTAgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKTtcbmNvbnN0IG1vZHVsZTEgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIik7XG5jb25zdCBtb2R1bGUyID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZm9yYmlkZGVuLWVycm9yXCIpO1xuY29uc3QgbW9kdWxlMyA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC1lcnJvclwiKTtcbmNvbnN0IHBhZ2U0ID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxwcm9maWxlXFxcXHBhZ2UudHN4XCIpO1xuaW1wb3J0IHsgQXBwUGFnZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWRcIiB3aXRoIHtcbiAgICAndHVyYm9wYWNrLXRyYW5zaXRpb24nOiAnbmV4dC1zc3InXG59O1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcm91dGUta2luZFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ2Rhc2hib2FyZCcsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ3Byb2ZpbGUnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbcGFnZTQsIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxkYXNoYm9hcmRcXFxccHJvZmlsZVxcXFxwYWdlLnRzeFwiXSxcbiAgICAgICAgICBcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbbW9kdWxlMCwgXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogW21vZHVsZTEsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiXSxcbidmb3JiaWRkZW4nOiBbbW9kdWxlMiwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZm9yYmlkZGVuLWVycm9yXCJdLFxuJ3VuYXV0aG9yaXplZCc6IFttb2R1bGUzLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy91bmF1dGhvcml6ZWQtZXJyb3JcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfS5jaGlsZHJlbjtcbmNvbnN0IHBhZ2VzID0gW1wiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxkYXNoYm9hcmRcXFxccHJvZmlsZVxcXFxwYWdlLnRzeFwiXTtcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEVycm9yIH0gZnJvbSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeVwiO1xuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXG5leHBvcnQgY29uc3QgX19uZXh0X2FwcF9fID0ge1xuICAgIHJlcXVpcmU6IF9fbmV4dF9hcHBfcmVxdWlyZV9fLFxuICAgIGxvYWRDaHVuazogX19uZXh0X2FwcF9sb2FkX2NodW5rX19cbn07XG5leHBvcnQgKiBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2VudHJ5LWJhc2VcIjtcbi8vIENyZWF0ZSBhbmQgZXhwb3J0IHRoZSByb3V0ZSBtb2R1bGUgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxuZXhwb3J0IGNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IEFwcFBhZ2VSb3V0ZU1vZHVsZSh7XG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuQVBQX1BBR0UsXG4gICAgICAgIHBhZ2U6IFwiL2Rhc2hib2FyZC9wcm9maWxlL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2Rhc2hib2FyZC9wcm9maWxlXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogJycsXG4gICAgICAgIGZpbGVuYW1lOiAnJyxcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfVxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Fprofile%2Fpage&page=%2Fdashboard%2Fprofile%2Fpage&appPaths=%2Fdashboard%2Fprofile%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Fprofile%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(rsc)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(ssr)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(rsc)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(rsc)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(rsc)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(rsc)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(ssr)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(ssr)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(ssr)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(ssr)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Cprofile%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!***********************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Cprofile%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \***********************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/profile/page.tsx */ \"(rsc)/./src/app/dashboard/profile/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNzcmMlNUMlNUNhcHAlNUMlNUNkYXNoYm9hcmQlNUMlNUNwcm9maWxlJTVDJTVDcGFnZS50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9MQUEwRyIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxkYXNoYm9hcmRcXFxccHJvZmlsZVxcXFxwYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Cprofile%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Cprofile%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!***********************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Cprofile%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \***********************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/profile/page.tsx */ \"(ssr)/./src/app/dashboard/profile/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNzcmMlNUMlNUNhcHAlNUMlNUNkYXNoYm9hcmQlNUMlNUNwcm9maWxlJTVDJTVDcGFnZS50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9MQUEwRyIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxkYXNoYm9hcmRcXFxccHJvZmlsZVxcXFxwYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Cprofile%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./src/app/dashboard/profile/page.tsx": -/*!********************************************!*\ - !*** ./src/app/dashboard/profile/page.tsx ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ProfilePage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_card__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/card */ \"(ssr)/./src/components/ui/card.tsx\");\n/* harmony import */ var _components_ui_badge__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/badge */ \"(ssr)/./src/components/ui/badge.tsx\");\n/* harmony import */ var _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! __barrel_optimize__?names=Award,Clock,Edit,Hammer,Key,Loader2,MapPin,Phone,ShieldCheck,Trash2,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* harmony import */ var _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! __barrel_optimize__?names=Award,Clock,Edit,Hammer,Key,Loader2,MapPin,Phone,ShieldCheck,Trash2,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! __barrel_optimize__?names=Award,Clock,Edit,Hammer,Key,Loader2,MapPin,Phone,ShieldCheck,Trash2,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/phone.js\");\n/* harmony import */ var _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! __barrel_optimize__?names=Award,Clock,Edit,Hammer,Key,Loader2,MapPin,Phone,ShieldCheck,Trash2,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/award.js\");\n/* harmony import */ var _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! __barrel_optimize__?names=Award,Clock,Edit,Hammer,Key,Loader2,MapPin,Phone,ShieldCheck,Trash2,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! __barrel_optimize__?names=Award,Clock,Edit,Hammer,Key,Loader2,MapPin,Phone,ShieldCheck,Trash2,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/clock.js\");\n/* harmony import */ var _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! __barrel_optimize__?names=Award,Clock,Edit,Hammer,Key,Loader2,MapPin,Phone,ShieldCheck,Trash2,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/shield-check.js\");\n/* harmony import */ var _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=Award,Clock,Edit,Hammer,Key,Loader2,MapPin,Phone,ShieldCheck,Trash2,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/hammer.js\");\n/* harmony import */ var _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! __barrel_optimize__?names=Award,Clock,Edit,Hammer,Key,Loader2,MapPin,Phone,ShieldCheck,Trash2,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/square-pen.js\");\n/* harmony import */ var _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! __barrel_optimize__?names=Award,Clock,Edit,Hammer,Key,Loader2,MapPin,Phone,ShieldCheck,Trash2,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/key.js\");\n/* harmony import */ var _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! __barrel_optimize__?names=Award,Clock,Edit,Hammer,Key,Loader2,MapPin,Phone,ShieldCheck,Trash2,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @hookform/resolvers/zod */ \"(ssr)/./node_modules/@hookform/resolvers/zod/dist/zod.mjs\");\n/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! zod */ \"(ssr)/./node_modules/zod/v4/classic/external.js\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/ui/input */ \"(ssr)/./src/components/ui/input.tsx\");\n/* harmony import */ var _components_ui_rich_text_editor__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/ui/rich-text-editor */ \"(ssr)/./src/components/ui/rich-text-editor.tsx\");\n/* harmony import */ var _components_ui_form__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/ui/form */ \"(ssr)/./src/components/ui/form.tsx\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* harmony import */ var _components_ui_avatar_uploader__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/components/ui/avatar-uploader */ \"(ssr)/./src/components/ui/avatar-uploader.tsx\");\n/* harmony import */ var _components_ui_tag_input__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/components/ui/tag-input */ \"(ssr)/./src/components/ui/tag-input.tsx\");\n/* harmony import */ var _components_ui_rating__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/components/ui/rating */ \"(ssr)/./src/components/ui/rating.tsx\");\n/* harmony import */ var _components_ui_description_viewer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/components/ui/description-viewer */ \"(ssr)/./src/components/ui/description-viewer.tsx\");\n/* harmony import */ var _components_ui_schedule_viewer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/components/ui/schedule-viewer */ \"(ssr)/./src/components/ui/schedule-viewer.tsx\");\n/* harmony import */ var _components_ui_change_password_modal__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/components/ui/change-password-modal */ \"(ssr)/./src/components/ui/change-password-modal.tsx\");\n/* harmony import */ var _components_ui_location_modal__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/components/ui/location-modal */ \"(ssr)/./src/components/ui/location-modal.tsx\");\n/* harmony import */ var _components_ui_schedule_modal__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/components/ui/schedule-modal */ \"(ssr)/./src/components/ui/schedule-modal.tsx\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst profileSchema = zod__WEBPACK_IMPORTED_MODULE_22__.object({\n firstName: zod__WEBPACK_IMPORTED_MODULE_22__.string().min(2, \"Имя должно содержать минимум 2 символа\").regex(/^[^0-9]*$/, \"Имя не должно содержать цифры\"),\n lastName: zod__WEBPACK_IMPORTED_MODULE_22__.string().min(2, \"Фамилия должна содержать минимум 2 символа\").regex(/^[^0-9]*$/, \"Фамилия не должна содержать цифры\"),\n patronymic: zod__WEBPACK_IMPORTED_MODULE_22__.string().optional().refine((val)=>!val || /^[^0-9]*$/.test(val), {\n message: \"Отчество не должно содержать цифры\"\n }),\n companyName: zod__WEBPACK_IMPORTED_MODULE_22__.string().optional(),\n inn: zod__WEBPACK_IMPORTED_MODULE_22__.string().optional(),\n description: zod__WEBPACK_IMPORTED_MODULE_22__.string().max(2048, \"Описание не может превышать 2048 символов\").optional()\n});\nconst phoneSchema = zod__WEBPACK_IMPORTED_MODULE_22__.object({\n newPhone: zod__WEBPACK_IMPORTED_MODULE_22__.string().min(10, \"Номер телефона должен содержать минимум 10 цифр\")\n});\nfunction ProfilePage() {\n const { user, isAuth, isLoading, isInitialized, getProfile, updateProfile, changePhone, logout, updateCompetencies } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_2__.useSessionStore)();\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_6__.useRouter)();\n const [activeTab, setActiveTab] = react__WEBPACK_IMPORTED_MODULE_1__.useState(\"personal\");\n const [isEditingProfile, setIsEditingProfile] = react__WEBPACK_IMPORTED_MODULE_1__.useState(false);\n const [isChangingPhone, setIsChangingPhone] = react__WEBPACK_IMPORTED_MODULE_1__.useState(false);\n // Модалки\n const [isPasswordModalOpen, setIsPasswordModalOpen] = react__WEBPACK_IMPORTED_MODULE_1__.useState(false);\n const [isLocationModalOpen, setIsLocationModalOpen] = react__WEBPACK_IMPORTED_MODULE_1__.useState(false);\n const [isScheduleModalOpen, setIsScheduleModalOpen] = react__WEBPACK_IMPORTED_MODULE_1__.useState(false);\n const rating = (0,_components_ui_rating__WEBPACK_IMPORTED_MODULE_15__.useRandomRating)();\n react__WEBPACK_IMPORTED_MODULE_1__.useEffect({\n \"ProfilePage.useEffect\": ()=>{\n if (!isInitialized) return;\n if (!isLoading && !isAuth) {\n router.push(\"/auth/login\");\n } else if (isAuth && !user) {\n getProfile();\n }\n }\n }[\"ProfilePage.useEffect\"], [\n isAuth,\n isLoading,\n user,\n router,\n isInitialized\n ]);\n const profileForm = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_23__.useForm)({\n resolver: (0,_hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_7__.zodResolver)(profileSchema),\n values: {\n firstName: user?.firstName || \"\",\n lastName: user?.lastName || \"\",\n patronymic: user?.patronymic || \"\",\n companyName: user?.companyName || \"\",\n inn: user?.inn || \"\",\n description: user?.description || \"\"\n }\n });\n const phoneForm = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_23__.useForm)({\n resolver: (0,_hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_7__.zodResolver)(phoneSchema),\n defaultValues: {\n newPhone: user?.phone || \"\"\n }\n });\n react__WEBPACK_IMPORTED_MODULE_1__.useEffect({\n \"ProfilePage.useEffect\": ()=>{\n if (user?.phone) {\n phoneForm.reset({\n newPhone: user.phone\n });\n }\n }\n }[\"ProfilePage.useEffect\"], [\n user?.phone,\n phoneForm\n ]);\n async function onProfileSubmit(values) {\n try {\n await updateProfile(values);\n setIsEditingProfile(false);\n sonner__WEBPACK_IMPORTED_MODULE_8__.toast.success(\"Профиль успешно обновлен\");\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_8__.toast.error(\"Ошибка при обновлении профиля\");\n }\n }\n async function onPhoneSubmit(values) {\n try {\n await changePhone(values.newPhone);\n setIsChangingPhone(false);\n sonner__WEBPACK_IMPORTED_MODULE_8__.toast.success(\"Номер телефона успешно изменен\");\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_8__.toast.error(\"Ошибка при смене номера телефона\");\n }\n }\n if (isLoading && !user) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-[50vh] items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-blue-600\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 130,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 129,\n columnNumber: 13\n }, this);\n }\n if (!user) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container py-10 text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold mb-4\",\n children: \"Пожалуйста, войдите в систему\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 138,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"/auth/login\",\n children: \"Войти\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 140,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 139,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 137,\n columnNumber: 13\n }, this);\n }\n const isMaster = user.roles.includes(\"Master\") || user.roles.includes(\"Candidate\");\n const isCompany = user.roles.includes(\"Company\");\n const isCandidate = user.roles.includes(\"Candidate\");\n const showBecomePerformer = !isMaster && !isCandidate && !isCompany;\n const translateRole = (role)=>{\n const roleTranslations = {\n \"Client\": \"Клиент\",\n \"Master\": \"Мастер\",\n \"Candidate\": \"Кандидат в мастера\",\n \"Company\": \"Компания\",\n \"Admin\": \"Администратор\",\n \"User\": \"Пользователь\"\n };\n return roleTranslations[role] || role;\n };\n const getHighestRole = (roles)=>{\n if (!roles || roles.length === 0) return \"User\";\n const rolePriority = [\n \"Admin\",\n \"Company\",\n \"Master\",\n \"Candidate\",\n \"Client\",\n \"User\"\n ];\n for (const role of rolePriority){\n if (roles.includes(role)) {\n return role;\n }\n }\n return roles[0];\n };\n const tabs = [\n {\n id: \"personal\",\n label: isCompany ? \"Данные компании\" : \"Личные данные\",\n icon: _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_25__[\"default\"]\n },\n {\n id: \"communication\",\n label: \"Связь\",\n icon: _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_26__[\"default\"]\n },\n (isMaster || isCompany) && {\n id: \"competencies\",\n label: \"Компетенции\",\n icon: _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_27__[\"default\"]\n },\n (isMaster || isCompany) && user.location && {\n id: \"location\",\n label: \"Локация\",\n icon: _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_28__[\"default\"]\n },\n (isMaster || isCompany) && {\n id: \"schedule\",\n label: \"График работы\",\n icon: _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_29__[\"default\"]\n },\n {\n id: \"account\",\n label: \"Управление аккаунтом\",\n icon: _barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_30__[\"default\"]\n }\n ].filter(Boolean);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container max-w-5xl py-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col md:flex-row md:items-center justify-between gap-4 mb-8 bg-card p-6 rounded-2xl shadow-sm border\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-shrink-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_avatar_uploader__WEBPACK_IMPORTED_MODULE_13__.AvatarUploader, {\n currentAvatarUrl: user.avatarUrl,\n onUploadSuccess: ()=>getProfile()\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 197,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 196,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-3xl font-bold mb-1\",\n children: isCompany ? user.companyName : user.fullName\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 203,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap items-center gap-3 mt-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_badge__WEBPACK_IMPORTED_MODULE_5__.Badge, {\n variant: \"secondary\",\n className: \"text-sm font-medium px-3 py-0.5 whitespace-nowrap bg-muted hover:bg-muted text-muted-foreground border-transparent\",\n children: translateRole(getHighestRole(user.roles))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 207,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_rating__WEBPACK_IMPORTED_MODULE_15__.Rating, {\n value: rating,\n size: \"sm\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 210,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 206,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 202,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 195,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 194,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col md:flex-row gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full md:w-64 flex flex-col gap-2 flex-shrink-0\",\n children: [\n showBecomePerformer && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.Card, {\n className: \"border-blue-200 bg-blue-50/30 dark:bg-blue-900/10 dark:border-blue-800/50 shadow-sm overflow-hidden relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardHeader, {\n className: \"pb-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardTitle, {\n className: \"text-base text-blue-700 dark:text-blue-400 flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_31__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 224,\n columnNumber: 41\n }, this),\n \"Стать исполнителем\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 223,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 222,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardContent, {\n className: \"pb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground mb-4\",\n children: \"Начните получать заказы и зарабатывать прямо сейчас.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 229,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"w-full bg-blue-600 hover:bg-blue-700 text-white shadow-md shadow-blue-500/20\",\n onClick: ()=>router.push(\"/dashboard/become-performer\"),\n disabled: isLoading,\n size: \"sm\",\n children: isLoading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n className: \"mr-2 h-4 w-4 animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 236,\n columnNumber: 54\n }, this) : \"Перейти\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 230,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 228,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 221,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 220,\n columnNumber: 25\n }, this),\n tabs.map((tab)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_21__.cn)(\"flex items-center gap-3 px-4 py-3 rounded-xl transition-all text-sm font-medium\", activeTab === tab.id ? \"bg-primary/10 text-primary\" : \"text-muted-foreground hover:bg-muted hover:text-foreground\"),\n onClick: ()=>setActiveTab(tab.id),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(tab.icon, {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_21__.cn)(\"w-5 h-5\", activeTab === tab.id ? \"text-primary\" : \"text-muted-foreground\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 253,\n columnNumber: 29\n }, this),\n tab.label\n ]\n }, tab.id, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 243,\n columnNumber: 25\n }, this))\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 218,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 min-w-0\",\n children: [\n activeTab === \"personal\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardHeader, {\n className: \"flex flex-row items-center justify-between space-y-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardTitle, {\n className: \"text-xl\",\n children: isCompany ? \"Данные компании\" : \"Личные данные\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 265,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardDescription, {\n children: \"Основная информация вашего профиля\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 268,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 264,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>{\n if (!isEditingProfile && user) {\n profileForm.reset({\n firstName: user.firstName,\n lastName: user.lastName,\n patronymic: user.patronymic || \"\",\n companyName: user.companyName || \"\",\n inn: user.inn || \"\",\n description: user.description || \"\"\n });\n }\n setIsEditingProfile(!isEditingProfile);\n },\n children: isEditingProfile ? \"Отмена\" : \"Редактировать\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 270,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 263,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardContent, {\n children: isEditingProfile ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.Form, {\n ...profileForm,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: profileForm.handleSubmit(onProfileSubmit),\n className: \"space-y-4\",\n children: [\n isCompany ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormField, {\n control: profileForm.control,\n name: \"companyName\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormLabel, {\n children: \"Название компании\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 301,\n columnNumber: 65\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_9__.Input, {\n value: field.value || \"\",\n onChange: field.onChange\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 303,\n columnNumber: 69\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 302,\n columnNumber: 65\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 305,\n columnNumber: 65\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 300,\n columnNumber: 61\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 296,\n columnNumber: 53\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormField, {\n control: profileForm.control,\n name: \"inn\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormLabel, {\n children: \"ИНН\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 314,\n columnNumber: 65\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_9__.Input, {\n placeholder: \"1234567890\",\n maxLength: 10,\n value: field.value || \"\",\n onChange: field.onChange\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 316,\n columnNumber: 69\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 315,\n columnNumber: 65\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 318,\n columnNumber: 65\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 313,\n columnNumber: 61\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 309,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 295,\n columnNumber: 49\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormField, {\n control: profileForm.control,\n name: \"firstName\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormLabel, {\n children: \"Имя\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 330,\n columnNumber: 65\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_9__.Input, {\n value: field.value || \"\",\n onChange: field.onChange\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 332,\n columnNumber: 69\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 331,\n columnNumber: 65\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 334,\n columnNumber: 65\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 329,\n columnNumber: 61\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 325,\n columnNumber: 53\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormField, {\n control: profileForm.control,\n name: \"lastName\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormLabel, {\n children: \"Фамилия\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 343,\n columnNumber: 65\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_9__.Input, {\n value: field.value || \"\",\n onChange: field.onChange\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 345,\n columnNumber: 69\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 344,\n columnNumber: 65\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 347,\n columnNumber: 65\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 342,\n columnNumber: 61\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 338,\n columnNumber: 53\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormField, {\n control: profileForm.control,\n name: \"patronymic\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormItem, {\n className: \"md:col-span-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormLabel, {\n children: \"Отчество\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 356,\n columnNumber: 65\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_9__.Input, {\n placeholder: \"При наличии\",\n value: field.value || \"\",\n onChange: field.onChange\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 358,\n columnNumber: 69\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 357,\n columnNumber: 65\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 360,\n columnNumber: 65\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 355,\n columnNumber: 61\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 351,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 324,\n columnNumber: 49\n }, this),\n (isMaster || isCompany) && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormField, {\n control: profileForm.control,\n name: \"description\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormLabel, {\n children: \"Описание\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 372,\n columnNumber: 61\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_rich_text_editor__WEBPACK_IMPORTED_MODULE_10__.RichTextEditor, {\n content: field.value || \"\",\n onChange: field.onChange,\n placeholder: isCompany ? \"Расскажите о вашей компании...\" : \"Расскажите о себе и вашем опыте...\",\n maxLength: 2048\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 374,\n columnNumber: 65\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 373,\n columnNumber: 61\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 384,\n columnNumber: 61\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 371,\n columnNumber: 57\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 367,\n columnNumber: 49\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"pt-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n type: \"submit\",\n disabled: isLoading,\n children: [\n isLoading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n className: \"mr-2 h-4 w-4 animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 391,\n columnNumber: 67\n }, this),\n \"Сохранить изменения\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 390,\n columnNumber: 49\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 389,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 293,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 292,\n columnNumber: 37\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"divide-y divide-border text-sm\",\n children: isCompany ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex py-3 justify-between items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: \"Название компании\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 402,\n columnNumber: 53\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium\",\n children: user.companyName\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 403,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 401,\n columnNumber: 49\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex py-3 justify-between items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: \"ИНН\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 406,\n columnNumber: 53\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium\",\n children: user.inn || \"—\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 407,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 405,\n columnNumber: 49\n }, this),\n (isMaster || isCompany) && user.description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"py-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_description_viewer__WEBPACK_IMPORTED_MODULE_16__.DescriptionViewer, {\n description: user.description,\n maxLines: 10\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 411,\n columnNumber: 57\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 410,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex py-3 justify-between items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: \"Имя\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 418,\n columnNumber: 53\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium\",\n children: user.firstName\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 419,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 417,\n columnNumber: 49\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex py-3 justify-between items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: \"Фамилия\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 422,\n columnNumber: 53\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium\",\n children: user.lastName\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 423,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 421,\n columnNumber: 49\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex py-3 justify-between items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: \"Отчество\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 426,\n columnNumber: 53\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium\",\n children: user.patronymic || \"—\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 427,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 425,\n columnNumber: 49\n }, this),\n (isMaster || isCompany) && user.description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"py-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_description_viewer__WEBPACK_IMPORTED_MODULE_16__.DescriptionViewer, {\n description: user.description,\n maxLines: 10\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 431,\n columnNumber: 57\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 430,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 398,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 290,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 262,\n columnNumber: 25\n }, this),\n activeTab === \"communication\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardHeader, {\n className: \"flex flex-row items-center justify-between space-y-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardTitle, {\n className: \"text-xl\",\n children: \"Связь\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 446,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardDescription, {\n children: \"Контактные данные\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 447,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 445,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>setIsChangingPhone(!isChangingPhone),\n children: isChangingPhone ? \"Отмена\" : \"Изменить\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 449,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 444,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardContent, {\n children: isChangingPhone ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.Form, {\n ...phoneForm,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: phoneForm.handleSubmit(onPhoneSubmit),\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormField, {\n control: phoneForm.control,\n name: \"newPhone\",\n render: ({ field })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormItem, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormLabel, {\n children: \"Новый номер телефона\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 462,\n columnNumber: 57\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormControl, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_9__.Input, {\n placeholder: \"+7\",\n value: field.value || \"\",\n onChange: field.onChange\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 464,\n columnNumber: 61\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 463,\n columnNumber: 57\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_form__WEBPACK_IMPORTED_MODULE_11__.FormMessage, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 470,\n columnNumber: 57\n }, void 0)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 461,\n columnNumber: 53\n }, void 0)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 457,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n type: \"submit\",\n disabled: isLoading,\n children: [\n isLoading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n className: \"mr-2 h-4 w-4 animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 475,\n columnNumber: 63\n }, this),\n \"Подтвердить\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 474,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 456,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 455,\n columnNumber: 37\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex py-2 justify-between items-center text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: \"Телефон\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 482,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium\",\n children: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_12__.formatPhoneNumber)(user.phone)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 483,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 481,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 453,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 443,\n columnNumber: 25\n }, this),\n activeTab === \"competencies\" && (isMaster || isCompany) && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardHeader, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardTitle, {\n className: \"text-xl\",\n children: \"Компетенции\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 493,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardDescription, {\n children: \"Укажите навыки и специализации для быстрого поиска вас клиентами.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 494,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 492,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tag_input__WEBPACK_IMPORTED_MODULE_14__.TagInput, {\n value: user.competencies || [],\n onChange: updateCompetencies,\n placeholder: \"Например: Сантехник, Электрик...\",\n maxTags: 50\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 497,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 496,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 491,\n columnNumber: 25\n }, this),\n activeTab === \"location\" && (isMaster || isCompany) && user.location && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardHeader, {\n className: \"flex flex-row items-center justify-between space-y-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardTitle, {\n className: \"text-xl\",\n children: \"Локация\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 511,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardDescription, {\n children: \"Где вы сейчас находитесь и работаете\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 512,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 510,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>setIsLocationModalOpen(true),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_32__[\"default\"], {\n className: \"h-4 w-4 mr-1\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 519,\n columnNumber: 37\n }, this),\n \"Изменить\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 514,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 509,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 bg-muted/30 rounded-lg border\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground mb-1\",\n children: \"Базовая локация (домашний регион):\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 526,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-base font-medium flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_28__[\"default\"], {\n className: \"h-4 w-4 text-primary\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 528,\n columnNumber: 45\n }, this),\n user.location\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 527,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 525,\n columnNumber: 37\n }, this),\n user.currentLocation && user.currentLocation !== user.location && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 bg-blue-50/50 dark:bg-blue-900/10 rounded-lg border border-blue-100 dark:border-blue-900\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground mb-1\",\n children: \"Фактическое местоположение сейчас:\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 534,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-base font-medium text-blue-700 dark:text-blue-400 flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_28__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 536,\n columnNumber: 49\n }, this),\n user.currentLocation\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 535,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 533,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 524,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 523,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 508,\n columnNumber: 25\n }, this),\n activeTab === \"schedule\" && (isMaster || isCompany) && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardHeader, {\n className: \"flex flex-row items-center justify-between space-y-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardTitle, {\n className: \"text-xl\",\n children: \"График работы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 550,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardDescription, {\n children: \"Укажите, в какие дни и часы вы доступны для заказов\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 551,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 549,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>setIsScheduleModalOpen(true),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_32__[\"default\"], {\n className: \"h-4 w-4 mr-1\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 558,\n columnNumber: 37\n }, this),\n \"Изменить\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 553,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 548,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_schedule_viewer__WEBPACK_IMPORTED_MODULE_17__.ScheduleViewer, {\n workSchedule: user.workSchedule\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 563,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 562,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 547,\n columnNumber: 25\n }, this),\n activeTab === \"account\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardHeader, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardTitle, {\n className: \"text-xl\",\n children: \"Управление аккаунтом\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 571,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardDescription, {\n children: \"Настройки безопасности и удаление данных профиля.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 574,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 570,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_4__.CardContent, {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 bg-muted/30 rounded-lg border border-border\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-medium mb-2 flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_33__[\"default\"], {\n className: \"h-4 w-4 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 581,\n columnNumber: 41\n }, this),\n \"Сменить пароль\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 580,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground mb-4\",\n children: \"Регулярная смена пароля помогает защитить ваш аккаунт от несанкционированного доступа.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 584,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"outline\",\n onClick: ()=>setIsPasswordModalOpen(true),\n children: \"Изменить пароль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 587,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 579,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 rounded-lg border border-destructive/30 bg-destructive/10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"font-medium text-destructive mb-2 flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Award_Clock_Edit_Hammer_Key_Loader2_MapPin_Phone_ShieldCheck_Trash2_User_lucide_react__WEBPACK_IMPORTED_MODULE_34__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 597,\n columnNumber: 41\n }, this),\n \"Удаление профиля\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 596,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground mb-4\",\n children: \"Удаление аккаунта необратимо. При удалении будут стерты все ваши данные, услуги и история работ.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 600,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"destructive\",\n onClick: ()=>{\n if (confirm(\"Вы полностью уверены, что хотите удалить аккаунт? Это действие необратимо и приведет к потере всех данных.\")) {\n logout();\n router.push(\"/\");\n }\n },\n children: \"Безвозвратно удалить аккаунт\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 603,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 595,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 578,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 569,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 260,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 216,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_change_password_modal__WEBPACK_IMPORTED_MODULE_18__.ChangePasswordModal, {\n open: isPasswordModalOpen,\n onOpenChange: setIsPasswordModalOpen\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 621,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_location_modal__WEBPACK_IMPORTED_MODULE_19__.LocationModal, {\n open: isLocationModalOpen,\n onOpenChange: setIsLocationModalOpen,\n initialLocation: user.location,\n initialCurrentLocation: user.currentLocation\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 626,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_schedule_modal__WEBPACK_IMPORTED_MODULE_20__.ScheduleModal, {\n open: isScheduleModalOpen,\n onOpenChange: setIsScheduleModalOpen,\n initialIsAlwaysReady: user.workSchedule?.isAlwaysReady,\n initialSchedulePerDay: user.workSchedule?.schedulePerDay\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 633,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\",\n lineNumber: 193,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2Rhc2hib2FyZC9wcm9maWxlL3BhZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU4QjtBQUM0QjtBQUNYO0FBQ2lEO0FBQ25EO0FBQzRFO0FBRTlFO0FBQ0Y7QUFDWTtBQUM3QjtBQUNNO0FBRWU7QUFDb0I7QUFDb0M7QUFDL0M7QUFDVTtBQUNaO0FBQ1k7QUFDTTtBQUNOO0FBQ1c7QUFDYjtBQUNBO0FBQzlCO0FBRWhDLE1BQU00QyxnQkFBZ0JyQix3Q0FBUSxDQUFDO0lBQzNCdUIsV0FBV3ZCLHdDQUFRLEdBQ2R5QixHQUFHLENBQUMsR0FBRywwQ0FDUEMsS0FBSyxDQUFDLGFBQWE7SUFDeEJDLFVBQVUzQix3Q0FBUSxHQUNieUIsR0FBRyxDQUFDLEdBQUcsOENBQ1BDLEtBQUssQ0FBQyxhQUFhO0lBQ3hCRSxZQUFZNUIsd0NBQVEsR0FDZjZCLFFBQVEsR0FDUkMsTUFBTSxDQUFDLENBQUNDLE1BQVEsQ0FBQ0EsT0FBTyxZQUFZQyxJQUFJLENBQUNELE1BQU07UUFDNUNFLFNBQVM7SUFDYjtJQUNKQyxhQUFhbEMsd0NBQVEsR0FBRzZCLFFBQVE7SUFDaENNLEtBQUtuQyx3Q0FBUSxHQUFHNkIsUUFBUTtJQUN4Qk8sYUFBYXBDLHdDQUFRLEdBQ2hCcUMsR0FBRyxDQUFDLE1BQU0sNkNBQ1ZSLFFBQVE7QUFDakI7QUFFQSxNQUFNUyxjQUFjdEMsd0NBQVEsQ0FBQztJQUN6QnVDLFVBQVV2Qyx3Q0FBUSxHQUFHeUIsR0FBRyxDQUFDLElBQUk7QUFDakM7QUFLZSxTQUFTZTtJQUNwQixNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxTQUFTLEVBQUVDLGFBQWEsRUFBRUMsVUFBVSxFQUFFQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxrQkFBa0IsRUFBRSxHQUFHdkUsd0VBQWVBO0lBQ3RJLE1BQU13RSxTQUFTckQsMERBQVNBO0lBRXhCLE1B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REFBQytCO3dEQUFFL0IsV0FBVTtrRUFBcUM7Ozs7OztrRUFHbEQsOERBQUNwRyx5REFBTUE7d0RBQ0hnSSxTQUFRO3dEQUNSSSxTQUFTOzREQUNMLElBQUl3QixRQUFRLCtHQUErRztnRUFDdkh2RjtnRUFDQUUsT0FBT2dCLElBQUksQ0FBQzs0REFDaEI7d0RBQ0o7a0VBQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFVekIsOERBQUNqRCxzRkFBbUJBO2dCQUNoQnVILE1BQU05RTtnQkFDTitFLGNBQWM5RTs7Ozs7OzBCQUdsQiw4REFBQ3pDLHlFQUFhQTtnQkFDVnNILE1BQU01RTtnQkFDTjZFLGNBQWM1RTtnQkFDZDZFLGlCQUFpQmpHLEtBQUsyRCxRQUFRO2dCQUM5QnVDLHdCQUF3QmxHLEtBQUsyRixlQUFlOzs7Ozs7MEJBR2hELDhEQUFDakgseUVBQWFBO2dCQUNWcUgsTUFBTTFFO2dCQUNOMkUsY0FBYzFFO2dCQUNkNkUsc0JBQXNCbkcsS0FBSzRGLFlBQVksRUFBRVE7Z0JBQ3pDQyx1QkFBdUJyRyxLQUFLNEYsWUFBWSxFQUFFVTs7Ozs7Ozs7Ozs7O0FBSTFEIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXGRhc2hib2FyZFxccHJvZmlsZVxccGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxyXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2J1dHRvblwiXHJcbmltcG9ydCB7IENhcmQsIENhcmRDb250ZW50LCBDYXJkRGVzY3JpcHRpb24sIENhcmRIZWFkZXIsIENhcmRUaXRsZSB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvY2FyZFwiXHJcbmltcG9ydCB7IEJhZGdlIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9iYWRnZVwiXHJcbmltcG9ydCB7IExvYWRlcjIsIFVzZXIsIFBob25lLCBTaGllbGRDaGVjaywgSGFtbWVyLCBBd2FyZCwgQ2xvY2ssIE1hcFBpbiwgVHJhc2gyLCBFZGl0LCBLZXksIExvZ091dCB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5cclxuaW1wb3J0IHsgdXNlUm91dGVyIH0gZnJvbSBcIm5leHQvbmF2aWdhdGlvblwiXHJcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tIFwicmVhY3QtaG9vay1mb3JtXCJcclxuaW1wb3J0IHsgem9kUmVzb2x2ZXIgfSBmcm9tIFwiQGhvb2tmb3JtL3Jlc29sdmVycy96b2RcIlxyXG5pbXBvcnQgKiBhcyB6IGZyb20gXCJ6b2RcIlxyXG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gXCJzb25uZXJcIlxyXG5cclxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2lucHV0XCJcclxuaW1wb3J0IHsgUmljaFRleHRFZGl0b3IgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3JpY2gtdGV4dC1lZGl0b3JcIlxyXG5pbXBvcnQgeyBGb3JtLCBGb3JtQ29udHJvbCwgRm9ybUZpZWxkLCBGb3JtSXRlbSwgRm9ybUxhYmVsLCBGb3JtTWVzc2FnZSB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvZm9ybVwiXHJcbmltcG9ydCB7IGZvcm1hdFBob25lTnVtYmVyIH0gZnJvbSBcIkAvc2hhcmVkL2xpYi91dGlsc1wiXHJcbmltcG9ydCB7IEF2YXRhclVwbG9hZGVyIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9hdmF0YXItdXBsb2FkZXJcIlxyXG5pbXBvcnQgeyBUYWdJbnB1dCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvdGFnLWlucHV0XCJcclxuaW1wb3J0IHsgUmF0aW5nLCB1c2VSYW5kb21SYXRpbmcgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3JhdGluZ1wiXHJcbmltcG9ydCB7IERlc2NyaXB0aW9uVmlld2VyIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9kZXNjcmlwdGlvbi12aWV3ZXJcIlxyXG5pbXBvcnQgeyBTY2hlZHVsZVZpZXdlciB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvc2NoZWR1bGUtdmlld2VyXCJcclxuaW1wb3J0IHsgQ2hhbmdlUGFzc3dvcmRNb2RhbCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvY2hhbmdlLXBhc3N3b3JkLW1vZGFsXCJcclxuaW1wb3J0IHsgTG9jYXRpb25Nb2RhbCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvbG9jYXRpb24tbW9kYWxcIlxyXG5pbXBvcnQgeyBTY2hlZHVsZU1vZGFsIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9zY2hlZHVsZS1tb2RhbFwiXHJcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IHByb2ZpbGVTY2hlbWEgPSB6Lm9iamVjdCh7XHJcbiAgICBmaXJzdE5hbWU6IHouc3RyaW5nKClcclxuICAgICAgICAubWluKDIsIFwi0JjQvNGPINC00L7Qu9C20L3QviDRgdC+0LTQtdGA0LbQsNGC0Ywg0LzQuNC90LjQvNGD0LwgMiDRgdC40LzQstC+0LvQsFwiKVxyXG4gICAgICAgIC5yZWdleCgvXlteMC05XSokLywgXCLQmNC80Y8g0L3QtSDQtNC+0LvQttC90L4g0YHQvtC00LXRgNC20LDRgtGMINGG0LjRhNGA0YtcIiksXHJcbiAgICBsYXN0TmFtZTogei5zdHJpbmcoKVxyXG4gICAgICAgIC5taW4oMiwgXCLQpNCw0LzQuNC70LjRjyDQtNC+0LvQttC90LAg0YHQvtC00LXRgNC20LDRgtGMINC80LjQvdC40LzRg9C8IDIg0YHQuNC80LLQvtC70LBcIilcclxuICAgICAgICAucmVnZXgoL15bXjAtOV0qJC8sIFwi0KTQsNC80LjQu9C40Y8g0L3QtSDQtNC+0LvQttC90LAg0YHQvtC00LXRgNC20LDRgtGMINGG0LjRhNGA0YtcIiksXHJcbiAgICBwYXRyb255bWljOiB6LnN0cmluZygpXHJcbiAgICAgICAgLm9wdGlvbmFsKClcclxuICAgICAgICAucmVmaW5lKCh2YWwpID0+ICF2YWwgfHwgL15bXjAtOV0qJC8udGVzdCh2YWwpLCB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwi0J7RgtGH0LXRgdGC0LLQviDQvdC1INC00L7Qu9C20L3QviDRgdC+0LTQtdGA0LbQsNGC0Ywg0YbQuNGE0YDRi1wiXHJcbiAgICAgICAgfSksXHJcbiAgICBjb21wYW55TmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxyXG4gICAgaW5uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXHJcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKVxyXG4gICAgICAgIC5tYXgoMjA0OCwgXCLQntC/0LjRgdCw0L3QuNC1INC90LUg0LzQvtC20LXRgiDQv9GA0LXQstGL0YjQsNGC0YwgMjA0OCDRgdC40LzQstC+0LvQvtCyXCIpXHJcbiAgICAgICAgLm9wdGlvbmFsKCksXHJcbn0pXHJcblxyXG5jb25zdCBwaG9uZVNjaGVtYSA9IHoub2JqZWN0KHtcclxuICAgIG5ld1Bob25lOiB6LnN0cmluZygpLm1pbigxMCwgXCLQndC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAg0LTQvtC70LbQtdC9INGB0L7QtNC10YDQttCw0YLRjCDQvNC40L3QuNC80YPQvCAxMCDRhtC40YTRgFwiKSxcclxufSlcclxuXHJcbnR5cGUgUHJvZmlsZVZhbHVlcyA9IHouaW5mZXI8dHlwZW9mIHByb2ZpbGVTY2hlbWE+XHJcbnR5cGUgUGhvbmVWYWx1ZXMgPSB6LmluZmVyPHR5cGVvZiBwaG9uZVNjaGVtYT5cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFByb2ZpbGVQYWdlKCkge1xyXG4gICAgY29uc3QgeyB1c2VyLCBpc0F1dGgsIGlzTG9hZGluZywgaXNJbml0aWFsaXplZCwgZ2V0UHJvZmlsZSwgdXBkYXRlUHJvZmlsZSwgY2hhbmdlUGhvbmUsIGxvZ291dCwgdXBkYXRlQ29tcGV0ZW5jaWVzIH0gPSB1c2VTZXNzaW9uU3RvcmUoKVxyXG4gICAgY29uc3Qgcm91dGVyID0gdXNlUm91dGVyKClcclxuXHJcbiAgICBjb25zdCBbYWN0aXZlVGFiLCBzZXRBY3RpdmVUYWJdID0gUmVhY3QudXNlU3RhdGUoXCJwZXJzb25hbFwiKVxyXG5cclxuICAgIGNvbnN0IFtpc0VkaXRpbmdQcm9maWxlLCBzZXRJc0VkaXRpbmdQcm9maWxlXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKVxyXG4gICAgY29uc3QgW2lzQ2hhbmdpbmdQaG9uZSwgc2V0SXNDaGFuZ2luZ1Bob25lXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKVxyXG5cclxuICAgIC8vINCc0L7QtNCw0LvQutC4XHJcbiAgICBjb25zdCBbaXNQYXNzd29yZE1vZGFsT3Blbiwgc2V0SXNQYXNzd29yZE1vZGFsT3Blbl0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSlcclxuICAgIGNvbnN0IFtpc0xvY2F0aW9uTW9kYWxPcGVuLCBzZXRJc0xvY2F0aW9uTW9kYWxPcGVuXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKVxyXG4gICAgY29uc3QgW2lzU2NoZWR1bGVNb2RhbE9wZW4sIHNldElzU2NoZWR1bGVNb2RhbE9wZW5dID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpXHJcblxyXG4gICAgY29uc3QgcmF0aW5nID0gdXNlUmFuZG9tUmF0aW5nKClcclxuXHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmICghaXNJbml0aWFsaXplZCkgcmV0dXJuXHJcblxyXG4gICAgICAgIGlmICghaXNMb2FkaW5nICYmICFpc0F1dGgpIHtcclxuICAgICAgICAgICAgcm91dGVyLnB1c2goXCIvYXV0aC9sb2dpblwiKVxyXG4gICAgICAgIH0gZWxzZSBpZiAoaXNBdXRoICYmICF1c2VyKSB7XHJcbiAgICAgICAgICAgIGdldFByb2ZpbGUoKVxyXG4gICAgICAgIH1cclxuICAgIH0sIFtpc0F1dGgsIGlzTG9hZGluZywgdXNlciwgcm91dGVyLCBpc0luaXRpYWxpemVkXSlcclxuXHJcbiAgICBjb25zdCBwcm9maWxlRm9ybSA9IHVzZUZvcm08UHJvZmlsZVZhbHVlcz4oe1xyXG4gICAgICAgIHJlc29sdmVyOiB6b2RSZXNvbHZlcihwcm9maWxlU2NoZW1hKSxcclxuICAgICAgICB2YWx1ZXM6IHtcclxuICAgICAgICAgICAgZmlyc3ROYW1lOiB1c2VyPy5maXJzdE5hbWUgfHwgXCJcIixcclxuICAgICAgICAgICAgbGFzdE5hbWU6IHVzZXI/Lmxhc3ROYW1lIHx8IFwiXCIsXHJcbiAgICAgICAgICAgIHBhdHJvbnltaWM6IHVzZXI/LnBhdHJvbnltaWMgfHwgXCJcIixcclxuICAgICAgICAgICAgY29tcGFueU5hbWU6IHVzZXI/LmNvbXBhbnlOYW1lIHx8IFwiXCIsXHJcbiAgICAgICAgICAgIGlubjogdXNlcj8uaW5uIHx8IFwiXCIsXHJcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB1c2VyPy5kZXNjcmlwdGlvbiB8fCBcIlwiLFxyXG4gICAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgY29uc3QgcGhvbmVGb3JtID0gdXNlRm9ybTxQaG9uZVZhbHVlcz4oe1xyXG4gICAgICAgIHJlc29sdmVyOiB6b2RSZXNvbHZlcihwaG9uZVNjaGVtYSksXHJcbiAgICAgICAgZGVmYXVsdFZhbHVlczoge1xyXG4gICAgICAgICAgICBuZXdQaG9uZTogdXNlcj8ucGhvbmUgfHwgXCJcIixcclxuICAgICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHVzZXI/LnBob25lKSB7XHJcbiAgICAgICAgICAgIHBob25lRm9ybS5yZXNldCh7IG5ld1Bob25lOiB1c2VyLnBob25lIH0pXHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3VzZXI/LnBob25lLCBwaG9uZUZvcm1dKVxyXG5cclxuICAgIGFzeW5jIGZ1bmN0aW9uIG9uUHJvZmlsZVN1Ym1pdCh2YWx1ZXM6IFByb2ZpbGVWYWx1ZXMpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCB1cGRhdGVQcm9maWxlKHZhbHVlcylcclxuICAgICAgICAgICAgc2V0SXNFZGl0aW5nUHJvZmlsZShmYWxzZSlcclxuICAgICAgICAgICAgdG9hc3Quc3VjY2VzcyhcItCf0YDQvtGE0LjQu9GMINGD0YHQv9C10YjQvdC+INC+0LHQvdC+0LLQu9C10L1cIilcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICB0b2FzdC5lcnJvcihcItCe0YjQuNCx0LrQsCDQv9GA0Lgg0L7QsdC90L7QstC70LXQvdC40Lgg0L/RgNC+0YTQuNC70Y9cIilcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZnVuY3Rpb24gb25QaG9uZVN1Ym1pdCh2YWx1ZXM6IFBob25lVmFsdWVzKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgYXdhaXQgY2hhbmdlUGhvbmUodmFsdWVzLm5ld1Bob25lKVxyXG4gICAgICAgICAgICBzZXRJc0NoYW5naW5nUGhvbmUoZmFsc2UpXHJcbiAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MoXCLQndC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAg0YPRgdC/0LXRiNC90L4g0LjQt9C80LXQvdC10L1cIilcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICB0b2FzdC5lcnJvcihcItCe0YjQuNCx0LrQsCDQv9GA0Lgg0YHQvNC10L3QtSDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsFwiKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNMb2FkaW5nICYmICF1c2VyKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGgtWzUwdmhdIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPExvYWRlcjIgY2xhc3NOYW1lPVwiaC04IHctOCBhbmltYXRlLXNwaW4gdGV4dC1ibHVlLTYwMFwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXVzZXIpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lciBweS0xMCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZCBtYi00XCI+0J/QvtC20LDQu9GD0LnRgdGC0LAsINCy0L7QudC00LjRgtC1INCyINGB0LjRgdGC0LXQvNGDPC9oMT5cclxuICAgICAgICAgICAgICAgIDxCdXR0b24gYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiL2F1dGgvbG9naW5cIj7QktC+0LnRgtC4PC9hPlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpc01hc3RlciA9IHVzZXIucm9sZXMuaW5jbHVkZXMoXCJNYXN0ZXJcIikgfHwgdXNlci5yb2xlcy5pbmNsdWRlcyhcIkNhbmRpZGF0ZVwiKVxyXG4gICAgY29uc3QgaXNDb21wYW55ID0gdXNlci5yb2xlcy5pbmNsdWRlcyhcIkNvbXBhbnlcIilcclxuICAgIGNvbnN0IGlzQ2FuZGlkYXRlID0gdXNlci5yb2xlcy5pbmNsdWRlcyhcIkNhbmRpZGF0ZVwiKVxyXG4gICAgY29uc3Qgc2hvd0JlY29tZVBlcmZvcm1lciA9ICFpc01hc3RlciAmJiAhaXNDYW5kaWRhdGUgJiYgIWlzQ29tcGFueVxyXG5cclxuICAgIGNvbnN0IHRyYW5zbGF0ZVJvbGUgPSAocm9sZTogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICAgICAgICBjb25zdCByb2xlVHJhbnNsYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xyXG4gICAgICAgICAgICBcIkNsaWVudFwiOiBcItCa0LvQuNC10L3RglwiLFxyXG4gICAgICAgICAgICBcIk1hc3RlclwiOiBcItCc0LDRgdGC0LXRgFwiLFxyXG4gICAgICAgICAgICBcIkNhbmRpZGF0ZVwiOiBcItCa0LDQvdC00LjQtNCw0YIg0LIg0LzQsNGB0YLQtdGA0LBcIixcclxuICAgICAgICAgICAgXCJDb21wYW55XCI6IFwi0JrQvtC80L/QsNC90LjRj1wiLFxyXG4gICAgICAgICAgICBcIkFkbWluXCI6IFwi0JDQtNC80LjQvdC40YHRgtGA0LDRgtC+0YBcIixcclxuICAgICAgICAgICAgXCJVc2VyXCI6IFwi0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMXCJcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJvbGVUcmFuc2xhdGlvbnNbcm9sZV0gfHwgcm9sZVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGdldEhpZ2hlc3RSb2xlID0gKHJvbGVzOiBzdHJpbmdbXSk6IHN0cmluZyA9PiB7XHJcbiAgICAgICAgaWYgKCFyb2xlcyB8fCByb2xlcy5sZW5ndGggPT09IDApIHJldHVybiBcIlVzZXJcIlxyXG5cclxuICAgICAgICBjb25zdCByb2xlUHJpb3JpdHkgPSBbXHJcbiAgICAgICAgICAgIFwiQWRtaW5cIixcclxuICAgICAgICAgICAgXCJDb21wYW55XCIsXHJcbiAgICAgICAgICAgIFwiTWFzdGVyXCIsXHJcbiAgICAgICAgICAgIFwiQ2FuZGlkYXRlXCIsXHJcbiAgICAgICAgICAgIFwiQ2xpZW50XCIsXHJcbiAgICAgICAgICAgIFwiVXNlclwiXHJcbiAgICAgICAgXVxyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IHJvbGUgb2Ygcm9sZVByaW9yaXR5KSB7XHJcbiAgICAgICAgICAgIGlmIChyb2xlcy5pbmNsdWRlcyhyb2xlKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvbGVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcm9sZXNbMF1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0YWJzID0gW1xyXG4gICAgICAgIHsgaWQ6IFwicGVyc29uYWxcIiwgbGFiZWw6IGlzQ29tcGFueSA/IFwi0JTQsNC90L3Ri9C1INC60L7QvNC/0LDQvdC40LhcIiA6IFwi0JvQuNGH0L3Ri9C1INC00LDQvdC90YvQtVwiLCBpY29uOiBVc2VyIH0sXHJcbiAgICAgICAgeyBpZDogXCJjb21tdW5pY2F0aW9uXCIsIGxhYmVsOiBcItCh0LLRj9C30YxcIiwgaWNvbjogUGhvbmUgfSxcclxuICAgICAgICAoaXNNYXN0ZXIgfHwgaXNDb21wYW55KSAmJiB7IGlkOiBcImNvbXBldGVuY2llc1wiLCBsYWJlbDogXCLQmtC+0LzQv9C10YLQtdC90YbQuNC4XCIsIGljb246IEF3YXJkIH0sXHJcbiAgICAgICAgKGlzTWFzdGVyIHx8IGlzQ29tcGFueSkgJiYgdXNlci5sb2NhdGlvbiAmJiB7IGlkOiBcImxvY2F0aW9uXCIsIGxhYmVsOiBcItCb0L7QutCw0YbQuNGPXCIsIGljb246IE1hcFBpbiB9LFxyXG4gICAgICAgIChpc01hc3RlciB8fCBpc0NvbXBhbnkpICYmIHsgaWQ6IFwic2NoZWR1bGVcIiwgbGFiZWw6IFwi0JPRgNCw0YTQuNC6INGA0LDQsdC+0YLRi1wiLCBpY29uOiBDbG9jayB9LFxyXG4gICAgICAgIHsgaWQ6IFwiYWNjb3VudFwiLCBsYWJlbDogXCLQo9C/0YDQsNCy0LvQtdC90LjQtSDQsNC60LrQsNGD0L3RgtC+0LxcIiwgaWNvbjogU2hpZWxkQ2hlY2sgfSxcclxuICAgIF0uZmlsdGVyKEJvb2xlYW4pIGFzIHsgaWQ6IHN0cmluZywgbGFiZWw6IHN0cmluZywgaWNvbjogYW55IH1bXVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXIgbWF4LXctNXhsIHB5LTEwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBtZDpmbGV4LXJvdyBtZDppdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC00IG1iLTggYmctY2FyZCBwLTYgcm91bmRlZC0yeGwgc2hhZG93LXNtIGJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC1zaHJpbmstMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8QXZhdGFyVXBsb2FkZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRBdmF0YXJVcmw9e3VzZXIuYXZhdGFyVXJsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25VcGxvYWRTdWNjZXNzPXsoKSA9PiBnZXRQcm9maWxlKCl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtM3hsIGZvbnQtYm9sZCBtYi0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNDb21wYW55ID8gdXNlci5jb21wYW55TmFtZSA6IHVzZXIuZnVsbE5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDE+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC0zIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCYWRnZSB2YXJpYW50PVwic2Vjb25kYXJ5XCIgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSBweC0zIHB5LTAuNSB3aGl0ZXNwYWNlLW5vd3JhcCBiZy1tdXRlZCBob3ZlcjpiZy1tdXRlZCB0ZXh0LW11dGVkLWZvcmVncm91bmQgYm9yZGVyLXRyYW5zcGFyZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3RyYW5zbGF0ZVJvbGUoZ2V0SGlnaGVzdFJvbGUodXNlci5yb2xlcykpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CYWRnZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSYXRpbmcgdmFsdWU9e3JhdGluZ30gc2l6ZT1cInNtXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgZ2FwLThcIj5cclxuICAgICAgICAgICAgICAgIHsvKiBTaWRlYmFyIFRhYnMgKi99XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctZnVsbCBtZDp3LTY0IGZsZXggZmxleC1jb2wgZ2FwLTIgZmxleC1zaHJpbmstMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHtzaG93QmVjb21lUGVyZm9ybWVyICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCBjbGFzc05hbWU9XCJib3JkZXItYmx1ZS0yMDAgYmctYmx1ZS01MC8zMCBkYXJrOmJnLWJsdWUtOTAwLzEwIGRhcms6Ym9yZGVyLWJsdWUtODAwLzUwIHNoYWRvdy1zbSBvdmVyZmxvdy1oaWRkZW4gcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZEhlYWRlciBjbGFzc05hbWU9XCJwYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwidGV4dC1iYXNlIHRleHQtYmx1ZS03MDAgZGFyazp0ZXh0LWJsdWUtNDAwIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGFtbWVyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0KHRgtCw0YLRjCDQuNGB0L/QvtC70L3QuNGC0LXQu9C10LxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkQ29udGVudCBjbGFzc05hbWU9XCJwYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG1iLTRcIj7QndCw0YfQvdC40YLQtSDQv9C+0LvRg9GH0LDRgtGMINC30LDQutCw0LfRiyDQuCDQt9Cw0YDQsNCx0LDRgtGL0LLQsNGC0Ywg0L/RgNGP0LzQviDRgdC10LnRh9Cw0YEuPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgdGV4dC13aGl0ZSBzaGFkb3ctbWQgc2hhZG93LWJsdWUtNTAwLzIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHJvdXRlci5wdXNoKFwiL2Rhc2hib2FyZC9iZWNvbWUtcGVyZm9ybWVyXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzTG9hZGluZ31cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmcgPyA8TG9hZGVyMiBjbGFzc05hbWU9XCJtci0yIGgtNCB3LTQgYW5pbWF0ZS1zcGluXCIgLz4gOiBcItCf0LXRgNC10LnRgtC4XCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAge3RhYnMubWFwKHRhYiA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17dGFiLmlkfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIHB4LTQgcHktMyByb3VuZGVkLXhsIHRyYW5zaXRpb24tYWxsIHRleHQtc20gZm9udC1tZWRpdW1cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVUYWIgPT09IHRhYi5pZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiYmctcHJpbWFyeS8xMCB0ZXh0LXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGhvdmVyOmJnLW11dGVkIGhvdmVyOnRleHQtZm9yZWdyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0QWN0aXZlVGFiKHRhYi5pZCl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWIuaWNvbiBjbGFzc05hbWU9e2NuKFwidy01IGgtNVwiLCBhY3RpdmVUYWIgPT09IHRhYi5pZCA/IFwidGV4dC1wcmltYXJ5XCIgOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiKX0gLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0YWIubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgey8qIE1haW4gQ29udGVudCBBcmVhICovfVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4LTEgbWluLXctMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHthY3RpdmVUYWIgPT09IFwicGVyc29uYWxcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRIZWFkZXIgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHNwYWNlLXktMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwidGV4dC14bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzQ29tcGFueSA/IFwi0JTQsNC90L3Ri9C1INC60L7QvNC/0LDQvdC40LhcIiA6IFwi0JvQuNGH0L3Ri9C1INC00LDQvdC90YvQtVwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmRUaXRsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmREZXNjcmlwdGlvbj7QntGB0L3QvtCy0L3QsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINCy0LDRiNC10LPQviDQv9GA0L7RhNC40LvRjzwvQ2FyZERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0VkaXRpbmdQcm9maWxlICYmIHVzZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9maWxlRm9ybS5yZXNldCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0TmFtZTogdXNlci5maXJzdE5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3ROYW1lOiB1c2VyLmxhc3ROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRyb255bWljOiB1c2VyLnBhdHJvbnltaWMgfHwgXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFueU5hbWU6IHVzZXIuY29tcGFueU5hbWUgfHwgXCJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uOiB1c2VyLmlubiB8fCBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdXNlci5kZXNjcmlwdGlvbiB8fCBcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNFZGl0aW5nUHJvZmlsZSghaXNFZGl0aW5nUHJvZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNFZGl0aW5nUHJvZmlsZSA/IFwi0J7RgtC80LXQvdCwXCIgOiBcItCg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzRWRpdGluZ1Byb2ZpbGUgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtIHsuLi5wcm9maWxlRm9ybX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBvblN1Ym1pdD17cHJvZmlsZUZvcm0uaGFuZGxlU3VibWl0KG9uUHJvZmlsZVN1Ym1pdCl9IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0NvbXBhbnkgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBnYXAtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9e3Byb2ZpbGVGb3JtLmNvbnRyb2x9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImNvbXBhbnlOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyh7IGZpZWxkIH0pID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1MYWJlbD7QndCw0LfQstCw0L3QuNC1INC60L7QvNC/0LDQvdC40Lg8L0Zvcm1MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXQgdmFsdWU9e2ZpZWxkLnZhbHVlIHx8IFwiXCJ9IG9uQ2hhbmdlPXtmaWVsZC5vbkNoYW5nZX0gLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybU1lc3NhZ2UgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtRmllbGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtwcm9maWxlRm9ybS5jb250cm9sfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJpbm5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KHsgZmllbGQgfSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPtCY0J3QnTwvRm9ybUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dCBwbGFjZWhvbGRlcj1cIjEyMzQ1Njc4OTBcIiBtYXhMZW5ndGg9ezEwfSB2YWx1ZT17ZmllbGQudmFsdWUgfHwgXCJcIn0gb25DaGFuZ2U9e2ZpZWxkLm9uQ2hhbmdlfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTWVzc2FnZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtRmllbGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtwcm9maWxlRm9ybS5jb250cm9sfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJmaXJzdE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KHsgZmllbGQgfSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPtCY0LzRjzwvRm9ybUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dCB2YWx1ZT17ZmllbGQudmFsdWUgfHwgXCJcIn0gb25DaGFuZ2U9e2ZpZWxkLm9uQ2hhbmdlfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTWVzc2FnZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9e3Byb2ZpbGVGb3JtLmNvbnRyb2x9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImxhc3ROYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyh7IGZpZWxkIH0pID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1MYWJlbD7QpNCw0LzQuNC70LjRjzwvRm9ybUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dCB2YWx1ZT17ZmllbGQudmFsdWUgfHwgXCJcIn0gb25DaGFuZ2U9e2ZpZWxkLm9uQ2hhbmdlfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTWVzc2FnZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1GaWVsZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9e3Byb2ZpbGVGb3JtLmNvbnRyb2x9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInBhdHJvbnltaWNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KHsgZmllbGQgfSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUl0ZW0gY2xhc3NOYW1lPVwibWQ6Y29sLXNwYW4tMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1MYWJlbD7QntGC0YfQtdGB0YLQstC+PC9Gb3JtTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0IHBsYWNlaG9sZGVyPVwi0J/RgNC4INC90LDQu9C40YfQuNC4XCIgdmFsdWU9e2ZpZWxkLnZhbHVlIHx8IFwiXCJ9IG9uQ2hhbmdlPXtmaWVsZC5vbkNoYW5nZX0gLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybU1lc3NhZ2UgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KGlzTWFzdGVyIHx8IGlzQ29tcGFueSkgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUZpZWxkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPXtwcm9maWxlRm9ybS5jb250cm9sfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcj17KHsgZmllbGQgfSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1MYWJlbD7QntC/0LjRgdCw0L3QuNC1PC9Gb3JtTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSaWNoVGV4dEVkaXRvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e2ZpZWxkLnZhbHVlIHx8IFwiXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2ZpZWxkLm9uQ2hhbmdlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpc0NvbXBhbnlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcItCg0LDRgdGB0LrQsNC20LjRgtC1INC+INCy0LDRiNC10Lkg0LrQvtC80L/QsNC90LjQuC4uLlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCLQoNCw0YHRgdC60LDQttC40YLQtSDQviDRgdC10LHQtSDQuCDQstCw0YjQtdC8INC+0L/Ri9GC0LUuLi5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhMZW5ndGg9ezIwNDh9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybU1lc3NhZ2UgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm1JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBkaXNhYmxlZD17aXNMb2FkaW5nfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmcgJiYgPExvYWRlcjIgY2xhc3NOYW1lPVwibXItMiBoLTQgdy00IGFuaW1hdGUtc3BpblwiIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0KHQvtGF0YDQsNC90LjRgtGMINC40LfQvNC10L3QtdC90LjRj1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGl2aWRlLXkgZGl2aWRlLWJvcmRlciB0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNDb21wYW55ID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBweS0zIGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPtCd0LDQt9Cy0LDQvdC40LUg0LrQvtC80L/QsNC90LjQuDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtXCI+e3VzZXIuY29tcGFueU5hbWV9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IHB5LTMganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+0JjQndCdPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1tZWRpdW1cIj57dXNlci5pbm4gfHwgXCLigJRcIn08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KGlzTWFzdGVyIHx8IGlzQ29tcGFueSkgJiYgdXNlci5kZXNjcmlwdGlvbiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInB5LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGVzY3JpcHRpb25WaWV3ZXIgZGVzY3JpcHRpb249e3VzZXIuZGVzY3JpcHRpb259IG1heExpbmVzPXsxMH0gLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggcHktMyBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIj7QmNC80Y88L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LW1lZGl1bVwiPnt1c2VyLmZpcnN0TmFtZX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggcHktMyBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIj7QpNCw0LzQuNC70LjRjzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtXCI+e3VzZXIubGFzdE5hbWV9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IHB5LTMganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+0J7RgtGH0LXRgdGC0LLQvjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtXCI+e3VzZXIucGF0cm9ueW1pYyB8fCBcIuKAlFwifTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoaXNNYXN0ZXIgfHwgaXNDb21wYW55KSAmJiB1c2VyLmRlc2NyaXB0aW9uICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHktNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEZXNjcmlwdGlvblZpZXdlciBkZXNjcmlwdGlvbj17dXNlci5kZXNjcmlwdGlvbn0gbWF4TGluZXM9ezEwfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHthY3RpdmVUYWIgPT09IFwiY29tbXVuaWNhdGlvblwiICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZEhlYWRlciBjbGFzc05hbWU9XCJmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gc3BhY2UteS0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJ0ZXh0LXhsXCI+0KHQstGP0LfRjDwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZERlc2NyaXB0aW9uPtCa0L7QvdGC0LDQutGC0L3Ri9C1INC00LDQvdC90YvQtTwvQ2FyZERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImdob3N0XCIgc2l6ZT1cInNtXCIgb25DbGljaz17KCkgPT4gc2V0SXNDaGFuZ2luZ1Bob25lKCFpc0NoYW5naW5nUGhvbmUpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzQ2hhbmdpbmdQaG9uZSA/IFwi0J7RgtC80LXQvdCwXCIgOiBcItCY0LfQvNC10L3QuNGC0YxcIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNDaGFuZ2luZ1Bob25lID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybSB7Li4ucGhvbmVGb3JtfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIG9uU3VibWl0PXtwaG9uZUZvcm0uaGFuZGxlU3VibWl0KG9uUGhvbmVTdWJtaXQpfSBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUZpZWxkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9e3Bob25lRm9ybS5jb250cm9sfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwibmV3UGhvbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXI9eyh7IGZpZWxkIH0pID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPtCd0L7QstGL0Lkg0L3QvtC80LXRgCDRgtC10LvQtdGE0L7QvdCwPC9Gb3JtTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1Db250cm9sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiKzdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2ZpZWxkLnZhbHVlIHx8IFwiXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZmllbGQub25DaGFuZ2V9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtQ29udHJvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybU1lc3NhZ2UgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBkaXNhYmxlZD17aXNMb2FkaW5nfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzTG9hZGluZyAmJiA8TG9hZGVyMiBjbGFzc05hbWU9XCJtci0yIGgtNCB3LTQgYW5pbWF0ZS1zcGluXCIgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNGC0LLQtdGA0LTQuNGC0YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBweS0yIGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+0KLQtdC70LXRhNC+0L08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LW1lZGl1bVwiPntmb3JtYXRQaG9uZU51bWJlcih1c2VyLnBob25lKX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmRDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAge2FjdGl2ZVRhYiA9PT0gXCJjb21wZXRlbmNpZXNcIiAmJiAoaXNNYXN0ZXIgfHwgaXNDb21wYW55KSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJ0ZXh0LXhsXCI+0JrQvtC80L/QtdGC0LXQvdGG0LjQuDwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkRGVzY3JpcHRpb24+0KPQutCw0LbQuNGC0LUg0L3QsNCy0YvQutC4INC4INGB0L/QtdGG0LjQsNC70LjQt9Cw0YbQuNC4INC00LvRjyDQsdGL0YHRgtGA0L7Qs9C+INC/0L7QuNGB0LrQsCDQstCw0YEg0LrQu9C40LXQvdGC0LDQvNC4LjwvQ2FyZERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUYWdJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dXNlci5jb21wZXRlbmNpZXMgfHwgW119XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt1cGRhdGVDb21wZXRlbmNpZXN9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi0J3QsNC/0YDQuNC80LXRgDog0KHQsNC90YLQtdGF0L3QuNC6LCDQrdC70LXQutGC0YDQuNC6Li4uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4VGFncz17NTB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB7YWN0aXZlVGFiID09PSBcImxvY2F0aW9uXCIgJiYgKGlzTWFzdGVyIHx8IGlzQ29tcGFueSkgJiYgdXNlci5sb2NhdGlvbiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRIZWFkZXIgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHNwYWNlLXktMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwidGV4dC14bFwiPtCb0L7QutCw0YbQuNGPPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkRGVzY3JpcHRpb24+0JPQtNC1INCy0Ysg0YHQtdC50YfQsNGBINC90LDRhdC+0LTQuNGC0LXRgdGMINC4INGA0LDQsdC+0YLQsNC10YLQtTwvQ2FyZERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNMb2NhdGlvbk1vZGFsT3Blbih0cnVlKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFZGl0IGNsYXNzTmFtZT1cImgtNCB3LTQgbXItMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCY0LfQvNC10L3QuNGC0YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNCBiZy1tdXRlZC8zMCByb3VuZGVkLWxnIGJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQgbWItMVwiPtCR0LDQt9C+0LLQsNGPINC70L7QutCw0YbQuNGPICjQtNC+0LzQsNGI0L3QuNC5INGA0LXQs9C40L7QvSk6PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1iYXNlIGZvbnQtbWVkaXVtIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1hcFBpbiBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtcHJpbWFyeVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3VzZXIubG9jYXRpb259XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dXNlci5jdXJyZW50TG9jYXRpb24gJiYgdXNlci5jdXJyZW50TG9jYXRpb24gIT09IHVzZXIubG9jYXRpb24gJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTQgYmctYmx1ZS01MC81MCBkYXJrOmJnLWJsdWUtOTAwLzEwIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1ibHVlLTEwMCBkYXJrOmJvcmRlci1ibHVlLTkwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG1iLTFcIj7QpNCw0LrRgtC40YfQtdGB0LrQvtC1INC80LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LUg0YHQtdC50YfQsNGBOjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJhc2UgZm9udC1tZWRpdW0gdGV4dC1ibHVlLTcwMCBkYXJrOnRleHQtYmx1ZS00MDAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1hcFBpbiBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3VzZXIuY3VycmVudExvY2F0aW9ufVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHthY3RpdmVUYWIgPT09IFwic2NoZWR1bGVcIiAmJiAoaXNNYXN0ZXIgfHwgaXNDb21wYW55KSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRIZWFkZXIgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHNwYWNlLXktMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwidGV4dC14bFwiPtCT0YDQsNGE0LjQuiDRgNCw0LHQvtGC0Ys8L0NhcmRUaXRsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmREZXNjcmlwdGlvbj7Qo9C60LDQttC40YLQtSwg0LIg0LrQsNC60LjQtSDQtNC90Lgg0Lgg0YfQsNGB0Ysg0LLRiyDQtNC+0YHRgtGD0L/QvdGLINC00LvRjyDQt9Cw0LrQsNC30L7QsjwvQ2FyZERlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNTY2hlZHVsZU1vZGFsT3Blbih0cnVlKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFZGl0IGNsYXNzTmFtZT1cImgtNCB3LTQgbXItMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCY0LfQvNC10L3QuNGC0YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2NoZWR1bGVWaWV3ZXIgd29ya1NjaGVkdWxlPXt1c2VyLndvcmtTY2hlZHVsZX0gLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB7YWN0aXZlVGFiID09PSBcImFjY291bnRcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJ0ZXh0LXhsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCj0L/RgNCw0LLQu9C10L3QuNC1INCw0LrQutCw0YPQvdGC0L7QvFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkRGVzY3JpcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCd0LDRgdGC0YDQvtC50LrQuCDQsdC10LfQvtC/0LDRgdC90L7RgdGC0Lgg0Lgg0YPQtNCw0LvQtdC90LjQtSDQtNCw0L3QvdGL0YUg0L/RgNC+0YTQuNC70Y8uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkRGVzY3JpcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQgY2xhc3NOYW1lPVwic3BhY2UteS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTQgYmctbXV0ZWQvMzAgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLWJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwiZm9udC1tZWRpdW0gbWItMiBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEtleSBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodC80LXQvdC40YLRjCDQv9Cw0YDQvtC70YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0KDQtdCz0YPQu9GP0YDQvdCw0Y8g0YHQvNC10L3QsCDQv9Cw0YDQvtC70Y8g0L/QvtC80L7Qs9Cw0LXRgiDQt9Cw0YnQuNGC0LjRgtGMINCy0LDRiCDQsNC60LrQsNGD0L3RgiDQvtGCINC90LXRgdCw0L3QutGG0LjQvtC90LjRgNC+0LLQsNC90L3QvtCz0L4g0LTQvtGB0YLRg9C/0LAuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNQYXNzd29yZE1vZGFsT3Blbih0cnVlKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0JjQt9C80LXQvdC40YLRjCDQv9Cw0YDQvtC70YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC00IHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1kZXN0cnVjdGl2ZS8zMCBiZy1kZXN0cnVjdGl2ZS8xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwiZm9udC1tZWRpdW0gdGV4dC1kZXN0cnVjdGl2ZSBtYi0yIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHJhc2gyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0KPQtNCw0LvQtdC90LjQtSDQv9GA0L7RhNC40LvRj1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQo9C00LDQu9C10L3QuNC1INCw0LrQutCw0YPQvdGC0LAg0L3QtdC+0LHRgNCw0YLQuNC80L4uINCf0YDQuCDRg9C00LDQu9C10L3QuNC4INCx0YPQtNGD0YIg0YHRgtC10YDRgtGLINCy0YHQtSDQstCw0YjQuCDQtNCw0L3QvdGL0LUsINGD0YHQu9GD0LPQuCDQuCDQuNGB0YLQvtGA0LjRjyDRgNCw0LHQvtGCLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJkZXN0cnVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpcm0oXCLQktGLINC/0L7Qu9C90L7RgdGC0YzRjiDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDQsNC60LrQsNGD0L3Rgj8g0K3RgtC+INC00LXQudGB0YLQstC40LUg0L3QtdC+0LHRgNCw0YLQuNC80L4g0Lgg0L/RgNC40LLQtdC00LXRgiDQuiDQv9C+0YLQtdGA0LUg0LLRgdC10YUg0LTQsNC90L3Ri9GFLlwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dvdXQoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXIucHVzaChcIi9cIilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQkdC10LfQstC+0LfQstGA0LDRgtC90L4g0YPQtNCw0LvQuNGC0Ywg0LDQutC60LDRg9C90YJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmRDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxDaGFuZ2VQYXNzd29yZE1vZGFsXHJcbiAgICAgICAgICAgICAgICBvcGVuPXtpc1Bhc3N3b3JkTW9kYWxPcGVufVxyXG4gICAgICAgICAgICAgICAgb25PcGVuQ2hhbmdlPXtzZXRJc1Bhc3N3b3JkTW9kYWxPcGVufVxyXG4gICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgPExvY2F0aW9uTW9kYWxcclxuICAgICAgICAgICAgICAgIG9wZW49e2lzTG9jYXRpb25Nb2RhbE9wZW59XHJcbiAgICAgICAgICAgICAgICBvbk9wZW5DaGFuZ2U9e3NldElzTG9jYXRpb25Nb2RhbE9wZW59XHJcbiAgICAgICAgICAgICAgICBpbml0aWFsTG9jYXRpb249e3VzZXIubG9jYXRpb259XHJcbiAgICAgICAgICAgICAgICBpbml0aWFsQ3VycmVudExvY2F0aW9uPXt1c2VyLmN1cnJlbnRMb2NhdGlvbn1cclxuICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgIDxTY2hlZHVsZU1vZGFsXHJcbiAgICAgICAgICAgICAgICBvcGVuPXtpc1NjaGVkdWxlTW9kYWxPcGVufVxyXG4gICAgICAgICAgICAgICAgb25PcGVuQ2hhbmdlPXtzZXRJc1NjaGVkdWxlTW9kYWxPcGVufVxyXG4gICAgICAgICAgICAgICAgaW5pdGlhbElzQWx3YXlzUmVhZHk9e3VzZXIud29ya1NjaGVkdWxlPy5pc0Fsd2F5c1JlYWR5fVxyXG4gICAgICAgICAgICAgICAgaW5pdGlhbFNjaGVkdWxlUGVyRGF5PXt1c2VyLndvcmtTY2hlZHVsZT8uc2NoZWR1bGVQZXJEYXl9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU2Vzc2lvblN0b3JlIiwiQnV0dG9uIiwiQ2FyZCIsIkNhcmRDb250ZW50IiwiQ2FyZERlc2NyaXB0aW9uIiwiQ2FyZEhlYWRlciIsIkNhcmRUaXRsZSIsIkJhZGdlIiwiTG9hZGVyMiIsIlVzZXIiLCJQaG9uZSIsIlNoaWVsZENoZWNrIiwiSGFtbWVyIiwiQXdhcmQiLCJDbG9jayIsIk1hcFBpbiIsIlRyYXNoMiIsIkVkaXQiLCJLZXkiLCJ1c2VSb3V0ZXIiLCJ1c2VGb3JtIiwiem9kUmVzb2x2ZXIiLCJ6IiwidG9hc3QiLCJJbnB1dCIsIlJpY2hUZXh0RWRpdG9yIiwiRm9ybSIsIkZvcm1Db250cm9sIiwiRm9ybUZpZWxkIiwiRm9ybUl0ZW0iLCJGb3JtTGFiZWwiLCJGb3JtTWVzc2FnZSIsImZvcm1hdFBob25lTnVtYmVyIiwiQXZhdGFyVXBsb2FkZXIiLCJUYWdJbnB1dCIsIlJhdGluZyIsInVzZVJhbmRvbVJhdGluZyIsIkRlc2NyaXB0aW9uVmlld2VyIiwiU2NoZWR1bGVWaWV3ZXIiLCJDaGFuZ2VQYXNzd29yZE1vZGFsIiwiTG9jYXRpb25Nb2RhbCIsIlNjaGVkdWxlTW9kYWwiLCJjbiIsInByb2ZpbGVTY2hlbWEiLCJvYmplY3QiLCJmaXJzdE5hbWUiLCJzdHJpbmciLCJtaW4iLCJyZWdleCIsImxhc3ROYW1lIiwicGF0cm9ueW1pYyIsIm9wdGlvbmFsIiwicmVmaW5lIiwidmFsIiwidGVzdCIsIm1lc3NhZ2UiLCJjb21wYW55TmFtZSIsImlubiIsImRlc2NyaXB0aW9uIiwibWF4IiwicGhvbmVTY2hlbWEiLCJuZXdQaG9uZSIsIlByb2ZpbGVQYWdlIiwidXNlciIsImlzQXV0aCIsImlzTG9hZGluZyIsImlzSW5pdGlhbGl6ZWQiLCJnZXRQcm9maWxlIiwidXBkYXRlUHJvZmlsZSIsImNoYW5nZVBob25lIiwibG9nb3V0IiwidXBkYXRlQ29tcGV0ZW5jaWVzIiwicm91dGVyIiwiYWN0aXZlVGFiIiwic2V0QWN0aXZlVGFiIiwidXNlU3RhdGUiLCJpc0VkaXRpbmdQcm9maWxlIiwic2V0SXNFZGl0aW5nUHJvZmlsZSIsImlzQ2hhbmdpbmdQaG9uZSIsInNldElzQ2hhbmdpbmdQaG9uZSIsImlzUGFzc3dvcmRNb2RhbE9wZW4iLCJzZXRJc1Bhc3N3b3JkTW9kYWxPcGVuIiwiaXNMb2NhdGlvbk1vZGFsT3BlbiIsInNldElzTG9jYXRpb25Nb2RhbE9wZW4iLCJpc1NjaGVkdWxlTW9kYWxPcGVuIiwic2V0SXNTY2hlZHVsZU1vZGFsT3BlbiIsInJhdGluZyIsInVzZUVmZmVjdCIsInB1c2giLCJwcm9maWxlRm9ybSIsInJlc29sdmVyIiwidmFsdWVzIiwicGhvbmVGb3JtIiwiZGVmYXVsdFZhbHVlcyIsInBob25lIiwicmVzZXQiLCJvblByb2ZpbGVTdWJtaXQiLCJzdWNjZXNzIiwiZXJyb3IiLCJvblBob25lU3VibWl0IiwiZGl2IiwiY2xhc3NOYW1lIiwiaDEiLCJhc0NoaWxkIiwiYSIsImhyZWYiLCJpc01hc3RlciIsInJvbGVzIiwiaW5jbHVkZXMiLCJpc0NvbXBhbnkiLCJpc0NhbmRpZGF0ZSIsInNob3dCZWNvbWVQZXJmb3JtZXIiLCJ0cmFuc2xhdGVSb2xlIiwicm9sZSIsInJvbGVUcmFuc2xhdGlvbnMiLCJnZXRIaWdoZXN0Um9sZSIsImxlbmd0aCIsInJvbGVQcmlvcml0eSIsInRhYnMiLCJpZCIsImxhYmVsIiwiaWNvbiIsImxvY2F0aW9uIiwiZmlsdGVyIiwiQm9vbGVhbiIsImN1cnJlbnRBdmF0YXJVcmwiLCJhdmF0YXJVcmwiLCJvblVwbG9hZFN1Y2Nlc3MiLCJmdWxsTmFtZSIsInZhcmlhbnQiLCJ2YWx1ZSIsInNpemUiLCJwIiwib25DbGljayIsImRpc2FibGVkIiwibWFwIiwidGFiIiwiYnV0dG9uIiwiZm9ybSIsIm9uU3VibWl0IiwiaGFuZGxlU3VibWl0IiwiY29udHJvbCIsIm5hbWUiLCJyZW5kZXIiLCJmaWVsZCIsIm9uQ2hhbmdlIiwicGxhY2Vob2xkZXIiLCJtYXhMZW5ndGgiLCJjb250ZW50IiwidHlwZSIsInNwYW4iLCJtYXhMaW5lcyIsImNvbXBldGVuY2llcyIsIm1heFRhZ3MiLCJjdXJyZW50TG9jYXRpb24iLCJ3b3JrU2NoZWR1bGUiLCJoMyIsImNvbmZpcm0iLCJvcGVuIiwib25PcGVuQ2hhbmdlIiwiaW5pdGlhbExvY2F0aW9uIiwiaW5pdGlhbEN1cnJlbnRMb2NhdGlvbiIsImluaXRpYWxJc0Fsd2F5c1JlYWR5IiwiaXNBbHdheXNSZWFkeSIsImluaXRpYWxTY2hlZHVsZVBlckRheSIsInNjaGVkdWxlUGVyRGF5Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/app/dashboard/profile/page.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* __next_internal_client_entry_do_not_use__ AuthProvider auto */ \n\n\n\nfunction AuthProvider({ children }) {\n const { checkAuth, isInitialized } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_2__.useSessionStore)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AuthProvider.useEffect\": ()=>{\n // Проверяем авторизацию при загрузке приложения\n checkAuth();\n }\n }[\"AuthProvider.useEffect\"], [\n checkAuth\n ]);\n // Показываем загрузку только на первой проверке\n if (!isInitialized) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-blue-600\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 19,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: children\n }, void 0, false);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hdXRoL0F1dGhQcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFaUM7QUFDeUI7QUFDcEI7QUFFL0IsU0FBU0csYUFBYSxFQUFFQyxRQUFRLEVBQWlDO0lBQ3BFLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUUsR0FBR0wsd0VBQWVBO0lBRXBERCxnREFBU0E7a0NBQUM7WUFDTixnREFBZ0Q7WUFDaERLO1FBQ0o7aUNBQUc7UUFBQ0E7S0FBVTtJQUVkLGdEQUFnRDtJQUNoRCxJQUFJLENBQUNDLGVBQWU7UUFDaEIscUJBQ0ksOERBQUNDO1lBQUlDLFdBQVU7c0JBQ1gsNEVBQUNOLG1GQUFPQTtnQkFBQ00sV0FBVTs7Ozs7Ozs7Ozs7SUFHL0I7SUFFQSxxQkFBTztrQkFBR0o7O0FBQ2QiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXGF1dGhcXEF1dGhQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxuaW1wb3J0IHsgTG9hZGVyMiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuXG5leHBvcnQgZnVuY3Rpb24gQXV0aFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICBjb25zdCB7IGNoZWNrQXV0aCwgaXNJbml0aWFsaXplZCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNGOINC/0YDQuCDQt9Cw0LPRgNGD0LfQutC1INC/0YDQuNC70L7QttC10L3QuNGPXG4gICAgICAgIGNoZWNrQXV0aCgpXG4gICAgfSwgW2NoZWNrQXV0aF0pXG5cbiAgICAvLyDQn9C+0LrQsNC30YvQstCw0LXQvCDQt9Cw0LPRgNGD0LfQutGDINGC0L7Qu9GM0LrQviDQvdCwINC/0LXRgNCy0L7QuSDQv9GA0L7QstC10YDQutC1XG4gICAgaWYgKCFpc0luaXRpYWxpemVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggbWluLWgtc2NyZWVuIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cImgtOCB3LTggYW5pbWF0ZS1zcGluIHRleHQtYmx1ZS02MDBcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU2Vzc2lvblN0b3JlIiwiTG9hZGVyMiIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwiY2hlY2tBdXRoIiwiaXNJbml0aWFsaXplZCIsImRpdiIsImNsYXNzTmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/auth/AuthProvider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/mode-toggle.tsx": -/*!**********************************************!*\ - !*** ./src/components/theme/mode-toggle.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModeToggle: () => (/* binding */ ModeToggle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/sun.js\");\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/moon.js\");\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* __next_internal_client_entry_do_not_use__ ModeToggle auto */ \n\n\n\n\n\nfunction ModeToggle() {\n const { setTheme } = (0,next_themes__WEBPACK_IMPORTED_MODULE_2__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"outline\",\n size: \"icon\",\n className: \"rounded-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 22,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 23,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Toggle theme\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 24,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 21,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuContent, {\n align: \"end\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"light\"),\n children: \"Светлая\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 28,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"dark\"),\n children: \"Темная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 31,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"system\"),\n children: \"Системная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 27,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS9tb2RlLXRvZ2dsZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFOEI7QUFDVTtBQUNGO0FBRVM7QUFNVDtBQUUvQixTQUFTUztJQUNaLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdQLHFEQUFRQTtJQUU3QixxQkFDSSw4REFBQ0Usc0VBQVlBOzswQkFDVCw4REFBQ0csNkVBQW1CQTtnQkFBQ0csT0FBTzswQkFDeEIsNEVBQUNQLHlEQUFNQTtvQkFBQ1EsU0FBUTtvQkFBVUMsTUFBSztvQkFBT0MsV0FBVTs7c0NBQzVDLDhEQUFDWixvRkFBR0E7NEJBQUNZLFdBQVU7Ozs7OztzQ0FDZiw4REFBQ2Isb0ZBQUlBOzRCQUFDYSxXQUFVOzs7Ozs7c0NBQ2hCLDhEQUFDQzs0QkFBS0QsV0FBVTtzQ0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBR2xDLDhEQUFDUiw2RUFBbUJBO2dCQUFDVSxPQUFNOztrQ0FDdkIsOERBQUNULDBFQUFnQkE7d0JBQUNVLFNBQVMsSUFBTVAsU0FBUztrQ0FBVTs7Ozs7O2tDQUdwRCw4REFBQ0gsMEVBQWdCQTt3QkFBQ1UsU0FBUyxJQUFNUCxTQUFTO2tDQUFTOzs7Ozs7a0NBR25ELDhEQUFDSCwwRUFBZ0JBO3dCQUFDVSxTQUFTLElBQU1QLFNBQVM7a0NBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1yRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdGhlbWVcXG1vZGUtdG9nZ2xlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgTW9vbiwgU3VuIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuXHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCJcclxuaW1wb3J0IHtcclxuICAgIERyb3Bkb3duTWVudSxcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2Ryb3Bkb3duLW1lbnVcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVUb2dnbGUoKSB7XHJcbiAgICBjb25zdCB7IHNldFRoZW1lIH0gPSB1c2VUaGVtZSgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51VHJpZ2dlciBhc0NoaWxkPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiIHNpemU9XCJpY29uXCIgY2xhc3NOYW1lPVwicm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFN1biBjbGFzc05hbWU9XCJoLVsxLjJyZW1dIHctWzEuMnJlbV0gcm90YXRlLTAgc2NhbGUtMTAwIHRyYW5zaXRpb24tYWxsIGRhcms6LXJvdGF0ZS05MCBkYXJrOnNjYWxlLTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxNb29uIGNsYXNzTmFtZT1cImFic29sdXRlIGgtWzEuMnJlbV0gdy1bMS4ycmVtXSByb3RhdGUtOTAgc2NhbGUtMCB0cmFuc2l0aW9uLWFsbCBkYXJrOnJvdGF0ZS0wIGRhcms6c2NhbGUtMTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+VG9nZ2xlIHRoZW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51VHJpZ2dlcj5cclxuICAgICAgICAgICAgPERyb3Bkb3duTWVudUNvbnRlbnQgYWxpZ249XCJlbmRcIj5cclxuICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIG9uQ2xpY2s9eygpID0+IHNldFRoZW1lKFwibGlnaHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LLQtdGC0LvQsNGPXHJcbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51SXRlbSBvbkNsaWNrPXsoKSA9PiBzZXRUaGVtZShcImRhcmtcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCi0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gb25DbGljaz17KCkgPT4gc2V0VGhlbWUoXCJzeXN0ZW1cIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LjRgdGC0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgPC9Ecm9wZG93bk1lbnU+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiTW9vbiIsIlN1biIsInVzZVRoZW1lIiwiQnV0dG9uIiwiRHJvcGRvd25NZW51IiwiRHJvcGRvd25NZW51Q29udGVudCIsIkRyb3Bkb3duTWVudUl0ZW0iLCJEcm9wZG93bk1lbnVUcmlnZ2VyIiwiTW9kZVRvZ2dsZSIsInNldFRoZW1lIiwiYXNDaGlsZCIsInZhcmlhbnQiLCJzaXplIiwiY2xhc3NOYW1lIiwic3BhbiIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/mode-toggle.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ ThemeProvider auto */ \n\n\nfunction ThemeProvider({ children, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_themes__WEBPACK_IMPORTED_MODULE_2__.ThemeProvider, {\n ...props,\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\theme-provider.tsx\",\n lineNumber: 8,\n columnNumber: 12\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS90aGVtZS1wcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUU4QjtBQUNtQztBQUcxRCxTQUFTQyxjQUFjLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUEyQjtJQUNwRSxxQkFBTyw4REFBQ0Ysc0RBQWtCQTtRQUFFLEdBQUdFLEtBQUs7a0JBQUdEOzs7Ozs7QUFDM0MiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHRoZW1lXFx0aGVtZS1wcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgYXMgTmV4dFRoZW1lc1Byb3ZpZGVyIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuaW1wb3J0IHsgdHlwZSBUaGVtZVByb3ZpZGVyUHJvcHMgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIoeyBjaGlsZHJlbiwgLi4ucHJvcHMgfTogVGhlbWVQcm92aWRlclByb3BzKSB7XHJcbiAgICByZXR1cm4gPE5leHRUaGVtZXNQcm92aWRlciB7Li4ucHJvcHN9PntjaGlsZHJlbn08L05leHRUaGVtZXNQcm92aWRlcj5cclxufVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUaGVtZVByb3ZpZGVyIiwiTmV4dFRoZW1lc1Byb3ZpZGVyIiwiY2hpbGRyZW4iLCJwcm9wcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/theme-provider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/avatar-uploader.tsx": -/*!***********************************************!*\ - !*** ./src/components/ui/avatar-uploader.tsx ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AvatarUploader: () => (/* binding */ AvatarUploader)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Check_Edit2_User_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Check,Edit2,User,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_Check_Edit2_User_X_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Check,Edit2,User,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _barrel_optimize_names_Check_Edit2_User_X_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Check,Edit2,User,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/pen.js\");\n/* harmony import */ var _barrel_optimize_names_Check_Edit2_User_X_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Check,Edit2,User,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var react_easy_crop__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-easy-crop */ \"(ssr)/./node_modules/react-easy-crop/index.module.mjs\");\n/* harmony import */ var _shared_api_axios__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/api/axios */ \"(ssr)/./src/shared/api/axios.ts\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_slider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/slider */ \"(ssr)/./src/components/ui/slider.tsx\");\n/* harmony import */ var _lib_imageUrl__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/lib/imageUrl */ \"(ssr)/./src/lib/imageUrl.ts\");\n/* __next_internal_client_entry_do_not_use__ AvatarUploader auto */ \n\n\n\n\n\n\n\n\nfunction AvatarUploader({ currentAvatarUrl, onUploadSuccess }) {\n const [preview, setPreview] = react__WEBPACK_IMPORTED_MODULE_1__.useState(currentAvatarUrl);\n const [isUploading, setIsUploading] = react__WEBPACK_IMPORTED_MODULE_1__.useState(false);\n const [selectedImage, setSelectedImage] = react__WEBPACK_IMPORTED_MODULE_1__.useState(null);\n const [crop, setCrop] = react__WEBPACK_IMPORTED_MODULE_1__.useState({\n x: 0,\n y: 0\n });\n const [zoom, setZoom] = react__WEBPACK_IMPORTED_MODULE_1__.useState(1);\n const [croppedAreaPixels, setCroppedAreaPixels] = react__WEBPACK_IMPORTED_MODULE_1__.useState(null);\n const fileInputRef = react__WEBPACK_IMPORTED_MODULE_1__.useRef(null);\n // Получаем полный URL для отображения\n const fullPreviewUrl = (0,_lib_imageUrl__WEBPACK_IMPORTED_MODULE_6__.getImageUrl)(preview);\n // Обновляем preview при изменении currentAvatarUrl\n react__WEBPACK_IMPORTED_MODULE_1__.useEffect({\n \"AvatarUploader.useEffect\": ()=>{\n setPreview(currentAvatarUrl);\n }\n }[\"AvatarUploader.useEffect\"], [\n currentAvatarUrl\n ]);\n const onCropComplete = react__WEBPACK_IMPORTED_MODULE_1__.useCallback({\n \"AvatarUploader.useCallback[onCropComplete]\": (_, croppedAreaPixels)=>{\n setCroppedAreaPixels(croppedAreaPixels);\n }\n }[\"AvatarUploader.useCallback[onCropComplete]\"], []);\n const handleFileSelect = (e)=>{\n const file = e.target.files?.[0];\n if (!file) return;\n // Валидация размера (5MB)\n if (file.size > 5 * 1024 * 1024) {\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(\"Размер файла не должен превышать 5 МБ\");\n return;\n }\n // Валидация формата\n if (![\n \"image/jpeg\",\n \"image/jpg\",\n \"image/png\"\n ].includes(file.type)) {\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(\"Допустимые форматы: JPG, PNG\");\n return;\n }\n // Показываем изображение для обрезки\n const reader = new FileReader();\n reader.onloadend = ()=>{\n setSelectedImage(reader.result);\n };\n reader.readAsDataURL(file);\n };\n const createCroppedImage = async (imageSrc, cropArea)=>{\n const image = await createImage(imageSrc);\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) {\n throw new Error(\"Failed to get canvas context\");\n }\n canvas.width = cropArea.width;\n canvas.height = cropArea.height;\n ctx.drawImage(image, cropArea.x, cropArea.y, cropArea.width, cropArea.height, 0, 0, cropArea.width, cropArea.height);\n return new Promise((resolve)=>{\n canvas.toBlob((blob)=>{\n if (blob) {\n resolve(blob);\n }\n }, \"image/jpeg\", 0.95);\n });\n };\n const createImage = (url)=>{\n return new Promise((resolve, reject)=>{\n const image = new Image();\n image.addEventListener(\"load\", ()=>resolve(image));\n image.addEventListener(\"error\", (error)=>reject(error));\n image.src = url;\n });\n };\n const handleCropConfirm = async ()=>{\n if (!selectedImage || !croppedAreaPixels) return;\n setIsUploading(true);\n try {\n const croppedBlob = await createCroppedImage(selectedImage, croppedAreaPixels);\n const file = new File([\n croppedBlob\n ], \"avatar.jpg\", {\n type: \"image/jpeg\"\n });\n const formData = new FormData();\n formData.append(\"file\", file);\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_2__.api.post(\"/profile/avatar\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n const avatarUrl = response.data.avatarUrl;\n setPreview(avatarUrl);\n setSelectedImage(null);\n onUploadSuccess?.(avatarUrl);\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.success(\"Аватар успешно загружен\");\n } catch (error) {\n console.error(\"Error uploading avatar:\", error);\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(\"Ошибка при загрузке аватара\");\n } finally{\n setIsUploading(false);\n }\n };\n const handleCropCancel = ()=>{\n setSelectedImage(null);\n setCrop({\n x: 0,\n y: 0\n });\n setZoom(1);\n };\n if (selectedImage) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative w-full h-64 bg-muted rounded-lg overflow-hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_easy_crop__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n image: selectedImage,\n crop: crop,\n zoom: zoom,\n aspect: 1,\n cropShape: \"round\",\n showGrid: false,\n onCropChange: setCrop,\n onZoomChange: setZoom,\n onCropComplete: onCropComplete\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 151,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 150,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"text-sm font-medium\",\n children: \"Масштаб\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 165,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_slider__WEBPACK_IMPORTED_MODULE_5__.Slider, {\n value: [\n zoom\n ],\n min: 1,\n max: 3,\n step: 0.1,\n onValueChange: (value)=>setZoom(value[0])\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 166,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 164,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: handleCropConfirm,\n disabled: isUploading,\n className: \"flex-1 bg-blue-600 hover:bg-blue-700\",\n children: isUploading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 182,\n columnNumber: 29\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_Edit2_User_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-4 h-4 mr-2\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 185,\n columnNumber: 33\n }, this),\n \"Сохранить\"\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 176,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: handleCropCancel,\n variant: \"outline\",\n disabled: isUploading,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_Edit2_User_X_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"w-4 h-4 mr-2\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 195,\n columnNumber: 25\n }, this),\n \"Отмена\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 190,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 175,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 149,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative w-40 h-40 rounded-full overflow-hidden bg-muted cursor-pointer group\",\n onClick: ()=>fileInputRef.current?.click(),\n children: [\n fullPreviewUrl ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: fullPreviewUrl,\n alt: \"Avatar\",\n className: \"w-full h-full object-cover\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 211,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-black/50 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 text-white\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_Edit2_User_X_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-6 h-6\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 219,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: \"Изменить\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 220,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 218,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 217,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full h-full flex items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_Edit2_User_X_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-20 h-20 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 227,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 226,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-black/50 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity p-4 text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-white text-xs space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"Нажмите, чтобы загрузить\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 232,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n children: \"JPG или PNG, до 5 МБ\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 233,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 231,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 230,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n ref: fileInputRef,\n type: \"file\",\n accept: \"image/jpeg,image/jpg,image/png\",\n onChange: handleFileSelect,\n className: \"hidden\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 239,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 205,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\avatar-uploader.tsx\",\n lineNumber: 204,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9hdmF0YXItdXBsb2FkZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOEI7QUFDOEI7QUFDdkI7QUFDRztBQUNWO0FBQ2lCO0FBQ0E7QUFDSDtBQWNyQyxTQUFTVyxlQUFlLEVBQUVDLGdCQUFnQixFQUFFQyxlQUFlLEVBQXVCO0lBQ3JGLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHZiwyQ0FBYyxDQUFxQlk7SUFDakUsTUFBTSxDQUFDSyxhQUFhQyxlQUFlLEdBQUdsQiwyQ0FBYyxDQUFDO0lBQ3JELE1BQU0sQ0FBQ21CLGVBQWVDLGlCQUFpQixHQUFHcEIsMkNBQWMsQ0FBZ0I7SUFDeEUsTUFBTSxDQUFDcUIsTUFBTUMsUUFBUSxHQUFHdEIsMkNBQWMsQ0FBQztRQUFFdUIsR0FBRztRQUFHQyxHQUFHO0lBQUU7SUFDcEQsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUcxQiwyQ0FBYyxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQzJCLG1CQUFtQkMscUJBQXFCLEdBQUc1QiwyQ0FBYyxDQUFrQjtJQUNsRixNQUFNNkIsZUFBZTdCLHlDQUFZLENBQW1CO0lBRXBELHNDQUFzQztJQUN0QyxNQUFNK0IsaUJBQWlCckIsMERBQVdBLENBQUNJO0lBRW5DLG1EQUFtRDtJQUNuRGQsNENBQWU7b0NBQUM7WUFDWmUsV0FBV0g7UUFDZjttQ0FBRztRQUFDQTtLQUFpQjtJQUVyQixNQUFNcUIsaUJBQWlCakMsOENBQWlCO3NEQUFDLENBQUNtQyxHQUFRUjtZQUM5Q0MscUJBQXFCRDtRQUN6QjtxREFBRyxFQUFFO0lBRUwsTUFBTVMsbUJBQW1CLENBQUNDO1FBQ3RCLE1BQU1DLE9BQU9ELEVBQUVFLE1BQU0sQ0FBQ0MsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUNoQyxJQUFJLENBQUNGLE1BQU07UUFFWCwwQkFBMEI7UUFDMUIsSUFBSUEsS0FBS0csSUFBSSxHQUFHLElBQUksT0FBTyxNQUFNO1lBQzdCbEMseUNB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REFBc0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztpREFLbEQ7O3NDQUNJLDhEQUFDRDs0QkFBSUMsV0FBVTtzQ0FDWCw0RUFBQ3ZGLCtGQUFJQTtnQ0FBQ3VGLFdBQVU7Ozs7Ozs7Ozs7O3NDQUdwQiw4REFBQ0Q7NEJBQUlDLFdBQVU7c0NBQ1gsNEVBQUNEO2dDQUFJQyxXQUFVOztrREFDWCw4REFBQ29CO2tEQUFFOzs7Ozs7a0RBQ0gsOERBQUNBO2tEQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQU1uQiw4REFBQ0M7b0JBQ0dDLEtBQUtqRjtvQkFDTGUsTUFBSztvQkFDTG1FLFFBQU87b0JBQ1BDLFVBQVU1RTtvQkFDVm9ELFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSzlCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcYXZhdGFyLXVwbG9hZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgVXBsb2FkLCBVc2VyLCBDaGVjaywgWCwgRWRpdDIgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcclxuaW1wb3J0IENyb3BwZXIgZnJvbSBcInJlYWN0LWVhc3ktY3JvcFwiXHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvYXhpb3NcIlxyXG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gXCJzb25uZXJcIlxyXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2J1dHRvblwiXHJcbmltcG9ydCB7IFNsaWRlciB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvc2xpZGVyXCJcclxuaW1wb3J0IHsgZ2V0SW1hZ2VVcmwgfSBmcm9tIFwiQC9saWIvaW1hZ2VVcmxcIlxyXG5cclxuaW50ZXJmYWNlIEF2YXRhclVwbG9hZGVyUHJvcHMge1xyXG4gICAgY3VycmVudEF2YXRhclVybD86IHN0cmluZ1xyXG4gICAgb25VcGxvYWRTdWNjZXNzPzogKHVybDogc3RyaW5nKSA9PiB2b2lkXHJcbn1cclxuXHJcbmludGVyZmFjZSBDcm9wQXJlYSB7XHJcbiAgICB4OiBudW1iZXJcclxuICAgIHk6IG51bWJlclxyXG4gICAgd2lkdGg6IG51bWJlclxyXG4gICAgaGVpZ2h0OiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEF2YXRhclVwbG9hZGVyKHsgY3VycmVudEF2YXRhclVybCwgb25VcGxvYWRTdWNjZXNzIH06IEF2YXRhclVwbG9hZGVyUHJvcHMpIHtcclxuICAgIGNvbnN0IFtwcmV2aWV3LCBzZXRQcmV2aWV3XSA9IFJlYWN0LnVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4oY3VycmVudEF2YXRhclVybClcclxuICAgIGNvbnN0IFtpc1VwbG9hZGluZywgc2V0SXNVcGxvYWRpbmddID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpXHJcbiAgICBjb25zdCBbc2VsZWN0ZWRJbWFnZSwgc2V0U2VsZWN0ZWRJbWFnZV0gPSBSZWFjdC51c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxyXG4gICAgY29uc3QgW2Nyb3AsIHNldENyb3BdID0gUmVhY3QudXNlU3RhdGUoeyB4OiAwLCB5OiAwIH0pXHJcbiAgICBjb25zdCBbem9vbSwgc2V0Wm9vbV0gPSBSZWFjdC51c2VTdGF0ZSgxKVxyXG4gICAgY29uc3QgW2Nyb3BwZWRBcmVhUGl4ZWxzLCBzZXRDcm9wcGVkQXJlYVBpeGVsc10gPSBSZWFjdC51c2VTdGF0ZTxDcm9wQXJlYSB8IG51bGw+KG51bGwpXHJcbiAgICBjb25zdCBmaWxlSW5wdXRSZWYgPSBSZWFjdC51c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcclxuXHJcbiAgICAvLyDQn9C+0LvRg9GH0LDQtdC8INC/0L7Qu9C90YvQuSBVUkwg0LTQu9GPINC+0YLQvtCx0YDQsNC20LXQvdC40Y9cclxuICAgIGNvbnN0IGZ1bGxQcmV2aWV3VXJsID0gZ2V0SW1hZ2VVcmwocHJldmlldylcclxuXHJcbiAgICAvLyDQntCx0L3QvtCy0LvRj9C10LwgcHJldmlldyDQv9GA0Lgg0LjQt9C80LXQvdC10L3QuNC4IGN1cnJlbnRBdmF0YXJVcmxcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgc2V0UHJldmlldyhjdXJyZW50QXZhdGFyVXJsKVxyXG4gICAgfSwgW2N1cnJlbnRBdmF0YXJVcmxdKVxyXG5cclxuICAgIGNvbnN0IG9uQ3JvcENvbXBsZXRlID0gUmVhY3QudXNlQ2FsbGJhY2soKF86IGFueSwgY3JvcHBlZEFyZWFQaXhlbHM6IENyb3BBcmVhKSA9PiB7XHJcbiAgICAgICAgc2V0Q3JvcHBlZEFyZWFQaXhlbHMoY3JvcHBlZEFyZWFQaXhlbHMpXHJcbiAgICB9LCBbXSlcclxuXHJcbiAgICBjb25zdCBoYW5kbGVGaWxlU2VsZWN0ID0gKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZmlsZSA9IGUudGFyZ2V0LmZpbGVzPy5bMF1cclxuICAgICAgICBpZiAoIWZpbGUpIHJldHVyblxyXG5cclxuICAgICAgICAvLyDQktCw0LvQuNC00LDRhtC40Y8g0YDQsNC30LzQtdGA0LAgKDVNQilcclxuICAgICAgICBpZiAoZmlsZS5zaXplID4gNSAqIDEwMjQgKiAxMDI0KSB7XHJcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKFwi0KDQsNC30LzQtdGAINGE0LDQudC70LAg0L3QtSDQtNC+0LvQttC10L0g0L/RgNC10LLRi9GI0LDRgtGMIDUg0JzQkVwiKVxyXG4gICAgICAgICAgICByZXR1cm5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vINCS0LDQu9C40LTQsNGG0LjRjyDRhNC+0YDQvNCw0YLQsFxyXG4gICAgICAgIGlmICghW1wiaW1hZ2UvanBlZ1wiLCBcImltYWdlL2pwZ1wiLCBcImltYWdlL3BuZ1wiXS5pbmNsdWRlcyhmaWxlLnR5cGUpKSB7XHJcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKFwi0JTQvtC/0YPRgdGC0LjQvNGL0LUg0YTQvtGA0LzQsNGC0Ys6IEpQRywgUE5HXCIpXHJcbiAgICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8g0J/QvtC60LDQt9GL0LLQsNC10Lwg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDQtNC70Y8g0L7QsdGA0LXQt9C60LhcclxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpXHJcbiAgICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgc2V0U2VsZWN0ZWRJbWFnZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZylcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSlcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjcmVhdGVDcm9wcGVkSW1hZ2UgPSBhc3luYyAoaW1hZ2VTcmM6IHN0cmluZywgY3JvcEFyZWE6IENyb3BBcmVhKTogUHJvbWlzZTxCbG9iPiA9PiB7XHJcbiAgICAgICAgY29uc3QgaW1hZ2UgPSBhd2FpdCBjcmVhdGVJbWFnZShpbWFnZVNyYylcclxuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpXHJcbiAgICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoXCIyZFwiKVxyXG5cclxuICAgICAgICBpZiAoIWN0eCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gZ2V0IGNhbnZhcyBjb250ZXh0XCIpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjYW52YXMud2lkdGggPSBjcm9wQXJlYS53aWR0aFxyXG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSBjcm9wQXJlYS5oZWlnaHRcclxuXHJcbiAgICAgICAgY3R4LmRyYXdJbWFnZShcclxuICAgICAgICAgICAgaW1hZ2UsXHJcbiAgICAgICAgICAgIGNyb3BBcmVhLngsXHJcbiAgICAgICAgICAgIGNyb3BBcmVhLnksXHJcbiAgICAgICAgICAgIGNyb3BBcmVhLndpZHRoLFxyXG4gICAgICAgICAgICBjcm9wQXJlYS5oZWlnaHQsXHJcbiAgICAgICAgICAgIDAsXHJcbiAgICAgICAgICAgIDAsXHJcbiAgICAgICAgICAgIGNyb3BBcmVhLndpZHRoLFxyXG4gICAgICAgICAgICBjcm9wQXJlYS5oZWlnaHRcclxuICAgICAgICApXHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgICAgICBjYW52YXMudG9CbG9iKChibG9iKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYmxvYikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoYmxvYilcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgXCJpbWFnZS9qcGVnXCIsIDAuOTUpXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjcmVhdGVJbWFnZSA9ICh1cmw6IHN0cmluZyk6IFByb21pc2U8SFRNTEltYWdlRWxlbWVudD4gPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKClcclxuICAgICAgICAgICAgaW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgKCkgPT4gcmVzb2x2ZShpbWFnZSkpXHJcbiAgICAgICAgICAgIGltYWdlLmFkZEV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLCAoZXJyb3IpID0+IHJlamVjdChlcnJvcikpXHJcbiAgICAgICAgICAgIGltYWdlLnNyYyA9IHVybFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaGFuZGxlQ3JvcENvbmZpcm0gPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFzZWxlY3RlZEltYWdlIHx8ICFjcm9wcGVkQXJlYVBpeGVscykgcmV0dXJuXHJcblxyXG4gICAgICAgIHNldElzVXBsb2FkaW5nKHRydWUpXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgY3JvcHBlZEJsb2IgPSBhd2FpdCBjcmVhdGVDcm9wcGVkSW1hZ2Uoc2VsZWN0ZWRJbWFnZSwgY3JvcHBlZEFyZWFQaXhlbHMpXHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShbY3JvcHBlZEJsb2JdLCBcImF2YXRhci5qcGdcIiwgeyB0eXBlOiBcImltYWdlL2pwZWdcIiB9KVxyXG5cclxuICAgICAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKVxyXG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoXCJmaWxlXCIsIGZpbGUpXHJcblxyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYXZhdGFyXCIsIGZvcm1EYXRhLCB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KVxyXG5cclxuICAgICAgICAgICAgY29uc3QgYXZhdGFyVXJsID0gcmVzcG9uc2UuZGF0YS5hdmF0YXJVcmxcclxuICAgICAgICAgICAgc2V0UHJldmlldyhhdmF0YXJVcmwpXHJcbiAgICAgICAgICAgIHNldFNlbGVjdGVkSW1hZ2UobnVsbClcclxuICAgICAgICAgICAgb25VcGxvYWRTdWNjZXNzPy4oYXZhdGFyVXJsKVxyXG4gICAgICAgICAgICB0b2FzdC5zdWNjZXNzKFwi0JDQstCw0YLQsNGAINGD0YHQv9C10YjQvdC+INC30LDQs9GA0YPQttC10L1cIilcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgdXBsb2FkaW5nIGF2YXRhcjpcIiwgZXJyb3IpXHJcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKFwi0J7RiNC40LHQutCwINC/0YDQuCDQt9Cw0LPRgNGD0LfQutC1INCw0LLQsNGC0LDRgNCwXCIpXHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0SXNVcGxvYWRpbmcoZmFsc2UpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhhbmRsZUNyb3BDYW5jZWwgPSAoKSA9PiB7XHJcbiAgICAgICAgc2V0U2VsZWN0ZWRJbWFnZShudWxsKVxyXG4gICAgICAgIHNldENyb3AoeyB4OiAwLCB5OiAwIH0pXHJcbiAgICAgICAgc2V0Wm9vbSgxKVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChzZWxlY3RlZEltYWdlKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGdhcC00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIHctZnVsbCBoLTY0IGJnLW11dGVkIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPENyb3BwZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U9e3NlbGVjdGVkSW1hZ2V9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNyb3A9e2Nyb3B9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHpvb209e3pvb219XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzcGVjdD17MX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgY3JvcFNoYXBlPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93R3JpZD17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ3JvcENoYW5nZT17c2V0Q3JvcH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgb25ab29tQ2hhbmdlPXtzZXRab29tfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNyb3BDb21wbGV0ZT17b25Dcm9wQ29tcGxldGV9XHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW1cIj7QnNCw0YHRiNGC0LDQsTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPFNsaWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17W3pvb21dfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW49ezF9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heD17M31cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RlcD17MC4xfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvblZhbHVlQ2hhbmdlPXsodmFsdWUpID0+IHNldFpvb20odmFsdWVbMF0pfVxyXG4gICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNyb3BDb25maXJtfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNVcGxvYWRpbmd9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXgtMSBiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNVcGxvYWRpbmcgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctNCBoLTQgYm9yZGVyLTIgYm9yZGVyLXdoaXRlIGJvcmRlci10LXRyYW5zcGFyZW50IHJvdW5kZWQtZnVsbCBhbmltYXRlLXNwaW5cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hlY2sgY2xhc3NOYW1lPVwidy00IGgtNCBtci0yXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodC+0YXRgNCw0L3QuNGC0YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ3JvcENhbmNlbH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNVcGxvYWRpbmd9XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8WCBjbGFzc05hbWU9XCJ3LTQgaC00IG1yLTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDQntGC0LzQtdC90LBcclxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJlbGF0aXZlIHctNDAgaC00MCByb3VuZGVkLWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIGJnLW11dGVkIGN1cnNvci1wb2ludGVyIGdyb3VwXCJcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7ZnVsbFByZXZpZXdVcmwgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtmdWxsUHJldmlld1VybH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIkF2YXRhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgaC1mdWxsIG9iamVjdC1jb3ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBPdmVybGF5INC/0YDQuCDQvdCw0LLQtdC00LXQvdC40LggLSDQtdGB0LvQuCDQsNCy0LDRgtCw0YAg0LXRgdGC0YwgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1ibGFjay81MCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtd2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RWRpdDIgY2xhc3NOYW1lPVwidy02IGgtNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bVwiPtCY0LfQvNC10L3QuNGC0Yw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwidy0yMCBoLTIwIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7LyogT3ZlcmxheSDQv9GA0Lgg0L3QsNCy0LXQtNC10L3QuNC4IC0g0LXRgdC70Lgg0LDQstCw0YLQsNGA0LAg0L3QtdGCICovfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctYmxhY2svNTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgb3BhY2l0eS0wIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eSBwLTQgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC13aGl0ZSB0ZXh0LXhzIHNwYWNlLXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPtCd0LDQttC80LjRgtC1LCDRh9GC0L7QsdGLINC30LDQs9GA0YPQt9C40YLRjDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5KUEcg0LjQu9C4IFBORywg0LTQviA1INCc0JE8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgIHJlZj17ZmlsZUlucHV0UmVmfVxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcclxuICAgICAgICAgICAgICAgICAgICBhY2NlcHQ9XCJpbWFnZS9qcGVnLGltYWdlL2pwZyxpbWFnZS9wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVGaWxlU2VsZWN0fVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImhpZGRlblwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIClcclxufVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJVc2VyIiwiQ2hlY2siLCJYIiwiRWRpdDIiLCJDcm9wcGVyIiwiYXBpIiwidG9hc3QiLCJCdXR0b24iLCJTbGlkZXIiLCJnZXRJbWFnZVVybCIsIkF2YXRhclVwbG9hZGVyIiwiY3VycmVudEF2YXRhclVybCIsIm9uVXBsb2FkU3VjY2VzcyIsInByZXZpZXciLCJzZXRQcmV2aWV3IiwidXNlU3RhdGUiLCJpc1VwbG9hZGluZyIsInNldElzVXBsb2FkaW5nIiwic2VsZWN0ZWRJbWFnZSIsInNldFNlbGVjdGVkSW1hZ2UiLCJjcm9wIiwic2V0Q3JvcCIsIngiLCJ5Iiwiem9vbSIsInNldFpvb20iLCJjcm9wcGVkQXJlYVBpeGVscyIsInNldENyb3BwZWRBcmVhUGl4ZWxzIiwiZmlsZUlucHV0UmVmIiwidXNlUmVmIiwiZnVsbFByZXZpZXdVcmwiLCJ1c2VFZmZlY3QiLCJvbkNyb3BDb21wbGV0ZSIsInVzZUNhbGxiYWNrIiwiXyIsImhhbmRsZUZpbGVTZWxlY3QiLCJlIiwiZmlsZSIsInRhcmdldCIsImZpbGVzIiwic2l6ZSIsImVycm9yIiwiaW5jbHVkZXMiLCJ0eXBlIiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZGVuZCIsInJlc3VsdCIsInJlYWRBc0RhdGFVUkwiLCJjcmVhdGVDcm9wcGVkSW1hZ2UiLCJpbWFnZVNyYyIsImNyb3BBcmVhIiwiaW1hZ2UiLCJjcmVhdGVJbWFnZSIsImNhbnZhcyIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImN0eCIsImdldENvbnRleHQiLCJFcnJvciIsIndpZHRoIiwiaGVpZ2h0IiwiZHJhd0ltYWdlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0b0Jsb2IiLCJibG9iIiwidXJsIiwicmVqZWN0IiwiSW1hZ2UiLCJhZGRFdmVudExpc3RlbmVyIiwic3JjIiwiaGFuZGxlQ3JvcENvbmZpcm0iLCJjcm9wcGVkQmxvYiIsIkZpbGUiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwicmVzcG9uc2UiLCJwb3N0IiwiaGVhZGVycyIsImF2YXRhclVybCIsImRhdGEiLCJzdWNjZXNzIiwiY29uc29sZSIsImhhbmRsZUNyb3BDYW5jZWwiLCJkaXYiLCJjbGFzc05hbWUiLCJhc3BlY3QiLCJjcm9wU2hhcGUiLCJzaG93R3JpZCIsIm9uQ3JvcENoYW5nZSIsIm9uWm9vbUNoYW5nZSIsImxhYmVsIiwidmFsdWUiLCJtaW4iLCJtYXgiLCJzdGVwIiwib25WYWx1ZUNoYW5nZSIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsInZhcmlhbnQiLCJjdXJyZW50IiwiY2xpY2siLCJpbWciLCJhbHQiLCJzcGFuIiwicCIsImlucHV0IiwicmVmIiwiYWNjZXB0Iiwib25DaGFuZ2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/avatar-uploader.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/badge.tsx": -/*!*************************************!*\ - !*** ./src/components/ui/badge.tsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Badge: () => (/* binding */ Badge)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Badge = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant = \"default\", ...props }, ref)=>{\n const variants = {\n default: \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary: \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive: \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\"\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\", variants[variant], className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\badge.tsx\",\n lineNumber: 16,\n columnNumber: 9\n }, undefined);\n});\nBadge.displayName = \"Badge\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9iYWRnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUE4QjtBQUNTO0FBRXZDLE1BQU1FLHNCQUFRRiw2Q0FBZ0IsQ0FHNUIsQ0FBQyxFQUFFSSxTQUFTLEVBQUVDLFVBQVUsU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUM7SUFDN0MsTUFBTUMsV0FBVztRQUNiQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsYUFBYTtRQUNiQyxTQUFTO0lBQ2I7SUFFQSxxQkFDSSw4REFBQ0M7UUFDR04sS0FBS0E7UUFDTEgsV0FBV0gscURBQUVBLENBQ1QsMEtBQ0FPLFFBQVEsQ0FBQ0gsUUFBUSxFQUNqQkQ7UUFFSCxHQUFHRSxLQUFLOzs7Ozs7QUFHckI7QUFDQUosTUFBTVksV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxiYWRnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IEJhZGdlID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIEhUTUxEaXZFbGVtZW50LFxyXG4gICAgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+ICYgeyB2YXJpYW50PzogXCJkZWZhdWx0XCIgfCBcInNlY29uZGFyeVwiIHwgXCJkZXN0cnVjdGl2ZVwiIHwgXCJvdXRsaW5lXCIgfVxyXG4+KCh7IGNsYXNzTmFtZSwgdmFyaWFudCA9IFwiZGVmYXVsdFwiLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgIGNvbnN0IHZhcmlhbnRzID0ge1xyXG4gICAgICAgIGRlZmF1bHQ6IFwiYm9yZGVyLXRyYW5zcGFyZW50IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgaG92ZXI6YmctcHJpbWFyeS84MFwiLFxyXG4gICAgICAgIHNlY29uZGFyeTogXCJib3JkZXItdHJhbnNwYXJlbnQgYmctc2Vjb25kYXJ5IHRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmQgaG92ZXI6Ymctc2Vjb25kYXJ5LzgwXCIsXHJcbiAgICAgICAgZGVzdHJ1Y3RpdmU6IFwiYm9yZGVyLXRyYW5zcGFyZW50IGJnLWRlc3RydWN0aXZlIHRleHQtZGVzdHJ1Y3RpdmUtZm9yZWdyb3VuZCBob3ZlcjpiZy1kZXN0cnVjdGl2ZS84MFwiLFxyXG4gICAgICAgIG91dGxpbmU6IFwidGV4dC1mb3JlZ3JvdW5kXCIsXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICAgICAgXCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBweC0yLjUgcHktMC41IHRleHQteHMgZm9udC1zZW1pYm9sZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctcmluZyBmb2N1czpyaW5nLW9mZnNldC0yXCIsXHJcbiAgICAgICAgICAgICAgICB2YXJpYW50c1t2YXJpYW50XSxcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIClcclxufSlcclxuQmFkZ2UuZGlzcGxheU5hbWUgPSBcIkJhZGdlXCJcclxuXHJcbmV4cG9ydCB7IEJhZGdlIH1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY24iLCJCYWRnZSIsImZvcndhcmRSZWYiLCJjbGFzc05hbWUiLCJ2YXJpYW50IiwicHJvcHMiLCJyZWYiLCJ2YXJpYW50cyIsImRlZmF1bHQiLCJzZWNvbmRhcnkiLCJkZXN0cnVjdGl2ZSIsIm91dGxpbmUiLCJkaXYiLCJkaXNwbGF5TmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/badge.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/button.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/button.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ buttonVariants: () => (/* binding */ buttonVariants)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst buttonVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n});\nconst Button = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, size, asChild = false, ...props }, ref)=>{\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot : \"button\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Comp, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(buttonVariants({\n variant,\n size,\n className\n })),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\button.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, undefined);\n});\nButton.displayName = \"Button\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9idXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDYTtBQUNzQjtBQUUxQjtBQUV2QyxNQUFNSSxpQkFBaUJGLDZEQUFHQSxDQUN0Qiw0VkFDQTtJQUNJRyxVQUFVO1FBQ05DLFNBQVM7WUFDTEMsU0FBUztZQUNUQyxhQUNJO1lBQ0pDLFNBQ0k7WUFDSkMsV0FDSTtZQUNKQyxPQUFPO1lBQ1BDLE1BQU07UUFDVjtRQUNBQyxNQUFNO1lBQ0ZOLFNBQVM7WUFDVE8sSUFBSTtZQUNKQyxJQUFJO1lBQ0pDLE1BQU07UUFDVjtJQUNKO0lBQ0FDLGlCQUFpQjtRQUNiWCxTQUFTO1FBQ1RPLE1BQU07SUFDVjtBQUNKO0FBU0osTUFBTUssdUJBQVNsQiw2Q0FBZ0IsQ0FDM0IsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFZCxPQUFPLEVBQUVPLElBQUksRUFBRVEsVUFBVSxLQUFLLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUN0RCxNQUFNQyxPQUFPSCxVQUFVcEIsc0RBQUlBLEdBQUc7SUFDOUIscUJBQ0ksOERBQUN1QjtRQUNHSixXQUFXakIscURBQUVBLENBQUNDLGVBQWU7WUFBRUU7WUFBU087WUFBTU87UUFBVTtRQUN4REcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosT0FBT08sV0FBVyxHQUFHO0FBRVkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxidXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIlxyXG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgYnV0dG9uVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIFsmX3N2Z106cG9pbnRlci1ldmVudHMtbm9uZSBbJl9zdmddOnNpemUtNCBbJl9zdmddOnNocmluay0wXCIsXHJcbiAgICB7XHJcbiAgICAgICAgdmFyaWFudHM6IHtcclxuICAgICAgICAgICAgdmFyaWFudDoge1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogXCJiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkvOTBcIixcclxuICAgICAgICAgICAgICAgIGRlc3RydWN0aXZlOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIGhvdmVyOmJnLWRlc3RydWN0aXZlLzkwXCIsXHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICAgICAgXCJiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1zZWNvbmRhcnkvODBcIixcclxuICAgICAgICAgICAgICAgIGdob3N0OiBcImhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBcInRleHQtcHJpbWFyeSB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lXCIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNpemU6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFwiaC0xMCBweC00IHB5LTJcIixcclxuICAgICAgICAgICAgICAgIHNtOiBcImgtOSByb3VuZGVkLW1kIHB4LTNcIixcclxuICAgICAgICAgICAgICAgIGxnOiBcImgtMTEgcm91bmRlZC1tZCBweC04XCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImgtMTAgdy0xMFwiLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVmYXVsdFZhcmlhbnRzOiB7XHJcbiAgICAgICAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICBzaXplOiBcImRlZmF1bHRcIixcclxuICAgICAgICB9LFxyXG4gICAgfVxyXG4pXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzXHJcbiAgICBleHRlbmRzIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PixcclxuICAgIFZhcmlhbnRQcm9wczx0eXBlb2YgYnV0dG9uVmFyaWFudHM+IHtcclxuICAgIGFzQ2hpbGQ/OiBib29sZWFuXHJcbn1cclxuXHJcbmNvbnN0IEJ1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihcclxuICAgICh7IGNsYXNzTmFtZSwgdmFyaWFudCwgc2l6ZSwgYXNDaGlsZCA9IGZhbHNlLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgICAgICBjb25zdCBDb21wID0gYXNDaGlsZCA/IFNsb3QgOiBcImJ1dHRvblwiXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPENvbXBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oYnV0dG9uVmFyaWFudHMoeyB2YXJpYW50LCBzaXplLCBjbGFzc05hbWUgfSkpfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbkJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiQnV0dG9uXCJcclxuXHJcbmV4cG9ydCB7IEJ1dHRvbiwgYnV0dG9uVmFyaWFudHMgfVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTbG90IiwiY3ZhIiwiY24iLCJidXR0b25WYXJpYW50cyIsInZhcmlhbnRzIiwidmFyaWFudCIsImRlZmF1bHQiLCJkZXN0cnVjdGl2ZSIsIm91dGxpbmUiLCJzZWNvbmRhcnkiLCJnaG9zdCIsImxpbmsiLCJzaXplIiwic20iLCJsZyIsImljb24iLCJkZWZhdWx0VmFyaWFudHMiLCJCdXR0b24iLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiYXNDaGlsZCIsInByb3BzIiwicmVmIiwiQ29tcCIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/button.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/card.tsx": -/*!************************************!*\ - !*** ./src/components/ui/card.tsx ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Card: () => (/* binding */ Card),\n/* harmony export */ CardContent: () => (/* binding */ CardContent),\n/* harmony export */ CardDescription: () => (/* binding */ CardDescription),\n/* harmony export */ CardFooter: () => (/* binding */ CardFooter),\n/* harmony export */ CardHeader: () => (/* binding */ CardHeader),\n/* harmony export */ CardTitle: () => (/* binding */ CardTitle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Card = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"rounded-lg border bg-card text-card-foreground shadow-sm\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 8,\n columnNumber: 5\n }, undefined));\nCard.displayName = \"Card\";\nconst CardHeader = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex flex-col space-y-1.5 p-6\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 23,\n columnNumber: 5\n }, undefined));\nCardHeader.displayName = \"CardHeader\";\nconst CardTitle = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-2xl font-semibold leading-none tracking-tight\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 35,\n columnNumber: 5\n }, undefined));\nCardTitle.displayName = \"CardTitle\";\nconst CardDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm text-muted-foreground\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 50,\n columnNumber: 5\n }, undefined));\nCardDescription.displayName = \"CardDescription\";\nconst CardContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"p-6 pt-0\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 62,\n columnNumber: 5\n }, undefined));\nCardContent.displayName = \"CardContent\";\nconst CardFooter = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center p-6 pt-0\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\card.tsx\",\n lineNumber: 70,\n columnNumber: 5\n }, undefined));\nCardFooter.displayName = \"CardFooter\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9jYXJkLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDUztBQUV2QyxNQUFNRSxxQkFBT0YsNkNBQWdCLENBRzNCLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FDVCw0REFDQUc7UUFFSCxHQUFHQyxLQUFLOzs7Ozs7QUFHakJILEtBQUtNLFdBQVcsR0FBRztBQUVuQixNQUFNQywyQkFBYVQsNkNBQWdCLENBR2pDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyxpQ0FBaUNHO1FBQzlDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQkksV0FBV0QsV0FBVyxHQUFHO0FBRXpCLE1BQU1FLDBCQUFZViw2Q0FBZ0IsQ0FHaEMsQ0FBQyxFQUFFSSxTQUFTLEVBQUUsR0FBR0MsT0FBTyxFQUFFQyxvQkFDeEIsOERBQUNLO1FBQ0dMLEtBQUtBO1FBQ0xGLFdBQVdILHFEQUFFQSxDQUNULHNEQUNBRztRQUVILEdBQUdDLEtBQUs7Ozs7OztBQUdqQkssVUFBVUYsV0FBVyxHQUFHO0FBRXhCLE1BQU1JLGdDQUFrQlosNkNBQWdCLENBR3RDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDTztRQUNHUCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyxpQ0FBaUNHO1FBQzlDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQk8sZ0JBQWdCSixXQUFXLEdBQUc7QUFFOUIsTUFBTU0sNEJBQWNkLDZDQUFnQixDQUdsQyxDQUFDLEVBQUVJLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ0M7UUFBSUQsS0FBS0E7UUFBS0YsV0FBV0gscURBQUVBLENBQUMsWUFBWUc7UUFBYSxHQUFHQyxLQUFLOzs7Ozs7QUFFbEVTLFlBQVlOLFdBQVcsR0FBRztBQUUxQixNQUFNTywyQkFBYWYsNkNBQWdCLENBR2pDLENBQUMsRUFBRUksU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDQztRQUNHRCxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FBQyw4QkFBOEJHO1FBQzNDLEdBQUdDLEtBQUs7Ozs7OztBQUdqQlUsV0FBV1AsV0FBVyxHQUFHO0FBRXVEIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcY2FyZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IENhcmQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgIFwicm91bmRlZC1sZyBib3JkZXIgYmctY2FyZCB0ZXh0LWNhcmQtZm9yZWdyb3VuZCBzaGFkb3ctc21cIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAvPlxyXG4pKVxyXG5DYXJkLmRpc3BsYXlOYW1lID0gXCJDYXJkXCJcclxuXHJcbmNvbnN0IENhcmRIZWFkZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGZsZXgtY29sIHNwYWNlLXktMS41IHAtNlwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkNhcmRIZWFkZXIuZGlzcGxheU5hbWUgPSBcIkNhcmRIZWFkZXJcIlxyXG5cclxuY29uc3QgQ2FyZFRpdGxlID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIEhUTUxQYXJhZ3JhcGhFbGVtZW50LFxyXG4gICAgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTEhlYWRpbmdFbGVtZW50PlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8aDNcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInRleHQtMnhsIGZvbnQtc2VtaWJvbGQgbGVhZGluZy1ub25lIHRyYWNraW5nLXRpZ2h0XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuQ2FyZFRpdGxlLmRpc3BsYXlOYW1lID0gXCJDYXJkVGl0bGVcIlxyXG5cclxuY29uc3QgQ2FyZERlc2NyaXB0aW9uID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIEhUTUxQYXJhZ3JhcGhFbGVtZW50LFxyXG4gICAgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFBhcmFncmFwaEVsZW1lbnQ+XHJcbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxwXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuQ2FyZERlc2NyaXB0aW9uLmRpc3BsYXlOYW1lID0gXCJDYXJkRGVzY3JpcHRpb25cIlxyXG5cclxuY29uc3QgQ2FyZENvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdiByZWY9e3JlZn0gY2xhc3NOYW1lPXtjbihcInAtNiBwdC0wXCIsIGNsYXNzTmFtZSl9IHsuLi5wcm9wc30gLz5cclxuKSlcclxuQ2FyZENvbnRlbnQuZGlzcGxheU5hbWUgPSBcIkNhcmRDb250ZW50XCJcclxuXHJcbmNvbnN0IENhcmRGb290ZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPGRpdlxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGl0ZW1zLWNlbnRlciBwLTYgcHQtMFwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkNhcmRGb290ZXIuZGlzcGxheU5hbWUgPSBcIkNhcmRGb290ZXJcIlxyXG5cclxuZXhwb3J0IHsgQ2FyZCwgQ2FyZEhlYWRlciwgQ2FyZEZvb3RlciwgQ2FyZFRpdGxlLCBDYXJkRGVzY3JpcHRpb24sIENhcmRDb250ZW50IH1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY24iLCJDYXJkIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsInByb3BzIiwicmVmIiwiZGl2IiwiZGlzcGxheU5hbWUiLCJDYXJkSGVhZGVyIiwiQ2FyZFRpdGxlIiwiaDMiLCJDYXJkRGVzY3JpcHRpb24iLCJwIiwiQ2FyZENvbnRlbnQiLCJDYXJkRm9vdGVyIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/card.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/change-password-modal.tsx": -/*!*****************************************************!*\ - !*** ./src/components/ui/change-password-modal.tsx ***! - \*****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChangePasswordModal: () => (/* binding */ ChangePasswordModal)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @hookform/resolvers/zod */ \"(ssr)/./node_modules/@hookform/resolvers/zod/dist/zod.mjs\");\n/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! zod */ \"(ssr)/./node_modules/zod/v4/classic/external.js\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/input */ \"(ssr)/./src/components/ui/input.tsx\");\n/* harmony import */ var _components_ui_label__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/label */ \"(ssr)/./src/components/ui/label.tsx\");\n/* harmony import */ var _components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/ui/dialog */ \"(ssr)/./src/components/ui/dialog.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_Eye_EyeOff_Lock_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Eye,EyeOff,Lock!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/lock.js\");\n/* harmony import */ var _barrel_optimize_names_Eye_EyeOff_Lock_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Eye,EyeOff,Lock!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/eye-off.js\");\n/* harmony import */ var _barrel_optimize_names_Eye_EyeOff_Lock_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=Eye,EyeOff,Lock!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/eye.js\");\n/* __next_internal_client_entry_do_not_use__ ChangePasswordModal auto */ \n\n\n\n\n\n\n\n\n\n\n\nconst passwordSchema = zod__WEBPACK_IMPORTED_MODULE_9__.object({\n oldPassword: zod__WEBPACK_IMPORTED_MODULE_9__.string().min(1, \"Введите текущий пароль\"),\n newPassword: zod__WEBPACK_IMPORTED_MODULE_9__.string().min(6, \"Новый пароль должен содержать минимум 6 символов\"),\n confirmPassword: zod__WEBPACK_IMPORTED_MODULE_9__.string().min(1, \"Подтвердите пароль\")\n}).refine((data)=>data.newPassword === data.confirmPassword, {\n message: \"Пароли не совпадают\",\n path: [\n \"confirmPassword\"\n ]\n});\nfunction ChangePasswordModal({ open, onOpenChange }) {\n const [showOldPassword, setShowOldPassword] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [showNewPassword, setShowNewPassword] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [showConfirmPassword, setShowConfirmPassword] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const { changePassword, isLoading } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_8__.useSessionStore)();\n const { register, handleSubmit, reset, formState: { errors } } = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_10__.useForm)({\n resolver: (0,_hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_2__.zodResolver)(passwordSchema)\n });\n const onSubmit = async (data)=>{\n try {\n await changePassword(data.oldPassword, data.newPassword);\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.success(\"Пароль успешно изменён\");\n reset();\n onOpenChange(false);\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_3__.toast.error(error?.response?.data?.message || \"Ошибка при смене пароля\");\n }\n };\n const handleClose = ()=>{\n reset();\n onOpenChange(false);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__.Dialog, {\n open: open,\n onOpenChange: handleClose,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__.DialogContent, {\n className: \"sm:max-w-[425px]\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__.DialogHeader, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__.DialogTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_EyeOff_Lock_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 75,\n columnNumber: 25\n }, this),\n \"Смена пароля\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 74,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__.DialogDescription, {\n children: \"Введите текущий пароль и придумайте новый\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 78,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 73,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleSubmit(onSubmit),\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_6__.Label, {\n htmlFor: \"oldPassword\",\n children: \"Текущий пароль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 85,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_5__.Input, {\n id: \"oldPassword\",\n type: showOldPassword ? \"text\" : \"password\",\n placeholder: \"Введите текущий пароль\",\n ...register(\"oldPassword\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 87,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setShowOldPassword(!showOldPassword),\n className: \"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground\",\n children: showOldPassword ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_EyeOff_Lock_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 98,\n columnNumber: 52\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_EyeOff_Lock_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 98,\n columnNumber: 85\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 93,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 86,\n columnNumber: 25\n }, this),\n errors.oldPassword && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-500\",\n children: errors.oldPassword.message\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 102,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 84,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_6__.Label, {\n htmlFor: \"newPassword\",\n children: \"Новый пароль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 107,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_5__.Input, {\n id: \"newPassword\",\n type: showNewPassword ? \"text\" : \"password\",\n placeholder: \"Введите новый пароль\",\n ...register(\"newPassword\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 109,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setShowNewPassword(!showNewPassword),\n className: \"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground\",\n children: showNewPassword ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_EyeOff_Lock_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 120,\n columnNumber: 52\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_EyeOff_Lock_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 120,\n columnNumber: 85\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 115,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 108,\n columnNumber: 25\n }, this),\n errors.newPassword && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-500\",\n children: errors.newPassword.message\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 124,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 106,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_6__.Label, {\n htmlFor: \"confirmPassword\",\n children: \"Подтвердите пароль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 129,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_5__.Input, {\n id: \"confirmPassword\",\n type: showConfirmPassword ? \"text\" : \"password\",\n placeholder: \"Повторите новый пароль\",\n ...register(\"confirmPassword\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 131,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setShowConfirmPassword(!showConfirmPassword),\n className: \"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground\",\n children: showConfirmPassword ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_EyeOff_Lock_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 142,\n columnNumber: 56\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Eye_EyeOff_Lock_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 142,\n columnNumber: 89\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 137,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 130,\n columnNumber: 25\n }, this),\n errors.confirmPassword && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-500\",\n children: errors.confirmPassword.message\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 146,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 128,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__.DialogFooter, {\n className: \"gap-2 sm:gap-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_7__.DialogClose, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"outline\",\n children: \"Отмена\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 152,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 151,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"submit\",\n disabled: isLoading,\n children: isLoading ? \"Сохранение...\" : \"Сохранить\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 156,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 150,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 83,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 72,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\change-password-modal.tsx\",\n lineNumber: 71,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9jaGFuZ2UtcGFzc3dvcmQtbW9kYWwudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVnQztBQUNTO0FBQ1k7QUFDOUI7QUFDTztBQUNpQjtBQUNGO0FBQ0E7QUFTZDtBQUMyQjtBQUNWO0FBRWhELE1BQU1tQixpQkFBaUJoQix1Q0FBUSxDQUFDO0lBQzVCa0IsYUFBYWxCLHVDQUFRLEdBQUdvQixHQUFHLENBQUMsR0FBRztJQUMvQkMsYUFBYXJCLHVDQUFRLEdBQUdvQixHQUFHLENBQUMsR0FBRztJQUMvQkUsaUJBQWlCdEIsdUNBQVEsR0FBR29CLEdBQUcsQ0FBQyxHQUFHO0FBQ3ZDLEdBQUdHLE1BQU0sQ0FBQ0MsQ0FBQUEsT0FBUUEsS0FBS0gsV0FBVyxLQUFLRyxLQUFLRixlQUFlLEVBQUU7SUFDekRHLFNBQVM7SUFDVEMsTUFBTTtRQUFDO0tBQWtCO0FBQzdCO0FBU08sU0FBU0Msb0JBQW9CLEVBQUVDLElBQUksRUFBRUMsWUFBWSxFQUE0QjtJQUNoRixNQUFNLENBQUNDLGlCQUFpQkMsbUJBQW1CLEdBQUdsQywrQ0FBUUEsQ0FBQztJQUN2RCxNQUFNLENBQUNtQyxpQkFBaUJDLG1CQUFtQixHQUFHcEMsK0NBQVFBLENBQUM7SUFDdkQsTUFBTSxDQUFDcUMscUJBQXFCQyx1QkFBdUIsR0FBR3RDLCtDQUFRQSxDQUFDO0lBQy9ELE1BQU0sRUFBRXVDLGNBQWMsRUFBRUMsU0FBUyxFQUFFLEdBQUd6Qix3RUFBZUE7SUFFckQsTUFBTSxFQUNGMEIsUUFBUSxFQUNSQyxZQUFZLEVBQ1pDLEtBQUssRUFDTEMsV0FBVyxFQUFFQyxNQUFNLEVBQUUsRUFDeEIsR0FBRzVDLHlEQUFPQSxDQUFtQjtRQUMxQjZDLFVBQVU1QyxvRUFBV0EsQ0FBQ2lCO0lBQzFCO0lBRUEsTUFBTTRCLFdBQVcsT0FBT3BCO1FBQ3BCLElBQUk7WUFDQSxNQUFNWSxlQUFlWixLQUFLTixXQUFXLEVBQUVNLEtBQUtILFdB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LFdBQVU7OENBQXdCUCxPQUFPcEIsZUFBZSxDQUFDRyxPQUFPOzs7Ozs7Ozs7Ozs7c0NBSTNFLDhEQUFDakIsK0RBQVlBOzRCQUFDeUMsV0FBVTs7OENBQ3BCLDhEQUFDdEMsOERBQVdBO29DQUFDZ0QsT0FBTzs4Q0FDaEIsNEVBQUN6RCx5REFBTUE7d0NBQUNvRCxNQUFLO3dDQUFTTSxTQUFRO2tEQUFVOzs7Ozs7Ozs7Ozs4Q0FJNUMsOERBQUMxRCx5REFBTUE7b0NBQUNvRCxNQUFLO29DQUFTTyxVQUFVeEI7OENBQzNCQSxZQUFZLGtCQUFrQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPM0QiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxjaGFuZ2UtcGFzc3dvcmQtbW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgeyB1c2VGb3JtIH0gZnJvbSBcInJlYWN0LWhvb2stZm9ybVwiXG5pbXBvcnQgeyB6b2RSZXNvbHZlciB9IGZyb20gXCJAaG9va2Zvcm0vcmVzb2x2ZXJzL3pvZFwiXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiXG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gXCJzb25uZXJcIlxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2lucHV0XCJcbmltcG9ydCB7IExhYmVsIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9sYWJlbFwiXG5pbXBvcnQgeyBcbiAgICBEaWFsb2csIFxuICAgIERpYWxvZ0NvbnRlbnQsIFxuICAgIERpYWxvZ0Rlc2NyaXB0aW9uLCBcbiAgICBEaWFsb2dGb290ZXIsIFxuICAgIERpYWxvZ0hlYWRlciwgXG4gICAgRGlhbG9nVGl0bGUsIFxuICAgIERpYWxvZ0Nsb3NlIFxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2RpYWxvZ1wiXG5pbXBvcnQgeyB1c2VTZXNzaW9uU3RvcmUgfSBmcm9tIFwiQC9lbnRpdGllcy9zZXNzaW9uL3N0b3JlXCJcbmltcG9ydCB7IEV5ZSwgRXllT2ZmLCBMb2NrIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXG5cbmNvbnN0IHBhc3N3b3JkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIG9sZFBhc3N3b3JkOiB6LnN0cmluZygpLm1pbigxLCBcItCS0LLQtdC00LjRgtC1INGC0LXQutGD0YnQuNC5INC/0LDRgNC+0LvRjFwiKSxcbiAgICBuZXdQYXNzd29yZDogei5zdHJpbmcoKS5taW4oNiwgXCLQndC+0LLRi9C5INC/0LDRgNC+0LvRjCDQtNC+0LvQttC10L0g0YHQvtC00LXRgNC20LDRgtGMINC80LjQvdC40LzRg9C8IDYg0YHQuNC80LLQvtC70L7QslwiKSxcbiAgICBjb25maXJtUGFzc3dvcmQ6IHouc3RyaW5nKCkubWluKDEsIFwi0J/QvtC00YLQstC10YDQtNC40YLQtSDQv9Cw0YDQvtC70YxcIiksXG59KS5yZWZpbmUoZGF0YSA9PiBkYXRhLm5ld1Bhc3N3b3JkID09PSBkYXRhLmNvbmZpcm1QYXNzd29yZCwge1xuICAgIG1lc3NhZ2U6IFwi0J/QsNGA0L7Qu9C4INC90LUg0YHQvtCy0L/QsNC00LDRjtGCXCIsXG4gICAgcGF0aDogW1wiY29uZmlybVBhc3N3b3JkXCJdLFxufSlcblxudHlwZSBQYXNzd29yZEZvcm1EYXRhID0gei5pbmZlcjx0eXBlb2YgcGFzc3dvcmRTY2hlbWE+XG5cbmludGVyZmFjZSBDaGFuZ2VQYXNzd29yZE1vZGFsUHJvcHMge1xuICAgIG9wZW46IGJvb2xlYW5cbiAgICBvbk9wZW5DaGFuZ2U6IChvcGVuOiBib29sZWFuKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGFuZ2VQYXNzd29yZE1vZGFsKHsgb3Blbiwgb25PcGVuQ2hhbmdlIH06IENoYW5nZVBhc3N3b3JkTW9kYWxQcm9wcykge1xuICAgIGNvbnN0IFtzaG93T2xkUGFzc3dvcmQsIHNldFNob3dPbGRQYXNzd29yZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCBbc2hvd05ld1Bhc3N3b3JkLCBzZXRTaG93TmV3UGFzc3dvcmRdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Nob3dDb25maXJtUGFzc3dvcmQsIHNldFNob3dDb25maXJtUGFzc3dvcmRdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgeyBjaGFuZ2VQYXNzd29yZCwgaXNMb2FkaW5nIH0gPSB1c2VTZXNzaW9uU3RvcmUoKVxuXG4gICAgY29uc3Qge1xuICAgICAgICByZWdpc3RlcixcbiAgICAgICAgaGFuZGxlU3VibWl0LFxuICAgICAgICByZXNldCxcbiAgICAgICAgZm9ybVN0YXRlOiB7IGVycm9ycyB9LFxuICAgIH0gPSB1c2VGb3JtPFBhc3N3b3JkRm9ybURhdGE+KHtcbiAgICAgICAgcmVzb2x2ZXI6IHpvZFJlc29sdmVyKHBhc3N3b3JkU2NoZW1hKSxcbiAgICB9KVxuXG4gICAgY29uc3Qgb25TdWJtaXQgPSBhc3luYyAoZGF0YTogUGFzc3dvcmRGb3JtRGF0YSkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgY2hhbmdlUGFzc3dvcmQoZGF0YS5vbGRQYXNzd29yZCwgZGF0YS5uZXdQYXNzd29yZClcbiAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MoXCLQn9Cw0YDQvtC70Ywg0YPRgdC/0LXRiNC90L4g0LjQt9C80LXQvdGR0L1cIilcbiAgICAgICAgICAgIHJlc2V0KClcbiAgICAgICAgICAgIG9uT3BlbkNoYW5nZShmYWxzZSlcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgICAgdG9hc3QuZXJyb3IoZXJyb3I/LnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwi0J7RiNC40LHQutCwINC/0YDQuCDRgdC80LXQvdC1INC/0LDRgNC+0LvRj1wiKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHJlc2V0KClcbiAgICAgICAgb25PcGVuQ2hhbmdlKGZhbHNlKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAgIDxEaWFsb2cgb3Blbj17b3Blbn0gb25PcGVuQ2hhbmdlPXtoYW5kbGVDbG9zZX0+XG4gICAgICAgICAgICA8RGlhbG9nQ29udGVudCBjbGFzc05hbWU9XCJzbTptYXgtdy1bNDI1cHhdXCI+XG4gICAgICAgICAgICAgICAgPERpYWxvZ0hlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPERpYWxvZ1RpdGxlIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TG9jayBjbGFzc05hbWU9XCJ3LTUgaC01XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgINCh0LzQtdC90LAg0L/QsNGA0L7Qu9GPXG4gICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxEaWFsb2dEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgINCS0LLQtdC00LjRgtC1INGC0LXQutGD0YnQuNC5INC/0LDRgNC+0LvRjCDQuCDQv9GA0LjQtNGD0LzQsNC50YLQtSDQvdC+0LLRi9C5XG4gICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nRGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgPC9EaWFsb2dIZWFkZXI+XG5cbiAgICAgICAgICAgICAgICA8Zm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0KG9uU3VibWl0KX0gY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cIm9sZFBhc3N3b3JkXCI+0KLQtdC60YPRidC40Lkg0L/QsNGA0L7Qu9GMPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJvbGRQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e3Nob3dPbGRQYXNzd29yZCA/IFwidGV4dFwiIDogXCJwYXNzd29yZFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cItCS0LLQtdC00LjRgtC1INGC0LXQutGD0YnQuNC5INC/0LDRgNC+0LvRjFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZWdpc3RlcihcIm9sZFBhc3N3b3JkXCIpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd09sZFBhc3N3b3JkKCFzaG93T2xkUGFzc3dvcmQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSByaWdodC0zIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiB0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzaG93T2xkUGFzc3dvcmQgPyA8RXllT2ZmIGNsYXNzTmFtZT1cInctNCBoLTRcIiAvPiA6IDxFeWUgY2xhc3NOYW1lPVwidy00IGgtNFwiIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZXJyb3JzLm9sZFBhc3N3b3JkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtcmVkLTUwMFwiPntlcnJvcnMub2xkUGFzc3dvcmQubWVzc2FnZX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGh0bWxGb3I9XCJuZXdQYXNzd29yZFwiPtCd0L7QstGL0Lkg0L/QsNGA0L7Qu9GMPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJuZXdQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e3Nob3dOZXdQYXNzd29yZCA/IFwidGV4dFwiIDogXCJwYXNzd29yZFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cItCS0LLQtdC00LjRgtC1INC90L7QstGL0Lkg0L/QsNGA0L7Qu9GMXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlZ2lzdGVyKFwibmV3UGFzc3dvcmRcIil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTaG93TmV3UGFzc3dvcmQoIXNob3dOZXdQYXNzd29yZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTMgdG9wLTEvMiAtdHJhbnNsYXRlLXktMS8yIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBob3Zlcjp0ZXh0LWZvcmVncm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Nob3dOZXdQYXNzd29yZCA/IDxFeWVPZmYgY2xhc3NOYW1lPVwidy00IGgtNFwiIC8+IDogPEV5ZSBjbGFzc05hbWU9XCJ3LTQgaC00XCIgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvcnMubmV3UGFzc3dvcmQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1yZWQtNTAwXCI+e2Vycm9ycy5uZXdQYXNzd29yZC5tZXNzYWdlfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImNvbmZpcm1QYXNzd29yZFwiPtCf0L7QtNGC0LLQtdGA0LTQuNGC0LUg0L/QsNGA0L7Qu9GMPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjb25maXJtUGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtzaG93Q29uZmlybVBhc3N3b3JkID8gXCJ0ZXh0XCIgOiBcInBhc3N3b3JkXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi0J/QvtCy0YLQvtGA0LjRgtC1INC90L7QstGL0Lkg0L/QsNGA0L7Qu9GMXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlZ2lzdGVyKFwiY29uZmlybVBhc3N3b3JkXCIpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd0NvbmZpcm1QYXNzd29yZCghc2hvd0NvbmZpcm1QYXNzd29yZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTMgdG9wLTEvMiAtdHJhbnNsYXRlLXktMS8yIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBob3Zlcjp0ZXh0LWZvcmVncm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Nob3dDb25maXJtUGFzc3dvcmQgPyA8RXllT2ZmIGNsYXNzTmFtZT1cInctNCBoLTRcIiAvPiA6IDxFeWUgY2xhc3NOYW1lPVwidy00IGgtNFwiIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZXJyb3JzLmNvbmZpcm1QYXNzd29yZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXJlZC01MDBcIj57ZXJyb3JzLmNvbmZpcm1QYXNzd29yZC5tZXNzYWdlfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxEaWFsb2dGb290ZXIgY2xhc3NOYW1lPVwiZ2FwLTIgc206Z2FwLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxEaWFsb2dDbG9zZSBhc0NoaWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cImJ1dHRvblwiIHZhcmlhbnQ9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCe0YLQvNC10L3QsFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9EaWFsb2dDbG9zZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInN1Ym1pdFwiIGRpc2FibGVkPXtpc0xvYWRpbmd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmcgPyBcItCh0L7RhdGA0LDQvdC10L3QuNC1Li4uXCIgOiBcItCh0L7RhdGA0LDQvdC40YLRjFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nRm9vdGVyPlxuICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDwvRGlhbG9nQ29udGVudD5cbiAgICAgICAgPC9EaWFsb2c+XG4gICAgKVxufVxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlRm9ybSIsInpvZFJlc29sdmVyIiwieiIsInRvYXN0IiwiQnV0dG9uIiwiSW5wdXQiLCJMYWJlbCIsIkRpYWxvZyIsIkRpYWxvZ0NvbnRlbnQiLCJEaWFsb2dEZXNjcmlwdGlvbiIsIkRpYWxvZ0Zvb3RlciIsIkRpYWxvZ0hlYWRlciIsIkRpYWxvZ1RpdGxlIiwiRGlhbG9nQ2xvc2UiLCJ1c2VTZXNzaW9uU3RvcmUiLCJFeWUiLCJFeWVPZmYiLCJMb2NrIiwicGFzc3dvcmRTY2hlbWEiLCJvYmplY3QiLCJvbGRQYXNzd29yZCIsInN0cmluZyIsIm1pbiIsIm5ld1Bhc3N3b3JkIiwiY29uZmlybVBhc3N3b3JkIiwicmVmaW5lIiwiZGF0YSIsIm1lc3NhZ2UiLCJwYXRoIiwiQ2hhbmdlUGFzc3dvcmRNb2RhbCIsIm9wZW4iLCJvbk9wZW5DaGFuZ2UiLCJzaG93T2xkUGFzc3dvcmQiLCJzZXRTaG93T2xkUGFzc3dvcmQiLCJzaG93TmV3UGFzc3dvcmQiLCJzZXRTaG93TmV3UGFzc3dvcmQiLCJzaG93Q29uZmlybVBhc3N3b3JkIiwic2V0U2hvd0NvbmZpcm1QYXNzd29yZCIsImNoYW5nZVBhc3N3b3JkIiwiaXNMb2FkaW5nIiwicmVnaXN0ZXIiLCJoYW5kbGVTdWJtaXQiLCJyZXNldCIsImZvcm1TdGF0ZSIsImVycm9ycyIsInJlc29sdmVyIiwib25TdWJtaXQiLCJzdWNjZXNzIiwiZXJyb3IiLCJyZXNwb25zZSIsImhhbmRsZUNsb3NlIiwiY2xhc3NOYW1lIiwiZm9ybSIsImRpdiIsImh0bWxGb3IiLCJpZCIsInR5cGUiLCJwbGFjZWhvbGRlciIsImJ1dHRvbiIsIm9uQ2xpY2siLCJwIiwiYXNDaGlsZCIsInZhcmlhbnQiLCJkaXNhYmxlZCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/change-password-modal.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/checkbox.tsx": -/*!****************************************!*\ - !*** ./src/components/ui/checkbox.tsx ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Checkbox: () => (/* binding */ Checkbox)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-checkbox */ \"(ssr)/./node_modules/@radix-ui/react-checkbox/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Checkbox auto */ \n\n\n\n\nconst Checkbox = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__.Root, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__.Indicator, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center justify-center text-current\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\checkbox.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\checkbox.tsx\",\n lineNumber: 21,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\checkbox.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, undefined));\nCheckbox.displayName = _radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__.Root.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9jaGVja2JveC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRThCO0FBQytCO0FBQ3pCO0FBRUc7QUFFdkMsTUFBTUkseUJBQVdKLDZDQUFnQixDQUcvQixDQUFDLEVBQUVNLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ1AsMERBQXNCO1FBQ25CTyxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FDVCxrVEFDQUc7UUFFSCxHQUFHQyxLQUFLO2tCQUVULDRFQUFDTiwrREFBMkI7WUFDeEJLLFdBQVdILHFEQUFFQSxDQUFDO3NCQUVkLDRFQUFDRCxpRkFBS0E7Z0JBQUNJLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJN0JGLFNBQVNPLFdBQVcsR0FBR1YsMERBQXNCLENBQUNVLFdBQVc7QUFFdEMiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxjaGVja2JveC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCAqIGFzIENoZWNrYm94UHJpbWl0aXZlIGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY2hlY2tib3hcIlxyXG5pbXBvcnQgeyBDaGVjayB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IENoZWNrYm94ID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIENoZWNrYm94UHJpbWl0aXZlLlJvb3Q+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBDaGVja2JveFByaW1pdGl2ZS5Sb290PlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8Q2hlY2tib3hQcmltaXRpdmUuUm9vdFxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgIFwicGVlciBoLTQgdy00IHNocmluay0wIHJvdW5kZWQtc20gYm9yZGVyIGJvcmRlci1wcmltYXJ5IHJpbmctb2Zmc2V0LWJhY2tncm91bmQgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLW9mZnNldC0yIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwIGRhdGEtW3N0YXRlPWNoZWNrZWRdOmJnLXByaW1hcnkgZGF0YS1bc3RhdGU9Y2hlY2tlZF06dGV4dC1wcmltYXJ5LWZvcmVncm91bmRcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAgPENoZWNrYm94UHJpbWl0aXZlLkluZGljYXRvclxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1jdXJyZW50XCIpfVxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPENoZWNrIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgIDwvQ2hlY2tib3hQcmltaXRpdmUuSW5kaWNhdG9yPlxyXG4gICAgPC9DaGVja2JveFByaW1pdGl2ZS5Sb290PlxyXG4pKVxyXG5DaGVja2JveC5kaXNwbGF5TmFtZSA9IENoZWNrYm94UHJpbWl0aXZlLlJvb3QuZGlzcGxheU5hbWVcclxuXHJcbmV4cG9ydCB7IENoZWNrYm94IH1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQ2hlY2tib3hQcmltaXRpdmUiLCJDaGVjayIsImNuIiwiQ2hlY2tib3giLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZWYiLCJSb290IiwiSW5kaWNhdG9yIiwiZGlzcGxheU5hbWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/checkbox.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/description-viewer.tsx": -/*!**************************************************!*\ - !*** ./src/components/ui/description-viewer.tsx ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DescriptionViewer: () => (/* binding */ DescriptionViewer)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,ChevronUp!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,ChevronUp!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./button */ \"(ssr)/./src/components/ui/button.tsx\");\n\n\n\n\nfunction DescriptionViewer({ description, maxLines = 10 }) {\n const [isExpanded, setIsExpanded] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [isOverflowing, setIsOverflowing] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const contentRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n // Проверяем, превышает ли контент лимит строк\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"DescriptionViewer.useEffect\": ()=>{\n if (contentRef.current) {\n const lineHeight = 20; // примерно 20px на строку\n const maxHeight = lineHeight * maxLines;\n const isOver = contentRef.current.scrollHeight > maxHeight;\n setIsOverflowing(isOver);\n }\n }\n }[\"DescriptionViewer.useEffect\"], [\n description,\n maxLines\n ]);\n // Обработчик кликов по ссылкам с предупреждением для внешних ресурсов\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"DescriptionViewer.useEffect\": ()=>{\n const handleLinkClick = {\n \"DescriptionViewer.useEffect.handleLinkClick\": (e)=>{\n const target = e.target;\n const link = target.closest(\"a\");\n if (link) {\n e.preventDefault();\n const href = link.getAttribute(\"href\");\n if (!href) return;\n // Проверяем, является ли ссылка внешней\n const isExternal = href.startsWith(\"http://\") || href.startsWith(\"https://\");\n if (isExternal) {\n try {\n const domain = new URL(href).hostname;\n const confirmed = confirm(`Вы переходите на внешний ресурс: ${domain}\\n\\n` + `Ссылка: ${href}\\n\\n` + `Вы уверены, что хотите перейти?`);\n if (confirmed) {\n window.open(href, \"_blank\", \"noopener,noreferrer\");\n }\n } catch {\n window.open(href, \"_blank\", \"noopener,noreferrer\");\n }\n } else {\n window.open(href, \"_blank\");\n }\n }\n }\n }[\"DescriptionViewer.useEffect.handleLinkClick\"];\n const content = contentRef.current;\n if (content) {\n content.addEventListener(\"click\", handleLinkClick);\n return ({\n \"DescriptionViewer.useEffect\": ()=>content.removeEventListener(\"click\", handleLinkClick)\n })[\"DescriptionViewer.useEffect\"];\n }\n }\n }[\"DescriptionViewer.useEffect\"], []);\n if (!description) return null;\n // Если описание содержит HTML теги (от Tiptap), рендерим как HTML\n const isHtml = description.includes(\"<\");\n if (isHtml) {\n const lineHeight = 20;\n const maxHeight = lineHeight * maxLines;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex py-3 justify-start items-start\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground mr-4 whitespace-nowrap\",\n children: \"Описание\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 77,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 min-w-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: contentRef,\n className: `text-left text-sm leading-relaxed prose prose-sm max-w-none dark:prose-invert overflow-hidden transition-all duration-200 ${isExpanded ? \"max-h-none\" : \"\"}`,\n style: {\n maxHeight: isExpanded ? \"none\" : `${maxHeight}px`\n },\n dangerouslySetInnerHTML: {\n __html: description\n }\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 79,\n columnNumber: 21\n }, this),\n isOverflowing && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"link\",\n size: \"sm\",\n onClick: ()=>setIsExpanded(!isExpanded),\n className: \"mt-2 h-auto p-0 text-blue-600 hover:text-blue-700\",\n children: isExpanded ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n \"Свернуть\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"ml-1 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 100,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n \"Показать полностью\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-1 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 105,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 91,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 78,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 76,\n columnNumber: 13\n }, this);\n }\n // Для старых описаний без HTML (простой текст)\n const lines = description.split('\\n');\n const shouldShowSpoiler = lines.length > maxLines;\n const displayLines = isExpanded ? lines : lines.slice(0, maxLines);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex py-3 justify-start items-start\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground mr-4 whitespace-nowrap\",\n children: \"Описание\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 122,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 min-w-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-left text-sm leading-relaxed whitespace-pre-wrap break-words\",\n children: displayLines.join('\\n')\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 124,\n columnNumber: 17\n }, this),\n shouldShowSpoiler && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"link\",\n size: \"sm\",\n onClick: ()=>setIsExpanded(!isExpanded),\n className: \"mt-2 h-auto p-0 text-blue-600 hover:text-blue-700\",\n children: isExpanded ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n \"Свернуть\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"ml-1 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 137,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n \"Показать полностью\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-1 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 142,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 128,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 123,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\description-viewer.tsx\",\n lineNumber: 121,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9kZXNjcmlwdGlvbi12aWV3ZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFvRDtBQUNFO0FBQ3BCO0FBTzNCLFNBQVNNLGtCQUFrQixFQUFFQyxXQUFXLEVBQUVDLFdBQVcsRUFBRSxFQUEwQjtJQUNwRixNQUFNLENBQUNDLFlBQVlDLGNBQWMsR0FBR1YsK0NBQVFBLENBQUM7SUFDN0MsTUFBTSxDQUFDVyxlQUFlQyxpQkFBaUIsR0FBR1osK0NBQVFBLENBQUM7SUFDbkQsTUFBTWEsYUFBYVgsNkNBQU1BLENBQWlCO0lBRTFDLDhDQUE4QztJQUM5Q0QsZ0RBQVNBO3VDQUFDO1lBQ04sSUFBSVksV0FBV0MsT0FBTyxFQUFFO2dCQUNwQixNQUFNQyxhQUFhLElBQUksMEJBQTBCO2dCQUNqRCxNQUFNQyxZQUFZRCxhQUFhUDtnQkFDL0IsTUFBTVMsU0FBU0osV0FBV0MsT0FBTyxDQUFDSSxZQUFZLEdBQUdGO2dCQUNqREosaUJBQWlCSztZQUNyQjtRQUNKO3NDQUFHO1FBQUNWO1FBQWFDO0tBQVM7SUFFMUIsc0VBQXNFO0lBQ3RFUCxnREFBU0E7dUNBQUM7WUFDTixNQUFNa0I7K0RBQWtCLENBQUNDO29CQUNyQixNQUFNQyxTQUFTRCxFQUFFQyxNQUFNO29CQUN2QixNQUFNQyxPQUFPRCxPQUFPRSxPQUFPLENBQUM7b0JBRTVCLElBQUlELE1BQU07d0JBQ05GLEVBQUVJLGNBQWM7d0JBQ2hCLE1BQU1DLE9BQU9ILEtBQUtJLFlBQVksQ0FBQzt3QkFDL0IsSUFBSSxDQUFDRCxNQUFNO3dCQUVYLHdDQUF3Qzt3QkFDeEMsTUFBTUUsYUFBYUYsS0FBS0csVUFBVSxDQUFDLGNBQWNILEtBQUtHLFVBQVUsQ0FBQzt3QkFFakUsSUFBSUQsWUFBWTs0QkFDWixJQUFJO2dDQUNBLE1BQU1FLFNBQVMsSUFBSUMsSUFBSUwsTUFBTU0sUUFBUTtnQ0FDckMsTUFBTUMsWUFBWUMsUUFDZCxDQUFDLGlDQUFpQyxFQUFFSixPQUFPLElBQUksQ0FBQyxHQUNoRCxDQUFDLFFBQVEsRUFBRUosS0FBSyxJQUFJLENBQUMsR0FDckIsQ0FBQywrQkFBK0IsQ0FBQztnQ0FFckMsSUFBSU8sV0FBVztvQ0FDWEUsT0FBT0MsSUFBSSxDQUFDVixNQUFNLFVBQVU7Z0NBQ2hDOzRCQUNKLEVBQUUsT0FBTTtnQ0FDSlMsT0FBT0MsSUFBSSxDQUFDVixNQUFNLFVBQVU7NEJBQ2hDO3dCQUNKLE9BQU87NEJBQ0hTLE9BQU9DLElBQUksQ0FBQ1YsTUFBTTt3QkFDdEI7b0JBQ0o7Z0JBQ0o7O1lBRUEsTUFBTVcsVUFBVXZCLFdBQVdDLE9BQU87WUFDbEMsSUFBSXNCLFNBQVM7Z0JBQ1RBLFFBQVFDLGdCQUFnQixDQUFDLFNBQVNsQjtnQkFDbEM7bURBQU8sSUFBTWlCLFFBQVFFLG1CQUFtQixDQUFDLFNBQVNuQjs7WUFDdEQ7UUFDSjtzQ0FBRyxFQUFFO0lBRUwsSUFBSSxDQUFDWixhQUFhLE9BQU87SUFFekIsa0VBQWtFO0lBQ2xFLE1BQU1nQyxTQUFTaEMsWUFBWWlDLFFBQVEsQ0FBQztJQUVwQyxJQUFJRCxRQUFRO1FBQ1IsTUFBTXhCLGFBQWE7UUFDbkIsTUFBTUMsWUFBWUQsYUFBYVA7UUFFL0IscUJBQ0ksOERBQUNpQztZQUFJQyxXQUFVOzs4QkFDWCw4REFBQ0M7b0JBQUtELFdBQVU7OEJBQStDOzs7Ozs7OEJBQy9ELDhEQUFDRDtvQkFBSUMsV0FBVTs7c0NBQ1gsOERBQUNEOzRCQUNHRyxLQUFLL0I7NEJBQ0w2QixXQUFXLENBQUMsMEhBQTBILEVBQUVqQyxhQUFhLGVBQWUsSUFDOUo7NEJBQ05vQyxPQUFPO2dDQUNIN0IsV0FBV1AsYUFBYSxTQUFTLEdBQUdPLFVBQVUsRUFBRSxDQUFDOzRCQUNyRDs0QkFDQThCLHlCQUF5QjtnQ0FDckJDLFFBQVF4Qzs0QkFDWjs7Ozs7O3dCQUVISSwrQkFDRyw4REFBQ04sMkNBQU1BOzRCQUNIMkMsU0FBUTs0QkFDUkMsTUFBSzs0QkFDTEMsU0FBUyxJQUFNeEMsY0FBYyxDQUFDRDs0QkFDOUJpQyxXQUFVO3NDQUVUakMsMkJBQ0c7O29DQUFFO2tEQUVFLDhEQUFDTCxpR0FBU0E7d0NBQUNzQyxXQUFVOzs7Ozs7OzZEQUd6Qjs7b0NBQUU7a0RBRUUsOERBQUN2QyxpR0FBV0E7d0NBQUN1QyxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBUXZEO0lBRUEsK0NBQStDO0lBQy9DLE1BQU1TLFFBQVE1QyxZQUFZNkMsS0FBSyxDQUFDO0lBQ2hDLE1BQU1DLG9CQUFvQkYsTUFBTUcsTUFBTSxHQUFHOUM7SUFDekMsTUFBTStDLGVBQWU5QyxhQUFhMEMsUUFBUUEsTUFBTUssS0FBSyxDQUFDLEdBQUdoRDtJQUV6RCxxQkFDSSw4REFBQ2lDO1FBQUlDLFdBQVU7OzBCQUNYLDhEQUFDQztnQkFBS0QsV0FBVTswQkFBK0M7Ozs7OzswQkFDL0QsOERBQUNEO2dCQUFJQyxXQUFVOztrQ0FDWCw4REFBQ0Q7d0JBQUlDLFdBQVU7a0NBQ1ZhLGFBQWFFLElBQUksQ0FBQzs7Ozs7O29CQUV0QkosbUNBQ0csOERBQUNoRCwyQ0FBTUE7d0JBQ0gyQyxTQUFRO3dCQUNSQyxNQUFLO3dCQUNMQyxTQUFTLElBQU14QyxjQUFjLENBQUNEO3dCQUM5QmlDLFdBQVU7a0NBRVRqQywyQkFDRzs7Z0NBQUU7OENBRUUsOERBQUNMLGlHQUFTQTtvQ0FBQ3NDLFdBQVU7Ozs7Ozs7eURBR3pCOztnQ0FBRTs4Q0FFRSw4REFBQ3ZDLGlHQUFXQTtvQ0FBQ3VDLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRdkQiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxkZXNjcmlwdGlvbi12aWV3ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ2hldnJvbkRvd24sIENoZXZyb25VcCB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCIuL2J1dHRvblwiO1xuXG5pbnRlcmZhY2UgRGVzY3JpcHRpb25WaWV3ZXJQcm9wcyB7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBtYXhMaW5lcz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERlc2NyaXB0aW9uVmlld2VyKHsgZGVzY3JpcHRpb24sIG1heExpbmVzID0gMTAgfTogRGVzY3JpcHRpb25WaWV3ZXJQcm9wcykge1xuICAgIGNvbnN0IFtpc0V4cGFuZGVkLCBzZXRJc0V4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbaXNPdmVyZmxvd2luZywgc2V0SXNPdmVyZmxvd2luZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgICAvLyDQn9GA0L7QstC10YDRj9C10LwsINC/0YDQtdCy0YvRiNCw0LXRgiDQu9C4INC60L7QvdGC0LXQvdGCINC70LjQvNC40YIg0YHRgtGA0L7QulxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChjb250ZW50UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSAyMDsgLy8g0L/RgNC40LzQtdGA0L3QviAyMHB4INC90LAg0YHRgtGA0L7QutGDXG4gICAgICAgICAgICBjb25zdCBtYXhIZWlnaHQgPSBsaW5lSGVpZ2h0ICogbWF4TGluZXM7XG4gICAgICAgICAgICBjb25zdCBpc092ZXIgPSBjb250ZW50UmVmLmN1cnJlbnQuc2Nyb2xsSGVpZ2h0ID4gbWF4SGVpZ2h0O1xuICAgICAgICAgICAgc2V0SXNPdmVyZmxvd2luZyhpc092ZXIpO1xuICAgICAgICB9XG4gICAgfSwgW2Rlc2NyaXB0aW9uLCBtYXhMaW5lc10pO1xuXG4gICAgLy8g0J7QsdGA0LDQsdC+0YLRh9C40Log0LrQu9C40LrQvtCyINC/0L4g0YHRgdGL0LvQutCw0Lwg0YEg0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtdC8INC00LvRjyDQstC90LXRiNC90LjRhSDRgNC10YHRg9GA0YHQvtCyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaGFuZGxlTGlua0NsaWNrID0gKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgbGluayA9IHRhcmdldC5jbG9zZXN0KFwiYVwiKTtcblxuICAgICAgICAgICAgaWYgKGxpbmspIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaHJlZiA9IGxpbmsuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKTtcbiAgICAgICAgICAgICAgICBpZiAoIWhyZWYpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INGB0YHRi9C70LrQsCDQstC90LXRiNC90LXQuVxuICAgICAgICAgICAgICAgIGNvbnN0IGlzRXh0ZXJuYWwgPSBocmVmLnN0YXJ0c1dpdGgoXCJodHRwOi8vXCIpIHx8IGhyZWYuc3RhcnRzV2l0aChcImh0dHBzOi8vXCIpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzRXh0ZXJuYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvbWFpbiA9IG5ldyBVUkwoaHJlZikuaG9zdG5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25maXJtZWQgPSBjb25maXJtKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGDQktGLINC/0LXRgNC10YXQvtC00LjRgtC1INC90LAg0LLQvdC10YjQvdC40Lkg0YDQtdGB0YPRgNGBOiAke2RvbWFpbn1cXG5cXG5gICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBg0KHRgdGL0LvQutCwOiAke2hyZWZ9XFxuXFxuYCArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYNCS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0L/QtdGA0LXQudGC0Lg/YFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maXJtZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihocmVmLCBcIl9ibGFua1wiLCBcIm5vb3BlbmVyLG5vcmVmZXJyZXJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oaHJlZiwgXCJfYmxhbmtcIiwgXCJub29wZW5lcixub3JlZmVycmVyXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oaHJlZiwgXCJfYmxhbmtcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50UmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgICAgICBjb250ZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBoYW5kbGVMaW5rQ2xpY2spO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IGNvbnRlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZUxpbmtDbGljayk7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG5cbiAgICBpZiAoIWRlc2NyaXB0aW9uKSByZXR1cm4gbnVsbDtcblxuICAgIC8vINCV0YHQu9C4INC+0L/QuNGB0LDQvdC40LUg0YHQvtC00LXRgNC20LjRgiBIVE1MINGC0LXQs9C4ICjQvtGCIFRpcHRhcCksINGA0LXQvdC00LXRgNC40Lwg0LrQsNC6IEhUTUxcbiAgICBjb25zdCBpc0h0bWwgPSBkZXNjcmlwdGlvbi5pbmNsdWRlcyhcIjxcIik7XG5cbiAgICBpZiAoaXNIdG1sKSB7XG4gICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSAyMDtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gbGluZUhlaWdodCAqIG1heExpbmVzO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggcHktMyBqdXN0aWZ5LXN0YXJ0IGl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG1yLTQgd2hpdGVzcGFjZS1ub3dyYXBcIj7QntC/0LjRgdCw0L3QuNC1PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG1pbi13LTBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtjb250ZW50UmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdGV4dC1sZWZ0IHRleHQtc20gbGVhZGluZy1yZWxheGVkIHByb3NlIHByb3NlLXNtIG1heC13LW5vbmUgZGFyazpwcm9zZS1pbnZlcnQgb3ZlcmZsb3ctaGlkZGVuIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCAke2lzRXhwYW5kZWQgPyBcIm1heC1oLW5vbmVcIiA6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBpc0V4cGFuZGVkID8gXCJub25lXCIgOiBgJHttYXhIZWlnaHR9cHhgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX19odG1sOiBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAge2lzT3ZlcmZsb3dpbmcgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzRXhwYW5kZWQoIWlzRXhwYW5kZWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTIgaC1hdXRvIHAtMCB0ZXh0LWJsdWUtNjAwIGhvdmVyOnRleHQtYmx1ZS03MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0V4cGFuZGVkID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0KHQstC10YDQvdGD0YLRjFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZXZyb25VcCBjbGFzc05hbWU9XCJtbC0xIGgtNCB3LTRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC60LDQt9Cw0YLRjCDQv9C+0LvQvdC+0YHRgtGM0Y5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGV2cm9uRG93biBjbGFzc05hbWU9XCJtbC0xIGgtNCB3LTRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyDQlNC70Y8g0YHRgtCw0YDRi9GFINC+0L/QuNGB0LDQvdC40Lkg0LHQtdC3IEhUTUwgKNC/0YDQvtGB0YLQvtC5INGC0LXQutGB0YIpXG4gICAgY29uc3QgbGluZXMgPSBkZXNjcmlwdGlvbi5zcGxpdCgnXFxuJyk7XG4gICAgY29uc3Qgc2hvdWxkU2hvd1Nwb2lsZXIgPSBsaW5lcy5sZW5ndGggPiBtYXhMaW5lcztcbiAgICBjb25zdCBkaXNwbGF5TGluZXMgPSBpc0V4cGFuZGVkID8gbGluZXMgOiBsaW5lcy5zbGljZSgwLCBtYXhMaW5lcyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggcHktMyBqdXN0aWZ5LXN0YXJ0IGl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmQgbXItNCB3aGl0ZXNwYWNlLW5vd3JhcFwiPtCe0L/QuNGB0LDQvdC40LU8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtMSBtaW4tdy0wXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWxlZnQgdGV4dC1zbSBsZWFkaW5nLXJlbGF4ZWQgd2hpdGVzcGFjZS1wcmUtd3JhcCBicmVhay13b3Jkc1wiPlxuICAgICAgICAgICAgICAgICAgICB7ZGlzcGxheUxpbmVzLmpvaW4oJ1xcbicpfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHtzaG91bGRTaG93U3BvaWxlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc0V4cGFuZGVkKCFpc0V4cGFuZGVkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTIgaC1hdXRvIHAtMCB0ZXh0LWJsdWUtNjAwIGhvdmVyOnRleHQtYmx1ZS03MDBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNFeHBhbmRlZCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodCy0LXRgNC90YPRgtGMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGV2cm9uVXAgY2xhc3NOYW1lPVwibWwtMSBoLTQgdy00XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC60LDQt9Cw0YLRjCDQv9C+0LvQvdC+0YHRgtGM0Y5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZXZyb25Eb3duIGNsYXNzTmFtZT1cIm1sLTEgaC00IHctNFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJDaGV2cm9uRG93biIsIkNoZXZyb25VcCIsIkJ1dHRvbiIsIkRlc2NyaXB0aW9uVmlld2VyIiwiZGVzY3JpcHRpb24iLCJtYXhMaW5lcyIsImlzRXhwYW5kZWQiLCJzZXRJc0V4cGFuZGVkIiwiaXNPdmVyZmxvd2luZyIsInNldElzT3ZlcmZsb3dpbmciLCJjb250ZW50UmVmIiwiY3VycmVudCIsImxpbmVIZWlnaHQiLCJtYXhIZWlnaHQiLCJpc092ZXIiLCJzY3JvbGxIZWlnaHQiLCJoYW5kbGVMaW5rQ2xpY2siLCJlIiwidGFyZ2V0IiwibGluayIsImNsb3Nlc3QiLCJwcmV2ZW50RGVmYXVsdCIsImhyZWYiLCJnZXRBdHRyaWJ1dGUiLCJpc0V4dGVybmFsIiwic3RhcnRzV2l0aCIsImRvbWFpbiIsIlVSTCIsImhvc3RuYW1lIiwiY29uZmlybWVkIiwiY29uZmlybSIsIndpbmRvdyIsIm9wZW4iLCJjb250ZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJpc0h0bWwiLCJpbmNsdWRlcyIsImRpdiIsImNsYXNzTmFtZSIsInNwYW4iLCJyZWYiLCJzdHlsZSIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwidmFyaWFudCIsInNpemUiLCJvbkNsaWNrIiwibGluZXMiLCJzcGxpdCIsInNob3VsZFNob3dTcG9pbGVyIiwibGVuZ3RoIiwiZGlzcGxheUxpbmVzIiwic2xpY2UiLCJqb2luIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/description-viewer.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/dialog.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/dialog.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Dialog: () => (/* binding */ Dialog),\n/* harmony export */ DialogClose: () => (/* binding */ DialogClose),\n/* harmony export */ DialogContent: () => (/* binding */ DialogContent),\n/* harmony export */ DialogDescription: () => (/* binding */ DialogDescription),\n/* harmony export */ DialogFooter: () => (/* binding */ DialogFooter),\n/* harmony export */ DialogHeader: () => (/* binding */ DialogHeader),\n/* harmony export */ DialogTitle: () => (/* binding */ DialogTitle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Dialog,DialogContent,DialogHeader,DialogFooter,DialogTitle,DialogDescription,DialogClose auto */ \n\n\n\nfunction Dialog({ open, onOpenChange, children }) {\n if (!open) return null;\n // Передаем onOpenChange через контекст или рендерим children с пропсами\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: children\n }, void 0, false);\n}\nfunction DialogContent({ children, className, onClose, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed inset-0 z-50 flex items-center justify-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-black/50 backdrop-blur-sm\",\n onClick: onClose\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative z-50 w-full max-w-lg mx-4 bg-white dark:bg-zinc-900 rounded-lg shadow-lg\", className),\n ...props,\n children: [\n onClose && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\",\n onClick: onClose,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 48,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Закрыть\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 49,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 44,\n columnNumber: 21\n }, this),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 35,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, this);\n}\nfunction DialogHeader({ className, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex flex-col space-y-1.5 text-center sm:text-left\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this);\n}\nfunction DialogFooter({ className, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 73,\n columnNumber: 9\n }, this);\n}\nfunction DialogTitle({ className, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-lg font-semibold leading-none tracking-tight\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this);\n}\nfunction DialogDescription({ className, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm text-muted-foreground\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 98,\n columnNumber: 9\n }, this);\n}\nfunction DialogClose({ className, asChild, ...props }) {\n // Если asChild=true, нужно использовать Slot из radix-ui\n if (asChild) {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { Slot } = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.js\");\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Slot, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 115,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 133,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Закрыть\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 134,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dialog.tsx\",\n lineNumber: 126,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9kaWFsb2cudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRThCO0FBQ0U7QUFDTztBQVFoQyxTQUFTRyxPQUFPLEVBQUVDLElBQUksRUFBRUMsWUFBWSxFQUFFQyxRQUFRLEVBQWU7SUFDaEUsSUFBSSxDQUFDRixNQUFNLE9BQU87SUFFbEIsd0VBQXdFO0lBQ3hFLHFCQUFPO2tCQUFHRTs7QUFDZDtBQU9PLFNBQVNDLGNBQWMsRUFBRUQsUUFBUSxFQUFFRSxTQUFTLEVBQUVDLE9BQU8sRUFBRSxHQUFHQyxPQUEyQjtJQUN4RixxQkFDSSw4REFBQ0M7UUFBSUgsV0FBVTs7MEJBRVgsOERBQUNHO2dCQUNHSCxXQUFVO2dCQUNWSSxTQUFTSDs7Ozs7OzBCQUliLDhEQUFDRTtnQkFDR0gsV0FBV04scURBQUVBLENBQ1QscUZBQ0FNO2dCQUVILEdBQUdFLEtBQUs7O29CQUdSRCx5QkFDRyw4REFBQ0k7d0JBQ0dMLFdBQVU7d0JBQ1ZJLFNBQVNIOzswQ0FFVCw4REFBQ1IsNkVBQUNBO2dDQUFDTyxXQUFVOzs7Ozs7MENBQ2IsOERBQUNNO2dDQUFLTixXQUFVOzBDQUFVOzs7Ozs7Ozs7Ozs7b0JBR2pDRjs7Ozs7Ozs7Ozs7OztBQUlqQjtBQUlPLFNBQVNTLGFBQWEsRUFBRVAsU0FBUyxFQUFFLEdBQUdFLE9BQTBCO0lBQ25FLHFCQUNJLDhEQUFDQztRQUNHSCxXQUFXTixxREFBRUEsQ0FBQyxzREFBc0RNO1FBQ25FLEdBQUdFLEtBQUs7Ozs7OztBQUdyQjtBQUlPLFNBQVNNLGFBQWEsRUFBRVIsU0FBUyxFQUFFLEdBQUdFLE9BQTBCO0lBQ25FLHFCQUNJLDhEQUFDQztRQUNHSCxXQUFXTixxREFBRUEsQ0FDVCxpRUFDQU07UUFFSCxHQUFHRSxLQUFLOzs7Ozs7QUFHckI7QUFJTyxTQUFTTyxZQUFZLEVBQUVULFNBQVMsRUFBRSxHQUFHRSxPQUF5QjtJQUNqRSxxQkFDSSw4REFBQ1E7UUFDR1YsV0FBV04scURBQUVBLENBQUMscURBQXFETTtRQUNsRSxHQUFHRSxLQUFLOzs7Ozs7QUFHckI7QUFJTyxTQUFTUyxrQkFBa0IsRUFBRVgsU0FBUyxFQUFFLEdBQUdFLE9BQStCO0lBQzdFLHFCQUNJLDhEQUFDVTtRQUNHWixXQUFXTixxREFBRUEsQ0FBQyxpQ0FBaUNNO1FBQzlDLEdBQUdFLEtBQUs7Ozs7OztBQUdyQjtBQU1PLFNBQVNXLFlBQVksRUFBRWIsU0FBUyxFQUFFYyxPQUFPLEVBQUUsR0FBR1osT0FBeUI7SUFDMUUseURBQXlEO0lBQ3pELElBQUlZLFNBQVM7UUFDVCxpRUFBaUU7UUFDakUsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsbUJBQU9BLENBQUMscUZBQXNCO1FBQy9DLHFCQUNJLDhEQUFDRDtZQUNHZixXQUFXTixxREFBRUEsQ0FDVCxpUkFDQU07WUFFSCxHQUFHRSxLQUFLOzs7Ozs7SUFHckI7SUFFQSxxQkFDSSw4REFBQ0c7UUFDR0wsV0FBV04scURBQUVBLENBQ1QsaVJBQ0FNO1FBRUgsR0FBR0UsS0FBSzs7MEJBRVQsOERBQUNULDZFQUFDQTtnQkFBQ08sV0FBVTs7Ozs7OzBCQUNiLDhEQUFDTTtnQkFBS04sV0FBVTswQkFBVTs7Ozs7Ozs7Ozs7O0FBR3RDIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcZGlhbG9nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IFggfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvc2hhcmVkL2xpYi91dGlsc1wiXG5cbmludGVyZmFjZSBEaWFsb2dQcm9wcyB7XG4gICAgb3Blbj86IGJvb2xlYW5cbiAgICBvbk9wZW5DaGFuZ2U/OiAob3BlbjogYm9vbGVhbikgPT4gdm9pZFxuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERpYWxvZyh7IG9wZW4sIG9uT3BlbkNoYW5nZSwgY2hpbGRyZW4gfTogRGlhbG9nUHJvcHMpIHtcbiAgICBpZiAoIW9wZW4pIHJldHVybiBudWxsXG5cbiAgICAvLyDQn9C10YDQtdC00LDQtdC8IG9uT3BlbkNoYW5nZSDRh9C10YDQtdC3INC60L7QvdGC0LXQutGB0YIg0LjQu9C4INGA0LXQvdC00LXRgNC40LwgY2hpbGRyZW4g0YEg0L/RgNC+0L/RgdCw0LzQuFxuICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz5cbn1cblxuaW50ZXJmYWNlIERpYWxvZ0NvbnRlbnRQcm9wcyBleHRlbmRzIFJlYWN0LkhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiB7XG4gICAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxuICAgIG9uQ2xvc2U/OiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBEaWFsb2dDb250ZW50KHsgY2hpbGRyZW4sIGNsYXNzTmFtZSwgb25DbG9zZSwgLi4ucHJvcHMgfTogRGlhbG9nQ29udGVudFByb3BzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaXhlZCBpbnNldC0wIHotNTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICAgIHsvKiBCYWNrZHJvcCAqL31cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWJsYWNrLzUwIGJhY2tkcm9wLWJsdXItc21cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xvc2V9XG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICB7LyogQ29udGVudCAqL31cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICAgICAgICBcInJlbGF0aXZlIHotNTAgdy1mdWxsIG1heC13LWxnIG14LTQgYmctd2hpdGUgZGFyazpiZy16aW5jLTkwMCByb3VuZGVkLWxnIHNoYWRvdy1sZ1wiLFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Lyog0JrQvdC+0L/QutCwINC30LDQutGA0YvRgtC40Y8gKFgpICovfVxuICAgICAgICAgICAgICAgIHtvbkNsb3NlICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgcmlnaHQtNCB0b3AtNCByb3VuZGVkLXNtIG9wYWNpdHktNzAgcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLW9wYWNpdHkgaG92ZXI6b3BhY2l0eS0xMDAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXJpbmcgZm9jdXM6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xvc2V9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxYIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPtCX0LDQutGA0YvRgtGMPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cbmludGVyZmFjZSBEaWFsb2dIZWFkZXJQcm9wcyBleHRlbmRzIFJlYWN0LkhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiB7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIERpYWxvZ0hlYWRlcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogRGlhbG9nSGVhZGVyUHJvcHMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwiZmxleCBmbGV4LWNvbCBzcGFjZS15LTEuNSB0ZXh0LWNlbnRlciBzbTp0ZXh0LWxlZnRcIiwgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgLz5cbiAgICApXG59XG5cbmludGVyZmFjZSBEaWFsb2dGb290ZXJQcm9wcyBleHRlbmRzIFJlYWN0LkhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiB7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIERpYWxvZ0Zvb3Rlcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogRGlhbG9nRm9vdGVyUHJvcHMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICAgIFwiZmxleCBmbGV4LWNvbC1yZXZlcnNlIHNtOmZsZXgtcm93IHNtOmp1c3RpZnktZW5kIHNtOnNwYWNlLXgtMlwiLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgLz5cbiAgICApXG59XG5cbmludGVyZmFjZSBEaWFsb2dUaXRsZVByb3BzIGV4dGVuZHMgUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTEhlYWRpbmdFbGVtZW50PiB7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIERpYWxvZ1RpdGxlKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9OiBEaWFsb2dUaXRsZVByb3BzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGgyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwidGV4dC1sZyBmb250LXNlbWlib2xkIGxlYWRpbmctbm9uZSB0cmFja2luZy10aWdodFwiLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAvPlxuICAgIClcbn1cblxuaW50ZXJmYWNlIERpYWxvZ0Rlc2NyaXB0aW9uUHJvcHMgZXh0ZW5kcyBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MUGFyYWdyYXBoRWxlbWVudD4geyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBEaWFsb2dEZXNjcmlwdGlvbih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogRGlhbG9nRGVzY3JpcHRpb25Qcm9wcykge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxwXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIiwgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgLz5cbiAgICApXG59XG5cbmludGVyZmFjZSBEaWFsb2dDbG9zZVByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgICBhc0NoaWxkPzogYm9vbGVhblxufVxuXG5leHBvcnQgZnVuY3Rpb24gRGlhbG9nQ2xvc2UoeyBjbGFzc05hbWUsIGFzQ2hpbGQsIC4uLnByb3BzIH06IERpYWxvZ0Nsb3NlUHJvcHMpIHtcbiAgICAvLyDQldGB0LvQuCBhc0NoaWxkPXRydWUsINC90YPQttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIFNsb3Qg0LjQtyByYWRpeC11aVxuICAgIGlmIChhc0NoaWxkKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgICAgIGNvbnN0IHsgU2xvdCB9ID0gcmVxdWlyZShcIkByYWRpeC11aS9yZWFjdC1zbG90XCIpIGFzIHsgU2xvdDogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+IH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxTbG90XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAgICAgICAgICAgXCJhYnNvbHV0ZSByaWdodC00IHRvcC00IHJvdW5kZWQtc20gb3BhY2l0eS03MCByaW5nLW9mZnNldC1iYWNrZ3JvdW5kIHRyYW5zaXRpb24tb3BhY2l0eSBob3ZlcjpvcGFjaXR5LTEwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctcmluZyBmb2N1czpyaW5nLW9mZnNldC0yIGRpc2FibGVkOnBvaW50ZXItZXZlbnRzLW5vbmUgZGF0YS1bc3RhdGU9b3Blbl06YmctYWNjZW50IGRhdGEtW3N0YXRlPW9wZW5dOnRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiLFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICAgIFwiYWJzb2x1dGUgcmlnaHQtNCB0b3AtNCByb3VuZGVkLXNtIG9wYWNpdHktNzAgcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLW9wYWNpdHkgaG92ZXI6b3BhY2l0eS0xMDAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXJpbmcgZm9jdXM6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW3N0YXRlPW9wZW5dOmJnLWFjY2VudCBkYXRhLVtzdGF0ZT1vcGVuXTp0ZXh0LW11dGVkLWZvcmVncm91bmRcIixcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgID5cbiAgICAgICAgICAgIDxYIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPtCX0LDQutGA0YvRgtGMPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJYIiwiY24iLCJEaWFsb2ciLCJvcGVuIiwib25PcGVuQ2hhbmdlIiwiY2hpbGRyZW4iLCJEaWFsb2dDb250ZW50IiwiY2xhc3NOYW1lIiwib25DbG9zZSIsInByb3BzIiwiZGl2Iiwib25DbGljayIsImJ1dHRvbiIsInNwYW4iLCJEaWFsb2dIZWFkZXIiLCJEaWFsb2dGb290ZXIiLCJEaWFsb2dUaXRsZSIsImgyIiwiRGlhbG9nRGVzY3JpcHRpb24iLCJwIiwiRGlhbG9nQ2xvc2UiLCJhc0NoaWxkIiwiU2xvdCIsInJlcXVpcmUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/dialog.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/dropdown-menu.tsx": -/*!*********************************************!*\ - !*** ./src/components/ui/dropdown-menu.tsx ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropdownMenu: () => (/* binding */ DropdownMenu),\n/* harmony export */ DropdownMenuCheckboxItem: () => (/* binding */ DropdownMenuCheckboxItem),\n/* harmony export */ DropdownMenuContent: () => (/* binding */ DropdownMenuContent),\n/* harmony export */ DropdownMenuGroup: () => (/* binding */ DropdownMenuGroup),\n/* harmony export */ DropdownMenuItem: () => (/* binding */ DropdownMenuItem),\n/* harmony export */ DropdownMenuLabel: () => (/* binding */ DropdownMenuLabel),\n/* harmony export */ DropdownMenuPortal: () => (/* binding */ DropdownMenuPortal),\n/* harmony export */ DropdownMenuRadioGroup: () => (/* binding */ DropdownMenuRadioGroup),\n/* harmony export */ DropdownMenuRadioItem: () => (/* binding */ DropdownMenuRadioItem),\n/* harmony export */ DropdownMenuSeparator: () => (/* binding */ DropdownMenuSeparator),\n/* harmony export */ DropdownMenuShortcut: () => (/* binding */ DropdownMenuShortcut),\n/* harmony export */ DropdownMenuSub: () => (/* binding */ DropdownMenuSub),\n/* harmony export */ DropdownMenuSubContent: () => (/* binding */ DropdownMenuSubContent),\n/* harmony export */ DropdownMenuSubTrigger: () => (/* binding */ DropdownMenuSubTrigger),\n/* harmony export */ DropdownMenuTrigger: () => (/* binding */ DropdownMenuTrigger)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ \"(ssr)/./node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle.js\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ DropdownMenu,DropdownMenuTrigger,DropdownMenuContent,DropdownMenuItem,DropdownMenuCheckboxItem,DropdownMenuRadioItem,DropdownMenuLabel,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuGroup,DropdownMenuPortal,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuRadioGroup auto */ \n\n\n\n\nconst DropdownMenu = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst DropdownMenuTrigger = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Trigger;\nconst DropdownMenuGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Group;\nconst DropdownMenuPortal = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal;\nconst DropdownMenuSub = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Sub;\nconst DropdownMenuRadioGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioGroup;\nconst DropdownMenuSubTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\", inset && \"pl-8\", className),\n ...props,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-auto h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 27,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubTrigger.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger.displayName;\nconst DropdownMenuSubContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent.displayName;\nconst DropdownMenuContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, sideOffset = 4, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n sideOffset: sideOffset,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 63,\n columnNumber: 5\n }, undefined));\nDropdownMenuContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\nconst DropdownMenuItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 83,\n columnNumber: 5\n }, undefined));\nDropdownMenuItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item.displayName;\nconst DropdownMenuCheckboxItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, checked, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n checked: checked,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 109,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 108,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 99,\n columnNumber: 5\n }, undefined));\nDropdownMenuCheckboxItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem.displayName;\nconst DropdownMenuRadioItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-2 w-2 fill-current\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 133,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 132,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 123,\n columnNumber: 5\n }, undefined));\nDropdownMenuRadioItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem.displayName;\nconst DropdownMenuLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 147,\n columnNumber: 5\n }, undefined));\nDropdownMenuLabel.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label.displayName;\nconst DropdownMenuSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 163,\n columnNumber: 5\n }, undefined));\nDropdownMenuSeparator.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator.displayName;\nconst DropdownMenuShortcut = ({ className, ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"ml-auto text-xs tracking-widest opacity-60\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 176,\n columnNumber: 9\n }, undefined);\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRThCO0FBQ3dDO0FBQ1o7QUFFbkI7QUFFdkMsTUFBTU0sZUFBZUwsK0RBQTBCO0FBRS9DLE1BQU1PLHNCQUFzQlAsa0VBQTZCO0FBRXpELE1BQU1TLG9CQUFvQlQsZ0VBQTJCO0FBRXJELE1BQU1XLHFCQUFxQlgsaUVBQTRCO0FBRXZELE1BQU1hLGtCQUFrQmIsOERBQXlCO0FBRWpELE1BQU1lLHlCQUF5QmYscUVBQWdDO0FBRS9ELE1BQU1pQix1Q0FBeUJsQiw2Q0FBZ0IsQ0FLN0MsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN6Qyw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdJQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7O1lBRVJEOzBCQUNELDhEQUFDbkIscUdBQVlBO2dCQUFDaUIsV0FBVTs7Ozs7Ozs7Ozs7O0FBR2hDRix1QkFBdUJRLFdBQVcsR0FDOUJ6QixxRUFBZ0MsQ0FBQ3lCLFdBQVc7QUFFaEQsTUFBTUMsdUNBQXlCM0IsNkNBQWdCLENBRzdDLENBQUMsRUFBRW9CLFNBQVMsRUFBRSxHQUFHRyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHliQUNBZTtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQkksdUJBQXVCRCxXQUFXLEdBQzlCekIscUVBQWdDLENBQUN5QixXQUFXO0FBRWhELE1BQU1HLG9DQUFzQjdCLDZDQUFnQixDQUcxQyxDQUFDLEVBQUVvQixTQUFTLEVBQUVVLGFBQWEsQ0FBQyxFQUFFLEdBQUdQLE9BQU8sRUFBRUMsb0JBQ3hDLDhEQUFDdkIsaUVBQTRCO2tCQUN6Qiw0RUFBQ0Esa0VBQTZCO1lBQzFCdUIsS0FBS0E7WUFDTE0sWUFBWUE7WUFDWlYsV0FBV2YscURBQUVBLENBQ1QseWJBQ0FlO1lBRUgsR0FBR0csS0FBSzs7Ozs7Ozs7Ozs7QUFJckJNLG9CQUFvQkgsV0FBVyxHQUFHekIsa0VBQTZCLENBQUN5QixXQUFXO0FBRTNFLE1BQU1NLGlDQUFtQmhDLDZDQUFnQixDQUt2QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVDLEtBQUssRUFBRSxHQUFHRSxPQUFPLEVBQUVDLG9CQUMvQiw4REFBQ3ZCLCtEQUEwQjtRQUN2QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULG1PQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQlMsaUJBQWlCTixXQUFXLEdBQUd6QiwrREFBMEIsQ0FBQ3lCLFdBQVc7QUFFckUsTUFBTVEseUNBQTJCbEMsNkNBQWdCLENBRy9DLENBQUMsRUFBRW9CLFNBQVMsRUFBRUUsUUFBUSxFQUFFYSxPQUFPLEVBQUUsR0FBR1osT0FBTyxFQUFFQyxvQkFDM0MsOERBQUN2Qix1RUFBa0M7UUFDL0J1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FDVCx3T0FDQWU7UUFFSmUsU0FBU0E7UUFDUixHQUFHWixLQUFLOzswQkFFVCw4REFBQ2M7Z0JBQUtqQixXQUFVOzBCQUNaLDRFQUFDbkIsd0VBQW1DOzhCQUNoQyw0RUFBQ0MscUdBQUtBO3dCQUFDa0IsV0FBVTs7Ozs7Ozs7Ozs7Ozs7OztZQUd4QkU7Ozs7Ozs7QUFHVFkseUJBQXlCUixXQUFXLEdBQ2hDekIsdUVBQWtDLENBQUN5QixXQUFXO0FBRWxELE1BQU1hLHNDQUF3QnZDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUNsQyw4REFBQ3ZCLG9FQUErQjtRQUM1QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdPQUNBZTtRQUVILEdBQUdHLEtBQUs7OzBCQUVULDhEQUFDYztnQkFBS2pCLFdBQVU7MEJBQ1osNEVBQUNuQix3RUFBbUM7OEJBQ2hDLDRFQUFDRyxxR0FBTUE7d0JBQUNnQixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7O1lBR3pCRTs7Ozs7OztBQUdUaUIsc0JBQXNCYixXQUFXLEdBQUd6QixvRUFBK0IsQ0FBQ3lCLFdBQVc7QUFFL0UsTUFBTWUsa0NBQW9CekMsNkNBQWdCLENBS3hDLENBQUMsRUFBRW9CLFNBQVMsRUFBRUMsS0FBSyxFQUFFLEdBQUdFLE9BQU8sRUFBRUMsb0JBQy9CLDhEQUFDdkIsZ0VBQTJCO1FBQ3hCdUIsS0FBS0E7UUFDTEosV0FBV2YscURBQUVBLENBQ1QscUNBQ0FnQixTQUFTLFFBQ1REO1FBRUgsR0FBR0csS0FBSzs7Ozs7O0FBR2pCa0Isa0JBQWtCZixXQUFXLEdBQUd6QixnRUFBMkIsQ0FBQ3lCLFdBQVc7QUFFdkUsTUFBTWlCLHNDQUF3QjNDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUUsR0FBR0csT0FBTyxFQUFFQyxvQkFDeEIsOERBQUN2QixvRUFBK0I7UUFDNUJ1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FBQyw0QkFBNEJlO1FBQ3pDLEdBQUdHLEtBQUs7Ozs7OztBQUdqQm9CLHNCQUFzQmpCLFdBQVcsR0FBR3pCLG9FQUErQixDQUFDeUIsV0FBVztBQUUvRSxNQUFNbUIsdUJBQXVCLENBQUMsRUFDMUJ6QixTQUFTLEVBQ1QsR0FBR0csT0FDaUM7SUFDcEMscUJBQ0ksOERBQUNjO1FBQ0dqQixXQUFXZixxREFBRUEsQ0FBQyw4Q0FBOENlO1FBQzNELEdBQUdHLEtBQUs7Ozs7OztBQUdyQjtBQUNBc0IscUJBQXFCbkIsV0FBVyxHQUFHO0FBa0JsQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGRyb3Bkb3duLW1lbnUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBEcm9wZG93bk1lbnVQcmltaXRpdmUgZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kcm9wZG93bi1tZW51XCJcclxuaW1wb3J0IHsgQ2hlY2ssIENoZXZyb25SaWdodCwgQ2lyY2xlIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51ID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlJvb3RcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVRyaWdnZXIgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuVHJpZ2dlclxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51R3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuR3JvdXBcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVBvcnRhbCA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Qb3J0YWxcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YiA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvR3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9Hcm91cFxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U3ViVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViVHJpZ2dlcj4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJUcmlnZ2VyPiAmIHtcclxuICAgICAgICBpbnNldD86IGJvb2xlYW5cclxuICAgIH1cclxuPigoeyBjbGFzc05hbWUsIGluc2V0LCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXJcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcImZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHgtMiBweS0xLjUgdGV4dC1zbSBvdXRsaW5lLW5vbmUgZm9jdXM6YmctYWNjZW50IGRhdGEtW3N0YXRlPW9wZW5dOmJnLWFjY2VudFwiLFxyXG4gICAgICAgICAgICBpbnNldCAmJiBcInBsLThcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDxDaGV2cm9uUmlnaHQgY2xhc3NOYW1lPVwibWwtYXV0byBoLTQgdy00XCIgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXI+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YlRyaWdnZXIuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXIuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YkNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJDb250ZW50XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJ6LTUwIG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LWxnIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4gZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAgZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wIGRhdGEtW3N0YXRlPWNsb3NlZF06em9vbS1vdXQtOTUgZGF0YS1bc3RhdGU9b3Blbl06em9vbS1pbi05NSBkYXRhLVtzaWRlPWJvdHRvbV06c2xpZGUtaW4tZnJvbS10b3AtMiBkYXRhLVtzaWRlPWxlZnRdOnNsaWRlLWluLWZyb20tcmlnaHQtMiBkYXRhLVtzaWRlPXJpZ2h0XTpzbGlkZS1pbi1mcm9tLWxlZnQtMiBkYXRhLVtzaWRlPXRvcF06c2xpZGUtaW4tZnJvbS1ib3R0b20tMlwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YkNvbnRlbnQuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIHNpZGVPZmZzZXQgPSA0LCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUG9ydGFsPlxyXG4gICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudFxyXG4gICAgICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICAgICAgc2lkZU9mZnNldD17c2lkZU9mZnNldH1cclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgIFwiei01MCBtaW4tdy1bOHJlbV0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXBvcG92ZXIgcC0xIHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZCBkYXRhLVtzdGF0ZT1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWNsb3NlZF06YW5pbWF0ZS1vdXQgZGF0YS1bc3RhdGU9Y2xvc2VkXTpmYWRlLW91dC0wIGRhdGEtW3N0YXRlPW9wZW5dOmZhZGUtaW4tMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3N0YXRlPW9wZW5dOnpvb20taW4tOTUgZGF0YS1bc2lkZT1ib3R0b21dOnNsaWRlLWluLWZyb20tdG9wLTIgZGF0YS1bc2lkZT1sZWZ0XTpzbGlkZS1pbi1mcm9tLXJpZ2h0LTIgZGF0YS1bc2lkZT1yaWdodF06c2xpZGUtaW4tZnJvbS1sZWZ0LTIgZGF0YS1bc2lkZT10b3BdOnNsaWRlLWluLWZyb20tYm90dG9tLTJcIixcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlBvcnRhbD5cclxuKSlcclxuRHJvcGRvd25NZW51Q29udGVudC5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Db250ZW50LmRpc3BsYXlOYW1lXHJcblxyXG5jb25zdCBEcm9wZG93bk1lbnVJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW0+ICYge1xyXG4gICAgICAgIGluc2V0PzogYm9vbGVhblxyXG4gICAgfVxyXG4+KCh7IGNsYXNzTmFtZSwgaW5zZXQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB4LTIgcHktMS41IHRleHQtc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgIGluc2V0ICYmIFwicGwtOFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudUl0ZW0uZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbS5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ2hlY2tib3hJdGVtPlxyXG4+KCh7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIGNoZWNrZWQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW1cclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInJlbGF0aXZlIGZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHktMS41IHBsLTggcHItMiB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpiZy1hY2NlbnQgZm9jdXM6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBkYXRhLVtkaXNhYmxlZF06cG9pbnRlci1ldmVudHMtbm9uZSBkYXRhLVtkaXNhYmxlZF06b3BhY2l0eS01MFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICA8Q2hlY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkNoZWNrYm94SXRlbT5cclxuKSlcclxuRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLmRpc3BsYXlOYW1lID1cclxuICAgIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvSXRlbSA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlJhZGlvSXRlbT5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB5LTEuNSBwbC04IHByLTIgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMgZm9jdXM6YmctYWNjZW50IGZvY3VzOnRleHQtYWNjZW50LWZvcmVncm91bmQgZGF0YS1bZGlzYWJsZWRdOnBvaW50ZXItZXZlbnRzLW5vbmUgZGF0YS1bZGlzYWJsZWRdOm9wYWNpdHktNTBcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0yIGZsZXggaC0zLjUgdy0zLjUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbUluZGljYXRvcj5cclxuICAgICAgICAgICAgICAgIDxDaXJjbGUgY2xhc3NOYW1lPVwiaC0yIHctMiBmaWxsLWN1cnJlbnRcIiAvPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0+XHJcbikpXHJcbkRyb3Bkb3duTWVudVJhZGlvSXRlbS5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUxhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4gJiB7XHJcbiAgICAgICAgaW5zZXQ/OiBib29sZWFuXHJcbiAgICB9XHJcbj4oKHsgY2xhc3NOYW1lLCBpbnNldCwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkxhYmVsXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJweC0yIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIixcclxuICAgICAgICAgICAgaW5zZXQgJiYgXCJwbC04XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51TGFiZWwuZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuTGFiZWwuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVNlcGFyYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU2VwYXJhdG9yPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvcj5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TZXBhcmF0b3JcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFwiLW14LTEgbXktMSBoLXB4IGJnLW11dGVkXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51U2VwYXJhdG9yLmRpc3BsYXlOYW1lID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvci5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U2hvcnRjdXQgPSAoe1xyXG4gICAgY2xhc3NOYW1lLFxyXG4gICAgLi4ucHJvcHNcclxufTogUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFNwYW5FbGVtZW50PikgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwibWwtYXV0byB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdCBvcGFjaXR5LTYwXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcbkRyb3Bkb3duTWVudVNob3J0Y3V0LmRpc3BsYXlOYW1lID0gXCJEcm9wZG93bk1lbnVTaG9ydGN1dFwiXHJcblxyXG5leHBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51UmFkaW9JdGVtLFxyXG4gICAgRHJvcGRvd25NZW51TGFiZWwsXHJcbiAgICBEcm9wZG93bk1lbnVTZXBhcmF0b3IsXHJcbiAgICBEcm9wZG93bk1lbnVTaG9ydGN1dCxcclxuICAgIERyb3Bkb3duTWVudUdyb3VwLFxyXG4gICAgRHJvcGRvd25NZW51UG9ydGFsLFxyXG4gICAgRHJvcGRvd25NZW51U3ViLFxyXG4gICAgRHJvcGRvd25NZW51U3ViQ29udGVudCxcclxuICAgIERyb3Bkb3duTWVudVN1YlRyaWdnZXIsXHJcbiAgICBEcm9wZG93bk1lbnVSYWRpb0dyb3VwLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZSIsIkNoZWNrIiwiQ2hldnJvblJpZ2h0IiwiQ2lyY2xlIiwiY24iLCJEcm9wZG93bk1lbnUiLCJSb290IiwiRHJvcGRvd25NZW51VHJpZ2dlciIsIlRyaWdnZXIiLCJEcm9wZG93bk1lbnVHcm91cCIsIkdyb3VwIiwiRHJvcGRvd25NZW51UG9ydGFsIiwiUG9ydGFsIiwiRHJvcGRvd25NZW51U3ViIiwiU3ViIiwiRHJvcGRvd25NZW51UmFkaW9Hcm91cCIsIlJhZGlvR3JvdXAiLCJEcm9wZG93bk1lbnVTdWJUcmlnZ2VyIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImluc2V0IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlN1YlRyaWdnZXIiLCJkaXNwbGF5TmFtZSIsIkRyb3Bkb3duTWVudVN1YkNvbnRlbnQiLCJTdWJDb250ZW50IiwiRHJvcGRvd25NZW51Q29udGVudCIsInNpZGVPZmZzZXQiLCJDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkl0ZW0iLCJEcm9wZG93bk1lbnVDaGVja2JveEl0ZW0iLCJjaGVja2VkIiwiQ2hlY2tib3hJdGVtIiwic3BhbiIsIkl0ZW1JbmRpY2F0b3IiLCJEcm9wZG93bk1lbnVSYWRpb0l0ZW0iLCJSYWRpb0l0ZW0iLCJEcm9wZG93bk1lbnVMYWJlbCIsIkxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiU2VwYXJhdG9yIiwiRHJvcGRvd25NZW51U2hvcnRjdXQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/dropdown-menu.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/form.tsx": -/*!************************************!*\ - !*** ./src/components/ui/form.tsx ***! - \************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Form: () => (/* binding */ Form),\n/* harmony export */ FormControl: () => (/* binding */ FormControl),\n/* harmony export */ FormDescription: () => (/* binding */ FormDescription),\n/* harmony export */ FormField: () => (/* binding */ FormField),\n/* harmony export */ FormItem: () => (/* binding */ FormItem),\n/* harmony export */ FormLabel: () => (/* binding */ FormLabel),\n/* harmony export */ FormMessage: () => (/* binding */ FormMessage),\n/* harmony export */ useFormField: () => (/* binding */ useFormField)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* harmony import */ var _components_ui_label__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/label */ \"(ssr)/./src/components/ui/label.tsx\");\n/* __next_internal_client_entry_do_not_use__ useFormField,Form,FormItem,FormLabel,FormControl,FormDescription,FormMessage,FormField auto */ \n\n\n\n\n\nconst Form = react_hook_form__WEBPACK_IMPORTED_MODULE_4__.FormProvider;\nconst FormFieldContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.createContext({});\nconst FormField = ({ ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FormFieldContext.Provider, {\n value: {\n name: props.name\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_hook_form__WEBPACK_IMPORTED_MODULE_4__.Controller, {\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 38,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined);\n};\nconst useFormField = ()=>{\n const fieldContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext(FormFieldContext);\n const itemContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext(FormItemContext);\n const { getFieldState, formState } = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_4__.useFormContext)();\n const fieldState = getFieldState(fieldContext.name, formState);\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within \");\n }\n const { id } = itemContext;\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState\n };\n};\nconst FormItemContext = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.createContext({});\nconst FormItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const id = react__WEBPACK_IMPORTED_MODULE_1__.useId();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FormItemContext.Provider, {\n value: {\n id\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"space-y-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 82,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 81,\n columnNumber: 9\n }, undefined);\n});\nFormItem.displayName = \"FormItem\";\nconst FormLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const { error, formItemId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(error && \"text-destructive\", className),\n htmlFor: formItemId,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 95,\n columnNumber: 9\n }, undefined);\n});\nFormLabel.displayName = \"FormLabel\";\nconst FormControl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ ...props }, ref)=>{\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_5__.Slot, {\n ref: ref,\n id: formItemId,\n \"aria-describedby\": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,\n \"aria-invalid\": !!error,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 112,\n columnNumber: 9\n }, undefined);\n});\nFormControl.displayName = \"FormControl\";\nconst FormDescription = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>{\n const { formDescriptionId } = useFormField();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n id: formDescriptionId,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm text-muted-foreground\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 134,\n columnNumber: 9\n }, undefined);\n});\nFormDescription.displayName = \"FormDescription\";\nconst FormMessage = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>{\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message) : children;\n if (!body) {\n return null;\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ref: ref,\n id: formMessageId,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm font-medium text-destructive\", className),\n ...props,\n children: body\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\form.tsx\",\n lineNumber: 156,\n columnNumber: 9\n }, undefined);\n});\nFormMessage.displayName = \"FormMessage\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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S0E7UUFDTFAsSUFBSUU7UUFDSkksV0FBV3pCLHFEQUFFQSxDQUFDLGlDQUFpQ3lCO1FBQzlDLEdBQUduQixLQUFLOzs7Ozs7QUFHckI7QUFDQThCLGdCQUFnQlAsV0FBVyxHQUFHO0FBRTlCLE1BQU1TLDRCQUFjM0MsNkNBQWdCLENBR2xDLENBQUMsRUFBRThCLFNBQVMsRUFBRWMsUUFBUSxFQUFFLEdBQUdqQyxPQUFPLEVBQUVvQjtJQUNsQyxNQUFNLEVBQUVLLEtBQUssRUFBRVQsYUFBYSxFQUFFLEdBQUdaO0lBQ2pDLE1BQU04QixPQUFPVCxRQUFRVSxPQUFPVixPQUFPVyxXQUFXSDtJQUU5QyxJQUFJLENBQUNDLE1BQU07UUFDUCxPQUFPO0lBQ1g7SUFFQSxxQkFDSSw4REFBQ0g7UUFDR1gsS0FBS0E7UUFDTFAsSUFBSUc7UUFDSkcsV0FBV3pCLHFEQUFFQSxDQUFDLHdDQUF3Q3lCO1FBQ3JELEdBQUduQixLQUFLO2tCQUVSa0M7Ozs7OztBQUdiO0FBQ0FGLFlBQVlULFdBQVcsR0FBRztBQVd6QiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGZvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBTbG90IH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1zbG90XCJcclxuaW1wb3J0IHtcclxuICAgIENvbnRyb2xsZXIsXHJcbiAgICBDb250cm9sbGVyUHJvcHMsXHJcbiAgICBGaWVsZFBhdGgsXHJcbiAgICBGaWVsZFZhbHVlcyxcclxuICAgIEZvcm1Qcm92aWRlcixcclxuICAgIHVzZUZvcm1Db250ZXh0LFxyXG59IGZyb20gXCJyZWFjdC1ob29rLWZvcm1cIlxyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuaW1wb3J0IHsgTGFiZWwgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2xhYmVsXCJcclxuXHJcbmNvbnN0IEZvcm0gPSBGb3JtUHJvdmlkZXJcclxuXHJcbnR5cGUgRm9ybUZpZWxkQ29udGV4dFZhbHVlPFxyXG4gICAgVEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXMgPSBGaWVsZFZhbHVlcyxcclxuICAgIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4gPSBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPlxyXG4+ID0ge1xyXG4gICAgbmFtZTogVE5hbWVcclxufVxyXG5cclxuY29uc3QgRm9ybUZpZWxkQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8Rm9ybUZpZWxkQ29udGV4dFZhbHVlPihcclxuICAgIHt9IGFzIEZvcm1GaWVsZENvbnRleHRWYWx1ZVxyXG4pXHJcblxyXG5jb25zdCBGb3JtRmllbGQgPSA8XHJcbiAgICBURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcyA9IEZpZWxkVmFsdWVzLFxyXG4gICAgVE5hbWUgZXh0ZW5kcyBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPiA9IEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+XHJcbj4oe1xyXG4gICAgLi4ucHJvcHNcclxufTogQ29udHJvbGxlclByb3BzPFRGaWVsZFZhbHVlcywgVE5hbWU+KSA9PiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxGb3JtRmllbGRDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IG5hbWU6IHByb3BzLm5hbWUgfX0+XHJcbiAgICAgICAgICAgIDxDb250cm9sbGVyIHsuLi5wcm9wc30gLz5cclxuICAgICAgICA8L0Zvcm1GaWVsZENvbnRleHQuUHJvdmlkZXI+XHJcbiAgICApXHJcbn1cclxuXHJcbmNvbnN0IHVzZUZvcm1GaWVsZCA9ICgpID0+IHtcclxuICAgIGNvbnN0IGZpZWxkQ29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoRm9ybUZpZWxkQ29udGV4dClcclxuICAgIGNvbnN0IGl0ZW1Db250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChGb3JtSXRlbUNvbnRleHQpXHJcbiAgICBjb25zdCB7IGdldEZpZWxkU3RhdGUsIGZvcm1TdGF0ZSB9ID0gdXNlRm9ybUNvbnRleHQoKVxyXG5cclxuICAgIGNvbnN0IGZpZWxkU3RhdGUgPSBnZXRGaWVsZFN0YXRlKGZpZWxkQ29udGV4dC5uYW1lLCBmb3JtU3RhdGUpXHJcblxyXG4gICAgaWYgKCFmaWVsZENvbnRleHQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VGb3JtRmllbGQgc2hvdWxkIGJlIHVzZWQgd2l0aGluIDxGb3JtRmllbGQ+XCIpXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBpZCB9ID0gaXRlbUNvbnRleHRcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIG5hbWU6IGZpZWxkQ29udGV4dC5uYW1lLFxyXG4gICAgICAgIGZvcm1JdGVtSWQ6IGAke2lkfS1mb3JtLWl0ZW1gLFxyXG4gICAgICAgIGZvcm1EZXNjcmlwdGlvbklkOiBgJHtpZH0tZm9ybS1pdGVtLWRlc2NyaXB0aW9uYCxcclxuICAgICAgICBmb3JtTWVzc2FnZUlkOiBgJHtpZH0tZm9ybS1pdGVtLW1lc3NhZ2VgLFxyXG4gICAgICAgIC4uLmZpZWxkU3RhdGUsXHJcbiAgICB9XHJcbn1cclxuXHJcbnR5cGUgRm9ybUl0ZW1Db250ZXh0VmFsdWUgPSB7XHJcbiAgICBpZDogc3RyaW5nXHJcbn1cclxuXHJcbmNvbnN0IEZvcm1JdGVtQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8Rm9ybUl0ZW1Db250ZXh0VmFsdWU+KFxyXG4gICAge30gYXMgRm9ybUl0ZW1Db250ZXh0VmFsdWVcclxuKVxyXG5cclxuY29uc3QgRm9ybUl0ZW0gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTERpdkVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgY29uc3QgaWQgPSBSZWFjdC51c2VJZCgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybUl0ZW1Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IGlkIH19PlxyXG4gICAgICAgICAgICA8ZGl2IHJlZj17cmVmfSBjbGFzc05hbWU9e2NuKFwic3BhY2UteS0yXCIsIGNsYXNzTmFtZSl9IHsuLi5wcm9wc30gLz5cclxuICAgICAgICA8L0Zvcm1JdGVtQ29udGV4dC5Qcm92aWRlcj5cclxuICAgIClcclxufSlcclxuRm9ybUl0ZW0uZGlzcGxheU5hbWUgPSBcIkZvcm1JdGVtXCJcclxuXHJcbmNvbnN0IEZvcm1MYWJlbCA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBMYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIExhYmVsPlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGVycm9yLCBmb3JtSXRlbUlkIH0gPSB1c2VGb3JtRmllbGQoKVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPExhYmVsXHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKGVycm9yICYmIFwidGV4dC1kZXN0cnVjdGl2ZVwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgICAgICBodG1sRm9yPXtmb3JtSXRlbUlkfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIClcclxufSlcclxuRm9ybUxhYmVsLmRpc3BsYXlOYW1lID0gXCJGb3JtTGFiZWxcIlxyXG5cclxuY29uc3QgRm9ybUNvbnRyb2wgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2xvdD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFNsb3Q+XHJcbj4oKHsgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGVycm9yLCBmb3JtSXRlbUlkLCBmb3JtRGVzY3JpcHRpb25JZCwgZm9ybU1lc3NhZ2VJZCB9ID0gdXNlRm9ybUZpZWxkKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTbG90XHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBpZD17Zm9ybUl0ZW1JZH1cclxuICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17XHJcbiAgICAgICAgICAgICAgICAhZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICA/IGAke2Zvcm1EZXNjcmlwdGlvbklkfWBcclxuICAgICAgICAgICAgICAgICAgICA6IGAke2Zvcm1EZXNjcmlwdGlvbklkfSAke2Zvcm1NZXNzYWdlSWR9YFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGFyaWEtaW52YWxpZD17ISFlcnJvcn1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgIC8+XHJcbiAgICApXHJcbn0pXHJcbkZvcm1Db250cm9sLmRpc3BsYXlOYW1lID0gXCJGb3JtQ29udHJvbFwiXHJcblxyXG5jb25zdCBGb3JtRGVzY3JpcHRpb24gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTFBhcmFncmFwaEVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MUGFyYWdyYXBoRWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBmb3JtRGVzY3JpcHRpb25JZCB9ID0gdXNlRm9ybUZpZWxkKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxwXHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBpZD17Zm9ybURlc2NyaXB0aW9uSWR9XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXCJ0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiLCBjbGFzc05hbWUpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIClcclxufSlcclxuRm9ybURlc2NyaXB0aW9uLmRpc3BsYXlOYW1lID0gXCJGb3JtRGVzY3JpcHRpb25cIlxyXG5cclxuY29uc3QgRm9ybU1lc3NhZ2UgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgSFRNTFBhcmFncmFwaEVsZW1lbnQsXHJcbiAgICBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MUGFyYWdyYXBoRWxlbWVudD5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgIGNvbnN0IHsgZXJyb3IsIGZvcm1NZXNzYWdlSWQgfSA9IHVzZUZvcm1GaWVsZCgpXHJcbiAgICBjb25zdCBib2R5ID0gZXJyb3IgPyBTdHJpbmcoZXJyb3I/Lm1lc3NhZ2UpIDogY2hpbGRyZW5cclxuXHJcbiAgICBpZiAoIWJvZHkpIHtcclxuICAgICAgICByZXR1cm4gbnVsbFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPHBcclxuICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgIGlkPXtmb3JtTWVzc2FnZUlkfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwidGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWRlc3RydWN0aXZlXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIHtib2R5fVxyXG4gICAgICAgIDwvcD5cclxuICAgIClcclxufSlcclxuRm9ybU1lc3NhZ2UuZGlzcGxheU5hbWUgPSBcIkZvcm1NZXNzYWdlXCJcclxuXHJcbmV4cG9ydCB7XHJcbiAgICB1c2VGb3JtRmllbGQsXHJcbiAgICBGb3JtLFxyXG4gICAgRm9ybUl0ZW0sXHJcbiAgICBGb3JtTGFiZWwsXHJcbiAgICBGb3JtQ29udHJvbCxcclxuICAgIEZvcm1EZXNjcmlwdGlvbixcclxuICAgIEZvcm1NZXNzYWdlLFxyXG4gICAgRm9ybUZpZWxkLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlNsb3QiLCJDb250cm9sbGVyIiwiRm9ybVByb3ZpZGVyIiwidXNlRm9ybUNvbnRleHQiLCJjbiIsIkxhYmVsIiwiRm9ybSIsIkZvcm1GaWVsZENvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiRm9ybUZpZWxkIiwicHJvcHMiLCJQcm92aWRlciIsInZhbHVlIiwibmFtZSIsInVzZUZvcm1GaWVsZCIsImZpZWxkQ29udGV4dCIsInVzZUNvbnRleHQiLCJpdGVtQ29udGV4dCIsIkZvcm1JdGVtQ29udGV4dCIsImdldEZpZWxkU3RhdGUiLCJmb3JtU3RhdGUiLCJmaWVsZFN0YXRlIiwiRXJyb3IiLCJpZCIsImZvcm1JdGVtSWQiLCJmb3JtRGVzY3JpcHRpb25JZCIsImZvcm1NZXNzYWdlSWQiLCJGb3JtSXRlbSIsImZvcndhcmRSZWYiLCJjbGFzc05hbWUiLCJyZWYiLCJ1c2VJZCIsImRpdiIsImRpc3BsYXlOYW1lIiwiRm9ybUxhYmVsIiwiZXJyb3IiLCJodG1sRm9yIiwiRm9ybUNvbnRyb2wiLCJhcmlhLWRlc2NyaWJlZGJ5IiwiYXJpYS1pbnZhbGlkIiwiRm9ybURlc2NyaXB0aW9uIiwicCIsIkZvcm1NZXNzYWdlIiwiY2hpbGRyZW4iLCJib2R5IiwiU3RyaW5nIiwibWVzc2FnZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/form.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/input.tsx": -/*!*************************************!*\ - !*** ./src/components/ui/input.tsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Input: () => (/* binding */ Input)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Input = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, type, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: type,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\", className),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\input.tsx\",\n lineNumber: 8,\n columnNumber: 13\n }, undefined);\n});\nInput.displayName = \"Input\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9pbnB1dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUE4QjtBQUVTO0FBRXZDLE1BQU1FLHNCQUFRRiw2Q0FBZ0IsQ0FDMUIsQ0FBQyxFQUFFSSxTQUFTLEVBQUVDLElBQUksRUFBRSxHQUFHQyxPQUFPLEVBQUVDO0lBQzVCLHFCQUNJLDhEQUFDQztRQUNHSCxNQUFNQTtRQUNORCxXQUFXSCxxREFBRUEsQ0FDVCxrWUFDQUc7UUFFSkcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosTUFBTU8sV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxpbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuXHJcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvc2hhcmVkL2xpYi91dGlsc1wiXHJcblxyXG5jb25zdCBJbnB1dCA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJpbnB1dFwiPj4oXHJcbiAgICAoeyBjbGFzc05hbWUsIHR5cGUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT17dHlwZX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgXCJmbGV4IGgtMTAgdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktMiB0ZXh0LWJhc2UgcmluZy1vZmZzZXQtYmFja2dyb3VuZCBmaWxlOmJvcmRlci0wIGZpbGU6YmctdHJhbnNwYXJlbnQgZmlsZTp0ZXh0LXNtIGZpbGU6Zm9udC1tZWRpdW0gZmlsZTp0ZXh0LWZvcmVncm91bmQgcGxhY2Vob2xkZXI6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCBtZDp0ZXh0LXNtXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbklucHV0LmRpc3BsYXlOYW1lID0gXCJJbnB1dFwiXHJcblxyXG5leHBvcnQgeyBJbnB1dCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiSW5wdXQiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwidHlwZSIsInByb3BzIiwicmVmIiwiaW5wdXQiLCJkaXNwbGF5TmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/input.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/label.tsx": -/*!*************************************!*\ - !*** ./src/components/ui/label.tsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Label: () => (/* binding */ Label)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-label */ \"(ssr)/./node_modules/@radix-ui/react-label/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst labelVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\");\nconst Label = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__.Root, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(labelVariants(), className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\label.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined));\nLabel.displayName = _radix_ui_react_label__WEBPACK_IMPORTED_MODULE_4__.Root.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9sYWJlbC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQThCO0FBQ3lCO0FBQ1U7QUFFMUI7QUFFdkMsTUFBTUksZ0JBQWdCRiw2REFBR0EsQ0FDckI7QUFHSixNQUFNRyxzQkFBUUwsNkNBQWdCLENBSTVCLENBQUMsRUFBRU8sU0FBUyxFQUFFLEdBQUdDLE9BQU8sRUFBRUMsb0JBQ3hCLDhEQUFDUix1REFBbUI7UUFDaEJRLEtBQUtBO1FBQ0xGLFdBQVdKLHFEQUFFQSxDQUFDQyxpQkFBaUJHO1FBQzlCLEdBQUdDLEtBQUs7Ozs7OztBQUdqQkgsTUFBTU0sV0FBVyxHQUFHVix1REFBbUIsQ0FBQ1UsV0FBVztBQUVuQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGxhYmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBMYWJlbFByaW1pdGl2ZSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWxhYmVsXCJcclxuaW1wb3J0IHsgY3ZhLCB0eXBlIFZhcmlhbnRQcm9wcyB9IGZyb20gXCJjbGFzcy12YXJpYW5jZS1hdXRob3JpdHlcIlxyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IGxhYmVsVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcInRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy1ub25lIHBlZXItZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIHBlZXItZGlzYWJsZWQ6b3BhY2l0eS03MFwiXHJcbilcclxuXHJcbmNvbnN0IExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIExhYmVsUHJpbWl0aXZlLlJvb3Q+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBMYWJlbFByaW1pdGl2ZS5Sb290PiAmXHJcbiAgICBWYXJpYW50UHJvcHM8dHlwZW9mIGxhYmVsVmFyaWFudHM+XHJcbj4oKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxMYWJlbFByaW1pdGl2ZS5Sb290XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihsYWJlbFZhcmlhbnRzKCksIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuTGFiZWwuZGlzcGxheU5hbWUgPSBMYWJlbFByaW1pdGl2ZS5Sb290LmRpc3BsYXlOYW1lXHJcblxyXG5leHBvcnQgeyBMYWJlbCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkxhYmVsUHJpbWl0aXZlIiwiY3ZhIiwiY24iLCJsYWJlbFZhcmlhbnRzIiwiTGFiZWwiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZWYiLCJSb290IiwiZGlzcGxheU5hbWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/label.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/location-modal.tsx": -/*!**********************************************!*\ - !*** ./src/components/ui/location-modal.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LocationModal: () => (/* binding */ LocationModal)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @hookform/resolvers/zod */ \"(ssr)/./node_modules/@hookform/resolvers/zod/dist/zod.mjs\");\n/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! zod */ \"(ssr)/./node_modules/zod/v4/classic/external.js\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/input */ \"(ssr)/./src/components/ui/input.tsx\");\n/* harmony import */ var _components_ui_label__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/label */ \"(ssr)/./src/components/ui/label.tsx\");\n/* harmony import */ var _components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/dialog */ \"(ssr)/./src/components/ui/dialog.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_MapPin_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=MapPin!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* __next_internal_client_entry_do_not_use__ LocationModal auto */ \n\n\n\n\n\n\n\n\n\n\nconst locationSchema = zod__WEBPACK_IMPORTED_MODULE_8__.object({\n location: zod__WEBPACK_IMPORTED_MODULE_8__.string().optional(),\n currentLocation: zod__WEBPACK_IMPORTED_MODULE_8__.string().optional()\n});\nfunction LocationModal({ open, onOpenChange, initialLocation = \"\", initialCurrentLocation = \"\" }) {\n const { updateLocation, isLoading } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_7__.useSessionStore)();\n const { register, handleSubmit, reset, formState: { errors } } = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_9__.useForm)({\n resolver: (0,_hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_1__.zodResolver)(locationSchema),\n defaultValues: {\n location: initialLocation,\n currentLocation: initialCurrentLocation\n }\n });\n const onSubmit = async (data)=>{\n try {\n await updateLocation(data.location || \"\", data.currentLocation || \"\");\n sonner__WEBPACK_IMPORTED_MODULE_2__.toast.success(\"Локация успешно обновлена\");\n onOpenChange(false);\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_2__.toast.error(error?.response?.data?.message || \"Ошибка при обновлении локации\");\n }\n };\n const handleClose = ()=>{\n reset();\n onOpenChange(false);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.Dialog, {\n open: open,\n onOpenChange: handleClose,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.DialogContent, {\n className: \"sm:max-w-[425px]\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.DialogHeader, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.DialogTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_MapPin_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 78,\n columnNumber: 25\n }, this),\n \"Изменить локацию\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 77,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.DialogDescription, {\n children: \"Укажите вашу локацию для поиска заказов\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 81,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 76,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleSubmit(onSubmit),\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_5__.Label, {\n htmlFor: \"location\",\n children: \"Город / Район\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 88,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_4__.Input, {\n id: \"location\",\n placeholder: \"Например: Москва, ЮАО\",\n ...register(\"location\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 89,\n columnNumber: 25\n }, this),\n errors.location && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-500\",\n children: errors.location.message\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 95,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 87,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_5__.Label, {\n htmlFor: \"currentLocation\",\n children: \"Текущее местоположение\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 100,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_4__.Input, {\n id: \"currentLocation\",\n placeholder: \"Координаты или адрес\",\n ...register(\"currentLocation\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 101,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted-foreground\",\n children: \"Можно оставить пустым, если не хотите показывать точное местоположение\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 106,\n columnNumber: 25\n }, this),\n errors.currentLocation && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-500\",\n children: errors.currentLocation.message\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 110,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 99,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.DialogFooter, {\n className: \"gap-2 sm:gap-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.DialogClose, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n type: \"button\",\n variant: \"outline\",\n children: \"Отмена\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 116,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 115,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n type: \"submit\",\n disabled: isLoading,\n children: isLoading ? \"Сохранение...\" : \"Сохранить\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 120,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 114,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 86,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 75,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\location-modal.tsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9sb2NhdGlvbi1tb2RhbC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHeUM7QUFDWTtBQUM5QjtBQUNPO0FBQ2lCO0FBQ0Y7QUFDQTtBQVNkO0FBQzJCO0FBQ3JCO0FBRXJDLE1BQU1nQixpQkFBaUJkLHVDQUFRLENBQUM7SUFDNUJnQixVQUFVaEIsdUNBQVEsR0FBR2tCLFFBQVE7SUFDN0JDLGlCQUFpQm5CLHVDQUFRLEdBQUdrQixRQUFRO0FBQ3hDO0FBV08sU0FBU0UsY0FBYyxFQUMxQkMsSUFBSSxFQUNKQyxZQUFZLEVBQ1pDLGtCQUFrQixFQUFFLEVBQ3BCQyx5QkFBeUIsRUFBRSxFQUNWO0lBQ2pCLE1BQU0sRUFBRUMsY0FBYyxFQUFFQyxTQUFTLEVBQUUsR0FBR2Qsd0VBQWVBO0lBRXJELE1BQU0sRUFDRmUsUUFBUSxFQUNSQyxZQUFZLEVBQ1pDLEtBQUssRUFDTEMsV0FBVyxFQUFFQyxNQUFNLEVBQUUsRUFDeEIsR0FBR2pDLHdEQUFPQSxDQUFtQjtRQUMxQmtDLFVBQVVqQyxvRUFBV0EsQ0FBQ2U7UUFDdEJtQixlQUFlO1lBQ1hqQixVQUFVTztZQUNWSixpQkFBaUJLO1FBQ3JCO0lBQ0o7SUFFQSxNQUFNVSxXQUFXLE9BQU9DO1FBQ3BCLElBQUk7WUFDQSxNQUFNVixlQUFlVSxLQUFLbkIsUUFBUSxJQUFJLElBQUltQixLQUFLaEIsZUFBZSxJQUFJO1lBQ2xFbEIseUNBQUtBLENBQUNtQyxPQUFPLENBQUM7WUFDZGQsYUFBYTtRQUNqQixFQUFFLE9BQU9lLE9BQVk7WUFDakJwQyx5Q0FBS0EsQ0FBQ29DLEtBQUssQ0FBQ0EsT0FBT0MsVUFBVUgsTUFBTUksV0FBVztRQUNsRDtJQUNKO0lBRUEsTUFBTUMsY0FBYztRQUNoQlg7UUFDQVAsYUFBYTtJQUNqQjtJQUVBLHFCQUNJLDhEQUFDakIseURBQU1BO1FBQUNnQixNQUFNQTtRQUFNQyxjQUFja0I7a0JBQzlCLDRFQUFDbEMsZ0VBQWFBO1lBQUNtQyxXQUFVOzs4QkFDckIsOERBQUNoQywrREFBWUE7O3NDQUNULDhEQUFDQyw4REFBV0E7NEJBQUMrQixXQUFVOzs4Q0FDbkIsOERBQUM1QixtRkFBTUE7b0NBQUM0QixXQUFVOzs7Ozs7Z0NBQVk7Ozs7Ozs7c0NBR2xDLDhEQUFDbEMsb0VBQWlCQTtzQ0FBQzs7Ozs7Ozs7Ozs7OzhCQUt2Qiw4REFBQ21DO29CQUFLUixVQUFVTixhQUFhTTtvQkFBV08sV0FBVTs7c0NBQzlDLDhEQUFDRTs0QkFBSUYsV0FBVTs7OENBQ1gsOERBQUNyQyx1REFBS0E7b0NBQUN3QyxTQUFROzhDQUFXOzs7Ozs7OENBQzFCLDhEQUFDekMsdURBQUtBO29DQUNGMEMsSUFBRztvQ0FDSEMsYUFBWTtvQ0FDWCxHQUFHbkIsU0FBUyxXQUFXOzs7Ozs7Z0NBRTNCSSxPQUFPZixRQUFRLGtCQUNaLDhEQUFDK0I7b0NBQUVOLFdBQVU7OENBQXdCVixPQUFPZixRQUFRLENBQUN1QixPQUFPOzs7Ozs7Ozs7Ozs7c0NBSXBFLDhEQUFDSTs0QkFBSUYsV0FBVTs7OENBQ1gsOERBQUNyQyx1REFBS0E7b0NBQUN3QyxTQUFROzhDQUFrQjs7Ozs7OzhDQUNqQyw4REFBQ3pDLHVEQUFLQTtvQ0FDRjBDLElBQUc7b0NBQ0hDLGFBQVk7b0NBQ1gsR0FBR25CLFNBQVMsa0JBQWtCOzs7Ozs7OENBRW5DLDhEQUFDb0I7b0NBQUVOLFdBQVU7OENBQWdDOzs7Ozs7Z0NBRzVDVixPQUFPWixlQUFlLGtCQUNuQiw4REFBQzRCO29DQUFFTixXQUFVOzhDQUF3QlYsT0FBT1osZUFBZSxDQUFDb0IsT0FBTzs7Ozs7Ozs7Ozs7O3NDQUkzRSw4REFBQy9CLCtEQUFZQTs0QkFBQ2lDLFdBQVU7OzhDQUNwQiw4REFBQzlCLDhEQUFXQTtvQ0FBQ3FDLE9BQU87OENBQ2hCLDRFQUFDOUMseURBQU1BO3dDQUFDK0MsTUFBSzt3Q0FBU0MsU0FBUTtrREFBVTs7Ozs7Ozs7Ozs7OENBSTVDLDhEQUFDaEQseURBQU1BO29DQUFDK0MsTUFBSztvQ0FBU0UsVUFBVXpCOzhDQUMzQkEsWUFBWSxrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTzNEIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcbG9jYXRpb24tbW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgeyB1c2VGb3JtIH0gZnJvbSBcInJlYWN0LWhvb2stZm9ybVwiXG5pbXBvcnQgeyB6b2RSZXNvbHZlciB9IGZyb20gXCJAaG9va2Zvcm0vcmVzb2x2ZXJzL3pvZFwiXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiXG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gXCJzb25uZXJcIlxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2lucHV0XCJcbmltcG9ydCB7IExhYmVsIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9sYWJlbFwiXG5pbXBvcnQgeyBcbiAgICBEaWFsb2csIFxuICAgIERpYWxvZ0NvbnRlbnQsIFxuICAgIERpYWxvZ0Rlc2NyaXB0aW9uLCBcbiAgICBEaWFsb2dGb290ZXIsIFxuICAgIERpYWxvZ0hlYWRlciwgXG4gICAgRGlhbG9nVGl0bGUsIFxuICAgIERpYWxvZ0Nsb3NlIFxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2RpYWxvZ1wiXG5pbXBvcnQgeyB1c2VTZXNzaW9uU3RvcmUgfSBmcm9tIFwiQC9lbnRpdGllcy9zZXNzaW9uL3N0b3JlXCJcbmltcG9ydCB7IE1hcFBpbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuXG5jb25zdCBsb2NhdGlvblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBsb2NhdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGN1cnJlbnRMb2NhdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSlcblxudHlwZSBMb2NhdGlvbkZvcm1EYXRhID0gei5pbmZlcjx0eXBlb2YgbG9jYXRpb25TY2hlbWE+XG5cbmludGVyZmFjZSBMb2NhdGlvbk1vZGFsUHJvcHMge1xuICAgIG9wZW46IGJvb2xlYW5cbiAgICBvbk9wZW5DaGFuZ2U6IChvcGVuOiBib29sZWFuKSA9PiB2b2lkXG4gICAgaW5pdGlhbExvY2F0aW9uPzogc3RyaW5nXG4gICAgaW5pdGlhbEN1cnJlbnRMb2NhdGlvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTG9jYXRpb25Nb2RhbCh7IFxuICAgIG9wZW4sIFxuICAgIG9uT3BlbkNoYW5nZSwgXG4gICAgaW5pdGlhbExvY2F0aW9uID0gXCJcIiwgXG4gICAgaW5pdGlhbEN1cnJlbnRMb2NhdGlvbiA9IFwiXCIgXG59OiBMb2NhdGlvbk1vZGFsUHJvcHMpIHtcbiAgICBjb25zdCB7IHVwZGF0ZUxvY2F0aW9uLCBpc0xvYWRpbmcgfSA9IHVzZVNlc3Npb25TdG9yZSgpXG5cbiAgICBjb25zdCB7XG4gICAgICAgIHJlZ2lzdGVyLFxuICAgICAgICBoYW5kbGVTdWJtaXQsXG4gICAgICAgIHJlc2V0LFxuICAgICAgICBmb3JtU3RhdGU6IHsgZXJyb3JzIH0sXG4gICAgfSA9IHVzZUZvcm08TG9jYXRpb25Gb3JtRGF0YT4oe1xuICAgICAgICByZXNvbHZlcjogem9kUmVzb2x2ZXIobG9jYXRpb25TY2hlbWEpLFxuICAgICAgICBkZWZhdWx0VmFsdWVzOiB7XG4gICAgICAgICAgICBsb2NhdGlvbjogaW5pdGlhbExvY2F0aW9uLFxuICAgICAgICAgICAgY3VycmVudExvY2F0aW9uOiBpbml0aWFsQ3VycmVudExvY2F0aW9uLFxuICAgICAgICB9LFxuICAgIH0pXG5cbiAgICBjb25zdCBvblN1Ym1pdCA9IGFzeW5jIChkYXRhOiBMb2NhdGlvbkZvcm1EYXRhKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCB1cGRhdGVMb2NhdGlvbihkYXRhLmxvY2F0aW9uIHx8IFwiXCIsIGRhdGEuY3VycmVudExvY2F0aW9uIHx8IFwiXCIpXG4gICAgICAgICAgICB0b2FzdC5zdWNjZXNzKFwi0JvQvtC60LDRhtC40Y8g0YPRgdC/0LXRiNC90L4g0L7QsdC90L7QstC70LXQvdCwXCIpXG4gICAgICAgICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UpXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKGVycm9yPy5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcItCe0YjQuNCx0LrQsCDQv9GA0Lgg0L7QsdC90L7QstC70LXQvdC40Lgg0LvQvtC60LDRhtC40LhcIilcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT4ge1xuICAgICAgICByZXNldCgpXG4gICAgICAgIG9uT3BlbkNoYW5nZShmYWxzZSlcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8RGlhbG9nIG9wZW49e29wZW59IG9uT3BlbkNoYW5nZT17aGFuZGxlQ2xvc2V9PlxuICAgICAgICAgICAgPERpYWxvZ0NvbnRlbnQgY2xhc3NOYW1lPVwic206bWF4LXctWzQyNXB4XVwiPlxuICAgICAgICAgICAgICAgIDxEaWFsb2dIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxEaWFsb2dUaXRsZSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPE1hcFBpbiBjbGFzc05hbWU9XCJ3LTUgaC01XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgINCY0LfQvNC10L3QuNGC0Ywg0LvQvtC60LDRhtC40Y5cbiAgICAgICAgICAgICAgICAgICAgPC9EaWFsb2dUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPERpYWxvZ0Rlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAg0KPQutCw0LbQuNGC0LUg0LLQsNGI0YMg0LvQvtC60LDRhtC40Y4g0LTQu9GPINC/0L7QuNGB0LrQsCDQt9Cw0LrQsNC30L7QslxuICAgICAgICAgICAgICAgICAgICA8L0RpYWxvZ0Rlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgIDwvRGlhbG9nSGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgPGZvcm0gb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdChvblN1Ym1pdCl9IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGh0bWxGb3I9XCJsb2NhdGlvblwiPtCT0L7RgNC+0LQgLyDQoNCw0LnQvtC9PC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwibG9jYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi0J3QsNC/0YDQuNC80LXRgDog0JzQvtGB0LrQstCwLCDQrtCQ0J5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZWdpc3RlcihcImxvY2F0aW9uXCIpfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvcnMubG9jYXRpb24gJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1yZWQtNTAwXCI+e2Vycm9ycy5sb2NhdGlvbi5tZXNzYWdlfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cImN1cnJlbnRMb2NhdGlvblwiPtCi0LXQutGD0YnQtdC1INC80LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LU8L0xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjdXJyZW50TG9jYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi0JrQvtC+0YDQtNC40L3QsNGC0Ysg0LjQu9C4INCw0LTRgNC10YFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZWdpc3RlcihcImN1cnJlbnRMb2NhdGlvblwiKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCc0L7QttC90L4g0L7RgdGC0LDQstC40YLRjCDQv9GD0YHRgtGL0LwsINC10YHQu9C4INC90LUg0YXQvtGC0LjRgtC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINGC0L7Rh9C90L7QtSDQvNC10YHRgtC+0L/QvtC70L7QttC10L3QuNC1XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZXJyb3JzLmN1cnJlbnRMb2NhdGlvbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXJlZC01MDBcIj57ZXJyb3JzLmN1cnJlbnRMb2NhdGlvbi5tZXNzYWdlfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxEaWFsb2dGb290ZXIgY2xhc3NOYW1lPVwiZ2FwLTIgc206Z2FwLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxEaWFsb2dDbG9zZSBhc0NoaWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cImJ1dHRvblwiIHZhcmlhbnQ9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCe0YLQvNC10L3QsFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9EaWFsb2dDbG9zZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInN1Ym1pdFwiIGRpc2FibGVkPXtpc0xvYWRpbmd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmcgPyBcItCh0L7RhdGA0LDQvdC10L3QuNC1Li4uXCIgOiBcItCh0L7RhdGA0LDQvdC40YLRjFwifVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvRGlhbG9nRm9vdGVyPlxuICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDwvRGlhbG9nQ29udGVudD5cbiAgICAgICAgPC9EaWFsb2c+XG4gICAgKVxufVxuIl0sIm5hbWVzIjpbInVzZUZvcm0iLCJ6b2RSZXNvbHZlciIsInoiLCJ0b2FzdCIsIkJ1dHRvbiIsIklucHV0IiwiTGFiZWwiLCJEaWFsb2ciLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nRGVzY3JpcHRpb24iLCJEaWFsb2dGb290ZXIiLCJEaWFsb2dIZWFkZXIiLCJEaWFsb2dUaXRsZSIsIkRpYWxvZ0Nsb3NlIiwidXNlU2Vzc2lvblN0b3JlIiwiTWFwUGluIiwibG9jYXRpb25TY2hlbWEiLCJvYmplY3QiLCJsb2NhdGlvbiIsInN0cmluZyIsIm9wdGlvbmFsIiwiY3VycmVudExvY2F0aW9uIiwiTG9jYXRpb25Nb2RhbCIsIm9wZW4iLCJvbk9wZW5DaGFuZ2UiLCJpbml0aWFsTG9jYXRpb24iLCJpbml0aWFsQ3VycmVudExvY2F0aW9uIiwidXBkYXRlTG9jYXRpb24iLCJpc0xvYWRpbmciLCJyZWdpc3RlciIsImhhbmRsZVN1Ym1pdCIsInJlc2V0IiwiZm9ybVN0YXRlIiwiZXJyb3JzIiwicmVzb2x2ZXIiLCJkZWZhdWx0VmFsdWVzIiwib25TdWJtaXQiLCJkYXRhIiwic3VjY2VzcyIsImVycm9yIiwicmVzcG9uc2UiLCJtZXNzYWdlIiwiaGFuZGxlQ2xvc2UiLCJjbGFzc05hbWUiLCJmb3JtIiwiZGl2IiwiaHRtbEZvciIsImlkIiwicGxhY2Vob2xkZXIiLCJwIiwiYXNDaGlsZCIsInR5cGUiLCJ2YXJpYW50IiwiZGlzYWJsZWQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/location-modal.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/rating.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/rating.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Rating: () => (/* binding */ Rating),\n/* harmony export */ useRandomRating: () => (/* binding */ useRandomRating)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Star_lucide_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! __barrel_optimize__?names=Star!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/star.js\");\n/* __next_internal_client_entry_do_not_use__ Rating,useRandomRating auto */ \n\n\nfunction Rating({ value, showValue = true, size = \"md\" }) {\n // Определяем цвет звезды на основе рейтинга\n const getStarColor = ()=>{\n if (value >= 4) return \"text-green-600 dark:text-green-500\";\n if (value >= 3) return \"text-blue-600 dark:text-blue-500\";\n return \"text-red-600 dark:text-red-500\";\n };\n // Размеры иконки\n const sizeClasses = {\n sm: \"h-4 w-4\",\n md: \"h-5 w-5\",\n lg: \"h-6 w-6\"\n };\n // Создаем массив из 5 звезд с процентом заполнения\n const stars = Array.from({\n length: 5\n }, (_, index)=>{\n const starValue = index + 1;\n const fillPercentage = Math.max(0, Math.min(100, (value - index) * 100));\n return {\n index,\n fillPercentage\n };\n });\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1\",\n children: stars.map(({ index, fillPercentage })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Star_lucide_react__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: `${sizeClasses[size]} text-muted-foreground/30`\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rating.tsx\",\n lineNumber: 42,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 overflow-hidden\",\n style: {\n width: `${fillPercentage}%`\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Star_lucide_react__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: `${sizeClasses[size]} ${getStarColor()} fill-current`\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rating.tsx\",\n lineNumber: 50,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rating.tsx\",\n lineNumber: 46,\n columnNumber: 25\n }, this)\n ]\n }, index, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rating.tsx\",\n lineNumber: 40,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rating.tsx\",\n lineNumber: 38,\n columnNumber: 13\n }, this),\n showValue && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `font-semibold ${getStarColor()}`,\n children: value.toFixed(2)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rating.tsx\",\n lineNumber: 60,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rating.tsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this);\n}\n// Хук для генерации случайного рейтинга (заглушка)\nfunction useRandomRating() {\n const [rating, setRating] = react__WEBPACK_IMPORTED_MODULE_1__.useState(0);\n react__WEBPACK_IMPORTED_MODULE_1__.useEffect({\n \"useRandomRating.useEffect\": ()=>{\n // Генерируем начальный случайный рейтинг от 0 до 5\n setRating(Math.random() * 5);\n // Обновляем рейтинг каждую секунду (заглушка)\n const interval = setInterval({\n \"useRandomRating.useEffect.interval\": ()=>{\n setRating(Math.random() * 5);\n }\n }[\"useRandomRating.useEffect.interval\"], 1000);\n return ({\n \"useRandomRating.useEffect\": ()=>clearInterval(interval)\n })[\"useRandomRating.useEffect\"];\n }\n }[\"useRandomRating.useEffect\"], []);\n return rating;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9yYXRpbmcudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRThCO0FBQ0s7QUFRNUIsU0FBU0UsT0FBTyxFQUFFQyxLQUFLLEVBQUVDLFlBQVksSUFBSSxFQUFFQyxPQUFPLElBQUksRUFBZTtJQUN4RSw0Q0FBNEM7SUFDNUMsTUFBTUMsZUFBZTtRQUNqQixJQUFJSCxTQUFTLEdBQUcsT0FBTztRQUN2QixJQUFJQSxTQUFTLEdBQUcsT0FBTztRQUN2QixPQUFPO0lBQ1g7SUFFQSxpQkFBaUI7SUFDakIsTUFBTUksY0FBYztRQUNoQkMsSUFBSTtRQUNKQyxJQUFJO1FBQ0pDLElBQUk7SUFDUjtJQUVBLG1EQUFtRDtJQUNuRCxNQUFNQyxRQUFRQyxNQUFNQyxJQUFJLENBQUM7UUFBRUMsUUFBUTtJQUFFLEdBQUcsQ0FBQ0MsR0FBR0M7UUFDeEMsTUFBTUMsWUFBWUQsUUFBUTtRQUMxQixNQUFNRSxpQkFBaUJDLEtBQUtDLEdBQUcsQ0FBQyxHQUFHRCxLQUFLRSxHQUFHLENBQUMsS0FBSyxDQUFDbEIsUUFBUWEsS0FBSSxJQUFLO1FBRW5FLE9BQU87WUFBRUE7WUFBT0U7UUFBZTtJQUNuQztJQUVBLHFCQUNJLDhEQUFDSTtRQUFJQyxXQUFVOzswQkFFWCw4REFBQ0Q7Z0JBQUlDLFdBQVU7MEJBQ1ZaLE1BQU1hLEdBQUcsQ0FBQyxDQUFDLEVBQUVSLEtBQUssRUFBRUUsY0FBYyxFQUFFLGlCQUNqQyw4REFBQ0k7d0JBQWdCQyxXQUFVOzswQ0FFdkIsOERBQUN0QixnRkFBSUE7Z0NBQ0RzQixXQUFXLEdBQUdoQixXQUFXLENBQUNGLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQzs7Ozs7OzBDQUc5RCw4REFBQ2lCO2dDQUNHQyxXQUFVO2dDQUNWRSxPQUFPO29DQUFFQyxPQUFPLEdBQUdSLGVBQWUsQ0FBQyxDQUFDO2dDQUFDOzBDQUVyQyw0RUFBQ2pCLGdGQUFJQTtvQ0FDRHNCLFdBQVcsR0FBR2hCLFdBQVcsQ0FBQ0YsS0FBSyxDQUFDLENBQUMsRUFBRUMsZUFBZSxhQUFhLENBQUM7Ozs7Ozs7Ozs7Ozt1QkFYbEVVOzs7Ozs7Ozs7O1lBbUJqQlosMkJBQ0csOERBQUN1QjtnQkFBS0osV0FBVyxDQUFDLGNBQWMsRUFBRWpCLGdCQUFnQjswQkFDN0NILE1BQU15QixPQUFPLENBQUM7Ozs7Ozs7Ozs7OztBQUtuQztBQUVBLG1EQUFtRDtBQUM1QyxTQUFTQztJQUNaLE1BQU0sQ0FBQ0MsUUFBUUMsVUFBVSxHQUFHL0IsMkNBQWMsQ0FBQztJQUUzQ0EsNENBQWU7cUNBQUM7WUFDWixtREFBbUQ7WUFDbkQrQixVQUFVWixLQUFLZSxNQUFNLEtBQUs7WUFFMUIsOENBQThDO1lBQzlDLE1BQU1DLFdBQVdDO3NEQUFZO29CQUN6QkwsVUFBVVosS0FBS2UsTUFBTSxLQUFLO2dCQUM5QjtxREFBRztZQUVIOzZDQUFPLElBQU1HLGNBQWNGOztRQUMvQjtvQ0FBRyxFQUFFO0lBRUwsT0FBT0w7QUFDWCIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXHJhdGluZy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IFN0YXIgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcblxuaW50ZXJmYWNlIFJhdGluZ1Byb3BzIHtcbiAgICB2YWx1ZTogbnVtYmVyXG4gICAgc2hvd1ZhbHVlPzogYm9vbGVhblxuICAgIHNpemU/OiBcInNtXCIgfCBcIm1kXCIgfCBcImxnXCJcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJhdGluZyh7IHZhbHVlLCBzaG93VmFsdWUgPSB0cnVlLCBzaXplID0gXCJtZFwiIH06IFJhdGluZ1Byb3BzKSB7XG4gICAgLy8g0J7Qv9GA0LXQtNC10LvRj9C10Lwg0YbQstC10YIg0LfQstC10LfQtNGLINC90LAg0L7RgdC90L7QstC1INGA0LXQudGC0LjQvdCz0LBcbiAgICBjb25zdCBnZXRTdGFyQ29sb3IgPSAoKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSA+PSA0KSByZXR1cm4gXCJ0ZXh0LWdyZWVuLTYwMCBkYXJrOnRleHQtZ3JlZW4tNTAwXCJcbiAgICAgICAgaWYgKHZhbHVlID49IDMpIHJldHVybiBcInRleHQtYmx1ZS02MDAgZGFyazp0ZXh0LWJsdWUtNTAwXCJcbiAgICAgICAgcmV0dXJuIFwidGV4dC1yZWQtNjAwIGRhcms6dGV4dC1yZWQtNTAwXCJcbiAgICB9XG5cbiAgICAvLyDQoNCw0LfQvNC10YDRiyDQuNC60L7QvdC60LhcbiAgICBjb25zdCBzaXplQ2xhc3NlcyA9IHtcbiAgICAgICAgc206IFwiaC00IHctNFwiLFxuICAgICAgICBtZDogXCJoLTUgdy01XCIsXG4gICAgICAgIGxnOiBcImgtNiB3LTZcIlxuICAgIH1cblxuICAgIC8vINCh0L7Qt9C00LDQtdC8INC80LDRgdGB0LjQsiDQuNC3IDUg0LfQstC10LfQtCDRgSDQv9GA0L7RhtC10L3RgtC+0Lwg0LfQsNC/0L7Qu9C90LXQvdC40Y9cbiAgICBjb25zdCBzdGFycyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDUgfSwgKF8sIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXJWYWx1ZSA9IGluZGV4ICsgMVxuICAgICAgICBjb25zdCBmaWxsUGVyY2VudGFnZSA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgKHZhbHVlIC0gaW5kZXgpICogMTAwKSlcblxuICAgICAgICByZXR1cm4geyBpbmRleCwgZmlsbFBlcmNlbnRhZ2UgfVxuICAgIH0pXG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgICB7LyogNSDQt9Cy0LXQt9C0INGBINC/0YDQvtCz0YDQtdGB0YEt0LHQsNGA0L7QvCAqL31cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgICAgICAgICAgICB7c3RhcnMubWFwKCh7IGluZGV4LCBmaWxsUGVyY2VudGFnZSB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtpbmRleH0gY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDQpNC+0L3QvtCy0LDRjyDQt9Cy0LXQt9C00LAgKNGB0LXRgNCw0Y8pICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake3NpemVDbGFzc2VzW3NpemVdfSB0ZXh0LW11dGVkLWZvcmVncm91bmQvMzBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDQl9Cw0L/QvtC70L3QtdC90L3QsNGPINC30LLQtdC30LTQsCAo0L/RgNC+0LPRgNC10YHRgSkgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBvdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBgJHtmaWxsUGVyY2VudGFnZX0lYCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7c2l6ZUNsYXNzZXNbc2l6ZV19ICR7Z2V0U3RhckNvbG9yKCl9IGZpbGwtY3VycmVudGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICB7Lyog0KfQuNGB0LvQvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1INGB0L/RgNCw0LLQsCAqL31cbiAgICAgICAgICAgIHtzaG93VmFsdWUgJiYgKFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YGZvbnQtc2VtaWJvbGQgJHtnZXRTdGFyQ29sb3IoKX1gfT5cbiAgICAgICAgICAgICAgICAgICAge3ZhbHVlLnRvRml4ZWQoMil9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG4vLyDQpdGD0Log0LTQu9GPINCz0LXQvdC10YDQsNGG0LjQuCDRgdC70YPRh9Cw0LnQvdC+0LPQviDRgNC10LnRgtC40L3Qs9CwICjQt9Cw0LPQu9GD0YjQutCwKVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVJhbmRvbVJhdGluZygpIHtcbiAgICBjb25zdCBbcmF0aW5nLCBzZXRSYXRpbmddID0gUmVhY3QudXNlU3RhdGUoMClcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vINCT0LXQvdC10YDQuNGA0YPQtdC8INC90LDRh9Cw0LvRjNC90YvQuSDRgdC70YPRh9Cw0LnQvdGL0Lkg0YDQtdC50YLQuNC90LMg0L7RgiAwINC00L4gNVxuICAgICAgICBzZXRSYXRpbmcoTWF0aC5yYW5kb20oKSAqIDUpXG5cbiAgICAgICAgLy8g0J7QsdC90L7QstC70Y/QtdC8INGA0LXQudGC0LjQvdCzINC60LDQttC00YPRjiDRgdC10LrRg9C90LTRgyAo0LfQsNCz0LvRg9GI0LrQsClcbiAgICAgICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICBzZXRSYXRpbmcoTWF0aC5yYW5kb20oKSAqIDUpXG4gICAgICAgIH0sIDEwMDApXG5cbiAgICAgICAgcmV0dXJuICgpID0+IGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpXG4gICAgfSwgW10pXG5cbiAgICByZXR1cm4gcmF0aW5nXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTdGFyIiwiUmF0aW5nIiwidmFsdWUiLCJzaG93VmFsdWUiLCJzaXplIiwiZ2V0U3RhckNvbG9yIiwic2l6ZUNsYXNzZXMiLCJzbSIsIm1kIiwibGciLCJzdGFycyIsIkFycmF5IiwiZnJvbSIsImxlbmd0aCIsIl8iLCJpbmRleCIsInN0YXJWYWx1ZSIsImZpbGxQZXJjZW50YWdlIiwiTWF0aCIsIm1heCIsIm1pbiIsImRpdiIsImNsYXNzTmFtZSIsIm1hcCIsInN0eWxlIiwid2lkdGgiLCJzcGFuIiwidG9GaXhlZCIsInVzZVJhbmRvbVJhdGluZyIsInJhdGluZyIsInNldFJhdGluZyIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwicmFuZG9tIiwiaW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsImNsZWFySW50ZXJ2YWwiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/rating.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/rich-text-editor.tsx": -/*!************************************************!*\ - !*** ./src/components/ui/rich-text-editor.tsx ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RichTextEditor: () => (/* binding */ RichTextEditor)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _tiptap_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tiptap/react */ \"(ssr)/./node_modules/@tiptap/react/dist/index.js\");\n/* harmony import */ var _tiptap_starter_kit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tiptap/starter-kit */ \"(ssr)/./node_modules/@tiptap/starter-kit/dist/index.js\");\n/* harmony import */ var _tiptap_extension_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tiptap/extension-link */ \"(ssr)/./node_modules/@tiptap/extension-link/dist/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Bold,Italic,Link,List,ListOrdered,Redo,Undo,Unlink!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/bold.js\");\n/* harmony import */ var _barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=Bold,Italic,Link,List,ListOrdered,Redo,Undo,Unlink!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/italic.js\");\n/* harmony import */ var _barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Bold,Italic,Link,List,ListOrdered,Redo,Undo,Unlink!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/list.js\");\n/* harmony import */ var _barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Bold,Italic,Link,List,ListOrdered,Redo,Undo,Unlink!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/list-ordered.js\");\n/* harmony import */ var _barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Bold,Italic,Link,List,ListOrdered,Redo,Undo,Unlink!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/unlink.js\");\n/* harmony import */ var _barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Bold,Italic,Link,List,ListOrdered,Redo,Undo,Unlink!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/link.js\");\n/* harmony import */ var _barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Bold,Italic,Link,List,ListOrdered,Redo,Undo,Unlink!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/undo.js\");\n/* harmony import */ var _barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=Bold,Italic,Link,List,ListOrdered,Redo,Undo,Unlink!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/redo.js\");\n/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* __next_internal_client_entry_do_not_use__ RichTextEditor auto */ \n\n\n\n\n\n\nfunction RichTextEditor({ content, onChange, placeholder, maxLength }) {\n const editor = (0,_tiptap_react__WEBPACK_IMPORTED_MODULE_5__.useEditor)({\n immediatelyRender: false,\n extensions: [\n _tiptap_starter_kit__WEBPACK_IMPORTED_MODULE_1__[\"default\"].configure({\n // Отключаем встроенное расширение Link, чтобы использовать своё\n link: false\n }),\n _tiptap_extension_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"].configure({\n openOnClick: false,\n HTMLAttributes: {\n class: \"text-blue-600 hover:underline cursor-pointer\"\n }\n })\n ],\n content,\n onUpdate: {\n \"RichTextEditor.useEditor[editor]\": ({ editor })=>{\n const html = editor.getHTML();\n // Проверяем лимит символов (простой подсчёт текста без HTML тегов)\n const text = editor.getText();\n if (maxLength && text.length > maxLength) {\n return;\n }\n onChange(html);\n }\n }[\"RichTextEditor.useEditor[editor]\"],\n editorProps: {\n attributes: {\n class: \"prose prose-sm max-w-none focus:outline-none min-h-[200px] px-3 py-2\"\n }\n }\n });\n const handleLinkClick = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)({\n \"RichTextEditor.useCallback[handleLinkClick]\": (e)=>{\n e.preventDefault();\n const href = e.currentTarget.getAttribute(\"href\");\n if (!href) return;\n // Проверяем, является ли ссылка внешней\n const isExternal = href.startsWith(\"http://\") || href.startsWith(\"https://\");\n if (isExternal) {\n const domain = new URL(href).hostname;\n const confirmed = confirm(`Вы переходите на внешний ресурс: ${domain}\\n\\n` + `Ссылка: ${href}\\n\\n` + `Вы уверены, что хотите перейти?`);\n if (confirmed) {\n window.open(href, \"_blank\", \"noopener,noreferrer\");\n }\n } else {\n window.open(href, \"_blank\");\n }\n }\n }[\"RichTextEditor.useCallback[handleLinkClick]\"], []);\n const setLink = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)({\n \"RichTextEditor.useCallback[setLink]\": ()=>{\n if (!editor) return;\n const previousUrl = editor.getAttributes(\"link\").href;\n const url = window.prompt(\"Введите URL ссылки:\", previousUrl || \"\");\n if (url === null) {\n return;\n }\n if (url === \"\") {\n editor.chain().focus().extendMarkRange(\"link\").unsetLink().run();\n return;\n }\n editor.chain().focus().extendMarkRange(\"link\").setLink({\n href: url\n }).run();\n }\n }[\"RichTextEditor.useCallback[setLink]\"], [\n editor\n ]);\n const unsetLink = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)({\n \"RichTextEditor.useCallback[unsetLink]\": ()=>{\n if (!editor) return;\n editor.chain().focus().extendMarkRange(\"link\").unsetLink().run();\n }\n }[\"RichTextEditor.useCallback[unsetLink]\"], [\n editor\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)({\n \"RichTextEditor.useEffect\": ()=>{\n if (editor && content !== editor.getHTML()) {\n editor.commands.setContent(content);\n }\n }\n }[\"RichTextEditor.useEffect\"], [\n content,\n editor\n ]);\n if (!editor) {\n return null;\n }\n const textLength = editor.getText().length;\n const isOverLimit = maxLength && textLength > maxLength;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border rounded-md overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border-b bg-muted/50 p-2 flex flex-wrap gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: editor.isActive(\"bold\") ? \"default\" : \"ghost\",\n size: \"sm\",\n onClick: ()=>editor.chain().focus().toggleBold().run(),\n title: \"Жирный (Ctrl+B)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 128,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 121,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: editor.isActive(\"italic\") ? \"default\" : \"ghost\",\n size: \"sm\",\n onClick: ()=>editor.chain().focus().toggleItalic().run(),\n title: \"Курсив (Ctrl+I)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 138,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 131,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-px h-6 bg-border mx-1\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 141,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: editor.isActive(\"bulletList\") ? \"default\" : \"ghost\",\n size: \"sm\",\n onClick: ()=>editor.chain().focus().toggleBulletList().run(),\n title: \"Маркированный список\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 150,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 143,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: editor.isActive(\"orderedList\") ? \"default\" : \"ghost\",\n size: \"sm\",\n onClick: ()=>editor.chain().focus().toggleOrderedList().run(),\n title: \"Нумерованный список\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 160,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 153,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-px h-6 bg-border mx-1\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 163,\n columnNumber: 17\n }, this),\n editor.isActive(\"link\") ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"default\",\n size: \"sm\",\n onClick: unsetLink,\n title: \"Убрать ссылку\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 173,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 166,\n columnNumber: 21\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"ghost\",\n size: \"sm\",\n onClick: setLink,\n title: \"Добавить ссылку\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 183,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 176,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-px h-6 bg-border mx-1\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 187,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>editor.chain().focus().undo().run(),\n disabled: !editor.can().undo(),\n title: \"Отменить (Ctrl+Z)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 197,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 189,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>editor.chain().focus().redo().run(),\n disabled: !editor.can().redo(),\n title: \"Повторить (Ctrl+Y)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Bold_Italic_Link_List_ListOrdered_Redo_Undo_Unlink_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 208,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 200,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 120,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n false && /*#__PURE__*/ 0,\n editor.isEmpty && placeholder && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-2 left-3 text-muted-foreground pointer-events-none\",\n children: placeholder\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 216,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 213,\n columnNumber: 13\n }, this),\n maxLength && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border-t px-3 py-2 text-xs flex justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: [\n \"Поддерживаются: \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"жирный\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 226,\n columnNumber: 41\n }, this),\n \", \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"em\", {\n children: \"курсив\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 226,\n columnNumber: 66\n }, this),\n \", списки, ссылки\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 225,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: isOverLimit ? \"text-destructive font-medium\" : \"text-muted-foreground\",\n children: [\n textLength,\n \" / \",\n maxLength,\n \" символов\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 228,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 224,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\rich-text-editor.tsx\",\n lineNumber: 118,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9yaWNoLXRleHQtZWRpdG9yLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFd0Q7QUFDWjtBQUNIO0FBQ0s7QUFVekI7QUFDWTtBQVMxQixTQUFTZSxlQUFlLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLFNBQVMsRUFBdUI7SUFDN0YsTUFBTUMsU0FBU3BCLHdEQUFTQSxDQUFDO1FBQ3JCcUIsbUJBQW1CO1FBQ25CQyxZQUFZO1lBQ1JwQiwyREFBVUEsQ0FBQ3FCLFNBQVMsQ0FBQztnQkFDakIsZ0VBQWdFO2dCQUNoRUMsTUFBTTtZQUNWO1lBQ0FyQiw4REFBSUEsQ0FBQ29CLFNBQVMsQ0FBQztnQkFDWEUsYUFBYTtnQkFDYkMsZ0JBQWdCO29CQUNaQyxPQUFPO2dCQUNYO1lBQ0o7U0FDSDtRQUNEWDtRQUNBWSxRQUFRO2dEQUFFLENBQUMsRUFBRVIsTUFBTSxFQUFFO2dCQUNqQixNQUFNUyxPQUFPVCxPQUFPVSxPQUFPO2dCQUMzQixtRUFBbUU7Z0JBQ25FLE1BQU1DLE9BQU9YLE9BQU9ZLE9BQU87Z0JBQzNCLElBQUliLGFBQWFZLEtBQUtFLE1BQU0sR0FBR2QsV0FBVztvQkFDdEM7Z0JBQ0o7Z0JBQ0FGLFNBQVNZO1lBQ2I7O1FBQ0FLLGFBQWE7WUFDVEMsWUFBWTtnQkFDUlIsT0FBTztZQUNYO1FBQ0o7SUFDSjtJQUVBLE1BQU1TLGtCQUFrQmhDLGtEQUFXQTt1REFBQyxDQUFDaUM7WUFDakNBLEVBQUVDLGNBQWM7WUFDaEIsTUFBTUMsT0FBT0YsRUFBRUcsYUFBYSxDQUFDQyxZQUFZLENBQUM7WUFDMUMsSUFBSSxDQUFDRixNQUFNO1lBRVgsd0NBQXdDO1lBQ3hDLE1BQU1HLGFBQWFILEtBQUtJLFVBQVUsQ0FBQyxjQUFjSixLQUFLSSxVQUFVLENBQUM7WUFFakUsSUFBSUQsWUFBWTtnQkFDWixNQUFNRSxTQUFTLElBQUlDLElBQUlOLE1BQU1PLFFBQVE7Z0JB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NUJQLE9BQU07a0NBRU4sNEVBQUM5RCwrSEFBSUE7NEJBQUN1RCxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7OzswQkFLeEIsOERBQUNEO2dCQUFJQyxXQUFVOztvQkFDVixNQUE2QixrQkFBSTtvQkFDakM5QyxPQUFPNkQsT0FBTyxJQUFJL0QsNkJBQ2YsOERBQUMrQzt3QkFBSUMsV0FBVTtrQ0FDVmhEOzs7Ozs7Ozs7Ozs7WUFNWkMsMkJBQ0csOERBQUM4QztnQkFBSUMsV0FBVTs7a0NBQ1gsOERBQUNnQjt3QkFBS2hCLFdBQVU7OzRCQUF3QjswQ0FDcEIsOERBQUNpQjswQ0FBTzs7Ozs7OzRCQUFlOzBDQUFFLDhEQUFDQzswQ0FBRzs7Ozs7OzRCQUFXOzs7Ozs7O2tDQUU1RCw4REFBQ0Y7d0JBQUtoQixXQUFXRixjQUFjLGlDQUFpQzs7NEJBQzNERDs0QkFBVzs0QkFBSTVDOzRCQUFVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTWxEIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxccmljaC10ZXh0LWVkaXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgdXNlRWRpdG9yLCBFZGl0b3JDb250ZW50IH0gZnJvbSBcIkB0aXB0YXAvcmVhY3RcIlxuaW1wb3J0IFN0YXJ0ZXJLaXQgZnJvbSBcIkB0aXB0YXAvc3RhcnRlci1raXRcIlxuaW1wb3J0IExpbmsgZnJvbSBcIkB0aXB0YXAvZXh0ZW5zaW9uLWxpbmtcIlxuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1xuICAgIEJvbGQsXG4gICAgSXRhbGljLFxuICAgIExpc3QsXG4gICAgTGlzdE9yZGVyZWQsXG4gICAgVW5kbyxcbiAgICBSZWRvLFxuICAgIExpbmsgYXMgTGlua0ljb24sXG4gICAgVW5saW5rLFxufSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCIuL2J1dHRvblwiXG5cbmludGVyZmFjZSBSaWNoVGV4dEVkaXRvclByb3BzIHtcbiAgICBjb250ZW50OiBzdHJpbmdcbiAgICBvbkNoYW5nZTogKGNvbnRlbnQ6IHN0cmluZykgPT4gdm9pZFxuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gICAgbWF4TGVuZ3RoPzogbnVtYmVyXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSaWNoVGV4dEVkaXRvcih7IGNvbnRlbnQsIG9uQ2hhbmdlLCBwbGFjZWhvbGRlciwgbWF4TGVuZ3RoIH06IFJpY2hUZXh0RWRpdG9yUHJvcHMpIHtcbiAgICBjb25zdCBlZGl0b3IgPSB1c2VFZGl0b3Ioe1xuICAgICAgICBpbW1lZGlhdGVseVJlbmRlcjogZmFsc2UsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICAgICAgIFN0YXJ0ZXJLaXQuY29uZmlndXJlKHtcbiAgICAgICAgICAgICAgICAvLyDQntGC0LrQu9GO0YfQsNC10Lwg0LLRgdGC0YDQvtC10L3QvdC+0LUg0YDQsNGB0YjQuNGA0LXQvdC40LUgTGluaywg0YfRgtC+0LHRiyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHQstC+0ZFcbiAgICAgICAgICAgICAgICBsaW5rOiBmYWxzZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgTGluay5jb25maWd1cmUoe1xuICAgICAgICAgICAgICAgIG9wZW5PbkNsaWNrOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBIVE1MQXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgICAgICBjbGFzczogXCJ0ZXh0LWJsdWUtNjAwIGhvdmVyOnVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgY29udGVudCxcbiAgICAgICAgb25VcGRhdGU6ICh7IGVkaXRvciB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBodG1sID0gZWRpdG9yLmdldEhUTUwoKVxuICAgICAgICAgICAgLy8g0J/RgNC+0LLQtdGA0Y/QtdC8INC70LjQvNC40YIg0YHQuNC80LLQvtC70L7QsiAo0L/RgNC+0YHRgtC+0Lkg0L/QvtC00YHRh9GR0YIg0YLQtdC60YHRgtCwINCx0LXQtyBIVE1MINGC0LXQs9C+0LIpXG4gICAgICAgICAgICBjb25zdCB0ZXh0ID0gZWRpdG9yLmdldFRleHQoKVxuICAgICAgICAgICAgaWYgKG1heExlbmd0aCAmJiB0ZXh0Lmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb25DaGFuZ2UoaHRtbClcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdG9yUHJvcHM6IHtcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICBjbGFzczogXCJwcm9zZSBwcm9zZS1zbSBtYXgtdy1ub25lIGZvY3VzOm91dGxpbmUtbm9uZSBtaW4taC1bMjAwcHhdIHB4LTMgcHktMlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9KVxuXG4gICAgY29uc3QgaGFuZGxlTGlua0NsaWNrID0gdXNlQ2FsbGJhY2soKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICBjb25zdCBocmVmID0gZS5jdXJyZW50VGFyZ2V0LmdldEF0dHJpYnV0ZShcImhyZWZcIilcbiAgICAgICAgaWYgKCFocmVmKSByZXR1cm5cblxuICAgICAgICAvLyDQn9GA0L7QstC10YDRj9C10LwsINGP0LLQu9GP0LXRgtGB0Y8g0LvQuCDRgdGB0YvQu9C60LAg0LLQvdC10YjQvdC10LlcbiAgICAgICAgY29uc3QgaXNFeHRlcm5hbCA9IGhyZWYuc3RhcnRzV2l0aChcImh0dHA6Ly9cIikgfHwgaHJlZi5zdGFydHNXaXRoKFwiaHR0cHM6Ly9cIilcblxuICAgICAgICBpZiAoaXNFeHRlcm5hbCkge1xuICAgICAgICAgICAgY29uc3QgZG9tYWluID0gbmV3IFVSTChocmVmKS5ob3N0bmFtZVxuICAgICAgICAgICAgY29uc3QgY29uZmlybWVkID0gY29uZmlybShcbiAgICAgICAgICAgICAgICBg0JLRiyDQv9C10YDQtdGF0L7QtNC40YLQtSDQvdCwINCy0L3QtdGI0L3QuNC5INGA0LXRgdGD0YDRgTogJHtkb21haW59XFxuXFxuYCArXG4gICAgICAgICAgICAgICAgYNCh0YHRi9C70LrQsDogJHtocmVmfVxcblxcbmAgK1xuICAgICAgICAgICAgICAgIGDQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INC/0LXRgNC10LnRgtC4P2BcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChjb25maXJtZWQpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihocmVmLCBcIl9ibGFua1wiLCBcIm5vb3BlbmVyLG5vcmVmZXJyZXJcIilcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGhyZWYsIFwiX2JsYW5rXCIpXG4gICAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIGNvbnN0IHNldExpbmsgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICghZWRpdG9yKSByZXR1cm5cblxuICAgICAgICBjb25zdCBwcmV2aW91c1VybCA9IGVkaXRvci5nZXRBdHRyaWJ1dGVzKFwibGlua1wiKS5ocmVmXG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5wcm9tcHQoXCLQktCy0LXQtNC40YLQtSBVUkwg0YHRgdGL0LvQutC4OlwiLCBwcmV2aW91c1VybCB8fCBcIlwiKVxuXG4gICAgICAgIGlmICh1cmwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHVybCA9PT0gXCJcIikge1xuICAgICAgICAgICAgZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5leHRlbmRNYXJrUmFuZ2UoXCJsaW5rXCIpLnVuc2V0TGluaygpLnJ1bigpXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGVkaXRvci5jaGFpbigpLmZvY3VzKCkuZXh0ZW5kTWFya1JhbmdlKFwibGlua1wiKS5zZXRMaW5rKHsgaHJlZjogdXJsIH0pLnJ1bigpXG4gICAgfSwgW2VkaXRvcl0pXG5cbiAgICBjb25zdCB1bnNldExpbmsgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICghZWRpdG9yKSByZXR1cm5cbiAgICAgICAgZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5leHRlbmRNYXJrUmFuZ2UoXCJsaW5rXCIpLnVuc2V0TGluaygpLnJ1bigpXG4gICAgfSwgW2VkaXRvcl0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoZWRpdG9yICYmIGNvbnRlbnQgIT09IGVkaXRvci5nZXRIVE1MKCkpIHtcbiAgICAgICAgICAgIGVkaXRvci5jb21tYW5kcy5zZXRDb250ZW50KGNvbnRlbnQpXG4gICAgICAgIH1cbiAgICB9LCBbY29udGVudCwgZWRpdG9yXSlcblxuICAgIGlmICghZWRpdG9yKSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgdGV4dExlbmd0aCA9IGVkaXRvci5nZXRUZXh0KCkubGVuZ3RoXG4gICAgY29uc3QgaXNPdmVyTGltaXQgPSBtYXhMZW5ndGggJiYgdGV4dExlbmd0aCA+IG1heExlbmd0aFxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXIgcm91bmRlZC1tZCBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICAgIHsvKiDQn9Cw0L3QtdC70Ywg0LjQvdGB0YLRgNGD0LzQtdC90YLQvtCyICovfVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXItYiBiZy1tdXRlZC81MCBwLTIgZmxleCBmbGV4LXdyYXAgZ2FwLTFcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXtlZGl0b3IuaXNBY3RpdmUoXCJib2xkXCIpID8gXCJkZWZhdWx0XCIgOiBcImdob3N0XCJ9XG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQm9sZCgpLnJ1bigpfVxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cItCW0LjRgNC90YvQuSAoQ3RybCtCKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8Qm9sZCBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e2VkaXRvci5pc0FjdGl2ZShcIml0YWxpY1wiKSA/IFwiZGVmYXVsdFwiIDogXCJnaG9zdFwifVxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBlZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUl0YWxpYygpLnJ1bigpfVxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cItCa0YPRgNGB0LjQsiAoQ3RybCtJKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8SXRhbGljIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LXB4IGgtNiBiZy1ib3JkZXIgbXgtMVwiIC8+XG5cbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXtlZGl0b3IuaXNBY3RpdmUoXCJidWxsZXRMaXN0XCIpID8gXCJkZWZhdWx0XCIgOiBcImdob3N0XCJ9XG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQnVsbGV0TGlzdCgpLnJ1bigpfVxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cItCc0LDRgNC60LjRgNC+0LLQsNC90L3Ri9C5INGB0L/QuNGB0L7QulwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8TGlzdCBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e2VkaXRvci5pc0FjdGl2ZShcIm9yZGVyZWRMaXN0XCIpID8gXCJkZWZhdWx0XCIgOiBcImdob3N0XCJ9XG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlT3JkZXJlZExpc3QoKS5ydW4oKX1cbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCLQndGD0LzQtdGA0L7QstCw0L3QvdGL0Lkg0YHQv9C40YHQvtC6XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxMaXN0T3JkZXJlZCBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1weCBoLTYgYmctYm9yZGVyIG14LTFcIiAvPlxuXG4gICAgICAgICAgICAgICAge2VkaXRvci5pc0FjdGl2ZShcImxpbmtcIikgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3Vuc2V0TGlua31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwi0KPQsdGA0LDRgtGMINGB0YHRi9C70LrRg1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxVbmxpbmsgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtzZXRMaW5rfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCLQlNC+0LHQsNCy0LjRgtGMINGB0YHRi9C70LrRg1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rSWNvbiBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1weCBoLTYgYmctYm9yZGVyIG14LTFcIiAvPlxuXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gZWRpdG9yLmNoYWluKCkuZm9jdXMoKS51bmRvKCkucnVuKCl9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXshZWRpdG9yLmNhbigpLnVuZG8oKX1cbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCLQntGC0LzQtdC90LjRgtGMIChDdHJsK1opXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxVbmRvIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5yZWRvKCkucnVuKCl9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXshZWRpdG9yLmNhbigpLnJlZG8oKX1cbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCLQn9C+0LLRgtC+0YDQuNGC0YwgKEN0cmwrWSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlZG8gY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgey8qINCe0LHQu9Cw0YHRgtGMINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8gKi99XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlXCI+XG4gICAgICAgICAgICAgICAge3R5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIDxFZGl0b3JDb250ZW50IGVkaXRvcj17ZWRpdG9yfSAvPn1cbiAgICAgICAgICAgICAgICB7ZWRpdG9yLmlzRW1wdHkgJiYgcGxhY2Vob2xkZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHRvcC0yIGxlZnQtMyB0ZXh0LW11dGVkLWZvcmVncm91bmQgcG9pbnRlci1ldmVudHMtbm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIHsvKiDQodGH0ZHRgtGH0LjQuiDRgdC40LzQstC+0LvQvtCyICovfVxuICAgICAgICAgICAge21heExlbmd0aCAmJiAoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXItdCBweC0zIHB5LTIgdGV4dC14cyBmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNC00LXRgNC20LjQstCw0Y7RgtGB0Y86IDxzdHJvbmc+0LbQuNGA0L3Ri9C5PC9zdHJvbmc+LCA8ZW0+0LrRg9GA0YHQuNCyPC9lbT4sINGB0L/QuNGB0LrQuCwg0YHRgdGL0LvQutC4XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtpc092ZXJMaW1pdCA/IFwidGV4dC1kZXN0cnVjdGl2ZSBmb250LW1lZGl1bVwiIDogXCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIn0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dGV4dExlbmd0aH0gLyB7bWF4TGVuZ3RofSDRgdC40LzQstC+0LvQvtCyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZGl0b3IiLCJFZGl0b3JDb250ZW50IiwiU3RhcnRlcktpdCIsIkxpbmsiLCJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsIkJvbGQiLCJJdGFsaWMiLCJMaXN0IiwiTGlzdE9yZGVyZWQiLCJVbmRvIiwiUmVkbyIsIkxpbmtJY29uIiwiVW5saW5rIiwiQnV0dG9uIiwiUmljaFRleHRFZGl0b3IiLCJjb250ZW50Iiwib25DaGFuZ2UiLCJwbGFjZWhvbGRlciIsIm1heExlbmd0aCIsImVkaXRvciIsImltbWVkaWF0ZWx5UmVuZGVyIiwiZXh0ZW5zaW9ucyIsImNvbmZpZ3VyZSIsImxpbmsiLCJvcGVuT25DbGljayIsIkhUTUxBdHRyaWJ1dGVzIiwiY2xhc3MiLCJvblVwZGF0ZSIsImh0bWwiLCJnZXRIVE1MIiwidGV4dCIsImdldFRleHQiLCJsZW5ndGgiLCJlZGl0b3JQcm9wcyIsImF0dHJpYnV0ZXMiLCJoYW5kbGVMaW5rQ2xpY2siLCJlIiwicHJldmVudERlZmF1bHQiLCJocmVmIiwiY3VycmVudFRhcmdldCIsImdldEF0dHJpYnV0ZSIsImlzRXh0ZXJuYWwiLCJzdGFydHNXaXRoIiwiZG9tYWluIiwiVVJMIiwiaG9zdG5hbWUiLCJjb25maXJtZWQiLCJjb25maXJtIiwid2luZG93Iiwib3BlbiIsInNldExpbmsiLCJwcmV2aW91c1VybCIsImdldEF0dHJpYnV0ZXMiLCJ1cmwiLCJwcm9tcHQiLCJjaGFpbiIsImZvY3VzIiwiZXh0ZW5kTWFya1JhbmdlIiwidW5zZXRMaW5rIiwicnVuIiwiY29tbWFuZHMiLCJzZXRDb250ZW50IiwidGV4dExlbmd0aCIsImlzT3ZlckxpbWl0IiwiZGl2IiwiY2xhc3NOYW1lIiwidHlwZSIsInZhcmlhbnQiLCJpc0FjdGl2ZSIsInNpemUiLCJvbkNsaWNrIiwidG9nZ2xlQm9sZCIsInRpdGxlIiwidG9nZ2xlSXRhbGljIiwidG9nZ2xlQnVsbGV0TGlzdCIsInRvZ2dsZU9yZGVyZWRMaXN0IiwidW5kbyIsImRpc2FibGVkIiwiY2FuIiwicmVkbyIsImlzRW1wdHkiLCJzcGFuIiwic3Ryb25nIiwiZW0iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/rich-text-editor.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/schedule-modal.tsx": -/*!**********************************************!*\ - !*** ./src/components/ui/schedule-modal.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScheduleModal: () => (/* binding */ ScheduleModal)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_label__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/label */ \"(ssr)/./src/components/ui/label.tsx\");\n/* harmony import */ var _components_ui_checkbox__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/checkbox */ \"(ssr)/./src/components/ui/checkbox.tsx\");\n/* harmony import */ var _components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/dialog */ \"(ssr)/./src/components/ui/dialog.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_ChevronUp_Clock_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,ChevronUp,Clock!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/clock.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_ChevronUp_Clock_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,ChevronUp,Clock!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_ChevronUp_Clock_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,ChevronUp,Clock!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* __next_internal_client_entry_do_not_use__ ScheduleModal auto */ \n\n\n\n\n\n\n\n\n// Дни недели (русские названия как в become-performer)\nconst daysOfWeek = [\n 'Понедельник',\n 'Вторник',\n 'Среда',\n 'Четверг',\n 'Пятница',\n 'Суббота',\n 'Воскресенье'\n];\n// Генерация интервалов с шагом 30 минут\nconst generateTimeIntervals = ()=>{\n const intervals = [];\n for(let i = 0; i < 24; i++){\n for(let j = 0; j < 60; j += 30){\n const hour = i.toString().padStart(2, '0');\n const minute = j.toString().padStart(2, '0');\n intervals.push(`${hour}:${minute}`);\n }\n }\n return intervals;\n};\nconst timeIntervals = generateTimeIntervals();\n// Маппинг русских названий в числовые ключи для бэкенда\nconst RU_TO_KEY = {\n \"Понедельник\": \"1\",\n \"Вторник\": \"2\",\n \"Среда\": \"3\",\n \"Четверг\": \"4\",\n \"Пятница\": \"5\",\n \"Суббота\": \"6\",\n \"Воскресенье\": \"7\"\n};\nfunction ScheduleModal({ open, onOpenChange, initialIsAlwaysReady = false, initialSchedulePerDay = null }) {\n const { updateSchedule, isLoading } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_7__.useSessionStore)();\n const [isAlwaysReady, setIsAlwaysReady] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialIsAlwaysReady);\n const [scheduleCollapsed, setScheduleCollapsed] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(!initialIsAlwaysReady);\n const [schedulePerDay, setSchedulePerDay] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n \"ScheduleModal.useState\": ()=>{\n const result = {};\n daysOfWeek.forEach({\n \"ScheduleModal.useState\": (day)=>{\n result[day] = [];\n }\n }[\"ScheduleModal.useState\"]);\n if (initialSchedulePerDay) {\n Object.entries(initialSchedulePerDay).forEach({\n \"ScheduleModal.useState\": ([day, periods])=>{\n if (Array.isArray(periods) && periods.length > 0) {\n const dayName = daysOfWeek[parseInt(day) - 1];\n if (dayName) {\n result[dayName] = periods.map({\n \"ScheduleModal.useState\": (p)=>({\n start: p.start || \"09:00\",\n end: p.end || \"18:00\"\n })\n }[\"ScheduleModal.useState\"]).sort({\n \"ScheduleModal.useState\": (a, b)=>a.start.localeCompare(b.start)\n }[\"ScheduleModal.useState\"]);\n }\n }\n }\n }[\"ScheduleModal.useState\"]);\n }\n return result;\n }\n }[\"ScheduleModal.useState\"]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"ScheduleModal.useEffect\": ()=>{\n if (open) {\n setIsAlwaysReady(initialIsAlwaysReady);\n setScheduleCollapsed(!initialIsAlwaysReady);\n const newSchedule = {};\n daysOfWeek.forEach({\n \"ScheduleModal.useEffect\": (day)=>newSchedule[day] = []\n }[\"ScheduleModal.useEffect\"]);\n if (initialSchedulePerDay) {\n Object.entries(initialSchedulePerDay).forEach({\n \"ScheduleModal.useEffect\": ([day, periods])=>{\n if (Array.isArray(periods) && periods.length > 0) {\n const dayName = daysOfWeek[parseInt(day) - 1];\n if (dayName) {\n newSchedule[dayName] = periods.map({\n \"ScheduleModal.useEffect\": (p)=>({\n start: p.start || \"09:00\",\n end: p.end || \"18:00\"\n })\n }[\"ScheduleModal.useEffect\"]).sort({\n \"ScheduleModal.useEffect\": (a, b)=>a.start.localeCompare(b.start)\n }[\"ScheduleModal.useEffect\"]);\n }\n }\n }\n }[\"ScheduleModal.useEffect\"]);\n }\n setSchedulePerDay(newSchedule);\n }\n }\n }[\"ScheduleModal.useEffect\"], [\n open,\n initialIsAlwaysReady,\n initialSchedulePerDay\n ]);\n const toggleDay = (day)=>{\n if (isAlwaysReady) {\n setIsAlwaysReady(false);\n }\n const currentSchedule = {\n ...schedulePerDay\n };\n const hasPeriods = currentSchedule[day].length > 0;\n if (hasPeriods) {\n currentSchedule[day] = [];\n } else {\n currentSchedule[day] = [\n {\n start: '09:00',\n end: '18:00'\n }\n ];\n }\n setSchedulePerDay(currentSchedule);\n };\n const addPeriod = (day)=>{\n if (isAlwaysReady) {\n setIsAlwaysReady(false);\n }\n const currentSchedule = {\n ...schedulePerDay\n };\n currentSchedule[day] = [\n ...currentSchedule[day] || [],\n {\n start: '00:00',\n end: '00:00'\n }\n ];\n setSchedulePerDay(currentSchedule);\n };\n const removePeriod = (day, index)=>{\n const currentSchedule = {\n ...schedulePerDay\n };\n const newPeriods = currentSchedule[day].filter((_, i)=>i !== index);\n currentSchedule[day] = newPeriods;\n setSchedulePerDay(currentSchedule);\n };\n const updatePeriod = (day, index, field, value)=>{\n if (isAlwaysReady) {\n setIsAlwaysReady(false);\n }\n const currentSchedule = {\n ...schedulePerDay\n };\n currentSchedule[day][index][field] = value;\n setSchedulePerDay(currentSchedule);\n };\n const handleAlwaysReadyChange = (checked)=>{\n setIsAlwaysReady(checked);\n if (checked) {\n const resetSchedule = {};\n daysOfWeek.forEach((day)=>resetSchedule[day] = []);\n setSchedulePerDay(resetSchedule);\n }\n };\n const onSubmit = async ()=>{\n try {\n const scheduleData = {};\n Object.entries(schedulePerDay).forEach(([day, periods])=>{\n if (periods.length > 0) {\n const key = RU_TO_KEY[day];\n if (key) {\n scheduleData[key] = [\n ...periods\n ].sort((a, b)=>a.start.localeCompare(b.start));\n }\n }\n });\n await updateSchedule(isAlwaysReady, Object.keys(scheduleData).length > 0 ? scheduleData : undefined);\n sonner__WEBPACK_IMPORTED_MODULE_2__.toast.success(\"Расписание успешно обновлено\");\n onOpenChange(false);\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_2__.toast.error(error?.response?.data?.message || \"Ошибка при обновлении расписания\");\n }\n };\n const handleClose = ()=>{\n onOpenChange(false);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.Dialog, {\n open: open,\n onOpenChange: handleClose,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.DialogContent, {\n className: \"sm:max-w-[600px] max-h-[90vh] overflow-y-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.DialogHeader, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.DialogTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_Clock_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 201,\n columnNumber: 25\n }, this),\n \"Изменить расписание\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 200,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.DialogDescription, {\n children: \"Настройте дни и часы работы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 204,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 199,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_checkbox__WEBPACK_IMPORTED_MODULE_5__.Checkbox, {\n id: \"always-ready-edit\",\n checked: isAlwaysReady,\n onCheckedChange: handleAlwaysReadyChange\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 211,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_4__.Label, {\n htmlFor: \"always-ready-edit\",\n className: \"cursor-pointer\",\n children: \"Всегда готов к заказам\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 217,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground\",\n children: \"Если включено, клиенты будут видеть вас доступным в любое время\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 220,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 216,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 210,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n type: \"button\",\n variant: \"outline\",\n className: \"w-full justify-between\",\n onClick: ()=>setScheduleCollapsed(!scheduleCollapsed),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_Clock_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 234,\n columnNumber: 33\n }, this),\n \"Настроить расписание\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 233,\n columnNumber: 29\n }, this),\n scheduleCollapsed ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_Clock_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 237,\n columnNumber: 50\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_ChevronUp_Clock_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 237,\n columnNumber: 86\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 227,\n columnNumber: 25\n }, this),\n scheduleCollapsed && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2 mt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground pb-2\",\n children: \"Отметьте рабочие дни и укажите часы приема.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 242,\n columnNumber: 33\n }, this),\n daysOfWeek.map((day)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col sm:flex-row sm:items-start gap-2 border-b last:border-0 pb-3 last:pb-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3 w-40 pt-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_checkbox__WEBPACK_IMPORTED_MODULE_5__.Checkbox, {\n id: `edit-${day}`,\n checked: schedulePerDay[day]?.length > 0,\n onCheckedChange: ()=>toggleDay(day)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 248,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: `edit-${day}`,\n className: \"font-medium cursor-pointer text-sm\",\n children: day\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 253,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 247,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 space-y-2\",\n children: schedulePerDay[day]?.length > 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n schedulePerDay[day].map((period, index)=>{\n const otherPeriods = schedulePerDay[day].filter((_, i)=>i !== index);\n // Доступное начало - время не должно попадать ни в один из существующих интервалов\n const availableStartIntervals = timeIntervals.filter((t)=>{\n return !otherPeriods.some((p)=>t >= p.start && t < p.end);\n });\n // Поиск ближайшего ограничения для конца периода (начало следующего периода)\n let nextLimit = \"24:00\";\n otherPeriods.forEach((p)=>{\n if (p.start > period.start && p.start < nextLimit) {\n nextLimit = p.start;\n }\n });\n // Время окончания - строго больше начала, <= 24:00 и <= nextLimit\n const availableEndIntervals = [\n ...timeIntervals,\n \"24:00\"\n ].filter((t)=>{\n return t > period.start && t <= nextLimit;\n });\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n className: \"flex h-8 w-24 rounded-md border border-input bg-background px-2 py-1 text-sm ring-offset-background focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n value: period.start,\n onChange: (e)=>updatePeriod(day, index, 'start', e.target.value),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"\",\n disabled: true,\n children: \"Начало\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 289,\n columnNumber: 73\n }, this),\n availableStartIntervals.map((time)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: time,\n children: time\n }, `start-${time}`, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 291,\n columnNumber: 77\n }, this))\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 284,\n columnNumber: 69\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: \"—\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 294,\n columnNumber: 69\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n className: \"flex h-8 w-24 rounded-md border border-input bg-background px-2 py-1 text-sm ring-offset-background focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n value: period.end,\n onChange: (e)=>updatePeriod(day, index, 'end', e.target.value),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"\",\n disabled: true,\n children: \"Конец\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 300,\n columnNumber: 73\n }, this),\n availableEndIntervals.map((time)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: time,\n children: time\n }, `end-${time}`, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 302,\n columnNumber: 77\n }, this))\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 295,\n columnNumber: 69\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n type: \"button\",\n variant: \"ghost\",\n size: \"sm\",\n className: \"h-8 px-2 text-red-500 hover:text-red-700\",\n onClick: ()=>removePeriod(day, index),\n children: \"✕\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 305,\n columnNumber: 69\n }, this)\n ]\n }, index, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 283,\n columnNumber: 65\n }, this);\n }),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n type: \"button\",\n variant: \"ghost\",\n size: \"sm\",\n className: \"h-8 px-2 text-blue-600 hover:text-blue-700\",\n onClick: ()=>addPeriod(day),\n children: \"+ Интервал\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 317,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-8 flex items-center text-sm text-muted-foreground pt-1\",\n children: \"Выходной\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 328,\n columnNumber: 49\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 257,\n columnNumber: 41\n }, this)\n ]\n }, day, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 246,\n columnNumber: 37\n }, this))\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 241,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 226,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 209,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dialog__WEBPACK_IMPORTED_MODULE_6__.DialogFooter, {\n className: \"gap-2 sm:gap-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n type: \"button\",\n variant: \"outline\",\n onClick: handleClose,\n children: \"Отмена\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 341,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n onClick: onSubmit,\n disabled: isLoading,\n children: isLoading ? \"Сохранение...\" : \"Сохранить\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 344,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 340,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 198,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-modal.tsx\",\n lineNumber: 197,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zY2hlZHVsZS1tb2RhbC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTJDO0FBQ2I7QUFDaUI7QUFDRjtBQUNNO0FBUXBCO0FBQzJCO0FBQ0U7QUFTNUQsdURBQXVEO0FBQ3ZELE1BQU1nQixhQUFhO0lBQ2Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDSDtBQUVELHdDQUF3QztBQUN4QyxNQUFNQyx3QkFBd0I7SUFDMUIsTUFBTUMsWUFBWSxFQUFFO0lBQ3BCLElBQUssSUFBSUMsSUFBSSxHQUFHQSxJQUFJLElBQUlBLElBQUs7UUFDekIsSUFBSyxJQUFJQyxJQUFJLEdBQUdBLElBQUksSUFBSUEsS0FBSyxHQUFJO1lBQzdCLE1BQU1DLE9BQU9GLEVBQUVHLFFBQVEsR0FBR0MsUUFBUSxDQUFDLEdBQUc7WUFDdEMsTUFBTUMsU0FBU0osRUFBRUUsUUFBUSxHQUFHQyxRQUFRLENBQUMsR0FBRztZQUN4Q0wsVUFBVU8sSUFBSSxDQUFDLEdBQUdKLEtBQUssQ0FBQyxFQUFFRyxRQUFRO1FBQ3RDO0lBQ0o7SUFDQSxPQUFPTjtBQUNYO0FBRUEsTUFBTVEsZ0JBQWdCVDtBQUV0Qix3REFBd0Q7QUFDeEQsTUFBTVUsWUFBb0M7SUFDdEMsZUFBZTtJQUNmLFdBQVc7SUFDWCxTQUFTO0lBQ1QsV0FBVztJQUNYLFdBQVc7SUFDWCxXQUFXO0lBQ1gsZUFBZTtBQUNuQjtBQUVPLFNBQVNDLGNBQWMsRUFDMUJDLElBQUksRUFDSkMsWUFBWSxFQUNaQyx1QkFBdUIsS0FBSyxFQUM1QkMsd0JBQXdCLElBQUksRUFDWDtJQUNqQixNQUFNLEVBQUVDLGNBQWMsRUFBRUMsU0FBUyxFQUFFLEdBQUd0Qix3RUFBZUE7SUFFckQsTUFBTSxDQUFDdUIsZUFBZUMsaUJBQWlCLEdBQUdwQywrQ0FBUUEsQ0FBQytCO0lBQ25ELE1BQU0sQ0FBQ00sbUJBQW1CQyxxQkFBcUIsR0FBR3RDLCtDQUFRQSxDQUFDLENB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O3NHQUFPQTsyRkFBN0IsQ0FBQyxJQUFJLEVBQUVBLE1BQU07Ozs7Ozs7Ozs7OzBGQUdsQyw4REFBQzNHLHlEQUFNQTtnRkFDSHlGLE1BQUs7Z0ZBQ0xDLFNBQVE7Z0ZBQ1JrQixNQUFLO2dGQUNMeEIsV0FBVTtnRkFDVk8sU0FBUyxJQUFNN0IsYUFBYXRCLEtBQUt1QjswRkFDcEM7Ozs7Ozs7dUVBNUJLQTs7Ozs7Z0VBaUNsQjs4RUFDSiw4REFBQy9ELHlEQUFNQTtvRUFDSHlGLE1BQUs7b0VBQ0xDLFNBQVE7b0VBQ1JrQixNQUFLO29FQUNMeEIsV0FBVTtvRUFDVk8sU0FBUyxJQUFNOUIsVUFBVXJCOzhFQUM1Qjs7Ozs7Ozt5RkFLTCw4REFBQzZDOzREQUFJRCxXQUFVO3NFQUEyRDs7Ozs7Ozs7Ozs7OytDQWxGNUU1Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBOEY5Qiw4REFBQ2xDLCtEQUFZQTtvQkFBQzhFLFdBQVU7O3NDQUNwQiw4REFBQ3BGLHlEQUFNQTs0QkFBQ3lGLE1BQUs7NEJBQVNDLFNBQVE7NEJBQVVDLFNBQVNSO3NDQUFhOzs7Ozs7c0NBRzlELDhEQUFDbkYseURBQU1BOzRCQUFDMkYsU0FBU2xCOzRCQUFVaUMsVUFBVTNFO3NDQUNoQ0EsWUFBWSxrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTXZEIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcc2NoZWR1bGUtbW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSBcInNvbm5lclwiXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2J1dHRvblwiXG5pbXBvcnQgeyBMYWJlbCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvbGFiZWxcIlxuaW1wb3J0IHsgQ2hlY2tib3ggfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2NoZWNrYm94XCJcbmltcG9ydCB7XG4gICAgRGlhbG9nLFxuICAgIERpYWxvZ0NvbnRlbnQsXG4gICAgRGlhbG9nRGVzY3JpcHRpb24sXG4gICAgRGlhbG9nRm9vdGVyLFxuICAgIERpYWxvZ0hlYWRlcixcbiAgICBEaWFsb2dUaXRsZVxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2RpYWxvZ1wiXG5pbXBvcnQgeyB1c2VTZXNzaW9uU3RvcmUgfSBmcm9tIFwiQC9lbnRpdGllcy9zZXNzaW9uL3N0b3JlXCJcbmltcG9ydCB7IENsb2NrLCBDaGV2cm9uRG93biwgQ2hldnJvblVwIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXG5cbmludGVyZmFjZSBTY2hlZHVsZU1vZGFsUHJvcHMge1xuICAgIG9wZW46IGJvb2xlYW5cbiAgICBvbk9wZW5DaGFuZ2U6IChvcGVuOiBib29sZWFuKSA9PiB2b2lkXG4gICAgaW5pdGlhbElzQWx3YXlzUmVhZHk/OiBib29sZWFuXG4gICAgaW5pdGlhbFNjaGVkdWxlUGVyRGF5PzogUmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydD86IHN0cmluZzsgZW5kPzogc3RyaW5nIH0+PiB8IG51bGxcbn1cblxuLy8g0JTQvdC4INC90LXQtNC10LvQuCAo0YDRg9GB0YHQutC40LUg0L3QsNC30LLQsNC90LjRjyDQutCw0Log0LIgYmVjb21lLXBlcmZvcm1lcilcbmNvbnN0IGRheXNPZldlZWsgPSBbXG4gICAgJ9Cf0L7QvdC10LTQtdC70YzQvdC40LonLFxuICAgICfQktGC0L7RgNC90LjQuicsXG4gICAgJ9Ch0YDQtdC00LAnLFxuICAgICfQp9C10YLQstC10YDQsycsXG4gICAgJ9Cf0Y/RgtC90LjRhtCwJyxcbiAgICAn0KHRg9Cx0LHQvtGC0LAnLFxuICAgICfQktC+0YHQutGA0LXRgdC10L3RjNC1Jyxcbl1cblxuLy8g0JPQtdC90LXRgNCw0YbQuNGPINC40L3RgtC10YDQstCw0LvQvtCyINGBINGI0LDQs9C+0LwgMzAg0LzQuNC90YPRglxuY29uc3QgZ2VuZXJhdGVUaW1lSW50ZXJ2YWxzID0gKCkgPT4ge1xuICAgIGNvbnN0IGludGVydmFscyA9IFtdXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyNDsgaSsrKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgNjA7IGogKz0gMzApIHtcbiAgICAgICAgICAgIGNvbnN0IGhvdXIgPSBpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKVxuICAgICAgICAgICAgY29uc3QgbWludXRlID0gai50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJylcbiAgICAgICAgICAgIGludGVydmFscy5wdXNoKGAke2hvdXJ9OiR7bWludXRlfWApXG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGludGVydmFsc1xufVxuXG5jb25zdCB0aW1lSW50ZXJ2YWxzID0gZ2VuZXJhdGVUaW1lSW50ZXJ2YWxzKClcblxuLy8g0JzQsNC/0L/QuNC90LMg0YDRg9GB0YHQutC40YUg0L3QsNC30LLQsNC90LjQuSDQsiDRh9C40YHQu9C+0LLRi9C1INC60LvRjtGH0Lgg0LTQu9GPINCx0Y3QutC10L3QtNCwXG5jb25zdCBSVV9UT19LRVk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgXCLQn9C+0L3QtdC00LXQu9GM0L3QuNC6XCI6IFwiMVwiLFxuICAgIFwi0JLRgtC+0YDQvdC40LpcIjogXCIyXCIsXG4gICAgXCLQodGA0LXQtNCwXCI6IFwiM1wiLFxuICAgIFwi0KfQtdGC0LLQtdGA0LNcIjogXCI0XCIsXG4gICAgXCLQn9GP0YLQvdC40YbQsFwiOiBcIjVcIixcbiAgICBcItCh0YPQsdCx0L7RgtCwXCI6IFwiNlwiLFxuICAgIFwi0JLQvtGB0LrRgNC10YHQtdC90YzQtVwiOiBcIjdcIixcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNjaGVkdWxlTW9kYWwoe1xuICAgIG9wZW4sXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIGluaXRpYWxJc0Fsd2F5c1JlYWR5ID0gZmFsc2UsXG4gICAgaW5pdGlhbFNjaGVkdWxlUGVyRGF5ID0gbnVsbFxufTogU2NoZWR1bGVNb2RhbFByb3BzKSB7XG4gICAgY29uc3QgeyB1cGRhdGVTY2hlZHVsZSwgaXNMb2FkaW5nIH0gPSB1c2VTZXNzaW9uU3RvcmUoKVxuXG4gICAgY29uc3QgW2lzQWx3YXlzUmVhZHksIHNldElzQWx3YXlzUmVhZHldID0gdXNlU3RhdGUoaW5pdGlhbElzQWx3YXlzUmVhZHkpXG4gICAgY29uc3QgW3NjaGVkdWxlQ29sbGFwc2VkLCBzZXRTY2hlZHVsZUNvbGxhcHNlZF0gPSB1c2VTdGF0ZSghaW5pdGlhbElzQWx3YXlzUmVhZHkpXG5cbiAgICBjb25zdCBbc2NoZWR1bGVQZXJEYXksIHNldFNjaGVkdWxlUGVyRGF5XSA9IHVzZVN0YXRlPFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfT4+PigoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9Pj4gPSB7fVxuXG4gICAgICAgIGRheXNPZldlZWsuZm9yRWFjaChkYXkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0W2RheV0gPSBbXVxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChpbml0aWFsU2NoZWR1bGVQZXJEYXkpIHtcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGluaXRpYWxTY2hlZHVsZVBlckRheSkuZm9yRWFjaCgoW2RheSwgcGVyaW9kc10pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwZXJpb2RzKSAmJiBwZXJpb2RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF5TmFtZSA9IGRheXNPZldlZWtbcGFyc2VJbnQoZGF5KSAtIDFdXG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXlOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbZGF5TmFtZV0gPSBwZXJpb2RzLm1hcChwID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IHAuc3RhcnQgfHwgXCIwOTowMFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogcC5lbmQgfHwgXCIxODowMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSkuc29ydCgoYSwgYikgPT4gYS5zdGFydC5sb2NhbGVDb21wYXJlKGIuc3RhcnQpKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICB9KVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG9wZW4pIHtcbiAgICAgICAgICAgIHNldElzQWx3YXlzUmVhZHkoaW5pdGlhbElzQWx3YXlzUmVhZHkpXG4gICAgICAgICAgICBzZXRTY2hlZHVsZUNvbGxhcHNlZCghaW5pdGlhbElzQWx3YXlzUmVhZHkpXG5cbiAgICAgICAgICAgIGNvbnN0IG5ld1NjaGVkdWxlOiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7IHN0YXJ0OiBzdHJpbmc7IGVuZDogc3RyaW5nIH0+PiA9IHt9XG4gICAgICAgICAgICBkYXlzT2ZXZWVrLmZvckVhY2goZGF5ID0+IG5ld1NjaGVkdWxlW2RheV0gPSBbXSlcblxuICAgICAgICAgICAgaWYgKGluaXRpYWxTY2hlZHVsZVBlckRheSkge1xuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGluaXRpYWxTY2hlZHVsZVBlckRheSkuZm9yRWFjaCgoW2RheSwgcGVyaW9kc10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGVyaW9kcykgJiYgcGVyaW9kcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXlOYW1lID0gZGF5c09mV2Vla1twYXJzZUludChkYXkpIC0gMV1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXlOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3U2NoZWR1bGVbZGF5TmFtZV0gPSBwZXJpb2RzLm1hcChwID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBwLnN0YXJ0IHx8IFwiMDk6MDBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBwLmVuZCB8fCBcIjE4OjAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSkuc29ydCgoYSwgYikgPT4gYS5zdGFydC5sb2NhbGVDb21wYXJlKGIuc3RhcnQpKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldFNjaGVkdWxlUGVyRGF5KG5ld1NjaGVkdWxlKVxuICAgICAgICB9XG4gICAgfSwgW29wZW4sIGluaXRpYWxJc0Fsd2F5c1JlYWR5LCBpbml0aWFsU2NoZWR1bGVQZXJEYXldKVxuXG4gICAgY29uc3QgdG9nZ2xlRGF5ID0gKGRheTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmIChpc0Fsd2F5c1JlYWR5KSB7XG4gICAgICAgICAgICBzZXRJc0Fsd2F5c1JlYWR5KGZhbHNlKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTY2hlZHVsZSA9IHsgLi4uc2NoZWR1bGVQZXJEYXkgfVxuICAgICAgICBjb25zdCBoYXNQZXJpb2RzID0gY3VycmVudFNjaGVkdWxlW2RheV0ubGVuZ3RoID4gMFxuICAgICAgICBpZiAoaGFzUGVyaW9kcykge1xuICAgICAgICAgICAgY3VycmVudFNjaGVkdWxlW2RheV0gPSBbXVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudFNjaGVkdWxlW2RheV0gPSBbeyBzdGFydDogJzA5OjAwJywgZW5kOiAnMTg6MDAnIH1dXG4gICAgICAgIH1cbiAgICAgICAgc2V0U2NoZWR1bGVQZXJEYXkoY3VycmVudFNjaGVkdWxlKVxuICAgIH1cblxuICAgIGNvbnN0IGFkZFBlcmlvZCA9IChkYXk6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoaXNBbHdheXNSZWFkeSkge1xuICAgICAgICAgICAgc2V0SXNBbHdheXNSZWFkeShmYWxzZSlcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50U2NoZWR1bGUgPSB7IC4uLnNjaGVkdWxlUGVyRGF5IH1cbiAgICAgICAgY3VycmVudFNjaGVkdWxlW2RheV0gPSBbLi4uKGN1cnJlbnRTY2hlZHVsZVtkYXldIHx8IFtdKSwgeyBzdGFydDogJzAwOjAwJywgZW5kOiAnMDA6MDAnIH1dXG4gICAgICAgIHNldFNjaGVkdWxlUGVyRGF5KGN1cnJlbnRTY2hlZHVsZSlcbiAgICB9XG5cbiAgICBjb25zdCByZW1vdmVQZXJpb2QgPSAoZGF5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudFNjaGVkdWxlID0geyAuLi5zY2hlZHVsZVBlckRheSB9XG4gICAgICAgIGNvbnN0IG5ld1BlcmlvZHMgPSBjdXJyZW50U2NoZWR1bGVbZGF5XS5maWx0ZXIoKF8sIGkpID0+IGkgIT09IGluZGV4KVxuICAgICAgICBjdXJyZW50U2NoZWR1bGVbZGF5XSA9IG5ld1BlcmlvZHNcbiAgICAgICAgc2V0U2NoZWR1bGVQZXJEYXkoY3VycmVudFNjaGVkdWxlKVxuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZVBlcmlvZCA9IChkYXk6IHN0cmluZywgaW5kZXg6IG51bWJlciwgZmllbGQ6ICdzdGFydCcgfCAnZW5kJywgdmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoaXNBbHdheXNSZWFkeSkge1xuICAgICAgICAgICAgc2V0SXNBbHdheXNSZWFkeShmYWxzZSlcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50U2NoZWR1bGUgPSB7IC4uLnNjaGVkdWxlUGVyRGF5IH1cbiAgICAgICAgY3VycmVudFNjaGVkdWxlW2RheV1baW5kZXhdW2ZpZWxkXSA9IHZhbHVlXG4gICAgICAgIHNldFNjaGVkdWxlUGVyRGF5KGN1cnJlbnRTY2hlZHVsZSlcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVBbHdheXNSZWFkeUNoYW5nZSA9IChjaGVja2VkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHNldElzQWx3YXlzUmVhZHkoY2hlY2tlZClcbiAgICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc2V0U2NoZWR1bGU6IFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfT4+ID0ge31cbiAgICAgICAgICAgIGRheXNPZldlZWsuZm9yRWFjaChkYXkgPT4gcmVzZXRTY2hlZHVsZVtkYXldID0gW10pXG4gICAgICAgICAgICBzZXRTY2hlZHVsZVBlckRheShyZXNldFNjaGVkdWxlKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb25TdWJtaXQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzY2hlZHVsZURhdGE6IFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfT4+ID0ge31cblxuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoc2NoZWR1bGVQZXJEYXkpLmZvckVhY2goKFtkYXksIHBlcmlvZHNdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBlcmlvZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBSVV9UT19LRVlbZGF5XVxuICAgICAgICAgICAgICAgICAgICBpZiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY2hlZHVsZURhdGFba2V5XSA9IFsuLi5wZXJpb2RzXS5zb3J0KChhLCBiKSA9PiBhLnN0YXJ0LmxvY2FsZUNvbXBhcmUoYi5zdGFydCkpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBhd2FpdCB1cGRhdGVTY2hlZHVsZShpc0Fsd2F5c1JlYWR5LCBPYmplY3Qua2V5cyhzY2hlZHVsZURhdGEpLmxlbmd0aCA+IDAgPyBzY2hlZHVsZURhdGEgOiB1bmRlZmluZWQpXG4gICAgICAgICAgICB0b2FzdC5zdWNjZXNzKFwi0KDQsNGB0L/QuNGB0LDQvdC40LUg0YPRgdC/0LXRiNC90L4g0L7QsdC90L7QstC70LXQvdC+XCIpXG4gICAgICAgICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UpXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKGVycm9yPy5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcItCe0YjQuNCx0LrQsCDQv9GA0Lgg0L7QsdC90L7QstC70LXQvdC40Lgg0YDQsNGB0L/QuNGB0LDQvdC40Y9cIilcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT4ge1xuICAgICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UpXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPERpYWxvZyBvcGVuPXtvcGVufSBvbk9wZW5DaGFuZ2U9e2hhbmRsZUNsb3NlfT5cbiAgICAgICAgICAgIDxEaWFsb2dDb250ZW50IGNsYXNzTmFtZT1cInNtOm1heC13LVs2MDBweF0gbWF4LWgtWzkwdmhdIG92ZXJmbG93LXktYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxEaWFsb2dIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxEaWFsb2dUaXRsZSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPENsb2NrIGNsYXNzTmFtZT1cInctNSBoLTVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAg0JjQt9C80LXQvdC40YLRjCDRgNCw0YHQv9C40YHQsNC90LjQtVxuICAgICAgICAgICAgICAgICAgICA8L0RpYWxvZ1RpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8RGlhbG9nRGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICDQndCw0YHRgtGA0L7QudGC0LUg0LTQvdC4INC4INGH0LDRgdGLINGA0LDQsdC+0YLRi1xuICAgICAgICAgICAgICAgICAgICA8L0RpYWxvZ0Rlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgIDwvRGlhbG9nSGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTZcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLXN0YXJ0IHNwYWNlLXgtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJhbHdheXMtcmVhZHktZWRpdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17aXNBbHdheXNSZWFkeX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoZWNrZWRDaGFuZ2U9e2hhbmRsZUFsd2F5c1JlYWR5Q2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGh0bWxGb3I9XCJhbHdheXMtcmVhZHktZWRpdFwiIGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCS0YHQtdCz0LTQsCDQs9C+0YLQvtCyINC6INC30LDQutCw0LfQsNC8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQldGB0LvQuCDQstC60LvRjtGH0LXQvdC+LCDQutC70LjQtdC90YLRiyDQsdGD0LTRg9GCINCy0LjQtNC10YLRjCDQstCw0YEg0LTQvtGB0YLRg9C/0L3Ri9C8INCyINC70Y7QsdC+0LUg0LLRgNC10LzRj1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwganVzdGlmeS1iZXR3ZWVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTY2hlZHVsZUNvbGxhcHNlZCghc2NoZWR1bGVDb2xsYXBzZWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDbG9jayBjbGFzc05hbWU9XCJ3LTQgaC00XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J3QsNGB0YLRgNC+0LjRgtGMINGA0LDRgdC/0LjRgdCw0L3QuNC1XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzY2hlZHVsZUNvbGxhcHNlZCA/IDxDaGV2cm9uVXAgY2xhc3NOYW1lPVwidy00IGgtNFwiIC8+IDogPENoZXZyb25Eb3duIGNsYXNzTmFtZT1cInctNCBoLTRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7c2NoZWR1bGVDb2xsYXBzZWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yIG10LTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQgcGItMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J7RgtC80LXRgtGM0YLQtSDRgNCw0LHQvtGH0LjQtSDQtNC90Lgg0Lgg0YPQutCw0LbQuNGC0LUg0YfQsNGB0Ysg0L/RgNC40LXQvNCwLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtkYXlzT2ZXZWVrLm1hcCgoZGF5KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGtleT17ZGF5fSBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIHNtOmZsZXgtcm93IHNtOml0ZW1zLXN0YXJ0IGdhcC0yIGJvcmRlci1iIGxhc3Q6Ym9yZGVyLTAgcGItMyBsYXN0OnBiLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIHctNDAgcHQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtgZWRpdC0ke2RheX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17c2NoZWR1bGVQZXJEYXlbZGF5XT8ubGVuZ3RoID4gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17KCkgPT4gdG9nZ2xlRGF5KGRheSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBodG1sRm9yPXtgZWRpdC0ke2RheX1gfSBjbGFzc05hbWU9XCJmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGF5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIHNwYWNlLXktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2NoZWR1bGVQZXJEYXlbZGF5XT8ubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3NjaGVkdWxlUGVyRGF5W2RheV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgocGVyaW9kLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3RoZXJQZXJpb2RzID0gc2NoZWR1bGVQZXJEYXlbZGF5XS5maWx0ZXIoKF8sIGkpID0+IGkgIT09IGluZGV4KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g0JTQvtGB0YLRg9C/0L3QvtC1INC90LDRh9Cw0LvQviAtINCy0YDQtdC80Y8g0L3QtSDQtNC+0LvQttC90L4g0L/QvtC/0LDQtNCw0YLRjCDQvdC4INCyINC+0LTQuNC9INC40Lcg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNGFINC40L3RgtC10YDQstCw0LvQvtCyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhdmFpbGFibGVTdGFydEludGVydmFscyA9IHRpbWVJbnRlcnZhbHMuZmlsdGVyKHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhb3RoZXJQZXJpb2RzLnNvbWUocCA9PiB0ID49IHAuc3RhcnQgJiYgdCA8IHAuZW5kKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDQn9C+0LjRgdC6INCx0LvQuNC20LDQudGI0LXQs9C+INC+0LPRgNCw0L3QuNGH0LXQvdC40Y8g0LTQu9GPINC60L7QvdGG0LAg0L/QtdGA0LjQvtC00LAgKNC90LDRh9Cw0LvQviDRgdC70LXQtNGD0Y7RidC10LPQviDQv9C10YDQuNC+0LTQsClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXh0TGltaXQgPSBcIjI0OjAwXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlclBlcmlvZHMuZm9yRWFjaChwID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocC5zdGFydCA+IHBlcmlvZC5zdGFydCAmJiBwLnN0YXJ0IDwgbmV4dExpbWl0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRMaW1pdCA9IHAuc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vINCS0YDQtdC80Y8g0L7QutC+0L3Rh9Cw0L3QuNGPIC0g0YHRgtGA0L7Qs9C+INCx0L7Qu9GM0YjQtSDQvdCw0YfQsNC70LAsIDw9IDI0OjAwINC4IDw9IG5leHRMaW1pdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXZhaWxhYmxlRW5kSW50ZXJ2YWxzID0gWy4uLnRpbWVJbnRlcnZhbHMsIFwiMjQ6MDBcIl0uZmlsdGVyKHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ID4gcGVyaW9kLnN0YXJ0ICYmIHQgPD0gbmV4dExpbWl0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2luZGV4fSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGgtOCB3LTI0IHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTIgcHktMSB0ZXh0LXNtIHJpbmctb2Zmc2V0LWJhY2tncm91bmQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXJpbmcgZm9jdXM6cmluZy1vZmZzZXQtMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cGVyaW9kLnN0YXJ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB1cGRhdGVQZXJpb2QoZGF5LCBpbmRleCwgJ3N0YXJ0JywgZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCIgZGlzYWJsZWQ+0J3QsNGH0LDQu9C+PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YXZhaWxhYmxlU3RhcnRJbnRlcnZhbHMubWFwKHRpbWUgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24ga2V5PXtgc3RhcnQtJHt0aW1lfWB9IHZhbHVlPXt0aW1lfT57dGltZX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+4oCUPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGgtOCB3LTI0IHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTIgcHktMSB0ZXh0LXNtIHJpbmctb2Zmc2V0LWJhY2tncm91bmQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLXJpbmcgZm9jdXM6cmluZy1vZmZzZXQtMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cGVyaW9kLmVuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gdXBkYXRlUGVyaW9kKGRheSwgaW5kZXgsICdlbmQnLCBlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIiBkaXNhYmxlZD7QmtC+0L3QtdGGPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YXZhaWxhYmxlRW5kSW50ZXJ2YWxzLm1hcCh0aW1lID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIGtleT17YGVuZC0ke3RpbWV9YH0gdmFsdWU9e3RpbWV9Pnt0aW1lfTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC04IHB4LTIgdGV4dC1yZWQtNTAwIGhvdmVyOnRleHQtcmVkLTcwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiByZW1vdmVQZXJpb2QoZGF5LCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKclVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtOCBweC0yIHRleHQtYmx1ZS02MDAgaG92ZXI6dGV4dC1ibHVlLTcwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGFkZFBlcmlvZChkYXkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyDQmNC90YLQtdGA0LLQsNC7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaC04IGZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHB0LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQktGL0YXQvtC00L3QvtC5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPERpYWxvZ0Zvb3RlciBjbGFzc05hbWU9XCJnYXAtMiBzbTpnYXAtMFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJidXR0b25cIiB2YXJpYW50PVwib3V0bGluZVwiIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfT5cbiAgICAgICAgICAgICAgICAgICAgICAgINCe0YLQvNC10L3QsFxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtvblN1Ym1pdH0gZGlzYWJsZWQ9e2lzTG9hZGluZ30+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nID8gXCLQodC+0YXRgNCw0L3QtdC90LjQtS4uLlwiIDogXCLQodC+0YXRgNCw0L3QuNGC0YxcIn1cbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgPC9EaWFsb2dGb290ZXI+XG4gICAgICAgICAgICA8L0RpYWxvZ0NvbnRlbnQ+XG4gICAgICAgIDwvRGlhbG9nPlxuICAgIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInRvYXN0IiwiQnV0dG9uIiwiTGFiZWwiLCJDaGVja2JveCIsIkRpYWxvZyIsIkRpYWxvZ0NvbnRlbnQiLCJEaWFsb2dEZXNjcmlwdGlvbiIsIkRpYWxvZ0Zvb3RlciIsIkRpYWxvZ0hlYWRlciIsIkRpYWxvZ1RpdGxlIiwidXNlU2Vzc2lvblN0b3JlIiwiQ2xvY2siLCJDaGV2cm9uRG93biIsIkNoZXZyb25VcCIsImRheXNPZldlZWsiLCJnZW5lcmF0ZVRpbWVJbnRlcnZhbHMiLCJpbnRlcnZhbHMiLCJpIiwiaiIsImhvdXIiLCJ0b1N0cmluZyIsInBhZFN0YXJ0IiwibWludXRlIiwicHVzaCIsInRpbWVJbnRlcnZhbHMiLCJSVV9UT19LRVkiLCJTY2hlZHVsZU1vZGFsIiwib3BlbiIsIm9uT3BlbkNoYW5nZSIsImluaXRpYWxJc0Fsd2F5c1JlYWR5IiwiaW5pdGlhbFNjaGVkdWxlUGVyRGF5IiwidXBkYXRlU2NoZWR1bGUiLCJpc0xvYWRpbmciLCJpc0Fsd2F5c1JlYWR5Iiwic2V0SXNBbHdheXNSZWFkeSIsInNjaGVkdWxlQ29sbGFwc2VkIiwic2V0U2NoZWR1bGVDb2xsYXBzZWQiLCJzY2hlZHVsZVBlckRheSIsInNldFNjaGVkdWxlUGVyRGF5IiwicmVzdWx0IiwiZm9yRWFjaCIsImRheSIsIk9iamVjdCIsImVudHJpZXMiLCJwZXJpb2RzIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiZGF5TmFtZSIsInBhcnNlSW50IiwibWFwIiwicCIsInN0YXJ0IiwiZW5kIiwic29ydCIsImEiLCJiIiwibG9jYWxlQ29tcGFyZSIsIm5ld1NjaGVkdWxlIiwidG9nZ2xlRGF5IiwiY3VycmVudFNjaGVkdWxlIiwiaGFzUGVyaW9kcyIsImFkZFBlcmlvZCIsInJlbW92ZVBlcmlvZCIsImluZGV4IiwibmV3UGVyaW9kcyIsImZpbHRlciIsIl8iLCJ1cGRhdGVQZXJpb2QiLCJmaWVsZCIsInZhbHVlIiwiaGFuZGxlQWx3YXlzUmVhZHlDaGFuZ2UiLCJjaGVja2VkIiwicmVzZXRTY2hlZHVsZSIsIm9uU3VibWl0Iiwic2NoZWR1bGVEYXRhIiwia2V5Iiwia2V5cyIsInVuZGVmaW5lZCIsInN1Y2Nlc3MiLCJlcnJvciIsInJlc3BvbnNlIiwiZGF0YSIsIm1lc3NhZ2UiLCJoYW5kbGVDbG9zZSIsImNsYXNzTmFtZSIsImRpdiIsImlkIiwib25DaGVja2VkQ2hhbmdlIiwiaHRtbEZvciIsInR5cGUiLCJ2YXJpYW50Iiwib25DbGljayIsInNwYW4iLCJsYWJlbCIsInBlcmlvZCIsIm90aGVyUGVyaW9kcyIsImF2YWlsYWJsZVN0YXJ0SW50ZXJ2YWxzIiwidCIsInNvbWUiLCJuZXh0TGltaXQiLCJhdmFpbGFibGVFbmRJbnRlcnZhbHMiLCJzZWxlY3QiLCJvbkNoYW5nZSIsImUiLCJ0YXJnZXQiLCJvcHRpb24iLCJkaXNhYmxlZCIsInRpbWUiLCJzaXplIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/schedule-modal.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/schedule-viewer.tsx": -/*!***********************************************!*\ - !*** ./src/components/ui/schedule-viewer.tsx ***! - \***********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScheduleViewer: () => (/* binding */ ScheduleViewer)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_ui_badge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/ui/badge */ \"(ssr)/./src/components/ui/badge.tsx\");\n/* harmony import */ var _components_ui_card__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/card */ \"(ssr)/./src/components/ui/card.tsx\");\n/* harmony import */ var _barrel_optimize_names_Clock_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Clock!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/clock.js\");\n/* __next_internal_client_entry_do_not_use__ ScheduleViewer auto */ \n\n\n\n// Дни недели для отображения (поддержка обоих форматов)\nconst DAYS_OF_WEEK = [\n {\n key: \"1\",\n ruKey: \"Понедельник\",\n label: \"Пн\"\n },\n {\n key: \"2\",\n ruKey: \"Вторник\",\n label: \"Вт\"\n },\n {\n key: \"3\",\n ruKey: \"Среда\",\n label: \"Ср\"\n },\n {\n key: \"4\",\n ruKey: \"Четверг\",\n label: \"Чт\"\n },\n {\n key: \"5\",\n ruKey: \"Пятница\",\n label: \"Пт\"\n },\n {\n key: \"6\",\n ruKey: \"Суббота\",\n label: \"Сб\"\n },\n {\n key: \"7\",\n ruKey: \"Воскресенье\",\n label: \"Вс\"\n }\n];\n// Обратный маппинг: русское название -> числовой ключ\nconst RU_TO_KEY = {\n \"Понедельник\": \"1\",\n \"Вторник\": \"2\",\n \"Среда\": \"3\",\n \"Четверг\": \"4\",\n \"Пятница\": \"5\",\n \"Суббота\": \"6\",\n \"Воскресенье\": \"7\"\n};\nfunction formatTime(time) {\n if (!time) return \"--:--\";\n const parts = time.split(':');\n if (parts.length !== 2) return time;\n const [h, m] = parts;\n const hour = parseInt(h, 10).toString();\n // Оставляем 0:00 как 0:00, для остальных убираем :00 \n if (m === \"00\" && hour === \"0\") return \"0:00\";\n if (m === \"00\") return hour;\n return `${hour}:${m}`;\n}\n// Функция для нормализации периода времени\nfunction normalizePeriod(period) {\n return {\n start: period.start || period.Start || period.startTime || period.StartTime,\n end: period.end || period.End || period.endTime || period.EndTime\n };\n}\n// Функция для получения расписания из разных форматов данных\nfunction getSchedulePerDay(workSchedule) {\n if (!workSchedule) return {};\n let rawSchedule = {};\n // Если есть schedulePerDay - используем его\n if (workSchedule.schedulePerDay) {\n rawSchedule = workSchedule.schedulePerDay;\n } else if (workSchedule.workingDays) {\n // Если есть workingDays как строка - пробуем распарсить\n try {\n rawSchedule = JSON.parse(workSchedule.workingDays);\n } catch {\n return {};\n }\n }\n // Нормализуем формат и ключи: поддерживаем {start, end} и {startTime, endTime}\n const result = {};\n for (const [day, periods] of Object.entries(rawSchedule)){\n if (!Array.isArray(periods)) continue;\n // Нормализуем ключ: если это русское название - преобразуем в число\n let normalizedKey = day;\n if (RU_TO_KEY[day]) {\n normalizedKey = RU_TO_KEY[day];\n }\n // Нормализуем периоды и сортируем\n result[normalizedKey] = periods.map((p)=>normalizePeriod(p)).sort((a, b)=>(a.start || \"\").localeCompare(b.start || \"\"));\n }\n return result;\n}\nfunction ScheduleViewer({ workSchedule }) {\n const schedulePerDay = getSchedulePerDay(workSchedule);\n if (!workSchedule) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.CardTitle, {\n className: \"text-lg\",\n children: \"Расписание работы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 115,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 114,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground\",\n children: \"Расписание не указано\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 118,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 117,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 113,\n columnNumber: 13\n }, this);\n }\n // Если \"всегда готов\" - показываем бейдж\n if (workSchedule.isAlwaysReady) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.CardTitle, {\n className: \"text-lg\",\n children: \"Расписание работы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 129,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 128,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_badge__WEBPACK_IMPORTED_MODULE_1__.Badge, {\n variant: \"default\",\n className: \"bg-green-600 hover:bg-green-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Clock_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"w-4 h-4 mr-1\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 134,\n columnNumber: 29\n }, this),\n \"Всегда на связи\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 133,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground text-sm\",\n children: \"Готов к работе 24/7\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 137,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 132,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 131,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 127,\n columnNumber: 13\n }, this);\n }\n // Проверяем, есть ли хоть какое-то расписание\n const hasAnySchedule = Object.values(schedulePerDay).some((times)=>times && times.length > 0);\n if (!hasAnySchedule) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.CardTitle, {\n className: \"text-lg\",\n children: \"Расписание работы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 151,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 150,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground\",\n children: \"Расписание не указано\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 154,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 153,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 149,\n columnNumber: 13\n }, this);\n }\n const groups = [];\n let currentGroup = null;\n const getTimeString = (times)=>{\n if (!times || times.length === 0) return \"off\";\n return times.map((t)=>`${t.start}-${t.end}`).join(',');\n };\n for(let i = 0; i < DAYS_OF_WEEK.length; i++){\n const day = DAYS_OF_WEEK[i];\n const times = schedulePerDay[day.key] || schedulePerDay[day.ruKey] || [];\n const isOff = times.length === 0;\n if (!currentGroup) {\n currentGroup = {\n startDayIdx: i,\n endDayIdx: i,\n times,\n isOff\n };\n groups.push(currentGroup);\n } else {\n const prevTimesString = getTimeString(currentGroup.times);\n const currTimesString = getTimeString(times);\n if (prevTimesString === currTimesString) {\n currentGroup.endDayIdx = i;\n } else {\n currentGroup = {\n startDayIdx: i,\n endDayIdx: i,\n times,\n isOff\n };\n groups.push(currentGroup);\n }\n }\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.Card, {\n className: \"border-0 shadow-none p-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_2__.CardContent, {\n className: \"px-0 pb-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid\",\n children: groups.map((group, idx)=>{\n let dayLabel = \"\";\n if (group.startDayIdx === group.endDayIdx) {\n dayLabel = DAYS_OF_WEEK[group.startDayIdx].ruKey;\n } else {\n dayLabel = `${DAYS_OF_WEEK[group.startDayIdx].label} — ${DAYS_OF_WEEK[group.endDayIdx].label}`;\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-baseline justify-between py-3 border-b border-border/50 last:border-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium text-sm\",\n children: dayLabel\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 213,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col gap-1 text-right\",\n children: group.isOff ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground font-medium text-[15px]\",\n children: \"Выходной\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 216,\n columnNumber: 41\n }, this) : group.times.map((time, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[15px] font-medium\",\n children: [\n formatTime(time.start),\n \" — \",\n formatTime(time.end)\n ]\n }, i, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 219,\n columnNumber: 45\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 214,\n columnNumber: 33\n }, this)\n ]\n }, idx, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 209,\n columnNumber: 29\n }, this);\n })\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 199,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 198,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\schedule-viewer.tsx\",\n lineNumber: 197,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zY2hlZHVsZS12aWV3ZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFNkM7QUFDa0M7QUFDM0M7QUFVcEMsd0RBQXdEO0FBQ3hELE1BQU1NLGVBQWU7SUFDakI7UUFBRUMsS0FBSztRQUFLQyxPQUFPO1FBQWVDLE9BQU87SUFBSztJQUM5QztRQUFFRixLQUFLO1FBQUtDLE9BQU87UUFBV0MsT0FBTztJQUFLO0lBQzFDO1FBQUVGLEtBQUs7UUFBS0MsT0FBTztRQUFTQyxPQUFPO0lBQUs7SUFDeEM7UUFBRUYsS0FBSztRQUFLQyxPQUFPO1FBQVdDLE9BQU87SUFBSztJQUMxQztRQUFFRixLQUFLO1FBQUtDLE9BQU87UUFBV0MsT0FBTztJQUFLO0lBQzFDO1FBQUVGLEtBQUs7UUFBS0MsT0FBTztRQUFXQyxPQUFPO0lBQUs7SUFDMUM7UUFBRUYsS0FBSztRQUFLQyxPQUFPO1FBQWVDLE9BQU87SUFBSztDQUNqRDtBQUVELHNEQUFzRDtBQUN0RCxNQUFNQyxZQUFvQztJQUN0QyxlQUFlO0lBQ2YsV0FBVztJQUNYLFNBQVM7SUFDVCxXQUFXO0lBQ1gsV0FBVztJQUNYLFdBQVc7SUFDWCxlQUFlO0FBQ25CO0FBRUEsU0FBU0MsV0FBV0MsSUFBYTtJQUM3QixJQUFJLENBQUNBLE1BQU0sT0FBTztJQUNsQixNQUFNQyxRQUFRRCxLQUFLRSxLQUFLLENBQUM7SUFDekIsSUFBSUQsTUFBTUUsTUFBTSxLQUFLLEdBQUcsT0FBT0g7SUFDL0IsTUFBTSxDQUFDSSxHQUFHQyxFQUFFLEdBQUdKO0lBQ2YsTUFBTUssT0FBT0MsU0FBU0gsR0FBRyxJQUFJSSxRQUFRO0lBRXJDLHNEQUFzRDtJQUN0RCxJQUFJSCxNQUFNLFFBQVFDLFNBQVMsS0FBSyxPQUFPO0lBQ3ZDLElBQUlELE1BQU0sTUFBTSxPQUFPQztJQUN2QixPQUFPLEdBQUdBLEtBQUssQ0FBQyxFQUFFRCxHQUFHO0FBQ3pCO0FBY0EsMkNBQTJDO0FBQzNDLFNBQVNJ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QkFDbkIsNEVBQUNFO2dCQUFJRixXQUFVOzBCQUNWUyxPQUFPaEIsR0FBRyxDQUFDLENBQUM0QixPQUFPQztvQkFDaEIsSUFBSUMsV0FBVztvQkFDZixJQUFJRixNQUFNTCxXQUFXLEtBQUtLLE1BQU1KLFNBQVMsRUFBRTt3QkFDdkNNLFdBQVd0RSxZQUFZLENBQUNvRSxNQUFNTCxXQUFXLENBQUMsQ0FBQzdELEtBQUs7b0JBQ3BELE9BQU87d0JBQ0hvRSxXQUFXLEdBQUd0RSxZQUFZLENBQUNvRSxNQUFNTCxXQUFXLENBQUMsQ0FBQzVELEtBQUssQ0FBQyxHQUFHLEVBQUVILFlBQVksQ0FBQ29FLE1BQU1KLFNBQVMsQ0FBQyxDQUFDN0QsS0FBSyxFQUFFO29CQUNsRztvQkFFQSxxQkFDSSw4REFBQzhDO3dCQUVHRixXQUFVOzswQ0FFViw4REFBQ0k7Z0NBQUtKLFdBQVU7MENBQXVCdUI7Ozs7OzswQ0FDdkMsOERBQUNyQjtnQ0FBSUYsV0FBVTswQ0FDVnFCLE1BQU1OLEtBQUssaUJBQ1IsOERBQUNYO29DQUFLSixXQUFVOzhDQUFnRDs7Ozs7MkNBRWhFcUIsTUFBTWIsS0FBSyxDQUFDZixHQUFHLENBQUMsQ0FBQ2xDLE1BQU11RCxrQkFDbkIsOERBQUNWO3dDQUFhSixXQUFVOzs0Q0FDbkIxQyxXQUFXQyxLQUFLVyxLQUFLOzRDQUFFOzRDQUFJWixXQUFXQyxLQUFLZSxHQUFHOzt1Q0FEeEN3Qzs7Ozs7Ozs7Ozs7dUJBVGxCUTs7Ozs7Z0JBaUJqQjs7Ozs7Ozs7Ozs7Ozs7OztBQUtwQiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXHNjaGVkdWxlLXZpZXdlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IEJhZGdlIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9iYWRnZVwiXG5pbXBvcnQgeyBDYXJkLCBDYXJkQ29udGVudCwgQ2FyZEhlYWRlciwgQ2FyZFRpdGxlIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9jYXJkXCJcbmltcG9ydCB7IENsb2NrIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXG5cbmludGVyZmFjZSBTY2hlZHVsZVZpZXdlclByb3BzIHtcbiAgICB3b3JrU2NoZWR1bGU/OiB7XG4gICAgICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW5cbiAgICAgICAgc2NoZWR1bGVQZXJEYXk/OiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7IHN0YXJ0Pzogc3RyaW5nOyBlbmQ/OiBzdHJpbmcgfT4+XG4gICAgICAgIHdvcmtpbmdEYXlzPzogc3RyaW5nIC8vIEpTT04g0YHRgtGA0L7QutCwINGBINGA0YPRgdGB0LrQuNC80Lgg0L3QsNC30LLQsNC90LjRj9C80Lgg0LTQvdC10LlcbiAgICB9XG59XG5cbi8vINCU0L3QuCDQvdC10LTQtdC70Lgg0LTQu9GPINC+0YLQvtCx0YDQsNC20LXQvdC40Y8gKNC/0L7QtNC00LXRgNC20LrQsCDQvtCx0L7QuNGFINGE0L7RgNC80LDRgtC+0LIpXG5jb25zdCBEQVlTX09GX1dFRUsgPSBbXG4gICAgeyBrZXk6IFwiMVwiLCBydUtleTogXCLQn9C+0L3QtdC00LXQu9GM0L3QuNC6XCIsIGxhYmVsOiBcItCf0L1cIiB9LFxuICAgIHsga2V5OiBcIjJcIiwgcnVLZXk6IFwi0JLRgtC+0YDQvdC40LpcIiwgbGFiZWw6IFwi0JLRglwiIH0sXG4gICAgeyBrZXk6IFwiM1wiLCBydUtleTogXCLQodGA0LXQtNCwXCIsIGxhYmVsOiBcItCh0YBcIiB9LFxuICAgIHsga2V5OiBcIjRcIiwgcnVLZXk6IFwi0KfQtdGC0LLQtdGA0LNcIiwgbGFiZWw6IFwi0KfRglwiIH0sXG4gICAgeyBrZXk6IFwiNVwiLCBydUtleTogXCLQn9GP0YLQvdC40YbQsFwiLCBsYWJlbDogXCLQn9GCXCIgfSxcbiAgICB7IGtleTogXCI2XCIsIHJ1S2V5OiBcItCh0YPQsdCx0L7RgtCwXCIsIGxhYmVsOiBcItCh0LFcIiB9LFxuICAgIHsga2V5OiBcIjdcIiwgcnVLZXk6IFwi0JLQvtGB0LrRgNC10YHQtdC90YzQtVwiLCBsYWJlbDogXCLQktGBXCIgfSxcbl1cblxuLy8g0J7QsdGA0LDRgtC90YvQuSDQvNCw0L/Qv9C40L3Qszog0YDRg9GB0YHQutC+0LUg0L3QsNC30LLQsNC90LjQtSAtPiDRh9C40YHQu9C+0LLQvtC5INC60LvRjtGHXG5jb25zdCBSVV9UT19LRVk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgXCLQn9C+0L3QtdC00LXQu9GM0L3QuNC6XCI6IFwiMVwiLFxuICAgIFwi0JLRgtC+0YDQvdC40LpcIjogXCIyXCIsXG4gICAgXCLQodGA0LXQtNCwXCI6IFwiM1wiLFxuICAgIFwi0KfQtdGC0LLQtdGA0LNcIjogXCI0XCIsXG4gICAgXCLQn9GP0YLQvdC40YbQsFwiOiBcIjVcIixcbiAgICBcItCh0YPQsdCx0L7RgtCwXCI6IFwiNlwiLFxuICAgIFwi0JLQvtGB0LrRgNC10YHQtdC90YzQtVwiOiBcIjdcIixcbn1cblxuZnVuY3Rpb24gZm9ybWF0VGltZSh0aW1lPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXRpbWUpIHJldHVybiBcIi0tOi0tXCJcbiAgICBjb25zdCBwYXJ0cyA9IHRpbWUuc3BsaXQoJzonKVxuICAgIGlmIChwYXJ0cy5sZW5ndGggIT09IDIpIHJldHVybiB0aW1lXG4gICAgY29uc3QgW2gsIG1dID0gcGFydHNcbiAgICBjb25zdCBob3VyID0gcGFyc2VJbnQoaCwgMTApLnRvU3RyaW5nKClcblxuICAgIC8vINCe0YHRgtCw0LLQu9GP0LXQvCAwOjAwINC60LDQuiAwOjAwLCDQtNC70Y8g0L7RgdGC0LDQu9GM0L3Ri9GFINGD0LHQuNGA0LDQtdC8IDowMCBcbiAgICBpZiAobSA9PT0gXCIwMFwiICYmIGhvdXIgPT09IFwiMFwiKSByZXR1cm4gXCIwOjAwXCJcbiAgICBpZiAobSA9PT0gXCIwMFwiKSByZXR1cm4gaG91clxuICAgIHJldHVybiBgJHtob3VyfToke219YFxufVxuXG4vLyDQotC40L8g0LTQu9GPINC/0LXRgNC40L7QtNCwINCy0YDQtdC80LXQvdC4ICjQv9C+0LTQtNC10YDQttC60LAg0YDQsNC30L3Ri9GFINGE0L7RgNC80LDRgtC+0LIpXG5pbnRlcmZhY2UgVGltZVBlcmlvZCB7XG4gICAgc3RhcnQ/OiBzdHJpbmdcbiAgICBlbmQ/OiBzdHJpbmdcbiAgICBTdGFydD86IHN0cmluZ1xuICAgIEVuZD86IHN0cmluZ1xuICAgIHN0YXJ0VGltZT86IHN0cmluZ1xuICAgIGVuZFRpbWU/OiBzdHJpbmdcbiAgICBTdGFydFRpbWU/OiBzdHJpbmdcbiAgICBFbmRUaW1lPzogc3RyaW5nXG59XG5cbi8vINCk0YPQvdC60YbQuNGPINC00LvRjyDQvdC+0YDQvNCw0LvQuNC30LDRhtC40Lgg0L/QtdGA0LjQvtC00LAg0LLRgNC10LzQtdC90LhcbmZ1bmN0aW9uIG5vcm1hbGl6ZVBlcmlvZChwZXJpb2Q6IFRpbWVQZXJpb2QpOiB7IHN0YXJ0Pzogc3RyaW5nOyBlbmQ/OiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc3RhcnQ6IHBlcmlvZC5zdGFydCB8fCBwZXJpb2QuU3RhcnQgfHwgcGVyaW9kLnN0YXJ0VGltZSB8fCBwZXJpb2QuU3RhcnRUaW1lLFxuICAgICAgICBlbmQ6IHBlcmlvZC5lbmQgfHwgcGVyaW9kLkVuZCB8fCBwZXJpb2QuZW5kVGltZSB8fCBwZXJpb2QuRW5kVGltZVxuICAgIH1cbn1cblxuLy8g0KTRg9C90LrRhtC40Y8g0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDRgNCw0YHQv9C40YHQsNC90LjRjyDQuNC3INGA0LDQt9C90YvRhSDRhNC+0YDQvNCw0YLQvtCyINC00LDQvdC90YvRhVxuZnVuY3Rpb24gZ2V0U2NoZWR1bGVQZXJEYXkod29ya1NjaGVkdWxlOiBTY2hlZHVsZVZpZXdlclByb3BzWyd3b3JrU2NoZWR1bGUnXSk6IFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ/OiBzdHJpbmc7IGVuZD86IHN0cmluZyB9Pj4ge1xuICAgIGlmICghd29ya1NjaGVkdWxlKSByZXR1cm4ge31cblxuICAgIGxldCByYXdTY2hlZHVsZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fVxuXG4gICAgLy8g0JXRgdC70Lgg0LXRgdGC0Ywgc2NoZWR1bGVQZXJEYXkgLSDQuNGB0L/QvtC70YzQt9GD0LXQvCDQtdCz0L5cbiAgICBpZiAod29ya1NjaGVkdWxlLnNjaGVkdWxlUGVyRGF5KSB7XG4gICAgICAgIHJhd1NjaGVkdWxlID0gd29ya1NjaGVkdWxlLnNjaGVkdWxlUGVyRGF5XG4gICAgfSBlbHNlIGlmICh3b3JrU2NoZWR1bGUud29ya2luZ0RheXMpIHtcbiAgICAgICAgLy8g0JXRgdC70Lgg0LXRgdGC0Ywgd29ya2luZ0RheXMg0LrQsNC6INGB0YLRgNC+0LrQsCAtINC/0YDQvtCx0YPQtdC8INGA0LDRgdC/0LDRgNGB0LjRgtGMXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByYXdTY2hlZHVsZSA9IEpTT04ucGFyc2Uod29ya1NjaGVkdWxlLndvcmtpbmdEYXlzKVxuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIHJldHVybiB7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8g0J3QvtGA0LzQsNC70LjQt9GD0LXQvCDRhNC+0YDQvNCw0YIg0Lgg0LrQu9GO0YfQuDog0L/QvtC00LTQtdGA0LbQuNCy0LDQtdC8IHtzdGFydCwgZW5kfSDQuCB7c3RhcnRUaW1lLCBlbmRUaW1lfVxuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydD86IHN0cmluZzsgZW5kPzogc3RyaW5nIH0+PiA9IHt9XG4gICAgZm9yIChjb25zdCBbZGF5LCBwZXJpb2RzXSBvZiBPYmplY3QuZW50cmllcyhyYXdTY2hlZHVsZSkpIHtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHBlcmlvZHMpKSBjb250aW51ZVxuXG4gICAgICAgIC8vINCd0L7RgNC80LDQu9C40LfRg9C10Lwg0LrQu9GO0Yc6INC10YHQu9C4INGN0YLQviDRgNGD0YHRgdC60L7QtSDQvdCw0LfQstCw0L3QuNC1IC0g0L/RgNC10L7QsdGA0LDQt9GD0LXQvCDQsiDRh9C40YHQu9C+XG4gICAgICAgIGxldCBub3JtYWxpemVkS2V5ID0gZGF5XG4gICAgICAgIGlmIChSVV9UT19LRVlbZGF5XSkge1xuICAgICAgICAgICAgbm9ybWFsaXplZEtleSA9IFJVX1RPX0tFWVtkYXldXG4gICAgICAgIH1cblxuICAgICAgICAvLyDQndC+0YDQvNCw0LvQuNC30YPQtdC8INC/0LXRgNC40L7QtNGLINC4INGB0L7RgNGC0LjRgNGD0LXQvFxuICAgICAgICByZXN1bHRbbm9ybWFsaXplZEtleV0gPSBwZXJpb2RzXG4gICAgICAgICAgICAubWFwKHAgPT4gbm9ybWFsaXplUGVyaW9kKHAgYXMgVGltZVBlcmlvZCkpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gKGEuc3RhcnQgfHwgXCJcIikubG9jYWxlQ29tcGFyZShiLnN0YXJ0IHx8IFwiXCIpKVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNjaGVkdWxlVmlld2VyKHsgd29ya1NjaGVkdWxlIH06IFNjaGVkdWxlVmlld2VyUHJvcHMpIHtcbiAgICBjb25zdCBzY2hlZHVsZVBlckRheSA9IGdldFNjaGVkdWxlUGVyRGF5KHdvcmtTY2hlZHVsZSlcblxuICAgIGlmICghd29ya1NjaGVkdWxlKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgICA8Q2FyZEhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJ0ZXh0LWxnXCI+0KDQsNGB0L/QuNGB0LDQvdC40LUg0YDQsNCx0L7RgtGLPC9DYXJkVGl0bGU+XG4gICAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPlxuICAgICAgICAgICAgICAgIDxDYXJkQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+0KDQsNGB0L/QuNGB0LDQvdC40LUg0L3QtSDRg9C60LDQt9Cw0L3QvjwvcD5cbiAgICAgICAgICAgICAgICA8L0NhcmRDb250ZW50PlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICApXG4gICAgfVxuXG4gICAgLy8g0JXRgdC70LggXCLQstGB0LXQs9C00LAg0LPQvtGC0L7QslwiIC0g0L/QvtC60LDQt9GL0LLQsNC10Lwg0LHQtdC50LTQtlxuICAgIGlmICh3b3JrU2NoZWR1bGUuaXNBbHdheXNSZWFkeSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwidGV4dC1sZ1wiPtCg0LDRgdC/0LjRgdCw0L3QuNC1INGA0LDQsdC+0YLRizwvQ2FyZFRpdGxlPlxuICAgICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cbiAgICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxCYWRnZSB2YXJpYW50PVwiZGVmYXVsdFwiIGNsYXNzTmFtZT1cImJnLWdyZWVuLTYwMCBob3ZlcjpiZy1ncmVlbi03MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2xvY2sgY2xhc3NOYW1lPVwidy00IGgtNCBtci0xXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDQktGB0LXQs9C00LAg0L3QsCDRgdCy0Y/Qt9C4XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0JhZGdlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHRleHQtc21cIj7Qk9C+0YLQvtCyINC6INGA0LDQsdC+0YLQtSAyNC83PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0NhcmRDb250ZW50PlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICApXG4gICAgfVxuXG4gICAgLy8g0J/RgNC+0LLQtdGA0Y/QtdC8LCDQtdGB0YLRjCDQu9C4INGF0L7RgtGMINC60LDQutC+0LUt0YLQviDRgNCw0YHQv9C40YHQsNC90LjQtVxuICAgIGNvbnN0IGhhc0FueVNjaGVkdWxlID0gT2JqZWN0LnZhbHVlcyhzY2hlZHVsZVBlckRheSkuc29tZSh0aW1lcyA9PiB0aW1lcyAmJiB0aW1lcy5sZW5ndGggPiAwKVxuXG4gICAgaWYgKCFoYXNBbnlTY2hlZHVsZSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwidGV4dC1sZ1wiPtCg0LDRgdC/0LjRgdCw0L3QuNC1INGA0LDQsdC+0YLRizwvQ2FyZFRpdGxlPlxuICAgICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cbiAgICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPtCg0LDRgdC/0LjRgdCw0L3QuNC1INC90LUg0YPQutCw0LfQsNC90L48L3A+XG4gICAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgKVxuICAgIH1cblxuICAgIGludGVyZmFjZSBTY2hlZHVsZUdyb3VwIHtcbiAgICAgICAgc3RhcnREYXlJZHg6IG51bWJlcjtcbiAgICAgICAgZW5kRGF5SWR4OiBudW1iZXI7XG4gICAgICAgIHRpbWVzOiBBcnJheTx7IHN0YXJ0Pzogc3RyaW5nOyBlbmQ/OiBzdHJpbmcgfT47XG4gICAgICAgIGlzT2ZmOiBib29sZWFuO1xuICAgIH1cblxuICAgIGNvbnN0IGdyb3VwczogU2NoZWR1bGVHcm91cFtdID0gW107XG4gICAgbGV0IGN1cnJlbnRHcm91cDogU2NoZWR1bGVHcm91cCB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3QgZ2V0VGltZVN0cmluZyA9ICh0aW1lczogQXJyYXk8eyBzdGFydD86IHN0cmluZzsgZW5kPzogc3RyaW5nIH0+KSA9PiB7XG4gICAgICAgIGlmICghdGltZXMgfHwgdGltZXMubGVuZ3RoID09PSAwKSByZXR1cm4gXCJvZmZcIjtcbiAgICAgICAgcmV0dXJuIHRpbWVzLm1hcCh0ID0+IGAke3Quc3RhcnR9LSR7dC5lbmR9YCkuam9pbignLCcpO1xuICAgIH07XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IERBWVNfT0ZfV0VFSy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBkYXkgPSBEQVlTX09GX1dFRUtbaV07XG4gICAgICAgIGNvbnN0IHRpbWVzID0gc2NoZWR1bGVQZXJEYXlbZGF5LmtleV0gfHwgc2NoZWR1bGVQZXJEYXlbZGF5LnJ1S2V5XSB8fCBbXTtcbiAgICAgICAgY29uc3QgaXNPZmYgPSB0aW1lcy5sZW5ndGggPT09IDA7XG5cbiAgICAgICAgaWYgKCFjdXJyZW50R3JvdXApIHtcbiAgICAgICAgICAgIGN1cnJlbnRHcm91cCA9IHsgc3RhcnREYXlJZHg6IGksIGVuZERheUlkeDogaSwgdGltZXMsIGlzT2ZmIH07XG4gICAgICAgICAgICBncm91cHMucHVzaChjdXJyZW50R3JvdXApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcHJldlRpbWVzU3RyaW5nID0gZ2V0VGltZVN0cmluZyhjdXJyZW50R3JvdXAudGltZXMpO1xuICAgICAgICAgICAgY29uc3QgY3VyclRpbWVzU3RyaW5nID0gZ2V0VGltZVN0cmluZyh0aW1lcyk7XG5cbiAgICAgICAgICAgIGlmIChwcmV2VGltZXNTdHJpbmcgPT09IGN1cnJUaW1lc1N0cmluZykge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRHcm91cC5lbmREYXlJZHggPSBpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50R3JvdXAgPSB7IHN0YXJ0RGF5SWR4OiBpLCBlbmREYXlJZHg6IGksIHRpbWVzLCBpc09mZiB9O1xuICAgICAgICAgICAgICAgIGdyb3Vwcy5wdXNoKGN1cnJlbnRHcm91cCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8Q2FyZCBjbGFzc05hbWU9XCJib3JkZXItMCBzaGFkb3ctbm9uZSBwLTBcIj5cbiAgICAgICAgICAgIDxDYXJkQ29udGVudCBjbGFzc05hbWU9XCJweC0wIHBiLTBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWRcIj5cbiAgICAgICAgICAgICAgICAgICAge2dyb3Vwcy5tYXAoKGdyb3VwLCBpZHgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkYXlMYWJlbCA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ3JvdXAuc3RhcnREYXlJZHggPT09IGdyb3VwLmVuZERheUlkeCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRheUxhYmVsID0gREFZU19PRl9XRUVLW2dyb3VwLnN0YXJ0RGF5SWR4XS5ydUtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5TGFiZWwgPSBgJHtEQVlTX09GX1dFRUtbZ3JvdXAuc3RhcnREYXlJZHhdLmxhYmVsfSDigJQgJHtEQVlTX09GX1dFRUtbZ3JvdXAuZW5kRGF5SWR4XS5sYWJlbH1gO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpZHh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtYmFzZWxpbmUganVzdGlmeS1iZXR3ZWVuIHB5LTMgYm9yZGVyLWIgYm9yZGVyLWJvcmRlci81MCBsYXN0OmJvcmRlci0wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtIHRleHQtc21cIj57ZGF5TGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgZ2FwLTEgdGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2dyb3VwLmlzT2ZmID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZCBmb250LW1lZGl1bSB0ZXh0LVsxNXB4XVwiPtCS0YvRhdC+0LTQvdC+0Lk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwLnRpbWVzLm1hcCgodGltZSwgaSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBrZXk9e2l9IGNsYXNzTmFtZT1cInRleHQtWzE1cHhdIGZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0VGltZSh0aW1lLnN0YXJ0KX0g4oCUIHtmb3JtYXRUaW1lKHRpbWUuZW5kKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L0NhcmRDb250ZW50PlxuICAgICAgICA8L0NhcmQ+XG4gICAgKVxufVxuIl0sIm5hbWVzIjpbIkJhZGdlIiwiQ2FyZCIsIkNhcmRDb250ZW50IiwiQ2FyZEhlYWRlciIsIkNhcmRUaXRsZSIsIkNsb2NrIiwiREFZU19PRl9XRUVLIiwia2V5IiwicnVLZXkiLCJsYWJlbCIsIlJVX1RPX0tFWSIsImZvcm1hdFRpbWUiLCJ0aW1lIiwicGFydHMiLCJzcGxpdCIsImxlbmd0aCIsImgiLCJtIiwiaG91ciIsInBhcnNlSW50IiwidG9TdHJpbmciLCJub3JtYWxpemVQZXJpb2QiLCJwZXJpb2QiLCJzdGFydCIsIlN0YXJ0Iiwic3RhcnRUaW1lIiwiU3RhcnRUaW1lIiwiZW5kIiwiRW5kIiwiZW5kVGltZSIsIkVuZFRpbWUiLCJnZXRTY2hlZHVsZVBlckRheSIsIndvcmtTY2hlZHVsZSIsInJhd1NjaGVkdWxlIiwic2NoZWR1bGVQZXJEYXkiLCJ3b3JraW5nRGF5cyIsIkpTT04iLCJwYXJzZSIsInJlc3VsdCIsImRheSIsInBlcmlvZHMiLCJPYmplY3QiLCJlbnRyaWVzIiwiQXJyYXkiLCJpc0FycmF5Iiwibm9ybWFsaXplZEtleSIsIm1hcCIsInAiLCJzb3J0IiwiYSIsImIiLCJsb2NhbGVDb21wYXJlIiwiU2NoZWR1bGVWaWV3ZXIiLCJjbGFzc05hbWUiLCJpc0Fsd2F5c1JlYWR5IiwiZGl2IiwidmFyaWFudCIsInNwYW4iLCJoYXNBbnlTY2hlZHVsZSIsInZhbHVlcyIsInNvbWUiLCJ0aW1lcyIsImdyb3VwcyIsImN1cnJlbnRHcm91cCIsImdldFRpbWVTdHJpbmciLCJ0Iiwiam9pbiIsImkiLCJpc09mZiIsInN0YXJ0RGF5SWR4IiwiZW5kRGF5SWR4IiwicHVzaCIsInByZXZUaW1lc1N0cmluZyIsImN1cnJUaW1lc1N0cmluZyIsImdyb3VwIiwiaWR4IiwiZGF5TGFiZWwiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/schedule-viewer.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/slider.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/slider.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Slider: () => (/* binding */ Slider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-slider */ \"(ssr)/./node_modules/@radix-ui/react-slider/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Slider auto */ \n\n\n\nconst Slider = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_slider__WEBPACK_IMPORTED_MODULE_3__.Root, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex w-full touch-none select-none items-center\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_slider__WEBPACK_IMPORTED_MODULE_3__.Track, {\n className: \"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_slider__WEBPACK_IMPORTED_MODULE_3__.Range, {\n className: \"absolute h-full bg-primary\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\slider.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\slider.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_slider__WEBPACK_IMPORTED_MODULE_3__.Thumb, {\n className: \"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\slider.tsx\",\n lineNumber: 22,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\slider.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, undefined));\nSlider.displayName = _radix_ui_react_slider__WEBPACK_IMPORTED_MODULE_3__.Root.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zbGlkZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRThCO0FBQzJCO0FBQ2xCO0FBRXZDLE1BQU1HLHVCQUFTSCw2Q0FBZ0IsQ0FHN0IsQ0FBQyxFQUFFSyxTQUFTLEVBQUUsR0FBR0MsT0FBTyxFQUFFQyxvQkFDeEIsOERBQUNOLHdEQUFvQjtRQUNqQk0sS0FBS0E7UUFDTEYsV0FBV0gscURBQUVBLENBQ1QsNERBQ0FHO1FBRUgsR0FBR0MsS0FBSzs7MEJBRVQsOERBQUNMLHlEQUFxQjtnQkFBQ0ksV0FBVTswQkFDN0IsNEVBQUNKLHlEQUFxQjtvQkFBQ0ksV0FBVTs7Ozs7Ozs7Ozs7MEJBRXJDLDhEQUFDSix5REFBcUI7Z0JBQUNJLFdBQVU7Ozs7Ozs7Ozs7OztBQUd6Q0YsT0FBT1MsV0FBVyxHQUFHWCx3REFBb0IsQ0FBQ1csV0FBVztBQUVwQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXHNsaWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCAqIGFzIFNsaWRlclByaW1pdGl2ZSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsaWRlclwiXHJcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvc2hhcmVkL2xpYi91dGlsc1wiXHJcblxyXG5jb25zdCBTbGlkZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2xpZGVyUHJpbWl0aXZlLlJvb3Q+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBTbGlkZXJQcmltaXRpdmUuUm9vdD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNsaWRlclByaW1pdGl2ZS5Sb290XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IHctZnVsbCB0b3VjaC1ub25lIHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlclwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgID5cclxuICAgICAgICA8U2xpZGVyUHJpbWl0aXZlLlRyYWNrIGNsYXNzTmFtZT1cInJlbGF0aXZlIGgtMiB3LWZ1bGwgZ3JvdyBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1mdWxsIGJnLXNlY29uZGFyeVwiPlxyXG4gICAgICAgICAgICA8U2xpZGVyUHJpbWl0aXZlLlJhbmdlIGNsYXNzTmFtZT1cImFic29sdXRlIGgtZnVsbCBiZy1wcmltYXJ5XCIgLz5cclxuICAgICAgICA8L1NsaWRlclByaW1pdGl2ZS5UcmFjaz5cclxuICAgICAgICA8U2xpZGVyUHJpbWl0aXZlLlRodW1iIGNsYXNzTmFtZT1cImJsb2NrIGgtNSB3LTUgcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci1wcmltYXJ5IGJnLWJhY2tncm91bmQgcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwXCIgLz5cclxuICAgIDwvU2xpZGVyUHJpbWl0aXZlLlJvb3Q+XHJcbikpXHJcblNsaWRlci5kaXNwbGF5TmFtZSA9IFNsaWRlclByaW1pdGl2ZS5Sb290LmRpc3BsYXlOYW1lXHJcblxyXG5leHBvcnQgeyBTbGlkZXIgfVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTbGlkZXJQcmltaXRpdmUiLCJjbiIsIlNsaWRlciIsImZvcndhcmRSZWYiLCJjbGFzc05hbWUiLCJwcm9wcyIsInJlZiIsIlJvb3QiLCJUcmFjayIsIlJhbmdlIiwiVGh1bWIiLCJkaXNwbGF5TmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/slider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toaster: () => (/* binding */ Toaster)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ Toaster auto */ \n\n\nconst Toaster = ({ ...props })=>{\n const { theme = \"system\" } = (0,next_themes__WEBPACK_IMPORTED_MODULE_1__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(sonner__WEBPACK_IMPORTED_MODULE_2__.Toaster, {\n theme: theme,\n className: \"toaster group\",\n toastOptions: {\n classNames: {\n toast: \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toaster]:text-muted-foreground\",\n actionButton: \"group-[.toaster]:bg-primary group-[.toaster]:text-primary-foreground\",\n cancelButton: \"group-[.toaster]:bg-muted group-[.toaster]:text-muted-foreground\"\n }\n },\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\sonner.tsx\",\n lineNumber: 12,\n columnNumber: 9\n }, undefined);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zb25uZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVzQztBQUNJO0FBSTFDLE1BQU1DLFVBQVUsQ0FBQyxFQUFFLEdBQUdFLE9BQXFCO0lBQ3ZDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLEVBQUUsR0FBR0oscURBQVFBO0lBRXJDLHFCQUNJLDhEQUFDRSwyQ0FBTUE7UUFDSEUsT0FBT0E7UUFDUEMsV0FBVTtRQUNWQyxjQUFjO1lBQ1ZDLFlBQVk7Z0JBQ1JDLE9BQ0k7Z0JBQ0pDLGFBQWE7Z0JBQ2JDLGNBQ0k7Z0JBQ0pDLGNBQ0k7WUFDUjtRQUNKO1FBQ0MsR0FBR1IsS0FBSzs7Ozs7O0FBR3JCO0FBRWtCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcc29ubmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5pbXBvcnQgeyBUb2FzdGVyIGFzIFNvbm5lciB9IGZyb20gXCJzb25uZXJcIlxyXG5cclxudHlwZSBUb2FzdGVyUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgU29ubmVyPlxyXG5cclxuY29uc3QgVG9hc3RlciA9ICh7IC4uLnByb3BzIH06IFRvYXN0ZXJQcm9wcykgPT4ge1xyXG4gICAgY29uc3QgeyB0aGVtZSA9IFwic3lzdGVtXCIgfSA9IHVzZVRoZW1lKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTb25uZXJcclxuICAgICAgICAgICAgdGhlbWU9e3RoZW1lIGFzIFRvYXN0ZXJQcm9wc1tcInRoZW1lXCJdfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0b2FzdGVyIGdyb3VwXCJcclxuICAgICAgICAgICAgdG9hc3RPcHRpb25zPXt7XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9hc3Q6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JvdXAgdG9hc3QgZ3JvdXAtWy50b2FzdGVyXTpiZy1iYWNrZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06dGV4dC1mb3JlZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06Ym9yZGVyLWJvcmRlciBncm91cC1bLnRvYXN0ZXJdOnNoYWRvdy1sZ1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImdyb3VwLVsudG9hc3Rlcl06dGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctcHJpbWFyeSBncm91cC1bLnRvYXN0ZXJdOnRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctbXV0ZWQgZ3JvdXAtWy50b2FzdGVyXTp0ZXh0LW11dGVkLWZvcmVncm91bmRcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgeyBUb2FzdGVyIH1cclxuIl0sIm5hbWVzIjpbInVzZVRoZW1lIiwiVG9hc3RlciIsIlNvbm5lciIsInByb3BzIiwidGhlbWUiLCJjbGFzc05hbWUiLCJ0b2FzdE9wdGlvbnMiLCJjbGFzc05hbWVzIiwidG9hc3QiLCJkZXNjcmlwdGlvbiIsImFjdGlvbkJ1dHRvbiIsImNhbmNlbEJ1dHRvbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/sonner.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/switch.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/switch.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Switch: () => (/* binding */ Switch)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Switch auto */ \n\n\n/**\r\n * Переключатель (тумблер) — аналог Shadcn Switch.\r\n * Используется для тумблера «На линии» в шапке.\r\n */ const Switch = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, checked = false, onCheckedChange, disabled, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n disabled: disabled,\n ref: ref,\n onClick: ()=>onCheckedChange?.(!checked),\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors\", \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\", \"disabled:cursor-not-allowed disabled:opacity-50\", checked ? \"bg-green-500\" : \"bg-input\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform\", checked ? \"translate-x-5\" : \"translate-x-0\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined);\n});\nSwitch.displayName = \"Switch\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zd2l0Y2gudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFOEI7QUFDUztBQU92Qzs7O0NBR0MsR0FDRCxNQUFNRSx1QkFBU0YsNkNBQWdCLENBQzNCLENBQUMsRUFBRUksU0FBUyxFQUFFQyxVQUFVLEtBQUssRUFBRUMsZUFBZSxFQUFFQyxRQUFRLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUNsRSxxQkFDSSw4REFBQ0M7UUFDR0MsTUFBSztRQUNMQyxNQUFLO1FBQ0xDLGdCQUFjUjtRQUNkRSxVQUFVQTtRQUNWRSxLQUFLQTtRQUNMSyxTQUFTLElBQU1SLGtCQUFrQixDQUFDRDtRQUNsQ0QsV0FBV0gscURBQUVBLENBQ1QsNkhBQ0EsNElBQ0EsbURBQ0FJLFVBQVUsaUJBQWlCLFlBQzNCRDtRQUVILEdBQUdJLEtBQUs7a0JBRVQsNEVBQUNPO1lBQ0dYLFdBQVdILHFEQUFFQSxDQUNULHNHQUNBSSxVQUFVLGtCQUFrQjs7Ozs7Ozs7Ozs7QUFLaEQ7QUFFSkgsT0FBT2MsV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxzd2l0Y2gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuaW50ZXJmYWNlIFN3aXRjaFByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuXHJcbiAgICBvbkNoZWNrZWRDaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZFxyXG59XHJcblxyXG4vKipcclxuICog0J/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70YwgKNGC0YPQvNCx0LvQtdGAKSDigJQg0LDQvdCw0LvQvtCzIFNoYWRjbiBTd2l0Y2guXHJcbiAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YLRg9C80LHQu9C10YDQsCDCq9Cd0LAg0LvQuNC90LjQuMK7INCyINGI0LDQv9C60LUuXHJcbiAqL1xyXG5jb25zdCBTd2l0Y2ggPSBSZWFjdC5mb3J3YXJkUmVmPEhUTUxCdXR0b25FbGVtZW50LCBTd2l0Y2hQcm9wcz4oXHJcbiAgICAoeyBjbGFzc05hbWUsIGNoZWNrZWQgPSBmYWxzZSwgb25DaGVja2VkQ2hhbmdlLCBkaXNhYmxlZCwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcclxuICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cclxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cclxuICAgICAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGVja2VkQ2hhbmdlPy4oIWNoZWNrZWQpfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICBcInBlZXIgaW5saW5lLWZsZXggaC02IHctMTEgc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItdHJhbnNwYXJlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIixcclxuICAgICAgICAgICAgICAgICAgICBcImZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LWJhY2tncm91bmRcIixcclxuICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwiYmctZ3JlZW4tNTAwXCIgOiBcImJnLWlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicG9pbnRlci1ldmVudHMtbm9uZSBibG9jayBoLTUgdy01IHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1sZyByaW5nLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm1cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwidHJhbnNsYXRlLXgtNVwiIDogXCJ0cmFuc2xhdGUteC0wXCJcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcblN3aXRjaC5kaXNwbGF5TmFtZSA9IFwiU3dpdGNoXCJcclxuXHJcbmV4cG9ydCB7IFN3aXRjaCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiU3dpdGNoIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImNoZWNrZWQiLCJvbkNoZWNrZWRDaGFuZ2UiLCJkaXNhYmxlZCIsInByb3BzIiwicmVmIiwiYnV0dG9uIiwidHlwZSIsInJvbGUiLCJhcmlhLWNoZWNrZWQiLCJvbkNsaWNrIiwic3BhbiIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/switch.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/tag-input.tsx": -/*!*****************************************!*\ - !*** ./src/components/ui/tag-input.tsx ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TagInput: () => (/* binding */ TagInput)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _components_ui_badge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/badge */ \"(ssr)/./src/components/ui/badge.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/input */ \"(ssr)/./src/components/ui/input.tsx\");\n/* harmony import */ var _shared_api_axios__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/shared/api/axios */ \"(ssr)/./src/shared/api/axios.ts\");\n/* __next_internal_client_entry_do_not_use__ TagInput auto */ \n\n\n\n\n\n// Функция для нормализации текста (все строчные)\nfunction normalizeText(text) {\n if (!text) return text;\n return text.trim().toLowerCase();\n}\nfunction TagInput({ value = [], onChange, placeholder = \"Добавить компетенцию...\", maxTags = 50 }) {\n const [inputValue, setInputValue] = react__WEBPACK_IMPORTED_MODULE_1__.useState(\"\");\n const [bestSuggestion, setBestSuggestion] = react__WEBPACK_IMPORTED_MODULE_1__.useState(null);\n // Поиск лучшего совпадения при вводе\n react__WEBPACK_IMPORTED_MODULE_1__.useEffect({\n \"TagInput.useEffect\": ()=>{\n const fetchSuggestion = {\n \"TagInput.useEffect.fetchSuggestion\": async ()=>{\n if (inputValue.length < 2) {\n setBestSuggestion(null);\n return;\n }\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_4__.api.get(`/competencies/search?q=${encodeURIComponent(inputValue)}`);\n // Фильтруем уже добавленные компетенции и берем только первое (лучшее) совпадение\n const filteredSuggestions = response.data.filter({\n \"TagInput.useEffect.fetchSuggestion.filteredSuggestions\": (s)=>!value.includes(s)\n }[\"TagInput.useEffect.fetchSuggestion.filteredSuggestions\"]);\n setBestSuggestion(filteredSuggestions.length > 0 ? filteredSuggestions[0] : null);\n } catch (error) {\n console.error(\"Error fetching suggestions:\", error);\n setBestSuggestion(null);\n }\n }\n }[\"TagInput.useEffect.fetchSuggestion\"];\n const debounce = setTimeout(fetchSuggestion, 300);\n return ({\n \"TagInput.useEffect\": ()=>clearTimeout(debounce)\n })[\"TagInput.useEffect\"];\n }\n }[\"TagInput.useEffect\"], [\n inputValue,\n value\n ]);\n const addTag = (tag)=>{\n const normalizedTag = normalizeText(tag);\n if (normalizedTag && !value.includes(normalizedTag) && value.length < maxTags) {\n const newTags = [\n ...value,\n normalizedTag\n ];\n onChange(newTags);\n setInputValue(\"\");\n setBestSuggestion(null);\n }\n };\n const removeTag = (tagToRemove)=>{\n const newTags = value.filter((tag)=>tag !== tagToRemove);\n onChange(newTags);\n };\n const handleKeyDown = (e)=>{\n if (e.key === \"Enter\" && inputValue) {\n e.preventDefault();\n // Enter добавляет то, что ввел пользователь\n addTag(inputValue);\n } else if (e.key === \"Tab\" && bestSuggestion) {\n e.preventDefault();\n // Tab выбирает автодополнение (подсвеченную часть)\n addTag(bestSuggestion);\n } else if (e.key === \"Escape\") {\n setBestSuggestion(null);\n } else if (e.key === \"Backspace\" && !inputValue && value.length > 0) {\n removeTag(value[value.length - 1]);\n }\n };\n const showAutocomplete = bestSuggestion && bestSuggestion.toLowerCase().startsWith(inputValue.toLowerCase());\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-2 mb-3\",\n children: value.map((tag)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_badge__WEBPACK_IMPORTED_MODULE_2__.Badge, {\n variant: \"secondary\",\n className: \"gap-1.5 px-3 py-1.5 text-sm bg-blue-50 hover:bg-blue-100 text-blue-900 border-blue-200 dark:bg-blue-950 dark:text-blue-100 dark:border-blue-800 transition-colors\",\n children: [\n tag,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>removeTag(tag),\n className: \"ml-1 hover:bg-blue-200 dark:hover:bg-blue-800 rounded-full p-0.5 transition-colors\",\n \"aria-label\": `Удалить ${tag}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-3.5 w-3.5\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\tag-input.tsx\",\n lineNumber: 100,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\tag-input.tsx\",\n lineNumber: 94,\n columnNumber: 25\n }, this)\n ]\n }, tag, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\tag-input.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\tag-input.tsx\",\n lineNumber: 86,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_3__.Input, {\n value: inputValue,\n onChange: (e)=>{\n setInputValue(e.target.value);\n },\n onKeyDown: handleKeyDown,\n onBlur: ()=>setBestSuggestion(null),\n placeholder: value.length >= maxTags ? `Максимум ${maxTags} компетенций` : placeholder,\n disabled: value.length >= maxTags,\n className: \"text-base pr-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\tag-input.tsx\",\n lineNumber: 107,\n columnNumber: 17\n }, this),\n showAutocomplete && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-y-0 left-0 pointer-events-none flex items-center px-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-base\",\n children: [\n inputValue,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: bestSuggestion.slice(inputValue.length)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\tag-input.tsx\",\n lineNumber: 124,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\tag-input.tsx\",\n lineNumber: 122,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\tag-input.tsx\",\n lineNumber: 121,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\tag-input.tsx\",\n lineNumber: 106,\n columnNumber: 13\n }, this),\n value.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground mt-2\",\n children: [\n value.length,\n \" / \",\n maxTags,\n \" компетенций\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\tag-input.tsx\",\n lineNumber: 133,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\tag-input.tsx\",\n lineNumber: 84,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Qyx1REFBS0E7d0JBRUZnRCxTQUFRO3dCQUNSRixXQUFVOzs0QkFFVFo7MENBQ0QsOERBQUNlO2dDQUNHQyxNQUFLO2dDQUNMQyxTQUFTLElBQU1kLFVBQVVIO2dDQUN6QlksV0FBVTtnQ0FDVk0sY0FBWSxDQUFDLFFBQVEsRUFBRWxCLEtBQUs7MENBRTVCLDRFQUFDbkMsNkVBQUNBO29DQUFDK0MsV0FBVTs7Ozs7Ozs7Ozs7O3VCQVhaWjs7Ozs7Ozs7OzswQkFpQmpCLDhEQUFDVztnQkFBSUMsV0FBVTs7a0NBQ1gsOERBQUM3Qyx1REFBS0E7d0JBQ0ZPLE9BQU9JO3dCQUNQSCxVQUFVLENBQUMrQjs0QkFDUDNCLGNBQWMyQixFQUFFYSxNQUFNLENBQUM3QyxLQUFLO3dCQUNoQzt3QkFDQThDLFdBQVdmO3dCQUNYZ0IsUUFBUSxJQUFNdkMsa0JBQWtCO3dCQUNoQ04sYUFBYUYsTUFBTVcsTUFBTSxJQUFJUixVQUFVLENBQUMsU0FBUyxFQUFFQSxRQUFRLFlBQVksQ0FBQyxHQUFHRDt3QkFDM0U4QyxVQUFVaEQsTUFBTVcsTUFBTSxJQUFJUjt3QkFDMUJtQyxXQUFVOzs7Ozs7b0JBSWJILGtDQUNHLDhEQUFDRTt3QkFBSUMsV0FBVTtrQ0FDWCw0RUFBQ1c7NEJBQUtYLFdBQVU7O2dDQUNYbEM7OENBQ0QsOERBQUM2QztvQ0FBS1gsV0FBVTs4Q0FDWC9CLGVBQWUyQyxLQUFLLENBQUM5QyxXQUFXTyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQU8xRFgsTUFBTVcsTUFBTSxHQUFHLG1CQUNaLDhEQUFDd0M7Z0JBQUViLFdBQVU7O29CQUNSdEMsTUFBTVcsTUFBTTtvQkFBQztvQkFBSVI7b0JBQVE7Ozs7Ozs7Ozs7Ozs7QUFLOUMiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFx0YWctaW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgeyBYIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXG5pbXBvcnQgeyBCYWRnZSB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYmFkZ2VcIlxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2lucHV0XCJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvYXhpb3NcIlxuXG5pbnRlcmZhY2UgVGFnSW5wdXRQcm9wcyB7XG4gICAgdmFsdWU6IHN0cmluZ1tdXG4gICAgb25DaGFuZ2U6ICh0YWdzOiBzdHJpbmdbXSkgPT4gdm9pZFxuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gICAgbWF4VGFncz86IG51bWJlclxufVxuXG4vLyDQpNGD0L3QutGG0LjRjyDQtNC70Y8g0L3QvtGA0LzQsNC70LjQt9Cw0YbQuNC4INGC0LXQutGB0YLQsCAo0LLRgdC1INGB0YLRgNC+0YfQvdGL0LUpXG5mdW5jdGlvbiBub3JtYWxpemVUZXh0KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gdGV4dFxuICAgIHJldHVybiB0ZXh0LnRyaW0oKS50b0xvd2VyQ2FzZSgpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUYWdJbnB1dCh7IHZhbHVlID0gW10sIG9uQ2hhbmdlLCBwbGFjZWhvbGRlciA9IFwi0JTQvtCx0LDQstC40YLRjCDQutC+0LzQv9C10YLQtdC90YbQuNGOLi4uXCIsIG1heFRhZ3MgPSA1MCB9OiBUYWdJbnB1dFByb3BzKSB7XG4gICAgY29uc3QgW2lucHV0VmFsdWUsIHNldElucHV0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUoXCJcIilcbiAgICBjb25zdCBbYmVzdFN1Z2dlc3Rpb24sIHNldEJlc3RTdWdnZXN0aW9uXSA9IFJlYWN0LnVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgICAvLyDQn9C+0LjRgdC6INC70YPRh9GI0LXQs9C+INGB0L7QstC/0LDQtNC10L3QuNGPINC/0YDQuCDQstCy0L7QtNC1XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZmV0Y2hTdWdnZXN0aW9uID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGlucHV0VmFsdWUubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgICAgIHNldEJlc3RTdWdnZXN0aW9uKG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhcGkuZ2V0KGAvY29tcGV0ZW5jaWVzL3NlYXJjaD9xPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGlucHV0VmFsdWUpfWApXG4gICAgICAgICAgICAgICAgLy8g0KTQuNC70YzRgtGA0YPQtdC8INGD0LbQtSDQtNC+0LHQsNCy0LvQtdC90L3Ri9C1INC60L7QvNC/0LXRgtC10L3RhtC40Lgg0Lgg0LHQtdGA0LXQvCDRgtC+0LvRjNC60L4g0L/QtdGA0LLQvtC1ICjQu9GD0YfRiNC10LUpINGB0L7QstC/0LDQtNC10L3QuNC1XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRTdWdnZXN0aW9ucyA9IHJlc3BvbnNlLmRhdGEuZmlsdGVyKChzOiBzdHJpbmcpID0+ICF2YWx1ZS5pbmNsdWRlcyhzKSlcbiAgICAgICAgICAgICAgICBzZXRCZXN0U3VnZ2VzdGlvbihmaWx0ZXJlZFN1Z2dlc3Rpb25zLmxlbmd0aCA+IDAgPyBmaWx0ZXJlZFN1Z2dlc3Rpb25zWzBdIDogbnVsbClcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGZldGNoaW5nIHN1Z2dlc3Rpb25zOlwiLCBlcnJvcilcbiAgICAgICAgICAgICAgICBzZXRCZXN0U3VnZ2VzdGlvbihudWxsKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVib3VuY2UgPSBzZXRUaW1lb3V0KGZldGNoU3VnZ2VzdGlvbiwgMzAwKVxuICAgICAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KGRlYm91bmNlKVxuICAgIH0sIFtpbnB1dFZhbHVlLCB2YWx1ZV0pXG5cbiAgICBjb25zdCBhZGRUYWcgPSAodGFnOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZFRhZyA9IG5vcm1hbGl6ZVRleHQodGFnKVxuXG4gICAgICAgIGlmIChub3JtYWxpemVkVGFnICYmICF2YWx1ZS5pbmNsdWRlcyhub3JtYWxpemVkVGFnKSAmJiB2YWx1ZS5sZW5ndGggPCBtYXhUYWdzKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdUYWdzID0gWy4uLnZhbHVlLCBub3JtYWxpemVkVGFnXVxuICAgICAgICAgICAgb25DaGFuZ2UobmV3VGFncylcbiAgICAgICAgICAgIHNldElucHV0VmFsdWUoXCJcIilcbiAgICAgICAgICAgIHNldEJlc3RTdWdnZXN0aW9uKG51bGwpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZW1vdmVUYWcgPSAodGFnVG9SZW1vdmU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBuZXdUYWdzID0gdmFsdWUuZmlsdGVyKHRhZyA9PiB0YWcgIT09IHRhZ1RvUmVtb3ZlKVxuICAgICAgICBvbkNoYW5nZShuZXdUYWdzKVxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZTogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICBpZiAoZS5rZXkgPT09IFwiRW50ZXJcIiAmJiBpbnB1dFZhbHVlKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIC8vIEVudGVyINC00L7QsdCw0LLQu9GP0LXRgiDRgtC+LCDRh9GC0L4g0LLQstC10Lsg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMXG4gICAgICAgICAgICBhZGRUYWcoaW5wdXRWYWx1ZSlcbiAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gXCJUYWJcIiAmJiBiZXN0U3VnZ2VzdGlvbikge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAvLyBUYWIg0LLRi9Cx0LjRgNCw0LXRgiDQsNCy0YLQvtC00L7Qv9C+0LvQvdC10L3QuNC1ICjQv9C+0LTRgdCy0LXRh9C10L3QvdGD0Y4g0YfQsNGB0YLRjClcbiAgICAgICAgICAgIGFkZFRhZyhiZXN0U3VnZ2VzdGlvbilcbiAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gXCJFc2NhcGVcIikge1xuICAgICAgICAgICAgc2V0QmVzdFN1Z2dlc3Rpb24obnVsbClcbiAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gXCJCYWNrc3BhY2VcIiAmJiAhaW5wdXRWYWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZW1vdmVUYWcodmFsdWVbdmFsdWUubGVuZ3RoIC0gMV0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzaG93QXV0b2NvbXBsZXRlID0gYmVzdFN1Z2dlc3Rpb24gJiYgYmVzdFN1Z2dlc3Rpb24udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKGlucHV0VmFsdWUudG9Mb3dlckNhc2UoKSlcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsXCI+XG4gICAgICAgICAgICB7Lyog0J7RgtC+0LHRgNCw0LbQtdC90LjQtSDRgtC10LPQvtCyIC0g0YHRgtC40LvRjCDQutCw0Log0L3QsCBoaC5ydSAqL31cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTIgbWItM1wiPlxuICAgICAgICAgICAgICAgIHt2YWx1ZS5tYXAoKHRhZykgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8QmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17dGFnfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJnYXAtMS41IHB4LTMgcHktMS41IHRleHQtc20gYmctYmx1ZS01MCBob3ZlcjpiZy1ibHVlLTEwMCB0ZXh0LWJsdWUtOTAwIGJvcmRlci1ibHVlLTIwMCBkYXJrOmJnLWJsdWUtOTUwIGRhcms6dGV4dC1ibHVlLTEwMCBkYXJrOmJvcmRlci1ibHVlLTgwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0YWd9XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcmVtb3ZlVGFnKHRhZyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibWwtMSBob3ZlcjpiZy1ibHVlLTIwMCBkYXJrOmhvdmVyOmJnLWJsdWUtODAwIHJvdW5kZWQtZnVsbCBwLTAuNSB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YNCj0LTQsNC70LjRgtGMICR7dGFnfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFggY2xhc3NOYW1lPVwiaC0zLjUgdy0zLjVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17aW5wdXRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRJbnB1dFZhbHVlKGUudGFyZ2V0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17KCkgPT4gc2V0QmVzdFN1Z2dlc3Rpb24obnVsbCl9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt2YWx1ZS5sZW5ndGggPj0gbWF4VGFncyA/IGDQnNCw0LrRgdC40LzRg9C8ICR7bWF4VGFnc30g0LrQvtC80L/QtdGC0LXQvdGG0LjQuWAgOiBwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3ZhbHVlLmxlbmd0aCA+PSBtYXhUYWdzfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWJhc2UgcHItMFwiXG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIHsvKiDQkNCy0YLQvtC00L7Qv9C+0LvQvdC10L3QuNC1INCyINGB0YLQuNC70LUg0K/QvdC00LXQutGBIC0g0YHQtdGA0YvQuSDRgtC10LrRgdGCINC/0YDQvtC00L7Qu9C20LXQvdC40Y8gKi99XG4gICAgICAgICAgICAgICAge3Nob3dBdXRvY29tcGxldGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LXktMCBsZWZ0LTAgcG9pbnRlci1ldmVudHMtbm9uZSBmbGV4IGl0ZW1zLWNlbnRlciBweC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWJhc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5wdXRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Jlc3RTdWdnZXN0aW9uLnNsaWNlKGlucHV0VmFsdWUubGVuZ3RoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAge3ZhbHVlLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG10LTJcIj5cbiAgICAgICAgICAgICAgICAgICAge3ZhbHVlLmxlbmd0aH0gLyB7bWF4VGFnc30g0LrQvtC80L/QtdGC0LXQvdGG0LjQuVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlgiLCJCYWRnZSIsIklucHV0IiwiYXBpIiwibm9ybWFsaXplVGV4dCIsInRleHQiLCJ0cmltIiwidG9Mb3dlckNhc2UiLCJUYWdJbnB1dCIsInZhbHVlIiwib25DaGFuZ2UiLCJwbGFjZWhvbGRlciIsIm1heFRhZ3MiLCJpbnB1dFZhbHVlIiwic2V0SW5wdXRWYWx1ZSIsInVzZVN0YXRlIiwiYmVzdFN1Z2dlc3Rpb24iLCJzZXRCZXN0U3VnZ2VzdGlvbiIsInVzZUVmZmVjdCIsImZldGNoU3VnZ2VzdGlvbiIsImxlbmd0aCIsInJlc3BvbnNlIiwiZ2V0IiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiZmlsdGVyZWRTdWdnZXN0aW9ucyIsImRhdGEiLCJmaWx0ZXIiLCJzIiwiaW5jbHVkZXMiLCJlcnJvciIsImNvbnNvbGUiLCJkZWJvdW5jZSIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJhZGRUYWciLCJ0YWciLCJub3JtYWxpemVkVGFnIiwibmV3VGFncyIsInJlbW92ZVRhZyIsInRhZ1RvUmVtb3ZlIiwiaGFuZGxlS2V5RG93biIsImUiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsInNob3dBdXRvY29tcGxldGUiLCJzdGFydHNXaXRoIiwiZGl2IiwiY2xhc3NOYW1lIiwibWFwIiwidmFyaWFudCIsImJ1dHRvbiIsInR5cGUiLCJvbkNsaWNrIiwiYXJpYS1sYWJlbCIsInRhcmdldCIsIm9uS2V5RG93biIsIm9uQmx1ciIsImRpc2FibGVkIiwic3BhbiIsInNsaWNlIiwicCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/tag-input.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/entities/session/store.ts": -/*!***************************************!*\ - !*** ./src/entities/session/store.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSessionStore: () => (/* binding */ useSessionStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/shared/api/axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n\n\nconst useSessionStore = (0,zustand__WEBPACK_IMPORTED_MODULE_2__.create)((set, get)=>({\n user: null,\n isAuth: false,\n isLoading: false,\n isInitialized: false,\n checkAuth: async ()=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (!token) {\n set({\n isInitialized: true,\n isAuth: false\n });\n return;\n }\n set({\n isLoading: true\n });\n try {\n await get().getProfile();\n set({\n isAuth: true,\n isInitialized: true\n });\n } catch (error) {\n console.error(\"Auth check failed\", error);\n // Токен недействителен, очищаем состояние\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false,\n isInitialized: true\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n login: async (phone, password)=>{\n set({\n isLoading: true\n });\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/login\", {\n phone,\n password\n });\n const { accessToken, refreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", refreshToken);\n set({\n isAuth: true\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n register: async (data)=>{\n set({\n isLoading: true\n });\n try {\n // Убираем confirmPassword перед отправкой на бэкенд\n const { confirmPassword, ...registerData } = data;\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/register\", registerData);\n } finally{\n set({\n isLoading: false\n });\n }\n },\n logout: ()=>{\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false\n });\n if (false) {}\n },\n getProfile: async ()=>{\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.get(\"/profile\", {\n params: {\n _t: Date.now()\n } // bypass cache\n });\n set({\n user: response.data,\n isAuth: true\n });\n } catch (error) {\n console.error(\"Profile load failed\", error);\n }\n },\n updateProfile: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile\", data);\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePhone: async (newPhone)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-phone\", {\n newPhone\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformer: async ()=>{\n set({\n isLoading: true\n });\n try {\n // Исправлен путь: убрали лишний /api, так как он уже есть в baseURL\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\");\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformerFull: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\", {\n description: data.description,\n competencies: data.competencies,\n location: data.location,\n currentLocation: null,\n isAlwaysReady: data.workSchedule.isAlwaysReady,\n workingDays: data.workSchedule.isAlwaysReady ? null : JSON.stringify(data.workSchedule.schedulePerDay)\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateCompetencies: async (competencies)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/competencies\", {\n Competencies: competencies\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n uploadAvatar: async (file)=>{\n set({\n isLoading: true\n });\n try {\n const formData = new FormData();\n formData.append(\"file\", file);\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/avatar\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePassword: async (oldPassword, newPassword)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-password\", {\n accountId: userId,\n oldPassword,\n newPassword\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateLocation: async (location, currentLocation)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/location\", {\n accountId: userId,\n location,\n currentLocation\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateSchedule: async (isAlwaysReady, schedulePerDay)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n const workingDaysJson = isAlwaysReady ? \"[]\" : JSON.stringify(schedulePerDay || {});\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/schedule\", {\n accountId: userId,\n isAlwaysReady,\n workingDaysJson\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LGdCQUFnQixPQUFPdEIsZUFBZUs7WUFDbEM1QyxJQUFJO2dCQUFFSSxXQUFXO1lBQUs7WUFDdEIsSUFBSTtnQkFDQSxNQUFNb0QsU0FBU3ZELE1BQU1DLElBQUksRUFBRXVEO2dCQUMzQixJQUFJLENBQUNELFFBQVEsTUFBTSxJQUFJRSxNQUFNO2dCQUU3QixNQUFNSSxrQkFBa0J2QixnQkFDbEIsT0FDQUcsS0FBS0MsU0FBUyxDQUFDQyxrQkFBa0IsQ0FBQztnQkFFeEMsTUFBTTlDLGtEQUFHQSxDQUFDaUMsR0FBRyxDQUFDLHFCQUFxQjtvQkFDL0I0QixXQUFXSDtvQkFDWGpCO29CQUNBdUI7Z0JBQ0o7Z0JBQ0EsTUFBTTdELE1BQU1PLFVBQVU7WUFDMUIsU0FBVTtnQkFDTlIsSUFBSTtvQkFBRUksV0FBVztnQkFBTTtZQUMzQjtRQUNKO0lBQ0osSUFBSSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcZW50aXRpZXNcXHNlc3Npb25cXHN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHNldENvb2tpZSwgZGVsZXRlQ29va2llLCBnZXRDb29raWUgfSBmcm9tIFwiY29va2llcy1uZXh0XCI7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvYXhpb3NcIjtcclxuXHJcbmludGVyZmFjZSBVc2VyIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBwaG9uZTogc3RyaW5nO1xyXG4gICAgcm9sZXM6IHN0cmluZ1tdO1xyXG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xyXG4gICAgcGF0cm9ueW1pYz86IHN0cmluZztcclxuICAgIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xyXG4gICAgaW5uPzogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgICBsb2NhdGlvbj86IHN0cmluZztcclxuICAgIGN1cnJlbnRMb2NhdGlvbj86IHN0cmluZztcclxuICAgIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgICBhdmF0YXJVcmw/OiBzdHJpbmc7XHJcbiAgICBjb21wZXRlbmNpZXM6IHN0cmluZ1tdO1xyXG4gICAgd29ya1NjaGVkdWxlPzoge1xyXG4gICAgICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICAgICAgc2NoZWR1bGVQZXJEYXk/OiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7IHN0YXJ0OiBzdHJpbmc7IGVuZDogc3RyaW5nIH0+PjtcclxuICAgIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBXb3JrU2NoZWR1bGVEYXRhIHtcclxuICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICBzY2hlZHVsZVBlckRheTogUmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9Pj47XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZXNzaW9uU3RhdGUge1xyXG4gICAgdXNlcjogVXNlciB8IG51bGw7XHJcbiAgICBpc0F1dGg6IGJvb2xlYW47XHJcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xyXG4gICAgY2hlY2tBdXRoOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgbG9naW46IChwaG9uZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgcmVnaXN0ZXI6IChkYXRhOiBhbnkpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBsb2dvdXQ6ICgpID0+IHZvaWQ7XHJcbiAgICBnZXRQcm9maWxlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlUHJvZmlsZTogKGRhdGE6IHsgZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcsIHBhdHJvbnltaWM/OiBzdHJpbmcsIGNvbXBhbnlOYW1lPzogc3RyaW5nLCBpbm4/OiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBjaGFuZ2VQaG9uZTogKG5ld1Bob25lOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXI6ICgpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiAoZGF0YToge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICAgICAgY29tcGV0ZW5jaWVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb2NhdGlvbjogc3RyaW5nO1xyXG4gICAgICAgIHdvcmtTY2hlZHVsZTogV29ya1NjaGVkdWxlRGF0YTtcclxuICAgIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICB1cGRhdGVDb21wZXRlbmNpZXM6IChjb21wZXRlbmNpZXM6IHN0cmluZ1tdKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBsb2FkQXZhdGFyOiAoZmlsZTogRmlsZSkgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIGNoYW5nZVBhc3N3b3JkOiAob2xkUGFzc3dvcmQ6IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIHVwZGF0ZUxvY2F0aW9uOiAobG9jYXRpb246IHN0cmluZywgY3VycmVudExvY2F0aW9uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlU2NoZWR1bGU6IChpc0Fsd2F5c1JlYWR5OiBib29sZWFuLCBzY2hlZHVsZVBlckRheT86IFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfT4+KSA9PiBQcm9taXNlPHZvaWQ+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdXNlU2Vzc2lvblN0b3JlID0gY3JlYXRlPFNlc3Npb25TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgdXNlcjogbnVsbCxcclxuICAgIGlzQXV0aDogZmFsc2UsXHJcbiAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgaXNJbml0aWFsaXplZDogZmFsc2UsXHJcblxyXG4gICAgY2hlY2tBdXRoOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuXHJcbiAgICAgICAgaWYgKCF0b2tlbikge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0luaXRpYWxpemVkOiB0cnVlLCBpc0F1dGg6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICAgICAgc2V0KHsgaXNBdXRoOiB0cnVlLCBpc0luaXRpYWxpemVkOiB0cnVlIH0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJBdXRoIGNoZWNrIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIC8vINCi0L7QutC10L0g0L3QtdC00LXQudGB0YLQstC40YLQtdC70LXQvSwg0L7Rh9C40YnQsNC10Lwg0YHQvtGB0YLQvtGP0L3QuNC1XHJcbiAgICAgICAgICAgIGRlbGV0ZUNvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IG51bGwsIGlzQXV0aDogZmFsc2UsIGlzSW5pdGlhbGl6ZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGxvZ2luOiBhc3luYyAocGhvbmUsIHBhc3N3b3JkKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9sb2dpblwiLCB7IHBob25lLCBwYXNzd29yZCB9KTtcclxuICAgICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgc2V0Q29va2llKFwiYWNjZXNzVG9rZW5cIiwgYWNjZXNzVG9rZW4pO1xyXG4gICAgICAgICAgICBzZXRDb29raWUoXCJyZWZyZXNoVG9rZW5cIiwgcmVmcmVzaFRva2VuKTtcclxuXHJcbiAgICAgICAgICAgIHNldCh7IGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICByZWdpc3RlcjogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQo9Cx0LjRgNCw0LXQvCBjb25maXJtUGFzc3dvcmQg0L/QtdGA0LXQtCDQvtGC0L/RgNCw0LLQutC+0Lkg0L3QsCDQsdGN0LrQtdC90LRcclxuICAgICAgICAgICAgY29uc3QgeyBjb25maXJtUGFzc3dvcmQsIC4uLnJlZ2lzdGVyRGF0YSB9ID0gZGF0YTtcclxuICAgICAgICAgICAgYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9yZWdpc3RlclwiLCByZWdpc3RlckRhdGEpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBsb2dvdXQ6ICgpID0+IHtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgc2V0KHsgdXNlcjogbnVsbCwgaXNBdXRoOiBmYWxzZSB9KTtcclxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiL2F1dGgvbG9naW5cIjtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFByb2ZpbGU6IGFzeW5jICgpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQoXCIvcHJvZmlsZVwiLCB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHsgX3Q6IERhdGUubm93KCkgfSAvLyBieXBhc3MgY2FjaGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IHJlc3BvbnNlLmRhdGEsIGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiUHJvZmlsZSBsb2FkIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVQcm9maWxlOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucHV0KFwiL3Byb2ZpbGVcIiwgZGF0YSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgY2hhbmdlUGhvbmU6IGFzeW5jIChuZXdQaG9uZSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1waG9uZVwiLCB7IG5ld1Bob25lIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGJlY29tZVBlcmZvcm1lcjogYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQmNGB0L/RgNCw0LLQu9C10L0g0L/Rg9GC0Yw6INGD0LHRgNCw0LvQuCDQu9C40YjQvdC40LkgL2FwaSwg0YLQsNC6INC60LDQuiDQvtC9INGD0LbQtSDQtdGB0YLRjCDQsiBiYXNlVVJMXHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYmVjb21lLXBlcmZvcm1lclwiKTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2JlY29tZS1wZXJmb3JtZXJcIiwge1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRhdGEuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICBjb21wZXRlbmNpZXM6IGRhdGEuY29tcGV0ZW5jaWVzLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGRhdGEubG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgICAgICBpc0Fsd2F5c1JlYWR5OiBkYXRhLndvcmtTY2hlZHVsZS5pc0Fsd2F5c1JlYWR5LFxyXG4gICAgICAgICAgICAgICAgd29ya2luZ0RheXM6IGRhdGEud29ya1NjaGVkdWxlLmlzQWx3YXlzUmVhZHlcclxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KGRhdGEud29ya1NjaGVkdWxlLnNjaGVkdWxlUGVyRGF5KSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgdXBkYXRlQ29tcGV0ZW5jaWVzOiBhc3luYyAoY29tcGV0ZW5jaWVzKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wdXQoXCIvcHJvZmlsZS9jb21wZXRlbmNpZXNcIiwgeyBDb21wZXRlbmNpZXM6IGNvbXBldGVuY2llcyB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGxvYWRBdmF0YXI6IGFzeW5jIChmaWxlKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYXZhdGFyXCIsIGZvcm1EYXRhLCB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBjaGFuZ2VQYXNzd29yZDogYXN5bmMgKG9sZFBhc3N3b3JkLCBuZXdQYXNzd29yZCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1c2VySWQgPSBnZXQoKS51c2VyPy5pZDtcclxuICAgICAgICAgICAgaWYgKCF1c2VySWQpIHRocm93IG5ldyBFcnJvcihcItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L1cIik7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1wYXNzd29yZFwiLCB7XHJcbiAgICAgICAgICAgICAgICBhY2NvdW50SWQ6IHVzZXJJZCxcclxuICAgICAgICAgICAgICAgIG9sZFBhc3N3b3JkLFxyXG4gICAgICAgICAgICAgICAgbmV3UGFzc3dvcmQsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVMb2NhdGlvbjogYXN5bmMgKGxvY2F0aW9uLCBjdXJyZW50TG9jYXRpb24pID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL2xvY2F0aW9uXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb24sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZVNjaGVkdWxlOiBhc3luYyAoaXNBbHdheXNSZWFkeSwgc2NoZWR1bGVQZXJEYXkpID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgd29ya2luZ0RheXNKc29uID0gaXNBbHdheXNSZWFkeVxyXG4gICAgICAgICAgICAgICAgPyBcIltdXCJcclxuICAgICAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkoc2NoZWR1bGVQZXJEYXkgfHwge30pO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL3NjaGVkdWxlXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgaXNBbHdheXNSZWFkeSxcclxuICAgICAgICAgICAgICAgIHdvcmtpbmdEYXlzSnNvbixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbn0pKTtcclxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsInNldENvb2tpZSIsImRlbGV0ZUNvb2tpZSIsImdldENvb2tpZSIsImFwaSIsInVzZVNlc3Npb25TdG9yZSIsInNldCIsImdldCIsInVzZXIiLCJpc0F1dGgiLCJpc0xvYWRpbmciLCJpc0luaXRpYWxpemVkIiwiY2hlY2tBdXRoIiwidG9rZW4iLCJnZXRQcm9maWxlIiwiZXJyb3IiLCJjb25zb2xlIiwibG9naW4iLCJwaG9uZSIsInBhc3N3b3JkIiwicmVzcG9uc2UiLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJyZWZyZXNoVG9rZW4iLCJkYXRhIiwicmVnaXN0ZXIiLCJjb25maXJtUGFzc3dvcmQiLCJyZWdpc3RlckRhdGEiLCJsb2dvdXQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJwYXJhbXMiLCJfdCIsIkRhdGUiLCJub3ciLCJ1cGRhdGVQcm9maWxlIiwicHV0IiwiY2hhbmdlUGhvbmUiLCJuZXdQaG9uZSIsImJlY29tZVBlcmZvcm1lciIsImJlY29tZVBlcmZvcm1lckZ1bGwiLCJkZXNjcmlwdGlvbiIsImNvbXBldGVuY2llcyIsImN1cnJlbnRMb2NhdGlvbiIsImlzQWx3YXlzUmVhZHkiLCJ3b3JrU2NoZWR1bGUiLCJ3b3JraW5nRGF5cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzY2hlZHVsZVBlckRheSIsInVwZGF0ZUNvbXBldGVuY2llcyIsIkNvbXBldGVuY2llcyIsInVwbG9hZEF2YXRhciIsImZpbGUiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiaGVhZGVycyIsImNoYW5nZVBhc3N3b3JkIiwib2xkUGFzc3dvcmQiLCJuZXdQYXNzd29yZCIsInVzZXJJZCIsImlkIiwiRXJyb3IiLCJhY2NvdW50SWQiLCJ1cGRhdGVMb2NhdGlvbiIsInVwZGF0ZVNjaGVkdWxlIiwid29ya2luZ0RheXNKc29uIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/entities/session/store.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/features/geo/useGeoStore.ts": -/*!*****************************************!*\ - !*** ./src/features/geo/useGeoStore.ts ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useGeoStore: () => (/* binding */ useGeoStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/shared/api/geo */ \"(ssr)/./src/shared/api/geo.ts\");\n\n\nconst useGeoStore = (0,zustand__WEBPACK_IMPORTED_MODULE_1__.create)((set, get)=>({\n isOnline: false,\n watchId: null,\n isUpdating: false,\n error: null,\n lastCoords: null,\n goOnline: (performerId)=>{\n if (true) {\n set({\n error: \"Геолокация не поддерживается вашим браузером.\"\n });\n return;\n }\n // Таймер для периодической отправки (каждые 10 секунд)\n let sendInterval = null;\n const watchId = navigator.geolocation.watchPosition(async (position)=>{\n const { latitude, longitude } = position.coords;\n set({\n lastCoords: {\n lat: latitude,\n lon: longitude\n },\n error: null\n });\n // Отправляем при первом получении координат\n try {\n set({\n isUpdating: true\n });\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude,\n longitude,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки статуса:\", err);\n set({\n error: \"Не удалось обновить статус на сервере.\"\n });\n } finally{\n set({\n isUpdating: false\n });\n }\n }, (err)=>{\n console.error(\"[Geo] Ошибка геолокации:\", err);\n let errorMsg = \"Ошибка определения местоположения.\";\n if (err.code === err.PERMISSION_DENIED) {\n errorMsg = \"Доступ к геолокации запрещён. Разрешите в настройках браузера.\";\n }\n set({\n error: errorMsg\n });\n }, {\n enableHighAccuracy: true,\n maximumAge: 10000,\n timeout: 15000\n });\n // Дополнительно: периодическая отправка каждые 10 секунд\n sendInterval = setInterval(async ()=>{\n const state = get();\n if (state.lastCoords && state.isOnline) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: state.lastCoords.lat,\n longitude: state.lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка периодической отправки:\", err);\n }\n }\n }, 10000);\n // Сохраняем watchId и intervalId в замыкании для очистки\n set({\n isOnline: true,\n watchId,\n error: null\n });\n // Храним intervalId в window для очистки при goOffline\n window.__geoInterval = sendInterval;\n },\n goOffline: async (performerId)=>{\n const { watchId, lastCoords } = get();\n // Останавливаем слежение\n if (watchId !== null) {\n navigator.geolocation.clearWatch(watchId);\n }\n // Останавливаем интервал\n if (window.__geoInterval) {\n clearInterval(window.__geoInterval);\n window.__geoInterval = null;\n }\n // Отправляем статус Offline\n if (lastCoords) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: lastCoords.lat,\n longitude: lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Offline\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки Offline:\", err);\n }\n }\n set({\n isOnline: false,\n watchId: null,\n lastCoords: null,\n error: null\n });\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFPckIsMkRBQWNBLENBQUNxQyxPQUFPO29CQUNqQztnQkFDSixFQUFFLE9BQU9kLEtBQUs7b0JBQ1ZDLFFBQVFqQixLQUFLLENBQUMsa0NBQWtDZ0I7Z0JBQ3BEO1lBQ0o7WUFFQXJCLElBQUk7Z0JBQUVFLFVBQVU7Z0JBQU9DLFNBQVM7Z0JBQU1HLFlBQVk7Z0JBQU1ELE9BQU87WUFBSztRQUN4RTtJQUNKLElBQUkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGZlYXR1cmVzXFxnZW9cXHVzZUdlb1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHVwZGF0ZUdlb1N0YXR1cywgUGVyZm9ybWVyU3RhdGUgfSBmcm9tIFwiQC9zaGFyZWQvYXBpL2dlb1wiO1xyXG5cclxuaW50ZXJmYWNlIEdlb1N0YXRlIHtcclxuICAgIC8qKiDQktC60LvRjtGH0ZHQvSDQu9C4INGC0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsgKi9cclxuICAgIGlzT25saW5lOiBib29sZWFuO1xyXG4gICAgLyoqIElEINGC0LXQutGD0YnQtdCz0L4gd2F0Y2hQb3NpdGlvbiAqL1xyXG4gICAgd2F0Y2hJZDogbnVtYmVyIHwgbnVsbDtcclxuICAgIC8qKiDQmNC00ZHRgiDQu9C4INC+0LHQvdC+0LLQu9C10L3QuNC1ICovXHJcbiAgICBpc1VwZGF0aW5nOiBib29sZWFuO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90Y/RjyDQvtGI0LjQsdC60LAgKi9cclxuICAgIGVycm9yOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90LjQtSDQuNC30LLQtdGB0YLQvdGL0LUg0LrQvtC+0YDQtNC40L3QsNGC0YsgKi9cclxuICAgIGxhc3RDb29yZHM6IHsgbGF0OiBudW1iZXI7IGxvbjogbnVtYmVyIH0gfCBudWxsO1xyXG5cclxuICAgIC8qKiDQktC60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L7RgtGB0LvQtdC20LjQstCw0L3QuNC1INCz0LXQvtC/0L7Qt9C40YbQuNC4ICovXHJcbiAgICBnb09ubGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgICAvKiog0JLRi9C60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQvtGC0L/RgNCw0LLQuNGC0YwgT2ZmbGluZSDQuCDQvtGB0YLQsNC90L7QstC40YLRjCDQvtGC0YHQu9C10LbQuNCy0LDQvdC40LUgKi9cclxuICAgIGdvT2ZmbGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB1c2VHZW9TdG9yZSA9IGNyZWF0ZTxHZW9TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgaXNPbmxpbmU6IGZhbHNlLFxyXG4gICAgd2F0Y2hJZDogbnVsbCxcclxuICAgIGlzVXBkYXRpbmc6IGZhbHNlLFxyXG4gICAgZXJyb3I6IG51bGwsXHJcbiAgICBsYXN0Q29vcmRzOiBudWxsLFxyXG5cclxuICAgIGdvT25saW5lOiAocGVyZm9ybWVySWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiIHx8ICFuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcclxuICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0JPQtdC+0LvQvtC60LDRhtC40Y8g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINCy0LDRiNC40Lwg0LHRgNCw0YPQt9C10YDQvtC8LlwiIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQotCw0LnQvNC10YAg0LTQu9GPINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60LggKNC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LQpXHJcbiAgICAgICAgbGV0IHNlbmRJbnRlcnZhbDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGNvbnN0IHdhdGNoSWQgPSBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihcclxuICAgICAgICAgICAgYXN5bmMgKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IGxhdGl0dWRlLCBsb25naXR1ZGUgfSA9IHBvc2l0aW9uLmNvb3JkcztcclxuICAgICAgICAgICAgICAgIHNldCh7IGxhc3RDb29yZHM6IHsgbGF0OiBsYXRpdHVkZSwgbG9uOiBsb25naXR1ZGUgfSwgZXJyb3I6IG51bGwgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8g0J7RgtC/0YDQsNCy0LvRj9C10Lwg0L/RgNC4INC/0LXRgNCy0L7QvCDQv9C+0LvRg9GH0LXQvdC40Lgg0LrQvtC+0YDQtNC40L3QsNGCXHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldCh7IGlzVXBkYXRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlR2VvU3RhdHVzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWVySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC+0YLQv9GA0LDQstC60Lgg0YHRgtCw0YLRg9GB0LA6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINGB0YLQsNGC0YPRgSDQvdCwINGB0LXRgNCy0LXRgNC1LlwiIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXQoeyBpc1VwZGF0aW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQs9C10L7Qu9C+0LrQsNGG0LjQuDpcIiwgZXJyKTtcclxuICAgICAgICAgICAgICAgIGxldCBlcnJvck1zZyA9IFwi0J7RiNC40LHQutCwINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjRjy5cIjtcclxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gZXJyLlBFUk1JU1NJT05fREVOSUVEKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2cgPSBcItCU0L7RgdGC0YPQvyDQuiDQs9C10L7Qu9C+0LrQsNGG0LjQuCDQt9Cw0L/RgNC10YnRkdC9LiDQoNCw0LfRgNC10YjQuNGC0LUg0LIg0L3QsNGB0YLRgNC+0LnQutCw0YUg0LHRgNCw0YPQt9C10YDQsC5cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNldCh7IGVycm9yOiBlcnJvck1zZyB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbWF4aW11bUFnZTogMTAwMDAsICAgICAvLyDQmtGN0Ygg0L/QvtC30LjRhtC40LggMTAg0YHQtdC6XHJcbiAgICAgICAgICAgICAgICB0aW1lb3V0OiAxNTAwMCwgICAgICAgICAvLyDQotCw0LnQvNCw0YPRgiAxNSDRgdC10LpcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+OiDQv9C10YDQuNC+0LTQuNGH0LXRgdC60LDRjyDQvtGC0L/RgNCw0LLQutCwINC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LRcclxuICAgICAgICBzZW5kSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gZ2V0KCk7XHJcbiAgICAgICAgICAgIGlmIChzdGF0ZS5sYXN0Q29vcmRzICYmIHN0YXRlLmlzT25saW5lKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUdlb1N0YXR1cyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60Lg6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDAwMCk7XHJcblxyXG4gICAgICAgIC8vINCh0L7RhdGA0LDQvdGP0LXQvCB3YXRjaElkINC4IGludGVydmFsSWQg0LIg0LfQsNC80YvQutCw0L3QuNC4INC00LvRjyDQvtGH0LjRgdGC0LrQuFxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiB0cnVlLCB3YXRjaElkLCBlcnJvcjogbnVsbCB9KTtcclxuXHJcbiAgICAgICAgLy8g0KXRgNCw0L3QuNC8IGludGVydmFsSWQg0LIgd2luZG93INC00LvRjyDQvtGH0LjRgdGC0LrQuCDQv9GA0LggZ29PZmZsaW5lXHJcbiAgICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwgPSBzZW5kSW50ZXJ2YWw7XHJcbiAgICB9LFxyXG5cclxuICAgIGdvT2ZmbGluZTogYXN5bmMgKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCB7IHdhdGNoSWQsIGxhc3RDb29yZHMgfSA9IGdldCgpO1xyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDRgdC70LXQttC10L3QuNC1XHJcbiAgICAgICAgaWYgKHdhdGNoSWQgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2god2F0Y2hJZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDQuNC90YLQtdGA0LLQsNC7XHJcbiAgICAgICAgaWYgKCh3aW5kb3cgYXMgYW55KS5fX2dlb0ludGVydmFsKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwpO1xyXG4gICAgICAgICAgICAod2luZG93IGFzIGFueSkuX19nZW9JbnRlcnZhbCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGC0L/RgNCw0LLQu9GP0LXQvCDRgdGC0LDRgtGD0YEgT2ZmbGluZVxyXG4gICAgICAgIGlmIChsYXN0Q29vcmRzKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVHZW9TdGF0dXMoe1xyXG4gICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBsYXN0Q29vcmRzLmxhdCxcclxuICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IGxhc3RDb29yZHMubG9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5PZmZsaW5lLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQvtGC0L/RgNCw0LLQutC4IE9mZmxpbmU6XCIsIGVycik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiBmYWxzZSwgd2F0Y2hJZDogbnVsbCwgbGFzdENvb3JkczogbnVsbCwgZXJyb3I6IG51bGwgfSk7XHJcbiAgICB9LFxyXG59KSk7XHJcbiJdLCJuYW1lcyI6WyJjcmVhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJQZXJmb3JtZXJTdGF0ZSIsInVzZUdlb1N0b3JlIiwic2V0IiwiZ2V0IiwiaXNPbmxpbmUiLCJ3YXRjaElkIiwiaXNVcGRhdGluZyIsImVycm9yIiwibGFzdENvb3JkcyIsImdvT25saW5lIiwicGVyZm9ybWVySWQiLCJuYXZpZ2F0b3IiLCJnZW9sb2NhdGlvbiIsInNlbmRJbnRlcnZhbCIsIndhdGNoUG9zaXRpb24iLCJwb3NpdGlvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY29vcmRzIiwibGF0IiwibG9uIiwic3RhdGUiLCJBdmFpbGFibGUiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3JNc2ciLCJjb2RlIiwiUEVSTUlTU0lPTl9ERU5JRUQiLCJlbmFibGVIaWdoQWNjdXJhY3kiLCJtYXhpbXVtQWdlIiwidGltZW91dCIsInNldEludGVydmFsIiwid2luZG93IiwiX19nZW9JbnRlcnZhbCIsImdvT2ZmbGluZSIsImNsZWFyV2F0Y2giLCJjbGVhckludGVydmFsIiwiT2ZmbGluZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/features/geo/useGeoStore.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/lib/imageUrl.ts": -/*!*****************************!*\ - !*** ./src/lib/imageUrl.ts ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getImageUrl: () => (/* binding */ getImageUrl)\n/* harmony export */ });\nconst API_BASE_URL = \"http://127.0.0.1:5000/api\" || 0;\nconst STATIC_FILES_BASE_URL = API_BASE_URL.replace(\"/api\", \"\");\nfunction getImageUrl(path) {\n if (!path) return undefined;\n // Если URL уже абсолютный (начинается с http:// или https://)\n if (path.startsWith(\"http://\") || path.startsWith(\"https://\") || path.startsWith(\"data:\")) {\n return path;\n }\n // Если путь начинается с /, добавляем базовый URL статических файлов (без /api)\n if (path.startsWith(\"/\")) {\n return `${STATIC_FILES_BASE_URL}${path}`;\n }\n // Иначе добавляем базовый URL и /\n return `${STATIC_FILES_BASE_URL}/${path}`;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2ltYWdlVXJsLnRzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNQSxlQUFlQywyQkFBK0IsSUFBSSxDQUF1QjtBQUMvRSxNQUFNRyx3QkFBd0JKLGFBQWFLLE9BQU8sQ0FBQyxRQUFRO0FBRXBELFNBQVNDLFlBQVlDLElBQStCO0lBQ3ZELElBQUksQ0FBQ0EsTUFBTSxPQUFPQztJQUVsQiw4REFBOEQ7SUFDOUQsSUFBSUQsS0FBS0UsVUFBVSxDQUFDLGNBQWNGLEtBQUtFLFVBQVUsQ0FBQyxlQUFlRixLQUFLRSxVQUFVLENBQUMsVUFBVTtRQUN2RixPQUFPRjtJQUNYO0lBRUEsZ0ZBQWdGO0lBQ2hGLElBQUlBLEtBQUtFLFVBQVUsQ0FBQyxNQUFNO1FBQ3RCLE9BQU8sR0FBR0wsd0JBQXdCRyxNQUFNO0lBQzVDO0lBRUEsa0NBQWtDO0lBQ2xDLE9BQU8sR0FBR0gsc0JBQXNCLENBQUMsRUFBRUcsTUFBTTtBQUM3QyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcbGliXFxpbWFnZVVybC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBBUElfQkFTRV9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfVVJMIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo1MDAwXCI7XG5jb25zdCBTVEFUSUNfRklMRVNfQkFTRV9VUkwgPSBBUElfQkFTRV9VUkwucmVwbGFjZShcIi9hcGlcIiwgXCJcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbWFnZVVybChwYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXBhdGgpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAvLyDQldGB0LvQuCBVUkwg0YPQttC1INCw0LHRgdC+0LvRjtGC0L3Ri9C5ICjQvdCw0YfQuNC90LDQtdGC0YHRjyDRgSBodHRwOi8vINC40LvQuCBodHRwczovLylcbiAgICBpZiAocGF0aC5zdGFydHNXaXRoKFwiaHR0cDovL1wiKSB8fCBwYXRoLnN0YXJ0c1dpdGgoXCJodHRwczovL1wiKSB8fCBwYXRoLnN0YXJ0c1dpdGgoXCJkYXRhOlwiKSkge1xuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG5cbiAgICAvLyDQldGB0LvQuCDQv9GD0YLRjCDQvdCw0YfQuNC90LDQtdGC0YHRjyDRgSAvLCDQtNC+0LHQsNCy0LvRj9C10Lwg0LHQsNC30L7QstGL0LkgVVJMINGB0YLQsNGC0LjRh9C10YHQutC40YUg0YTQsNC50LvQvtCyICjQsdC10LcgL2FwaSlcbiAgICBpZiAocGF0aC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgICByZXR1cm4gYCR7U1RBVElDX0ZJTEVTX0JBU0VfVVJMfSR7cGF0aH1gO1xuICAgIH1cblxuICAgIC8vINCY0L3QsNGH0LUg0LTQvtCx0LDQstC70Y/QtdC8INCx0LDQt9C+0LLRi9C5IFVSTCDQuCAvXG4gICAgcmV0dXJuIGAke1NUQVRJQ19GSUxFU19CQVNFX1VSTH0vJHtwYXRofWA7XG59XG4iXSwibmFtZXMiOlsiQVBJX0JBU0VfVVJMIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUFVCTElDX0FQSV9VUkwiLCJTVEFUSUNfRklMRVNfQkFTRV9VUkwiLCJyZXBsYWNlIiwiZ2V0SW1hZ2VVcmwiLCJwYXRoIiwidW5kZWZpbmVkIiwic3RhcnRzV2l0aCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/imageUrl.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/lib/utils.ts": -/*!**************************!*\ - !*** ./src/lib/utils.ts ***! - \**************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3V0aWxzLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE0QztBQUNKO0FBRWpDLFNBQVNFLEdBQUcsR0FBR0MsTUFBb0I7SUFDdEMsT0FBT0YsdURBQU9BLENBQUNELDBDQUFJQSxDQUFDRztBQUN4QiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcbGliXFx1dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENsYXNzVmFsdWUsIGNsc3ggfSBmcm9tIFwiY2xzeFwiXHJcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tIFwidGFpbHdpbmQtbWVyZ2VcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNuKC4uLmlucHV0czogQ2xhc3NWYWx1ZVtdKSB7XHJcbiAgICByZXR1cm4gdHdNZXJnZShjbHN4KGlucHV0cykpXHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/axios.ts": -/*!*********************************!*\ - !*** ./src/shared/api/axios.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ api: () => (/* binding */ api)\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ \"(ssr)/./node_modules/axios/lib/axios.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst api = axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create({\n baseURL: \"http://127.0.0.1:5000/api\" || 0,\n headers: {\n \"Content-Type\": \"application/json\"\n }\n});\n// Interceptor for adding Auth token\napi.interceptors.request.use((config)=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (token && config.headers) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n console.log(`🚀 Sending request to: ${config.baseURL}${config.url}`);\n return config;\n});\nlet isRefreshing = false;\nlet failedQueue = [];\nconst processQueue = (error, token = null)=>{\n failedQueue.forEach((prom)=>{\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n// Response interceptor for token refresh\napi.interceptors.response.use((response)=>response, async (error)=>{\n const originalRequest = error.config;\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (isRefreshing) {\n return new Promise((resolve, reject)=>{\n failedQueue.push({\n resolve,\n reject\n });\n }).then((token)=>{\n originalRequest.headers.Authorization = `Bearer ${token}`;\n return api(originalRequest);\n }).catch((err)=>Promise.reject(err));\n }\n originalRequest._retry = true;\n isRefreshing = true;\n const refreshToken = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"refreshToken\");\n try {\n const response = await axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post(`${\"http://127.0.0.1:5000/api\" || 0}/auth/refresh`, {\n refreshToken\n });\n const { accessToken, refreshToken: newRefreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", newRefreshToken);\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${accessToken}`;\n processQueue(null, accessToken);\n return api(originalRequest);\n } catch (refreshError) {\n processQueue(refreshError, null);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n if (false) {}\n return Promise.reject(refreshError);\n } finally{\n isRefreshing = false;\n }\n }\n return Promise.reject(error);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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XHNoYXJlZFxcYXBpXFxheGlvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHsgQXhpb3NFcnJvciB9IGZyb20gXCJheGlvc1wiO1xyXG5pbXBvcnQgeyBnZXRDb29raWUsIHNldENvb2tpZSwgZGVsZXRlQ29va2llIH0gZnJvbSBcImNvb2tpZXMtbmV4dFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGFwaSA9IGF4aW9zLmNyZWF0ZSh7XHJcbiAgICBiYXNlVVJMOiBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfVVJMIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo1MDAwL2FwaVwiLFxyXG4gICAgaGVhZGVyczoge1xyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgfSxcclxufSk7XHJcblxyXG4vLyBJbnRlcmNlcHRvciBmb3IgYWRkaW5nIEF1dGggdG9rZW5cclxuYXBpLmludGVyY2VwdG9ycy5yZXF1ZXN0LnVzZSgoY29uZmlnKSA9PiB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGdldENvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgaWYgKHRva2VuICYmIGNvbmZpZy5oZWFkZXJzKSB7XHJcbiAgICAgICAgY29uZmlnLmhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHt0b2tlbn1gO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coYPCfmoAgU2VuZGluZyByZXF1ZXN0IHRvOiAke2NvbmZpZy5iYXNlVVJMfSR7Y29uZmlnLnVybH1gKTtcclxuICAgIHJldHVybiBjb25maWc7XHJcbn0pO1xyXG5cclxubGV0IGlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG5sZXQgZmFpbGVkUXVldWU6IGFueVtdID0gW107XHJcblxyXG5jb25zdCBwcm9jZXNzUXVldWUgPSAoZXJyb3I6IGFueSwgdG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICBmYWlsZWRRdWV1ZS5mb3JFYWNoKChwcm9tKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHByb20ucmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9tLnJlc29sdmUodG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZmFpbGVkUXVldWUgPSBbXTtcclxufTtcclxuXHJcbi8vIFJlc3BvbnNlIGludGVyY2VwdG9yIGZvciB0b2tlbiByZWZyZXNoXHJcbmFwaS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKFxyXG4gICAgKHJlc3BvbnNlKSA9PiByZXNwb25zZSxcclxuICAgIGFzeW5jIChlcnJvcjogQXhpb3NFcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUmVxdWVzdDogYW55ID0gZXJyb3IuY29uZmlnO1xyXG5cclxuICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAxICYmICFvcmlnaW5hbFJlcXVlc3QuX3JldHJ5KSB7XHJcbiAgICAgICAgICAgIGlmIChpc1JlZnJlc2hpbmcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkUXVldWUucHVzaCh7IHJlc29sdmUsIHJlamVjdCB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHRva2VuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsUmVxdWVzdC5oZWFkZXJzLkF1dGhvcml6YXRpb24gPSBgQmVhcmVyICR7dG9rZW59YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IFByb21pc2UucmVqZWN0KGVycikpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBvcmlnaW5hbFJlcXVlc3QuX3JldHJ5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IGdldENvb2tpZShcInJlZnJlc2hUb2tlblwiKTtcclxuXHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7cHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX1VSTCB8fCBcImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9hcGlcIn0vYXV0aC9yZWZyZXNoYCxcclxuICAgICAgICAgICAgICAgICAgICB7IHJlZnJlc2hUb2tlbiB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbjogbmV3UmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcImFjY2Vzc1Rva2VuXCIsIGFjY2Vzc1Rva2VuKTtcclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcInJlZnJlc2hUb2tlblwiLCBuZXdSZWZyZXNoVG9rZW4pO1xyXG5cclxuICAgICAgICAgICAgICAgIGFwaS5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vbltcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7YWNjZXNzVG9rZW59YDtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShudWxsLCBhY2Nlc3NUb2tlbik7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChyZWZyZXNoRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShyZWZyZXNoRXJyb3IsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlQ29va2llKFwiYWNjZXNzVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gXCIvYXV0aC9sb2dpblwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlZnJlc2hFcnJvcik7XHJcbiAgICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgICAgICBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcclxuICAgIH1cclxuKTtcclxuIl0sIm5hbWVzIjpbImF4aW9zIiwiZ2V0Q29va2llIiwic2V0Q29va2llIiwiZGVsZXRlQ29va2llIiwiYXBpIiwiY3JlYXRlIiwiYmFzZVVSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfVVJMIiwiaGVhZGVycyIsImludGVyY2VwdG9ycyIsInJlcXVlc3QiLCJ1c2UiLCJjb25maWciLCJ0b2tlbiIsIkF1dGhvcml6YXRpb24iLCJjb25zb2xlIiwibG9nIiwidXJsIiwiaXNSZWZyZXNoaW5nIiwiZmFpbGVkUXVldWUiLCJwcm9jZXNzUXVldWUiLCJlcnJvciIsImZvckVhY2giLCJwcm9tIiwicmVqZWN0IiwicmVzb2x2ZSIsInJlc3BvbnNlIiwib3JpZ2luYWxSZXF1ZXN0Iiwic3RhdHVzIiwiX3JldHJ5IiwiUHJvbWlzZSIsInB1c2giLCJ0aGVuIiwiY2F0Y2giLCJlcnIiLCJyZWZyZXNoVG9rZW4iLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJuZXdSZWZyZXNoVG9rZW4iLCJkYXRhIiwiZGVmYXVsdHMiLCJjb21tb24iLCJyZWZyZXNoRXJyb3IiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/axios.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/geo.ts": -/*!*******************************!*\ - !*** ./src/shared/api/geo.ts ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PerformerState: () => (/* binding */ PerformerState),\n/* harmony export */ searchNearby: () => (/* binding */ searchNearby),\n/* harmony export */ updateGeoStatus: () => (/* binding */ updateGeoStatus)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n// --- Типы ---\n/** Статус исполнителя на карте */ var PerformerState = /*#__PURE__*/ function(PerformerState) {\n PerformerState[PerformerState[\"Offline\"] = 0] = \"Offline\";\n PerformerState[PerformerState[\"Available\"] = 1] = \"Available\";\n PerformerState[PerformerState[\"OnJob\"] = 2] = \"OnJob\";\n return PerformerState;\n}({});\n// --- API-вызовы ---\n/**\r\n * PATCH /api/geo/status — Обновить геопозицию и статус исполнителя.\r\n * Вызывается каждые 10-15 секунд при активном тумблере «На линии».\r\n */ const updateGeoStatus = async (payload)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.patch(\"/geo/status\", payload);\n};\n/**\r\n * GET /api/geo/nearby — Поиск доступных исполнителей в радиусе.\r\n * @param lat - Широта центра\r\n * @param lon - Долгота центра\r\n * @param radius - Радиус в метрах\r\n */ const searchNearby = async (lat, lon, radius)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/geo/nearby\", {\n params: {\n lat,\n lon,\n radius\n }\n });\n return response.data;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9nZW8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QjtBQUU5QixlQUFlO0FBRWYsZ0NBQWdDLEdBQ3pCLDRDQUFLQzs7OztXQUFBQTtNQUlYO0FBaUJELHFCQUFxQjtBQUVyQjs7O0NBR0MsR0FDTSxNQUFNQyxrQkFBa0IsT0FBT0M7SUFDbEMsTUFBTUgsdUNBQUdBLENBQUNJLEtBQUssQ0FBQyxlQUFlRDtBQUNuQyxFQUFFO0FBRUY7Ozs7O0NBS0MsR0FDTSxNQUFNRSxlQUFlLE9BQ3hCQyxLQUNBQyxLQUNBQztJQUVBLE1BQU1DLFdBQVcsTUFBTVQsdUNBQUdBLENBQUNVLEdBQUcsQ0FBb0IsZUFBZTtRQUM3REMsUUFBUTtZQUFFTDtZQUFLQztZQUFLQztRQUFPO0lBQy9CO0lBQ0EsT0FBT0MsU0FBU0csSUFBSTtBQUN4QixFQUFFIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGFwaVxcZ2VvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCI7XHJcblxyXG4vLyAtLS0g0KLQuNC/0YsgLS0tXHJcblxyXG4vKiog0KHRgtCw0YLRg9GBINC40YHQv9C+0LvQvdC40YLQtdC70Y8g0L3QsCDQutCw0YDRgtC1ICovXHJcbmV4cG9ydCBlbnVtIFBlcmZvcm1lclN0YXRlIHtcclxuICAgIE9mZmxpbmUgPSAwLFxyXG4gICAgQXZhaWxhYmxlID0gMSxcclxuICAgIE9uSm9iID0gMixcclxufVxyXG5cclxuLyoqINCX0LDQv9GA0L7RgSDQvdCwINC+0LHQvdC+0LLQu9C10L3QuNC1INGB0YLQsNGC0YPRgdCwICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlU3RhdHVzUGF5bG9hZCB7XHJcbiAgICBwZXJmb3JtZXJJZDogc3RyaW5nO1xyXG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcclxuICAgIGxvbmdpdHVkZTogbnVtYmVyO1xyXG4gICAgc3RhdGU6IFBlcmZvcm1lclN0YXRlO1xyXG59XHJcblxyXG4vKiog0JHQu9C40LbQsNC50YjQuNC5INC40YHQv9C+0LvQvdC40YLQtdC70YwgKNC+0YLQstC10YIg0L7RgiBBUEkpICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmVhcmJ5UGVyZm9ybWVyIHtcclxuICAgIHBlcmZvcm1lcklkOiBzdHJpbmc7XHJcbiAgICBsYXRpdHVkZTogbnVtYmVyO1xyXG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIC0tLSBBUEkt0LLRi9C30L7QstGLIC0tLVxyXG5cclxuLyoqXHJcbiAqIFBBVENIIC9hcGkvZ2VvL3N0YXR1cyDigJQg0J7QsdC90L7QstC40YLRjCDQs9C10L7Qv9C+0LfQuNGG0LjRjiDQuCDRgdGC0LDRgtGD0YEg0LjRgdC/0L7Qu9C90LjRgtC10LvRjy5cclxuICog0JLRi9C30YvQstCw0LXRgtGB0Y8g0LrQsNC20LTRi9C1IDEwLTE1INGB0LXQutGD0L3QtCDQv9GA0Lgg0LDQutGC0LjQstC90L7QvCDRgtGD0LzQsdC70LXRgNC1IMKr0J3QsCDQu9C40L3QuNC4wrsuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdXBkYXRlR2VvU3RhdHVzID0gYXN5bmMgKHBheWxvYWQ6IFVwZGF0ZVN0YXR1c1BheWxvYWQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgIGF3YWl0IGFwaS5wYXRjaChcIi9nZW8vc3RhdHVzXCIsIHBheWxvYWQpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEdFVCAvYXBpL2dlby9uZWFyYnkg4oCUINCf0L7QuNGB0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC40YHQv9C+0LvQvdC40YLQtdC70LXQuSDQsiDRgNCw0LTQuNGD0YHQtS5cclxuICogQHBhcmFtIGxhdCAtINCo0LjRgNC+0YLQsCDRhtC10L3RgtGA0LBcclxuICogQHBhcmFtIGxvbiAtINCU0L7Qu9Cz0L7RgtCwINGG0LXQvdGC0YDQsFxyXG4gKiBAcGFyYW0gcmFkaXVzIC0g0KDQsNC00LjRg9GBINCyINC80LXRgtGA0LDRhVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNlYXJjaE5lYXJieSA9IGFzeW5jIChcclxuICAgIGxhdDogbnVtYmVyLFxyXG4gICAgbG9uOiBudW1iZXIsXHJcbiAgICByYWRpdXM6IG51bWJlclxyXG4pOiBQcm9taXNlPE5lYXJieVBlcmZvcm1lcltdPiA9PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQ8TmVhcmJ5UGVyZm9ybWVyW10+KFwiL2dlby9uZWFyYnlcIiwge1xyXG4gICAgICAgIHBhcmFtczogeyBsYXQsIGxvbiwgcmFkaXVzIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xyXG59O1xyXG4iXSwibmFtZXMiOlsiYXBpIiwiUGVyZm9ybWVyU3RhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJwYXlsb2FkIiwicGF0Y2giLCJzZWFyY2hOZWFyYnkiLCJsYXQiLCJsb24iLCJyYWRpdXMiLCJyZXNwb25zZSIsImdldCIsInBhcmFtcyIsImRhdGEiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/geo.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/lib/utils.ts": -/*!*********************************!*\ - !*** ./src/shared/lib/utils.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn),\n/* harmony export */ formatPhoneNumber: () => (/* binding */ formatPhoneNumber)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\nfunction formatPhoneNumber(phone) {\n if (!phone) return \"—\";\n // Remove all non-digits\n const cleaned = phone.replace(/\\D/g, \"\");\n // Check if it's a Russian number (+7 or 8)\n if (cleaned.length === 11) {\n const country = cleaned[0] === \"8\" ? \"8\" : \"+7\";\n return `${country} (${cleaned.slice(1, 4)}) ${cleaned.slice(4, 7)}-${cleaned.slice(7, 9)}-${cleaned.slice(9, 11)}`;\n }\n return phone;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRDO0FBQ0o7QUFFakMsU0FBU0UsR0FBRyxHQUFHQyxNQUFvQjtJQUN0QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3hCO0FBRU8sU0FBU0Msa0JBQWtCQyxLQUF5QjtJQUN2RCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUVuQix3QkFBd0I7SUFDeEIsTUFBTUMsVUFBVUQsTUFBTUUsT0FBTyxDQUFDLE9BQU87SUFFckMsMkNBQTJDO0lBQzNDLElBQUlELFFBQVFFLE1BQU0sS0FBSyxJQUFJO1FBQ3ZCLE1BQU1DLFVBQVVILE9BQU8sQ0FBQyxFQUFFLEtBQUssTUFBTSxNQUFNO1FBQzNDLE9BQU8sR0FBR0csUUFBUSxFQUFFLEVBQUVILFFBQVFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFSixRQUFRSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRUosUUFBUUksS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUVKLFFBQVFJLEtBQUssQ0FBQyxHQUFHLEtBQUs7SUFDdEg7SUFFQSxPQUFPTDtBQUNYIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGxpYlxcdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSBcImNsc3hcIlxyXG5pbXBvcnQgeyB0d01lcmdlIH0gZnJvbSBcInRhaWx3aW5kLW1lcmdlXCJcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjbiguLi5pbnB1dHM6IENsYXNzVmFsdWVbXSkge1xyXG4gICAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UGhvbmVOdW1iZXIocGhvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gXCLigJRcIjtcclxuXHJcbiAgICAvLyBSZW1vdmUgYWxsIG5vbi1kaWdpdHNcclxuICAgIGNvbnN0IGNsZWFuZWQgPSBwaG9uZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgaXQncyBhIFJ1c3NpYW4gbnVtYmVyICgrNyBvciA4KVxyXG4gICAgaWYgKGNsZWFuZWQubGVuZ3RoID09PSAxMSkge1xyXG4gICAgICAgIGNvbnN0IGNvdW50cnkgPSBjbGVhbmVkWzBdID09PSBcIjhcIiA/IFwiOFwiIDogXCIrN1wiO1xyXG4gICAgICAgIHJldHVybiBgJHtjb3VudHJ5fSAoJHtjbGVhbmVkLnNsaWNlKDEsIDQpfSkgJHtjbGVhbmVkLnNsaWNlKDQsIDcpfS0ke2NsZWFuZWQuc2xpY2UoNywgOSl9LSR7Y2xlYW5lZC5zbGljZSg5LCAxMSl9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGhvbmU7XHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiLCJmb3JtYXRQaG9uZU51bWJlciIsInBob25lIiwiY2xlYW5lZCIsInJlcGxhY2UiLCJsZW5ndGgiLCJjb3VudHJ5Iiwic2xpY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: () => (/* binding */ Header)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/theme/mode-toggle */ \"(ssr)/./src/components/theme/mode-toggle.tsx\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_switch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/switch */ \"(ssr)/./src/components/ui/switch.tsx\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/search.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/briefcase.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/log-out.js\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/features/geo/useGeoStore */ \"(ssr)/./src/features/geo/useGeoStore.ts\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \n\n\n\n\n\n\n\n\nfunction Header() {\n const { isAuth, user, logout } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_6__.useSessionStore)();\n const { isOnline, isUpdating, error: geoError, goOnline, goOffline } = (0,_features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__.useGeoStore)();\n // Проверяем, является ли пользователь исполнителем или компанией\n const isMasterOrCompany = user?.roles?.includes(\"Candidate\") || user?.roles?.includes(\"Company\") || user?.roles?.includes(\"Master\");\n /** Обработчик переключения тумблера «На линии» */ const handleToggleOnline = (checked)=>{\n if (!user?.id) return;\n if (checked) {\n goOnline(user.id);\n } else {\n goOffline(user.id);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container mx-auto flex h-16 items-center justify-between px-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n className: \"flex items-center space-x-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl font-black tracking-tight text-blue-600 dark:text-blue-500\",\n children: \"Nashel\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 42,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 41,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"hidden md:flex gap-6 items-center text-sm font-medium transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/search\",\n className: \"flex items-center gap-2 hover:text-blue-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 51,\n columnNumber: 29\n }, this),\n \"Поиск\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 47,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"hover:text-blue-600\",\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 54,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 46,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 40,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n isAuth && isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden sm:flex items-center gap-2 mr-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: `h-4 w-4 transition-colors ${isOnline ? \"text-green-500\" : \"text-muted-foreground\"}`\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 67,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_switch__WEBPACK_IMPORTED_MODULE_4__.Switch, {\n id: \"geo-online-toggle\",\n checked: isOnline,\n onCheckedChange: handleToggleOnline,\n disabled: isUpdating\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 68,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"geo-online-toggle\",\n className: `text-xs font-medium cursor-pointer select-none transition-colors ${isOnline ? \"text-green-600 dark:text-green-400\" : \"text-muted-foreground\"}`,\n children: isOnline ? \"Готов к заказу\" : \"Офлайн\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 74,\n columnNumber: 29\n }, this),\n geoError && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-red-500 max-w-[120px] truncate\",\n title: geoError,\n children: geoError\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 81,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 66,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__.ModeToggle, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, this),\n isAuth ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n className: \"hidden sm:flex items-center gap-2 focus-visible:ring-0 focus-visible:ring-offset-0 focus:outline-none focus:ring-0 outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 93,\n columnNumber: 37\n }, this),\n user?.roles?.includes(\"Company\") && user?.companyName ? user.companyName : user?.firstName && user?.lastName ? `${user.firstName} ${user.lastName}` : \"Профиль\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 92,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 91,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuContent, {\n align: \"end\",\n className: \"w-56\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuLabel, {\n children: \"Мой аккаунт\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 100,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 101,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/profile\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 104,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Профиль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 105,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 103,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 102,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 110,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 111,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 109,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 108,\n columnNumber: 33\n }, this),\n isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/offers\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 117,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 118,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 116,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 115,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 122,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n className: \"text-destructive focus:text-destructive cursor-pointer\",\n onClick: ()=>logout(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 124,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Выйти из аккаунта\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 125,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 123,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 99,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 90,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n asChild: true,\n className: \"hidden sm:flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/auth/login\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 132,\n columnNumber: 33\n }, this),\n \"Войти\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 131,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 130,\n columnNumber: 25\n }, this),\n isMasterOrCompany ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n children: \"Подобрать заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 139,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 138,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/become-performer\",\n children: \"Стать исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 145,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 144,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 63,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 39,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvd2lkZ2V0cy9IZWFkZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTRCO0FBQytCO0FBQ1o7QUFDQTtBQUN1QjtBQVFoQztBQUVvQjtBQUNGO0FBRWpELFNBQVNpQjtJQUNaLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLE1BQU0sRUFBRSxHQUFHTCx3RUFBZUE7SUFDaEQsTUFBTSxFQUFFTSxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsT0FBT0MsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRSxHQUFHVixzRUFBV0E7SUFFbEYsaUVBQWlFO0lBQ2pFLE1BQU1XLG9CQUFvQlIsTUFBTVMsT0FBT0MsU0FBUyxnQkFBZ0JWLE1BQU1TLE9BQU9DLFNBQVMsY0FBY1YsTUFBTVMsT0FBT0MsU0FBUztJQUUxSCxnREFBZ0QsR0FDaEQsTUFBTUMscUJBQXFCLENBQUNDO1FBQ3hCLElBQUksQ0FBQ1osTUFBTWEsSUFBSTtRQUNmLElBQUlELFNBQVM7WUFDVE4sU0FBU04sS0FBS2EsRUFBRTtRQUNwQixPQUFPO1lBQ0hOLFVBQVVQLEtBQUthLEVBQUU7UUFDckI7SUFDSjtJQUVBLHFCQUNJLDhEQUFDQztRQUFPQyxXQUFVO2tCQUNkLDRFQUFDQztZQUFJRCxXQUFVOzs4QkFDWCw4REFBQ0M7b0JBQUlELFdBQVU7O3NDQUNYLDhEQUFDbEMsa0RBQUlBOzRCQUFDb0MsTUFBSzs0QkFBSUYsV0FBVTtzQ0FDckIsNEVBQUNHO2dDQUFLSCxXQUFVOzBDQUFzRTs7Ozs7Ozs7Ozs7c0NBSTFGLDhEQUFDSTs0QkFBSUosV0FBVTs7OENBQ1gsOERBQUNsQyxrREFBSUE7b0NBQ0RvQyxNQUFLO29DQUNMRixXQUFVOztzREFFViw4REFBQzlCLCtHQUFNQTs0Q0FBQzhCLFdBQVU7Ozs7Ozt3Q0FBWTs7Ozs7Ozs4Q0FHbEMsOERBQUNsQyxrREFBSUE7b0NBQ0RvQyxNQUFLO29DQUNMRixXQUFVOzhDQUNiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBTVQsOERBQUNDO29CQUFJRCxXQUFVOzt3QkFFVmhCLFVBQVVTLG1DQUNQLDhEQUFDUTs0QkFBSUQsV0FBVTs7OENBQ1gsOERBQUMxQiwrR0FBTUE7b0NBQUMwQixXQUFXLENBQUMsMEJBQTBCLEVBQUViLFdBQVcsbUJBQW1CLHlCQUF5Qjs7Ozs7OzhDQUN2Ryw4REFBQ2xCLHlEQUFNQTtvQ0FDSDZCLElBQUc7b0NBQ0hELFNBQVNWO29DQUNUa0IsaUJBQWlCVDtvQ0FDakJVLFVBQVVsQjs7Ozs7OzhDQUVkLDhEQUFDbUI7b0NBQ0dDLFNBQVE7b0NBQ1JSLFdBQVcsQ0FBQyxpRUFBaUUsRUFBRWIsV0FBVyx1Q0FBdUMseUJBQXlCOzhDQUV6SkEsV0FBVyxtQkFBbUI7Ozs7OztnQ0FFbENHLDBCQUNHLDhEQUFDYTtvQ0FBS0gsV0FBVTtvQ0FBOENTLE9BQU9uQjs4Q0FDaEVBOzs7Ozs7Ozs7Ozs7c0NBTWpCLDhEQUFDdkIscUVBQVVBOzs7Ozt3QkFDVmlCLHVCQUNHLDhEQUFDVCxzRUFBWUE7OzhDQUNULDhEQUFDSyw2RUFBbUJBO29DQUFDOEIsT0FBTzs4Q0FDeEIsNEVBQUMxQyx5REFBTUE7d0NBQUMyQyxTQUFRO3dDQUFRWCxXQUFVOzswREFDOUIsOERBQUM3QixnSEFBSUE7Z0RBQUM2QixXQUFVOzs7Ozs7NENBQ2ZmLE1BQU1TLE9BQU9DLFNBQVMsY0FBY1YsTUFBTTJCLGNBQ3JDM0IsS0FBSzJCLFdBQVcsR0FDZjNCLE1BQU00QixhQUFhNUIsTUFBTTZCLFdBQVcsR0FBRzdCLEtBQUs0QixTQUFTLENBQUMsQ0FBQyxFQUFFNUIsS0FBSzZCLFFBQVEsRUFBRSxHQUFHOzs7Ozs7Ozs7Ozs7OENBRzFGLDhEQUFDdEMsNkVBQW1CQTtvQ0FBQ3VDLE9BQU07b0NBQU1mLFdBQVU7O3NEQUN2Qyw4REFBQ3RCLDJFQUFpQkE7c0RBQUM7Ozs7OztzREFDbkIsOERBQUNDLCtFQUFxQkE7Ozs7O3NEQUN0Qiw4REFBQ0YsMEVBQWdCQTs0Q0FBQ2lDLE9BQU87c0RBQ3JCLDRFQUFDNUMsa0RBQUlBO2dEQUFDb0MsTUFBSztnREFBcUJGLFdBQVU7O2tFQUN0Qyw4REFBQzdCLGdIQUFJQTt3REFBQzZCLFdBQVU7Ozs7OztrRUFDaEIsOERBQUNHO2tFQUFLOzs7Ozs7Ozs7Ozs7Ozs7OztzREFHZCw4REFBQzFCLDBFQUFnQkE7NENBQUNpQyxPQUFPO3NEQUNyQiw0RUFBQzVDLGtEQUFJQTtnREFBQ29DLE1BQUs7Z0RBQVVGLFdBQVU7O2tFQUMzQiw4REFBQzlCLCtHQUFNQTt3REFBQzhCLFdBQVU7Ozs7OztrRUFDbEIsOERBQUNHO2tFQUFLOzs7Ozs7Ozs7Ozs7Ozs7Ozt3Q0FHYlYsbUNBQ0csOERBQUNoQiwwRUFBZ0JBOzRDQUFDaUMsT0FBTztzREFDckIsNEVBQUM1QyxrREFBSUE7Z0RBQUNvQyxNQUFLO2dEQUFvQkYsV0FBVTs7a0VBQ3JDLDhEQUFDM0IsZ0hBQVNBO3dEQUFDMkIsV0FBVTs7Ozs7O2tFQUNyQiw4REFBQ0c7a0VBQUs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NEQUlsQiw4REFBQ3hCLCtFQUFxQkE7Ozs7O3NEQUN0Qiw4REFBQ0YsMEVBQWdCQTs0Q0FBQ3VCLFdBQVU7NENBQXlEZ0IsU0FBUyxJQUFNOUI7OzhEQUNoRyw4REFBQ2QsZ0hBQU1BO29EQUFDNEIsV0FBVTs7Ozs7OzhEQUNsQiw4REFBQ0c7OERBQUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lEQUtsQiw4REFBQ25DLHlEQUFNQTs0QkFBQzJDLFNBQVE7NEJBQVFELE9BQU87NEJBQUNWLFdBQVU7c0NBQ3RDLDRFQUFDbEMsa0RBQUlBO2dDQUFDb0MsTUFBSzs7a0RBQ1AsOERBQUMvQixnSEFBSUE7d0NBQUM2QixXQUFVOzs7Ozs7b0NBQVk7Ozs7Ozs7Ozs7Ozt3QkFLdkNQLGtDQUNHLDhEQUFDekIseURBQU1BOzRCQUFDZ0MsV0FBVTs0QkFBMkNVLE9BQU87c0NBQ2hFLDRFQUFDNUMsa0RBQUlBO2dDQUFDb0MsTUFBSzswQ0FBVTs7Ozs7Ozs7OztpREFLekIsOERBQUNsQyx5REFBTUE7NEJBQUNnQyxXQUFVOzRCQUEyQ1UsT0FBTztzQ0FDaEUsNEVBQUM1QyxrREFBSUE7Z0NBQUNvQyxNQUFLOzBDQUE4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNyRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcd2lkZ2V0c1xcSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiXHJcbmltcG9ydCB7IE1vZGVUb2dnbGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL21vZGUtdG9nZ2xlXCJcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxyXG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3N3aXRjaFwiXHJcbmltcG9ydCB7IFNlYXJjaCwgVXNlciwgTG9nT3V0LCBCcmllZmNhc2UsIE1hcFBpbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5pbXBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51Q29udGVudCxcclxuICAgIERyb3Bkb3duTWVudUl0ZW0sXHJcbiAgICBEcm9wZG93bk1lbnVMYWJlbCxcclxuICAgIERyb3Bkb3duTWVudVNlcGFyYXRvcixcclxuICAgIERyb3Bkb3duTWVudVRyaWdnZXIsXHJcbn0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51XCJcclxuXHJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxyXG5pbXBvcnQgeyB1c2VHZW9TdG9yZSB9IGZyb20gXCJAL2ZlYXR1cmVzL2dlby91c2VHZW9TdG9yZVwiXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSGVhZGVyKCkge1xyXG4gICAgY29uc3QgeyBpc0F1dGgsIHVzZXIsIGxvZ291dCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcclxuICAgIGNvbnN0IHsgaXNPbmxpbmUsIGlzVXBkYXRpbmcsIGVycm9yOiBnZW9FcnJvciwgZ29PbmxpbmUsIGdvT2ZmbGluZSB9ID0gdXNlR2VvU3RvcmUoKVxyXG5cclxuICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQuNGB0L/QvtC70L3QuNGC0LXQu9C10Lwg0LjQu9C4INC60L7QvNC/0LDQvdC40LXQuVxyXG4gICAgY29uc3QgaXNNYXN0ZXJPckNvbXBhbnkgPSB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDYW5kaWRhdGVcIikgfHwgdXNlcj8ucm9sZXM/LmluY2x1ZGVzKFwiQ29tcGFueVwiKSB8fCB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJNYXN0ZXJcIilcclxuXHJcbiAgICAvKiog0J7QsdGA0LDQsdC+0YLRh9C40Log0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINGC0YPQvNCx0LvQtdGA0LAgwqvQndCwINC70LjQvdC40LjCuyAqL1xyXG4gICAgY29uc3QgaGFuZGxlVG9nZ2xlT25saW5lID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoIXVzZXI/LmlkKSByZXR1cm5cclxuICAgICAgICBpZiAoY2hlY2tlZCkge1xyXG4gICAgICAgICAgICBnb09ubGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGdvT2ZmbGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwic3RpY2t5IHRvcC0wIHotNTAgdy1mdWxsIGJvcmRlci1iIGJnLWJhY2tncm91bmQvOTUgYmFja2Ryb3AtYmx1ciBzdXBwb3J0cy1bYmFja2Ryb3AtZmlsdGVyXTpiZy1iYWNrZ3JvdW5kLzYwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG14LWF1dG8gZmxleCBoLTE2IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYmxhY2sgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTYwMCBkYXJrOnRleHQtYmx1ZS01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hc2hlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuYXYgY2xhc3NOYW1lPVwiaGlkZGVuIG1kOmZsZXggZ2FwLTYgaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1jb2xvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvc2VhcmNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGhvdmVyOnRleHQtYmx1ZS02MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC40YHQulxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL29yZGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJob3Zlcjp0ZXh0LWJsdWUtNjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0JzQvtC4INC30LDQutCw0LfRi1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCi0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsg4oCUINCy0LjQtNC10L0g0YLQvtC70YzQutC+INC40YHQv9C+0LvQvdC40YLQtdC70Y/QvC/QutC+0LzQv9Cw0L3QuNGP0LwgKi99XHJcbiAgICAgICAgICAgICAgICAgICAge2lzQXV0aCAmJiBpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIHNtOmZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1yLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBQaW4gY2xhc3NOYW1lPXtgaC00IHctNCB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTUwMFwiIDogXCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIn1gfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZ2VvLW9ubGluZS10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2lzT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17aGFuZGxlVG9nZ2xlT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1VwZGF0aW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9XCJnZW8tb25saW5lLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdGV4dC14cyBmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTYwMCBkYXJrOnRleHQtZ3JlZW4tNDAwXCIgOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwifWB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzT25saW5lID8gXCLQk9C+0YLQvtCyINC6INC30LDQutCw0LfRg1wiIDogXCLQntGE0LvQsNC50L1cIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3IgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1yZWQtNTAwIG1heC13LVsxMjBweF0gdHJ1bmNhdGVcIiB0aXRsZT17Z2VvRXJyb3J9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3J9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPE1vZGVUb2dnbGUgLz5cclxuICAgICAgICAgICAgICAgICAgICB7aXNBdXRoID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVRyaWdnZXIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzTmFtZT1cImhpZGRlbiBzbTpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBmb2N1cy12aXNpYmxlOnJpbmctMCBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMCBvdXRsaW5lLW5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDb21wYW55XCIpICYmIHVzZXI/LmNvbXBhbnlOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHVzZXIuY29tcGFueU5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKHVzZXI/LmZpcnN0TmFtZSAmJiB1c2VyPy5sYXN0TmFtZSA/IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YCA6IFwi0J/RgNC+0YTQuNC70YxcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51Q29udGVudCBhbGlnbj1cImVuZFwiIGNsYXNzTmFtZT1cInctNTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51TGFiZWw+0JzQvtC5INCw0LrQutCw0YPQvdGCPC9Ecm9wZG93bk1lbnVMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51U2VwYXJhdG9yIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9kYXNoYm9hcmQvcHJvZmlsZVwiIGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyIHctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwibXItMiBoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPtCf0YDQvtGE0LjQu9GMPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvb3JkZXJzXCIgY2xhc3NOYW1lPVwiY3Vyc29yLXBvaW50ZXIgdy1mdWxsIGZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QnNC+0Lgg0LfQsNC60LDQt9GLPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2Rhc2hib2FyZC9vZmZlcnNcIiBjbGFzc05hbWU9XCJjdXJzb3ItcG9pbnRlciB3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnJpZWZjYXNlIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0JzQvtC4INGD0YHQu9GD0LPQuDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVNlcGFyYXRvciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGNsYXNzTmFtZT1cInRleHQtZGVzdHJ1Y3RpdmUgZm9jdXM6dGV4dC1kZXN0cnVjdGl2ZSBjdXJzb3ItcG9pbnRlclwiIG9uQ2xpY2s9eygpID0+IGxvZ291dCgpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExvZ091dCBjbGFzc05hbWU9XCJtci0yIGgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QktGL0LnRgtC4INC40Lcg0LDQutC60LDRg9C90YLQsDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImdob3N0XCIgYXNDaGlsZCBjbGFzc05hbWU9XCJoaWRkZW4gc206ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvYXV0aC9sb2dpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVc2VyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCS0L7QudGC0LhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7aXNNYXN0ZXJPckNvbXBhbnkgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgdGV4dC13aGl0ZVwiIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL29yZGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNC+0LHRgNCw0YLRjCDQt9Cw0LrQsNC30YtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlXCIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvZGFzaGJvYXJkL2JlY29tZS1wZXJmb3JtZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodGC0LDRgtGMINC40YHQv9C+0LvQvdC40YLQtdC70LXQvFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJMaW5rIiwiTW9kZVRvZ2dsZSIsIkJ1dHRvbiIsIlN3aXRjaCIsIlNlYXJjaCIsIlVzZXIiLCJMb2dPdXQiLCJCcmllZmNhc2UiLCJNYXBQaW4iLCJEcm9wZG93bk1lbnUiLCJEcm9wZG93bk1lbnVDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkRyb3Bkb3duTWVudUxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiRHJvcGRvd25NZW51VHJpZ2dlciIsInVzZVNlc3Npb25TdG9yZSIsInVzZUdlb1N0b3JlIiwiSGVhZGVyIiwiaXNBdXRoIiwidXNlciIsImxvZ291dCIsImlzT25saW5lIiwiaXNVcGRhdGluZyIsImVycm9yIiwiZ2VvRXJyb3IiLCJnb09ubGluZSIsImdvT2ZmbGluZSIsImlzTWFzdGVyT3JDb21wYW55Iiwicm9sZXMiLCJpbmNsdWRlcyIsImhhbmRsZVRvZ2dsZU9ubGluZSIsImNoZWNrZWQiLCJpZCIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsImhyZWYiLCJzcGFuIiwibmF2Iiwib25DaGVja2VkQ2hhbmdlIiwiZGlzYWJsZWQiLCJsYWJlbCIsImh0bWxGb3IiLCJ0aXRsZSIsImFzQ2hpbGQiLCJ2YXJpYW50IiwiY29tcGFueU5hbWUiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/widgets/Header.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/globals.css": -/*!*****************************!*\ - !*** ./src/app/globals.css ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"96c14632c738\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXGdsb2JhbHMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOTZjMTQ2MzJjNzM4XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/dashboard/profile/page.tsx": -/*!********************************************!*\ - !*** ./src/app/dashboard/profile/page.tsx ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call the default export of \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\profile\\\\page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx", -"default", -)); - - -/***/ }), - -/***/ "(rsc)/./src/app/layout.tsx": -/*!****************************!*\ - !*** ./src/app/layout.tsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src\\\\\\\\app\\\\\\\\layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\",\\\"cyrillic\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n/* harmony import */ var leaflet_dist_leaflet_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! leaflet/dist/leaflet.css */ \"(rsc)/./node_modules/leaflet/dist/leaflet.css\");\n/* harmony import */ var _components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/theme/theme-provider */ \"(rsc)/./src/components/theme/theme-provider.tsx\");\n/* harmony import */ var _widgets_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/widgets/Header */ \"(rsc)/./src/widgets/Header.tsx\");\n/* harmony import */ var _components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/sonner */ \"(rsc)/./src/components/ui/sonner.tsx\");\n/* harmony import */ var _components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/auth/AuthProvider */ \"(rsc)/./src/components/auth/AuthProvider.tsx\");\n\n\n\n\n\n\n\n\nconst metadata = {\n title: \"Nashel - Маркетплейс услуг\",\n description: \"Найди мастера за 60 минут\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"ru\",\n suppressHydrationWarning: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: `${(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default().className)} min-h-screen bg-background text-foreground antialiased`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__.ThemeProvider, {\n attribute: \"class\",\n defaultTheme: \"system\",\n enableSystem: true,\n disableTransitionOnChange: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__.AuthProvider, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex min-h-screen flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_widgets_Header__WEBPACK_IMPORTED_MODULE_4__.Header, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 34,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 32,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__.Toaster, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 36,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 31,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 25,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQVNNQTtBQVBpQjtBQUNXO0FBQ2dDO0FBQ3hCO0FBQ087QUFDYTtBQUl2RCxNQUFNSyxXQUFxQjtJQUM5QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2pCLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQy9CQyxRQUFRLEVBR1Y7SUFDRSxxQkFDSSw4REFBQ0M7UUFBS0MsTUFBSztRQUFLQyx3QkFBd0I7a0JBQ3BDLDRFQUFDQztZQUFLQyxXQUFXLEdBQUdkLHdLQUFlLENBQUMsdURBQXVELENBQUM7c0JBQ3hGLDRFQUFDQywyRUFBYUE7Z0JBQ1ZjLFdBQVU7Z0JBQ1ZDLGNBQWE7Z0JBQ2JDLFlBQVk7Z0JBQ1pDLHlCQUF5QjswQkFFekIsNEVBQUNkLHVFQUFZQTs7c0NBQ1QsOERBQUNlOzRCQUFJTCxXQUFVOzs4Q0FDWCw4REFBQ1osbURBQU1BOzs7Ozs4Q0FDUCw4REFBQ2tCO29DQUFLTixXQUFVOzhDQUFVTDs7Ozs7Ozs7Ozs7O3NDQUU5Qiw4REFBQ04sMERBQU9BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1oQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcYXBwXFxsYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tIFwibmV4dFwiO1xyXG5pbXBvcnQgeyBJbnRlciB9IGZyb20gXCJuZXh0L2ZvbnQvZ29vZ2xlXCI7XHJcbmltcG9ydCBcIi4vZ2xvYmFscy5jc3NcIjtcclxuaW1wb3J0IFwibGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzXCI7XHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL3RoZW1lLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL3dpZGdldHMvSGVhZGVyXCI7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3Nvbm5lclwiO1xyXG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL2F1dGgvQXV0aFByb3ZpZGVyXCI7XHJcblxyXG5jb25zdCBpbnRlciA9IEludGVyKHsgc3Vic2V0czogW1wibGF0aW5cIiwgXCJjeXJpbGxpY1wiXSB9KTtcclxuXHJcbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XHJcbiAgICB0aXRsZTogXCJOYXNoZWwgLSDQnNCw0YDQutC10YLQv9C70LXQudGBINGD0YHQu9GD0LNcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcItCd0LDQudC00Lgg0LzQsNGB0YLQtdGA0LAg0LfQsCA2MCDQvNC40L3Rg9GCXCIsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSb290TGF5b3V0KHtcclxuICAgIGNoaWxkcmVuLFxyXG59OiBSZWFkb25seTx7XHJcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xyXG59Pikge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8aHRtbCBsYW5nPVwicnVcIiBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc+XHJcbiAgICAgICAgICAgIDxib2R5IGNsYXNzTmFtZT17YCR7aW50ZXIuY2xhc3NOYW1lfSBtaW4taC1zY3JlZW4gYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQgYW50aWFsaWFzZWRgfT5cclxuICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlPVwiY2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRUaGVtZT1cInN5c3RlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlU3lzdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVRyYW5zaXRpb25PbkNoYW5nZVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxBdXRoUHJvdmlkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgZmxleCBtaW4taC1zY3JlZW4gZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkZXIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9hc3RlciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQXV0aFByb3ZpZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxyXG4gICAgICAgICAgICA8L2JvZHk+XHJcbiAgICAgICAgPC9odG1sPlxyXG4gICAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsiaW50ZXIiLCJUaGVtZVByb3ZpZGVyIiwiSGVhZGVyIiwiVG9hc3RlciIsIkF1dGhQcm92aWRlciIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiwiYm9keSIsImNsYXNzTmFtZSIsImF0dHJpYnV0ZSIsImRlZmF1bHRUaGVtZSIsImVuYWJsZVN5c3RlbSIsImRpc2FibGVUcmFuc2l0aW9uT25DaGFuZ2UiLCJkaXYiLCJtYWluIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const AuthProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx", -"AuthProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const ThemeProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx", -"ThemeProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Toaster: () => (/* binding */ Toaster) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Toaster = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx", -"Toaster", -); - -/***/ }), - -/***/ "(rsc)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Header: () => (/* binding */ Header) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Header = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Header() from the server but Header is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx", -"Header", -); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@radix-ui","vendor-chunks/axios","vendor-chunks/mime-db","vendor-chunks/@floating-ui","vendor-chunks/tailwind-merge","vendor-chunks/sonner","vendor-chunks/lucide-react","vendor-chunks/cookies-next","vendor-chunks/follow-redirects","vendor-chunks/debug","vendor-chunks/tslib","vendor-chunks/react-remove-scroll","vendor-chunks/form-data","vendor-chunks/get-intrinsic","vendor-chunks/cookie","vendor-chunks/asynckit","vendor-chunks/aria-hidden","vendor-chunks/next-themes","vendor-chunks/react-remove-scroll-bar","vendor-chunks/combined-stream","vendor-chunks/mime-types","vendor-chunks/use-callback-ref","vendor-chunks/proxy-from-env","vendor-chunks/use-sidecar","vendor-chunks/class-variance-authority","vendor-chunks/ms","vendor-chunks/supports-color","vendor-chunks/react-style-singleton","vendor-chunks/has-symbols","vendor-chunks/delayed-stream","vendor-chunks/function-bind","vendor-chunks/@swc","vendor-chunks/zustand","vendor-chunks/es-set-tostringtag","vendor-chunks/get-proto","vendor-chunks/call-bind-apply-helpers","vendor-chunks/dunder-proto","vendor-chunks/math-intrinsics","vendor-chunks/es-errors","vendor-chunks/clsx","vendor-chunks/has-flag","vendor-chunks/gopd","vendor-chunks/get-nonce","vendor-chunks/es-define-property","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/leaflet","vendor-chunks/es-object-atoms","vendor-chunks/zod","vendor-chunks/react-hook-form","vendor-chunks/@hookform","vendor-chunks/@tiptap","vendor-chunks/normalize-wheel","vendor-chunks/use-sync-external-store","vendor-chunks/w3c-keyname","vendor-chunks/rope-sequence","vendor-chunks/react-easy-crop","vendor-chunks/prosemirror-view","vendor-chunks/prosemirror-transform","vendor-chunks/prosemirror-state","vendor-chunks/prosemirror-schema-list","vendor-chunks/prosemirror-model","vendor-chunks/prosemirror-keymap","vendor-chunks/prosemirror-history","vendor-chunks/prosemirror-gapcursor","vendor-chunks/prosemirror-dropcursor","vendor-chunks/prosemirror-commands","vendor-chunks/orderedmap","vendor-chunks/linkifyjs","vendor-chunks/fast-equals"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fdashboard%2Fprofile%2Fpage&page=%2Fdashboard%2Fprofile%2Fpage&appPaths=%2Fdashboard%2Fprofile%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Fprofile%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/dashboard/profile/page_client-reference-manifest.js b/.next/server/app/dashboard/profile/page_client-reference-manifest.js deleted file mode 100644 index 3fcd315..0000000 --- a/.next/server/app/dashboard/profile/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/dashboard/profile/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(ssr)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(ssr)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(ssr)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(ssr)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx":{"id":"(app-pages-browser)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx":{"id":"(app-pages-browser)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":["app/dashboard/profile/page","static/chunks/app/dashboard/profile/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx":{"id":"(app-pages-browser)/./src/components/home/PerformerButton.tsx","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":{"id":"(app-pages-browser)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\page":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(rsc)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(rsc)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(rsc)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(rsc)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/offers/[id]/page.js b/.next/server/app/offers/[id]/page.js index 7e66d2e..6000897 100644 --- a/.next/server/app/offers/[id]/page.js +++ b/.next/server/app/offers/[id]/page.js @@ -299,7 +299,7 @@ eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__web /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ PublicOfferPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _shared_api_catalog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/api/catalog */ \"(ssr)/./src/shared/api/catalog.ts\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/briefcase.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/arrow-left.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-left.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/image.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/file-text.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/list-ordered.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/star.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/shield-check.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/clock.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-check.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\nfunction PublicOfferPage() {\n const params = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useParams)();\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const offerId = params.id;\n const [offer, setOffer] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [activeImageIndex, setActiveImageIndex] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"PublicOfferPage.useEffect\": ()=>{\n if (!offerId) return;\n const fetchOffer = {\n \"PublicOfferPage.useEffect.fetchOffer\": async ()=>{\n try {\n setIsLoading(true);\n const data = await (0,_shared_api_catalog__WEBPACK_IMPORTED_MODULE_3__.getOfferById)(offerId);\n setOffer(data);\n if (data.images && data.images.length > 0) {\n setActiveImageIndex(0);\n }\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_5__.toast.error(\"Не удалось загрузить услугу\");\n console.error(\"Fetch offer error:\", error);\n } finally{\n setIsLoading(false);\n }\n }\n }[\"PublicOfferPage.useEffect.fetchOffer\"];\n fetchOffer();\n }\n }[\"PublicOfferPage.useEffect\"], [\n offerId\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"PublicOfferPage.useEffect\": ()=>{\n const handleKeyDown = {\n \"PublicOfferPage.useEffect.handleKeyDown\": (e)=>{\n if (!offer || !offer.images || offer.images.length <= 1) return;\n if (e.key === \"ArrowLeft\") {\n setActiveImageIndex({\n \"PublicOfferPage.useEffect.handleKeyDown\": (prev)=>prev > 0 ? prev - 1 : offer.images.length - 1\n }[\"PublicOfferPage.useEffect.handleKeyDown\"]);\n } else if (e.key === \"ArrowRight\") {\n setActiveImageIndex({\n \"PublicOfferPage.useEffect.handleKeyDown\": (prev)=>prev < offer.images.length - 1 ? prev + 1 : 0\n }[\"PublicOfferPage.useEffect.handleKeyDown\"]);\n }\n }\n }[\"PublicOfferPage.useEffect.handleKeyDown\"];\n window.addEventListener(\"keydown\", handleKeyDown);\n return ({\n \"PublicOfferPage.useEffect\": ()=>window.removeEventListener(\"keydown\", handleKeyDown)\n })[\"PublicOfferPage.useEffect\"];\n }\n }[\"PublicOfferPage.useEffect\"], [\n offer\n ]);\n const activeImage = offer?.images?.[activeImageIndex] ?? null;\n if (isLoading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center h-[calc(100vh-64px)] w-full\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-10 w-10 border-4 border-primary border-t-transparent rounded-full animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 60,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground\",\n children: \"Загрузка услуги...\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 61,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 59,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 58,\n columnNumber: 13\n }, this);\n }\n if (!offer) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center justify-center h-[calc(100vh-64px)] w-full max-w-lg mx-auto text-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-16 h-16 bg-muted rounded-full flex items-center justify-center mb-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"w-8 h-8 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 71,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 70,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold\",\n children: \"Услуга не найдена\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 73,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground\",\n children: \"Возможно, услуга была удалена, скрыта или вы перешли по неправильной ссылке.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 74,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: ()=>router.push(\"/search\"),\n className: \"mt-4\",\n children: \"Вернуться к поиску\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 75,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 69,\n columnNumber: 13\n }, this);\n }\n const priceTypeStr = offer.price.type === 0 ? \"Фиксированная цена\" : offer.price.type === 1 ? \"Цена за час\" : \"Договорная цена\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container max-w-5xl mx-auto px-4 py-8 mb-20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n className: \"mb-4 pl-0 hover:bg-transparent hover:text-primary transition-colors gap-2\",\n onClick: ()=>router.back(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 89,\n columnNumber: 21\n }, this),\n \"Назад\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 88,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-3xl md:text-4xl font-black text-foreground mb-4\",\n children: offer.title\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 93,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap items-center gap-4 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1.5 text-primary bg-primary/10 px-3 py-1.5 rounded-md font-bold text-lg\",\n children: offer.price.amount > 0 ? `${offer.price.amount} ₽` : \"Цена договорная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 98,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground font-medium bg-muted px-2 py-1 rounded\",\n children: priceTypeStr\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 101,\n columnNumber: 21\n }, this),\n !offer.isActive && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-red-500 font-medium bg-red-500/10 px-2 py-1 rounded\",\n children: \"Услуга приостановлена\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 105,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 97,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 87,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 lg:grid-cols-3 gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:col-span-2 space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-muted rounded-xl overflow-hidden relative aspect-[4/3] md:aspect-[16/10] shadow-md border group\",\n children: activeImage ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: activeImage,\n alt: offer.title,\n className: \"w-full h-full object-contain bg-black/5 transition-transform duration-700 hover:scale-[1.02]\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 119,\n columnNumber: 33\n }, this),\n offer.images && offer.images.length > 1 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: (e)=>{\n e.stopPropagation();\n setActiveImageIndex((prev)=>prev > 0 ? prev - 1 : offer.images.length - 1);\n },\n className: \"absolute left-2 md:left-4 top-1/2 -translate-y-1/2 bg-background/80 hover:bg-background text-foreground p-2 md:p-3 rounded-full shadow-md opacity-0 group-hover:opacity-100 transition-opacity focus:opacity-100\",\n \"aria-label\": \"Предыдущее фото\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-6 h-6\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 131,\n columnNumber: 45\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 126,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: (e)=>{\n e.stopPropagation();\n setActiveImageIndex((prev)=>prev < offer.images.length - 1 ? prev + 1 : 0);\n },\n className: \"absolute right-2 md:right-4 top-1/2 -translate-y-1/2 bg-background/80 hover:bg-background text-foreground p-2 md:p-3 rounded-full shadow-md opacity-0 group-hover:opacity-100 transition-opacity focus:opacity-100\",\n \"aria-label\": \"Следующее фото\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"w-6 h-6\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 138,\n columnNumber: 45\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 133,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-4 left-1/2 -translate-x-1/2 bg-background/80 text-foreground text-xs font-semibold px-3 py-1.5 rounded-full shadow-sm\",\n children: [\n activeImageIndex + 1,\n \" / \",\n offer.images.length\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 140,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center justify-center w-full h-full text-muted-foreground opacity-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-16 h-16 mb-2\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 148,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Нет фото\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 149,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 147,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 116,\n columnNumber: 21\n }, this),\n offer.images && offer.images.length > 1 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-3 overflow-x-auto pb-2 scrollbar-thin scrollbar-thumb-muted\",\n children: offer.images.map((img, idx)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setActiveImageIndex(idx),\n className: `relative shrink-0 w-24 h-24 rounded-lg overflow-hidden border-2 transition-all ${activeImageIndex === idx ? 'border-primary shadow-sm scale-105' : 'border-transparent opacity-70 hover:opacity-100 hover:scale-105'}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: img,\n alt: `Thumbnail ${idx}`,\n className: \"w-full h-full object-cover\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 163,\n columnNumber: 37\n }, this)\n }, idx, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 158,\n columnNumber: 33\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 156,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-card border rounded-xl shadow-sm mt-8 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-muted/30 px-6 py-4 border-b flex items-center justify-between\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl font-bold flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-5 h-5 text-primary\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 173,\n columnNumber: 33\n }, this),\n \"Описание\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 172,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 171,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6\",\n children: offer.description ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"prose prose-sm md:prose-base dark:prose-invert max-w-none break-words whitespace-pre-wrap leading-relaxed text-foreground/90\",\n children: offer.description\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 179,\n columnNumber: 33\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center justify-center py-8 text-muted-foreground bg-muted/20 rounded-lg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-12 h-12 mb-3 opacity-20\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 184,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"italic\",\n children: \"Владелец услуги не добавил описание.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 185,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 183,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 177,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 170,\n columnNumber: 21\n }, this),\n Object.keys(offer.attributes || {}).length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-card border rounded-xl shadow-sm mt-8 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-muted/30 px-6 py-4 border-b flex items-center justify-between\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl font-bold flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"w-5 h-5 text-primary\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 196,\n columnNumber: 37\n }, this),\n \"Характеристики\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 195,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 194,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: Object.entries(offer.attributes || {}).map(([key, value])=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between items-center text-sm md:text-base border-b border-muted/60 pb-3 last:border-0 last:pb-0 pt-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: key\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 204,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-right max-w-xs break-words\",\n children: value\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 205,\n columnNumber: 45\n }, this)\n ]\n }, key, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 203,\n columnNumber: 41\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 201,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 200,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 193,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 114,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-card border rounded-xl p-6 shadow-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-bold mb-4\",\n children: \"Об исполнителе\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 218,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4 mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-14 h-14 bg-gradient-to-br from-indigo-500 to-purple-600 rounded-full flex items-center justify-center text-white shrink-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"w-6 h-6\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 221,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 220,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-bold text-lg\",\n children: \"Имя Фамилия\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 224,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm font-medium text-muted-foreground bg-muted inline-block px-2 py-0.5 rounded mt-1\",\n children: \"Мастер\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 225,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 223,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 219,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-4 border-b pb-4 mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl font-black flex items-center gap-1\",\n children: [\n \"5.0 \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"w-5 h-5 fill-yellow-400 text-yellow-400\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 232,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 231,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-muted-foreground underline underline-offset-2 cursor-pointer hover:text-foreground transition-colors\",\n children: \"42 отзыва\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 234,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 230,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-px bg-border my-1\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 238,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col justify-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium flex items-center gap-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n className: \"w-4 h-4 text-green-500\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 241,\n columnNumber: 37\n }, this),\n \"Документы проверены\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 240,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium flex items-center gap-1.5 mt-1 text-muted-foreground\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 245,\n columnNumber: 37\n }, this),\n \"На сайте 2 года\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 244,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 239,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 229,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n className: \"w-full\",\n variant: \"outline\",\n children: \"Перейти в профиль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 251,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 217,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-card border rounded-xl p-6 shadow-sm sticky top-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-bold mb-6\",\n children: \"Готовы заказать?\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 257,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-5 mb-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-green-500/10 p-2 rounded-full shrink-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"w-5 h-5 text-green-500\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 262,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 261,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-medium\",\n children: \"Безопасная сделка\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 265,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted-foreground mt-0.5 leading-relaxed\",\n children: \"Система гарантирует безопасность вашего общения.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 266,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 264,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 260,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-blue-500/10 p-2 rounded-full shrink-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_18__[\"default\"], {\n className: \"w-5 h-5 text-blue-500\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 271,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 270,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-medium\",\n children: \"Выезд к клиенту\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 274,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted-foreground mt-0.5 leading-relaxed\",\n children: \"Исполнитель работает в вашем городе и может приехать.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 275,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 273,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 269,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 259,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n className: \"w-full h-12 text-base font-semibold shadow-md hover:shadow-lg transition-all bg-primary\",\n children: \"Связаться с исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 280,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-center text-muted-foreground mt-4 px-2\",\n children: [\n \"Нажимая кнопку, вы принимаете \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\",\n className: \"underline\",\n children: \"пользовательское соглашение\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 284,\n columnNumber: 59\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 283,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 256,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 215,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 112,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between mb-6 border-b pb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl font-bold\",\n children: \"Похожие услуги в этой категории\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n className: \"text-primary\",\n onClick: ()=>router.push(`/search?q=${offer.categoryId}`),\n children: \"Смотреть все\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 294,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 292,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6\",\n children: [\n 1,\n 2,\n 3,\n 4\n ].map((i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-card border rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-shadow group cursor-pointer\",\n onClick: ()=>router.push(\"/search\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"aspect-[4/3] bg-muted relative overflow-hidden\",\n children: [\n offer.images && offer.images.length > 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: offer.images[0],\n alt: \"Similar\",\n className: \"w-full h-full object-cover group-hover:scale-110 transition-transform duration-500 opacity-80 mix-blend-multiply\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 304,\n columnNumber: 37\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full h-full flex items-center justify-center text-muted-foreground/30\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-10 h-10\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 307,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 306,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-primary/10 group-hover:bg-transparent transition-colors\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 310,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 302,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold line-clamp-2 mb-2 group-hover:text-primary transition-colors\",\n children: [\n offer.title,\n \" - Похожее предложение #\",\n i\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 313,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-end justify-between mt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-bold text-primary px-2 py-0.5 bg-primary/10 rounded\",\n children: [\n \"от \",\n offer.price.amount,\n \" ₽\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 317,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-muted-foreground flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"w-3 h-3 fill-yellow-400 text-yellow-400\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 319,\n columnNumber: 41\n }, this),\n \"4.8\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 318,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 316,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 312,\n columnNumber: 29\n }, this)\n ]\n }, i, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 301,\n columnNumber: 25\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 299,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 291,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 85,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL29mZmVycy9baWRdL3BhZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTJDO0FBQ1c7QUFDSTtBQUNYO0FBQ2dJO0FBQ2pKO0FBRWYsU0FBU3FCO0lBQ3BCLE1BQU1DLFNBQVNwQiwwREFBU0E7SUFDeEIsTUFBTXFCLFNBQVNwQiwwREFBU0E7SUFDeEIsTUFBTXFCLFVBQVVGLE9BQU9HLEVBQUU7SUFFekIsTUFBTSxDQUFDQyxPQUFPQyxTQUFTLEdBQUcxQiwrQ0FBUUEsQ0FBZTtJQUNqRCxNQUFNLENBQUMyQixXQUFXQyxhQUFhLEdBQUc1QiwrQ0FBUUEsQ0FBQztJQUMzQyxNQUFNLENBQUM2QixrQkFBa0JDLG9CQUFvQixHQUFHOUIsK0NBQVFBLENBQVM7SUFFakVELGdEQUFTQTtxQ0FBQztZQUNOLElBQUksQ0FBQ3dCLFNBQVM7WUFFZCxNQUFNUTt3REFBYTtvQkFDZixJQUFJO3dCQUNBSCxhQUFhO3dCQUNiLE1BQU1JLE9BQU8sTUFBTTdCLGlFQUFZQSxDQUFDb0I7d0JBQ2hDRyxTQUFTTTt3QkFDVCxJQUFJQSxLQUFLQyxNQUFNLElBQUlELEtBQUtDLE1BQU0sQ0FBQ0MsTUFBTSxHQUFHLEdBQUc7NEJBQ3ZDSixvQkFBb0I7d0JBQ3hCO29CQUNKLEVBQUUsT0FBT0ssT0FBWTt3QkFDakJoQix5Q0FBS0EsQ0FBQ2dCLEtBQUssQ0FBQzt3QkFDWkMsUUFBUUQsS0FBSyxDQUFDLHNCQUFzQkE7b0JBQ3hDLFNBQVU7d0JBQ05QLGFBQWE7b0JBQ2pCO2dCQUNKOztZQUVBRztRQUNKO29DQUFHO1FBQUNSO0tBQVE7SUFFWnhCLGdEQUFTQTtxQ0FBQztZQUNOLE1BQU1zQzsyREFBZ0IsQ0FBQ0M7b0JBQ25CLElBQUksQ0FBQ2IsU0FBUyxDQUFDQSxNQUFNUSxNQUFNLElBQUlSLE1BQU1RLE1BQU0sQ0FBQ0MsTUFBTSxJQUFJLEdBQUc7b0JBQ3pELElBQUlJLEVBQUVDLEdBQUcsS0FBSyxhQUFhO3dCQUN2QlQ7dUVBQW9CLENBQUNVLE9BQVVBLE9BQU8sSUFBSUEsT0FBTyxJQUFJZixNQUFNUSxNQUFNLENBQUVDLE1BQU0sR0FBRzs7b0JBQ2hGLE9BQU8sSUFBSUksRUFBRUMsR0FBRyxLQUFLLGNBQWM7d0JBQy9CVDt1RUFBb0IsQ0FBQ1UsT0FBVUEsT0FBT2YsTUFBTVEsTUFBTSxDQUFFQyxNQUFNLEdBQUcsSUFBSU0sT0FBTyxJQUFJOztvQkFDaEY7Z0JBQ0o7O1lBQ0FDLE9BQU9DLGdCQUFnQixDQUFDLFdBQVdMO1lBQ25DOzZDQUFPLElBQU1JLE9BQU9FLG1CQUFtQixDQUFDLFdBQVdOOztRQUN2RDtvQ0FBRztRQUFDWjtLQUFNO0lBRVYsTUFBTW1CLGNBQWNuQixPQUFPUSxRQUFRLENBQUNKLGlCQUFpQixJQUFJO0lBRXpELElBQUlGLFdBQVc7UUFDWCxxQkFDSSw4REFBQ2tCO1lBQUlDLFdBQVU7c0JBQ1gsNEVBQUNEO2dCQUFJQyxXQUFVOztrQ0FDWCw4REFBQ0Q7d0JBQUlDLFdBQVU7Ozs7OztrQ0FDZiw4REFBQ0M7d0JBQUVELFdBQVU7a0NBQXdCOzs7Ozs7Ozs7Ozs7Ozs7OztJQUlyRDtJQUVBLElBQUksQ0FBQ3JCLE9BQU87UUFDUixxQkFDSSw4REFBQ29CO1lBQUlDLFdBQVU7OzhCQUNYLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFDWCw0RUFBQ3JDLG1NQUFTQTt3QkFBQ3FDLFdBQVU7Ozs7Ozs7Ozs7OzhCQUV6Qiw4REFBQ0U7b0JBQUdGLFdBQVU7OEJBQXFCOzs7Ozs7OEJBQ25DLDhEQUFDQztvQkFBRUQsV0FBVTs4QkFBd0I7Ozs7Ozs4QkFDckMsOERBQUMxQyx5REFBTUE7b0JBQUM2QyxTQUFTLElBQU0zQixPQUFPNEIsSUFBSSxDQUFDO29CQUFZSixXQUFVOzhCQUFPOzs7Ozs7Ozs7Ozs7SUFLNUU7SUFFQSxNQUFNSyxlQUFlMUIsTUFBTTJCLEtBQUssQ0FBQ0MsSUFBSSxLQUFLLElBQUksdUJBQXVCNUIsTUFBTTJCLEtBQUssQ0FBQ0MsSUFBSSxLQUFLLElBQUksZ0JBQWdCO0lBRTlHLHFCQUNJLDhEQUFDUjtRQUFJQyxXQUFVOzswQkFFWCw4REFBQ0Q7Z0JBQUlDLFdBQVU7O2tDQUNYLDhEQUFDMUMseURBQU1BO3dCQUFDa0QsU0FBUTt3QkFBUVIsV0FBVTt3QkFBNEVHLFNBQVMsSUFBTTNCLE9BQU9pQyxJQUFJOzswQ0FDcEksOERBQUNsRCxtTUFBU0E7Z0NBQUN5QyxXQUFVOzs7Ozs7NEJBQVk7Ozs7Ozs7a0NBSXJDLDhEQUFDRTt3QkFBR0YsV0FBVTtrQ0FDVHJCLE1BQU0rQixLQUFLOzs7Ozs7a0NBR2hCLDhEQUFDWDt3QkFBSUMsV0FBVTs7MENBQ1gsOERBQUNEO2dDQUFJQyxXQUFVOzBDQUNWckIsTUFBTTJCLEtBQUssQ0FBQ0ssTUFBTSxHQUFHLElBQUksR0FBR2hDLE1BQU0yQixLQUFLLENBQUNLLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRzs7Ozs7OzBDQUUxRCw4REFBQ0M7Z0NBQUtaLFdBQVU7MENBQ1hLOzs7Ozs7NEJBRUosQ0FBQzFCLE1BQU1rQyxRQUFRLGtCQUNaLDhEQUFDRDtnQ0FBS1osV0FBVTswQ0FBMkQ7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFPdkYsOERBQUNEO2dCQUFJQyxXQUFVOztrQ0FFWCw4REFBQ0Q7d0JBQUlDLFdBQVU7OzBDQUVYLDhEQUFDRDtnQ0FBSUMsV0FBVTswQ0FDVkYsNEJBQ0c7O3NEQUNJLDhEQUFDZ0I7NENBQ0dDLEtBQUtqQjs0Q0FDTGtCLEtBQUtyQyxNQUFNK0IsS0FBSzs0Q0FDaEJWLFdBQVU7Ozs7Ozt3Q0FFYnJCLE1BQU1RLE1BQU0sSUFBSVIsTUFBTVEsTUFBTSxDQUFDQyxNQUFNLEdBQUcsbUJBQ25DOzs4REFDSSw4REFBQzZCO29EQUNHZCxTQUFTLENBQUNYO3dEQUFRQSxFQUFFMEIsZUFBZTt3REFBSWxDLG9CQUFvQixDQUFDVSxPQUFVQSxPQUFPLElBQUlBLE9BQU8sSUFBSWYsTUFBTVEsTUFBTSxDQUFFQyxNQUFNLEdBQUc7b0RBQUs7b0RBQ3hIWSxXQUFVO29EQUNWbUIsY0FBVzs4REFFWCw0RUFBQ2pELG1NQUFXQTt3REFBQzhCLFdBQVU7Ozs7Ozs7Ozs7OzhEQUUzQiw4REFBQ2lCO29EQUNHZCxTQUFTLENBQUNYO3dEQUFRQSxFQUFFMEIsZUFBZTt3REFBSWxDLG9CQUFvQixDQUFDVSxPQUFVQSxPQUFPZixNQUFNUSxNQUFNLENBQUVDLE1BQU0sR0FBRyxJQUFJTSxPQUFPLElBQUk7b0RBQUs7b0RBQ3hITSxXQUFVO29EQUNWbUIsY0FBVzs4REFFWCw0RUFBQ2hELG1NQUFZQTt3REFBQzZCLFdBQVU7Ozs7Ozs7Ozs7OzhEQUU1Qiw4REFBQ0Q7b0RBQUlDLFdBQVU7O3dEQUNWakIsbUJBQW1CO3dEQUFFO3dEQUFJSixNQUFNUSxNQUFNLENBQUNDLE1BQU07Ozs7Ozs7Ozs7aUVBTTdELDhEQUFDVztvQ0FBSUMsV0FBVTs7c0RBQ1gsOERBQUN0QyxvTUFBU0E7NENBQUNzQyxXQUFVOzs7Ozs7c0RBQ3JCLDhEQUFDWTtzREFBSzs7Ozs7Ozs7Ozs7Ozs7Ozs7NEJBTWpCakMsTUFBTVEsTUFBTSxJQUFJUixNQUFNUSxNQUFNLENBQUNDLE1BQU0sR0FBRyxtQkFDbkMsOERBQUNXO2dDQUFJQyxXQUFVOzBDQUNWckIsTUFBTVEsTUFBTSxDQUFDaUMsR0FBRyxDQUFDLENBQUNOLEtBQUtPLG9CQUNwQiw4REFBQ0o7d0NBRUdkLFNBQVMsSUFBTW5CLG9CQUFvQnFDO3dDQUNuQ3JCLFdBQVcsQ0FBQywrRUFBK0UsRUFBRWpCLHFCQUFxQnNDLE1BQU0sdUNBQXVDLG1FQUFtRTtrREFFbE8sNEVBQUNQOzRDQUFJQyxLQUFLRDs0Q0FBS0UsS0FBSyxDQUFDLFVBQVUsRUFBRUssS0FBSzs0Q0FBRXJCLFdBQVU7Ozs7Ozt1Q0FKN0NxQjs7Ozs7Ozs7OzswQ0FXckIsOERBQUN0QjtnQ0FBSUMsV0FBVTs7a0RBQ1gsOERBQUNEO3dDQUFJQyxXQUFVO2tEQUNYLDRFQUFDc0I7NENBQUd0QixXQUFVOzs4REFDViw4REFBQ3BDLG9NQUFRQTtvREFBQ29DLFdBQVU7Ozs7OztnREFBeUI7Ozs7Ozs7Ozs7OztrREFJckQsOERBQUNEO3dDQUFJQyxXQUFVO2tEQUNWckIsTUFBTTRDLFdBQVcsaUJBQ2QsOERBQUN4Qjs0Q0FBSUMsV0FBVTtzREFDVnJCLE1BQU00QyxXQUFXOzs7OztpRUFHdEIsOERBQUN4Qjs0Q0FBSUMsV0FBVTs7OERBQ1gsOERBQUNwQyxvTUFBUUE7b0RBQUNvQyxXQUFVOzs7Ozs7OERBQ3BCLDhEQUFDQztvREFBRUQsV0FBVTs4REFBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7NEJBT3JDd0IsT0FBT0MsSUFBSSxDQUFDOUMsTUFBTStDLFVBQVUsSUFBSSxDQUFDLEdBQUd0QyxNQUFNLEdBQUcsbUJBQzFDLDhEQUFDVztnQ0FBSUMsV0FBVTs7a0RBQ1gsOERBQUNEO3dDQUFJQyxXQUFVO2tEQUNYLDRFQUFDc0I7NENBQUd0QixXQUFVOzs4REFDViw4REFBQzVCLG9NQUFXQTtvREFBQzRCLFdBQVU7Ozs7OztnREFBeUI7Ozs7Ozs7Ozs7OztrREFJeEQsOERBQUNEO3dDQUFJQyxXQUFVO2tEQUNYLDRFQUFDRDs0Q0FBSUMsV0FBVTtzREFDVndCLE9BQU9HLE9BQU8sQ0FBQ2hELE1BQU0rQyxVQUFVLElBQUksQ0FBQyxHQUFHTixHQUFHLENBQUMsQ0FBQyxDQUFDM0IsS0FBS21DLE1BQU0saUJBQ3JELDhEQUFDN0I7b0RBQWNDLFdBQVU7O3NFQUNyQiw4REFBQ1k7NERBQUtaLFdBQVU7c0VBQXlCUDs7Ozs7O3NFQUN6Qyw4REFBQ21COzREQUFLWixXQUFVO3NFQUFpRDRCOzs7Ozs7O21EQUYzRG5DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBWWxDLDhEQUFDTTt3QkFBSUMsV0FBVTs7MENBRVgsOERBQUNEO2dDQUFJQyxXQUFVOztrREFDWCw4REFBQ3NCO3dDQUFHdEIsV0FBVTtrREFBeUI7Ozs7OztrREFDdkMsOERBQUNEO3dDQUFJQyxXQUFVOzswREFDWCw4REFBQ0Q7Z0RBQUlDLFdBQVU7MERBQ1gsNEVBQUNqQyxvTUFBSUE7b0RBQUNpQyxXQUFVOzs7Ozs7Ozs7OzswREFFcEIsOERBQUNEOztrRUFDRyw4REFBQzhCO3dEQUFHN0IsV0FBVTtrRUFBb0I7Ozs7OztrRUFDbEMsOERBQUNDO3dEQUFFRCxXQUFVO2tFQUEyRjs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tEQUloSCw4REFBQ0Q7d0NBQUlDLFdBQVU7OzBEQUNYLDhEQUFDRDtnREFBSUMsV0FBVTs7a0VBQ1gsOERBQUNZO3dEQUFLWixXQUFVOzs0REFBOEM7MEVBQ3RELDhEQUFDbEMsb01BQUlBO2dFQUFDa0MsV0FBVTs7Ozs7Ozs7Ozs7O2tFQUV4Qiw4REFBQ1k7d0RBQUtaLFdBQVU7a0VBQW9IOzs7Ozs7Ozs7Ozs7MERBSXhJLDhEQUFDRDtnREFBSUMsV0FBVTs7Ozs7OzBEQUNmLDhEQUFDRDtnREFBSUMsV0FBVTs7a0VBQ1gsOERBQUNZO3dEQUFLWixXQUFVOzswRUFDWiw4REFBQ2hDLG9NQUFXQTtnRUFBQ2dDLFdBQVU7Ozs7Ozs0REFBMkI7Ozs7Ozs7a0VBR3RELDhEQUFDWTt3REFBS1osV0FBVTs7MEVBQ1osOERBQUMvQixvTUFBS0E7Z0VBQUMrQixXQUFVOzs7Ozs7NERBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0RBTXpDLDhEQUFDMUMseURBQU1BO3dDQUFDMEMsV0FBVTt3Q0FBU1EsU0FBUTtrREFBVTs7Ozs7Ozs7Ozs7OzBDQUtqRCw4REFBQ1Q7Z0NBQUlDLFdBQVU7O2tEQUNYLDhEQUFDc0I7d0NBQUd0QixXQUFVO2tEQUF5Qjs7Ozs7O2tEQUV2Qyw4REFBQ0Q7d0NBQUlDLFdBQVU7OzBEQUNYLDhEQUFDRDtnREFBSUMsV0FBVTs7a0VBQ1gsOERBQUNEO3dEQUFJQyxXQUFVO2tFQUNYLDRFQUFDbkMsb01BQVlBOzREQUFDbUMsV0FBVTs7Ozs7Ozs7Ozs7a0VBRTVCLDhEQUFDRDs7MEVBQ0csOERBQUNFO2dFQUFFRCxXQUFVOzBFQUFjOzs7Ozs7MEVBQzNCLDhEQUFDQztnRUFBRUQsV0FBVTswRUFBdUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OzswREFHNUUsOERBQUNEO2dEQUFJQyxXQUFVOztrRUFDWCw4REFBQ0Q7d0RBQUlDLFdBQVU7a0VBQ1gsNEVBQUN4QyxvTUFBTUE7NERBQUN3QyxXQUFVOzs7Ozs7Ozs7OztrRUFFdEIsOERBQUNEOzswRUFDRyw4REFBQ0U7Z0VBQUVELFdBQVU7MEVBQWM7Ozs7OzswRUFDM0IsOERBQUNDO2dFQUFFRCxXQUFVOzBFQUF1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tEQUtoRiw4REFBQzFDLHlEQUFNQTt3Q0FBQzBDLFdBQVU7a0RBQTBGOzs7Ozs7a0RBRzVHLDhEQUFDQzt3Q0FBRUQsV0FBVTs7NENBQXNEOzBEQUNqQyw4REFBQzhCO2dEQUFFQyxNQUFLO2dEQUFJL0IsV0FBVTswREFBWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQU9oRiw4REFBQ0Q7Z0JBQUlDLFdBQVU7O2tDQUNYLDhEQUFDRDt3QkFBSUMsV0FBVTs7MENBQ1gsOERBQUNzQjtnQ0FBR3RCLFdBQVU7MENBQXFCOzs7Ozs7MENBQ25DLDhEQUFDMUMseURBQU1BO2dDQUFDa0QsU0FBUTtnQ0FBUVIsV0FBVTtnQ0FBZUcsU0FBUyxJQUFNM0IsT0FBTzRCLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRXpCLE1BQU1xRCxVQUFVLEVBQUU7MENBQUc7Ozs7Ozs7Ozs7OztrQ0FLbEgsOERBQUNqQzt3QkFBSUMsV0FBVTtrQ0FDVjs0QkFBQzs0QkFBRzs0QkFBRzs0QkFBRzt5QkFBRSxDQUFDb0IsR0FBRyxDQUFDLENBQUNhLGtCQUNmLDhEQUFDbEM7Z0NBQVlDLFdBQVU7Z0NBQTZHRyxTQUFTLElBQU0zQixPQUFPNEIsSUFBSSxDQUFDOztrREFDM0osOERBQUNMO3dDQUFJQyxXQUFVOzs0Q0FDVnJCLE1BQU1RLE1BQU0sSUFBSVIsTUFBTVEsTUFBTSxDQUFDQyxNQUFNLEdBQUcsa0JBQ25DLDhEQUFDMEI7Z0RBQUlDLEtBQUtwQyxNQUFNUSxNQUFNLENBQUMsRUFBRTtnREFBRTZCLEtBQUk7Z0RBQVVoQixXQUFVOzs7OztxRUFFbkQsOERBQUNEO2dEQUFJQyxXQUFVOzBEQUNYLDRFQUFDdEMsb01BQVNBO29EQUFDc0MsV0FBVTs7Ozs7Ozs7Ozs7MERBRzdCLDhEQUFDRDtnREFBSUMsV0FBVTs7Ozs7Ozs7Ozs7O2tEQUVuQiw4REFBQ0Q7d0NBQUlDLFdBQVU7OzBEQUNYLDhEQUFDNkI7Z0RBQUc3QixXQUFVOztvREFDVHJCLE1BQU0rQixLQUFLO29EQUFDO29EQUF5QnVCOzs7Ozs7OzBEQUUxQyw4REFBQ2xDO2dEQUFJQyxXQUFVOztrRUFDWCw4REFBQ1k7d0RBQUtaLFdBQVU7OzREQUEyRDs0REFBSXJCLE1BQU0yQixLQUFLLENBQUNLLE1BQU07NERBQUM7Ozs7Ozs7a0VBQ2xHLDhEQUFDQzt3REFBS1osV0FBVTs7MEVBQ1osOERBQUNsQyxvTUFBSUE7Z0VBQUNrQyxXQUFVOzs7Ozs7NERBQTRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrQkFsQmxFaUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QmxDIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXG9mZmVyc1xcW2lkXVxccGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyB1c2VQYXJhbXMsIHVzZVJvdXRlciB9IGZyb20gXCJuZXh0L25hdmlnYXRpb25cIlxyXG5pbXBvcnQgeyBnZXRPZmZlckJ5SWQsIE9mZmVyIH0gZnJvbSBcIkAvc2hhcmVkL2FwaS9jYXRhbG9nXCJcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxyXG5pbXBvcnQgeyBBcnJvd0xlZnQsIE1hcFBpbiwgSW1hZ2UgYXMgSW1hZ2VJY29uLCBCcmllZmNhc2UsIEZpbGVUZXh0LCBDaGVja0NpcmNsZTIsIFN0YXIsIFVzZXIsIFNoaWVsZENoZWNrLCBDbG9jaywgQ2hldnJvbkxlZnQsIENoZXZyb25SaWdodCwgTGlzdE9yZGVyZWQgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcclxuaW1wb3J0IHsgdG9hc3QgfSBmcm9tIFwic29ubmVyXCJcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFB1YmxpY09mZmVyUGFnZSgpIHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHVzZVBhcmFtcygpXHJcbiAgICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxyXG4gICAgY29uc3Qgb2ZmZXJJZCA9IHBhcmFtcy5pZCBhcyBzdHJpbmdcclxuXHJcbiAgICBjb25zdCBbb2ZmZXIsIHNldE9mZmVyXSA9IHVzZVN0YXRlPE9mZmVyIHwgbnVsbD4obnVsbClcclxuICAgIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxyXG4gICAgY29uc3QgW2FjdGl2ZUltYWdlSW5kZXgsIHNldEFjdGl2ZUltYWdlSW5kZXhdID0gdXNlU3RhdGU8bnVtYmVyPigwKVxyXG5cclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFvZmZlcklkKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGZldGNoT2ZmZXIgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXRPZmZlckJ5SWQob2ZmZXJJZClcclxuICAgICAgICAgICAgICAgIHNldE9mZmVyKGRhdGEpXHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5pbWFnZXMgJiYgZGF0YS5pbWFnZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldEFjdGl2ZUltYWdlSW5kZXgoMClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgdG9hc3QuZXJyb3IoXCLQndC1INGD0LTQsNC70L7RgdGMINC30LDQs9GA0YPQt9C40YLRjCDRg9GB0LvRg9Cz0YNcIilcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJGZXRjaCBvZmZlciBlcnJvcjpcIiwgZXJyb3IpXHJcbiAgICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZldGNoT2ZmZXIoKVxyXG4gICAgfSwgW29mZmVySWRdKVxyXG5cclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghb2ZmZXIgfHwgIW9mZmVyLmltYWdlcyB8fCBvZmZlci5pbWFnZXMubGVuZ3RoIDw9IDEpIHJldHVybjtcclxuICAgICAgICAgICAgaWYgKGUua2V5ID09PSBcIkFycm93TGVmdFwiKSB7XHJcbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVJbWFnZUluZGV4KChwcmV2KSA9PiAocHJldiA+IDAgPyBwcmV2IC0gMSA6IG9mZmVyLmltYWdlcyEubGVuZ3RoIC0gMSkpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSBcIkFycm93UmlnaHRcIikge1xyXG4gICAgICAgICAgICAgICAgc2V0QWN0aXZlSW1hZ2VJbmRleCgocHJldikgPT4gKHByZXYgPCBvZmZlci5pbWFnZXMhLmxlbmd0aCAtIDEgPyBwcmV2ICsgMSA6IDApKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZUtleURvd24pO1xyXG4gICAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlS2V5RG93bik7XHJcbiAgICB9LCBbb2ZmZXJdKTtcclxuXHJcbiAgICBjb25zdCBhY3RpdmVJbWFnZSA9IG9mZmVyPy5pbWFnZXM/LlthY3RpdmVJbWFnZUluZGV4XSA/PyBudWxsO1xyXG5cclxuICAgIGlmIChpc0xvYWRpbmcpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGgtW2NhbGMoMTAwdmgtNjRweCldIHctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaC0xMCB3LTEwIGJvcmRlci00IGJvcmRlci1wcmltYXJ5IGJvcmRlci10LXRyYW5zcGFyZW50IHJvdW5kZWQtZnVsbCBhbmltYXRlLXNwaW5cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPtCX0LDQs9GA0YPQt9C60LAg0YPRgdC70YPQs9C4Li4uPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIW9mZmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBoLVtjYWxjKDEwMHZoLTY0cHgpXSB3LWZ1bGwgbWF4LXctbGcgbXgtYXV0byB0ZXh0LWNlbnRlciBnYXAtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTE2IGgtMTYgYmctbXV0ZWQgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8QnJpZWZjYXNlIGNsYXNzTmFtZT1cInctOCBoLTggdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZFwiPtCj0YHQu9GD0LPQsCDQvdC1INC90LDQudC00LXQvdCwPC9oMT5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPtCS0L7Qt9C80L7QttC90L4sINGD0YHQu9GD0LPQsCDQsdGL0LvQsCDRg9C00LDQu9C10L3QsCwg0YHQutGA0YvRgtCwINC40LvQuCDQstGLINC/0LXRgNC10YjQu9C4INC/0L4g0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC5INGB0YHRi9C70LrQtS48L3A+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9eygpID0+IHJvdXRlci5wdXNoKFwiL3NlYXJjaFwiKX0gY2xhc3NOYW1lPVwibXQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgINCS0LXRgNC90YPRgtGM0YHRjyDQuiDQv9C+0LjRgdC60YNcclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJpY2VUeXBlU3RyID0gb2ZmZXIucHJpY2UudHlwZSA9PT0gMCA/IFwi0KTQuNC60YHQuNGA0L7QstCw0L3QvdCw0Y8g0YbQtdC90LBcIiA6IG9mZmVyLnByaWNlLnR5cGUgPT09IDEgPyBcItCm0LXQvdCwINC30LAg0YfQsNGBXCIgOiBcItCU0L7Qs9C+0LLQvtGA0L3QsNGPINGG0LXQvdCwXCJcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG1heC13LTV4bCBteC1hdXRvIHB4LTQgcHktOCBtYi0yMFwiPlxyXG4gICAgICAgICAgICB7LyogSGVhZGVyIC8gQmFjayBidXR0b24gKi99XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItOFwiPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwiZ2hvc3RcIiBjbGFzc05hbWU9XCJtYi00IHBsLTAgaG92ZXI6YmctdHJhbnNwYXJlbnQgaG92ZXI6dGV4dC1wcmltYXJ5IHRyYW5zaXRpb24tY29sb3JzIGdhcC0yXCIgb25DbGljaz17KCkgPT4gcm91dGVyLmJhY2soKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPEFycm93TGVmdCBjbGFzc05hbWU9XCJ3LTQgaC00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICDQndCw0LfQsNC0XHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0zeGwgbWQ6dGV4dC00eGwgZm9udC1ibGFjayB0ZXh0LWZvcmVncm91bmQgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHtvZmZlci50aXRsZX1cclxuICAgICAgICAgICAgICAgIDwvaDE+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTQgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSB0ZXh0LXByaW1hcnkgYmctcHJpbWFyeS8xMCBweC0zIHB5LTEuNSByb3VuZGVkLW1kIGZvbnQtYm9sZCB0ZXh0LWxnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtvZmZlci5wcmljZS5hbW91bnQgPiAwID8gYCR7b2ZmZXIucHJpY2UuYW1vdW50fSDigr1gIDogXCLQptC10L3QsCDQtNC+0LPQvtCy0L7RgNC90LDRj1wifVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZCBmb250LW1lZGl1bSBiZy1tdXRlZCBweC0yIHB5LTEgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7cHJpY2VUeXBlU3RyfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICB7IW9mZmVyLmlzQWN0aXZlICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1yZWQtNTAwIGZvbnQtbWVkaXVtIGJnLXJlZC01MDAvMTAgcHgtMiBweS0xIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCj0YHQu9GD0LPQsCDQv9GA0LjQvtGB0YLQsNC90L7QstC70LXQvdCwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGxnOmdyaWQtY29scy0zIGdhcC04XCI+XHJcbiAgICAgICAgICAgICAgICB7Lyog0JvQtdCy0LDRjyDQutC+0LvQvtC90LrQsCAtINCY0LfQvtCx0YDQsNC20LXQvdC40Y8gKi99XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxnOmNvbC1zcGFuLTIgc3BhY2UteS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCT0LvQsNCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1tdXRlZCByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlbiByZWxhdGl2ZSBhc3BlY3QtWzQvM10gbWQ6YXNwZWN0LVsxNi8xMF0gc2hhZG93LW1kIGJvcmRlciBncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7YWN0aXZlSW1hZ2UgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXthY3RpdmVJbWFnZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXtvZmZlci50aXRsZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY29udGFpbiBiZy1ibGFjay81IHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTcwMCBob3ZlcjpzY2FsZS1bMS4wMl1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29mZmVyLmltYWdlcyAmJiBvZmZlci5pbWFnZXMubGVuZ3RoID4gMSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHsgZS5zdG9wUHJvcGFnYXRpb24oKTsgc2V0QWN0aXZlSW1hZ2VJbmRleCgocHJldikgPT4gKHByZXYgPiAwID8gcHJldiAtIDEgOiBvZmZlci5pbWFnZXMhLmxlbmd0aCAtIDEpKTsgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBsZWZ0LTIgbWQ6bGVmdC00IHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiBiZy1iYWNrZ3JvdW5kLzgwIGhvdmVyOmJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kIHAtMiBtZDpwLTMgcm91bmRlZC1mdWxsIHNoYWRvdy1tZCBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5IGZvY3VzOm9wYWNpdHktMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwi0J/RgNC10LTRi9C00YPRidC10LUg0YTQvtGC0L5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGV2cm9uTGVmdCBjbGFzc05hbWU9XCJ3LTYgaC02XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IHNldEFjdGl2ZUltYWdlSW5kZXgoKHByZXYpID0+IChwcmV2IDwgb2ZmZXIuaW1hZ2VzIS5sZW5ndGggLSAxID8gcHJldiArIDEgOiAwKSk7IH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgcmlnaHQtMiBtZDpyaWdodC00IHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiBiZy1iYWNrZ3JvdW5kLzgwIGhvdmVyOmJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kIHAtMiBtZDpwLTMgcm91bmRlZC1mdWxsIHNoYWRvdy1tZCBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5IGZvY3VzOm9wYWNpdHktMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwi0KHQu9C10LTRg9GO0YnQtdC1INGE0L7RgtC+XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hldnJvblJpZ2h0IGNsYXNzTmFtZT1cInctNiBoLTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGJvdHRvbS00IGxlZnQtMS8yIC10cmFuc2xhdGUteC0xLzIgYmctYmFja2dyb3VuZC84MCB0ZXh0LWZvcmVncm91bmQgdGV4dC14cyBmb250LXNlbWlib2xkIHB4LTMgcHktMS41IHJvdW5kZWQtZnVsbCBzaGFkb3ctc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YWN0aXZlSW1hZ2VJbmRleCArIDF9IC8ge29mZmVyLmltYWdlcy5sZW5ndGh9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LWZ1bGwgaC1mdWxsIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBvcGFjaXR5LTUwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlSWNvbiBjbGFzc05hbWU9XCJ3LTE2IGgtMTYgbWItMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0J3QtdGCINGE0L7RgtC+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiDQk9Cw0LvQtdGA0LXRjyAqL31cclxuICAgICAgICAgICAgICAgICAgICB7b2ZmZXIuaW1hZ2VzICYmIG9mZmVyLmltYWdlcy5sZW5ndGggPiAxICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0zIG92ZXJmbG93LXgtYXV0byBwYi0yIHNjcm9sbGJhci10aGluIHNjcm9sbGJhci10aHVtYi1tdXRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge29mZmVyLmltYWdlcy5tYXAoKGltZywgaWR4KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2lkeH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0QWN0aXZlSW1hZ2VJbmRleChpZHgpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2ByZWxhdGl2ZSBzaHJpbmstMCB3LTI0IGgtMjQgcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyLTIgdHJhbnNpdGlvbi1hbGwgJHthY3RpdmVJbWFnZUluZGV4ID09PSBpZHggPyAnYm9yZGVyLXByaW1hcnkgc2hhZG93LXNtIHNjYWxlLTEwNScgOiAnYm9yZGVyLXRyYW5zcGFyZW50IG9wYWNpdHktNzAgaG92ZXI6b3BhY2l0eS0xMDAgaG92ZXI6c2NhbGUtMTA1J31gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e2ltZ30gYWx0PXtgVGh1bWJuYWlsICR7aWR4fWB9IGNsYXNzTmFtZT1cInctZnVsbCBoLWZ1bGwgb2JqZWN0LWNvdmVyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB7Lyog0J7Qv9C40YHQsNC90LjQtSAqL31cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWNhcmQgYm9yZGVyIHJvdW5kZWQteGwgc2hhZG93LXNtIG10LTggb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctbXV0ZWQvMzAgcHgtNiBweS00IGJvcmRlci1iIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGVUZXh0IGNsYXNzTmFtZT1cInctNSBoLTUgdGV4dC1wcmltYXJ5XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQntC/0LjRgdCw0L3QuNC1XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvZmZlci5kZXNjcmlwdGlvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInByb3NlIHByb3NlLXNtIG1kOnByb3NlLWJhc2UgZGFyazpwcm9zZS1pbnZlcnQgbWF4LXctbm9uZSBicmVhay13b3JkcyB3aGl0ZXNwYWNlLXByZS13cmFwIGxlYWRpbmctcmVsYXhlZCB0ZXh0LWZvcmVncm91bmQvOTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29mZmVyLmRlc2NyaXB0aW9ufVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB5LTggdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGJnLW11dGVkLzIwIHJvdW5kZWQtbGdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGVUZXh0IGNsYXNzTmFtZT1cInctMTIgaC0xMiBtYi0zIG9wYWNpdHktMjBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJpdGFsaWNcIj7QktC70LDQtNC10LvQtdGGINGD0YHQu9GD0LPQuCDQvdC1INC00L7QsdCw0LLQuNC7INC+0L/QuNGB0LDQvdC40LUuPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiDQlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INGF0LDRgNCw0LrRgtC10YDQuNGB0YLQuNC60LggKNC10YHQu9C4INC10YHRgtGMKSAqL31cclxuICAgICAgICAgICAgICAgICAgICB7T2JqZWN0LmtleXMob2ZmZXIuYXR0cmlidXRlcyB8fCB7fSkubGVuZ3RoID4gMCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctY2FyZCBib3JkZXIgcm91bmRlZC14bCBzaGFkb3ctc20gbXQtOCBvdmVyZmxvdy1oaWRkZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctbXV0ZWQvMzAgcHgtNiBweS00IGJvcmRlci1iIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlzdE9yZGVyZWQgY2xhc3NOYW1lPVwidy01IGgtNSB0ZXh0LXByaW1hcnlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQpdCw0YDQsNC60YLQtdGA0LjRgdGC0LjQutC4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7T2JqZWN0LmVudHJpZXMob2ZmZXIuYXR0cmlidXRlcyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtrZXl9IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciB0ZXh0LXNtIG1kOnRleHQtYmFzZSBib3JkZXItYiBib3JkZXItbXV0ZWQvNjAgcGItMyBsYXN0OmJvcmRlci0wIGxhc3Q6cGItMCBwdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+e2tleX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0ZXh0LXJpZ2h0IG1heC13LXhzIGJyZWFrLXdvcmRzXCI+e3ZhbHVlfTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgey8qINCf0YDQsNCy0LDRjyDQutC+0LvQvtC90LrQsCAtINCa0LDRgNGC0L7Rh9C60LAg0LfQsNC60LDQt9CwIC8g0JjQvdGE0L7RgNC80LDRhtC40Y8gKi99XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiDQmtCw0YDRgtC+0YfQutCwINC40YHQv9C+0LvQvdC40YLQtdC70Y8gKNCX0LDQs9C70YPRiNC60LApICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctY2FyZCBib3JkZXIgcm91bmRlZC14bCBwLTYgc2hhZG93LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtYm9sZCBtYi00XCI+0J7QsSDQuNGB0L/QvtC70L3QuNGC0LXQu9C1PC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMTQgaC0xNCBiZy1ncmFkaWVudC10by1iciBmcm9tLWluZGlnby01MDAgdG8tcHVycGxlLTYwMCByb3VuZGVkLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC13aGl0ZSBzaHJpbmstMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVc2VyIGNsYXNzTmFtZT1cInctNiBoLTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJmb250LWJvbGQgdGV4dC1sZ1wiPtCY0LzRjyDQpNCw0LzQuNC70LjRjzwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LW11dGVkLWZvcmVncm91bmQgYmctbXV0ZWQgaW5saW5lLWJsb2NrIHB4LTIgcHktMC41IHJvdW5kZWQgbXQtMVwiPtCc0LDRgdGC0LXRgDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtNCBib3JkZXItYiBwYi00IG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYmxhY2sgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS4wIDxTdGFyIGNsYXNzTmFtZT1cInctNSBoLTUgZmlsbC15ZWxsb3ctNDAwIHRleHQteWVsbG93LTQwMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHVuZGVybGluZSB1bmRlcmxpbmUtb2Zmc2V0LTIgY3Vyc29yLXBvaW50ZXIgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIHRyYW5zaXRpb24tY29sb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQyINC+0YLQt9GL0LLQsFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LXB4IGJnLWJvcmRlciBteS0xXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW0gZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2hpZWxkQ2hlY2sgY2xhc3NOYW1lPVwidy00IGgtNCB0ZXh0LWdyZWVuLTUwMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCU0L7QutGD0LzQtdC90YLRiyDQv9GA0L7QstC10YDQtdC90YtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IG10LTEgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDbG9jayBjbGFzc05hbWU9XCJ3LTQgaC00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J3QsCDRgdCw0LnRgtC1IDIg0LPQvtC00LBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cInctZnVsbFwiIHZhcmlhbnQ9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDQn9C10YDQtdC50YLQuCDQsiDQv9GA0L7RhNC40LvRjFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1jYXJkIGJvcmRlciByb3VuZGVkLXhsIHAtNiBzaGFkb3ctc20gc3RpY2t5IHRvcC0yNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1sZyBmb250LWJvbGQgbWItNlwiPtCT0L7RgtC+0LLRiyDQt9Cw0LrQsNC30LDRgtGMPzwvaDM+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNSBtYi02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtc3RhcnQgZ2FwLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWdyZWVuLTUwMC8xMCBwLTIgcm91bmRlZC1mdWxsIHNocmluay0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGVja0NpcmNsZTIgY2xhc3NOYW1lPVwidy01IGgtNSB0ZXh0LWdyZWVuLTUwMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1tZWRpdW1cIj7QkdC10LfQvtC/0LDRgdC90LDRjyDRgdC00LXQu9C60LA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG10LTAuNSBsZWFkaW5nLXJlbGF4ZWRcIj7QodC40YHRgtC10LzQsCDQs9Cw0YDQsNC90YLQuNGA0YPQtdGCINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLRjCDQstCw0YjQtdCz0L4g0L7QsdGJ0LXQvdC40Y8uPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtc3RhcnQgZ2FwLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWJsdWUtNTAwLzEwIHAtMiByb3VuZGVkLWZ1bGwgc2hyaW5rLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1hcFBpbiBjbGFzc05hbWU9XCJ3LTUgaC01IHRleHQtYmx1ZS01MDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtXCI+0JLRi9C10LfQtCDQuiDQutC70LjQtdC90YLRgzwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQgbXQtMC41IGxlYWRpbmctcmVsYXhlZFwiPtCY0YHQv9C+0LvQvdC40YLQtdC70Ywg0YDQsNCx0L7RgtCw0LXRgiDQsiDQstCw0YjQtdC8INCz0L7RgNC+0LTQtSDQuCDQvNC+0LbQtdGCINC/0YDQuNC10YXQsNGC0YwuPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJ3LWZ1bGwgaC0xMiB0ZXh0LWJhc2UgZm9udC1zZW1pYm9sZCBzaGFkb3ctbWQgaG92ZXI6c2hhZG93LWxnIHRyYW5zaXRpb24tYWxsIGJnLXByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCh0LLRj9C30LDRgtGM0YHRjyDRgSDQuNGB0L/QvtC70L3QuNGC0LXQu9C10LxcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1jZW50ZXIgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG10LTQgcHgtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0J3QsNC20LjQvNCw0Y8g0LrQvdC+0L/QutGDLCDQstGLINC/0YDQuNC90LjQvNCw0LXRgtC1IDxhIGhyZWY9XCIjXCIgY2xhc3NOYW1lPVwidW5kZXJsaW5lXCI+0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM0YHQutC+0LUg0YHQvtCz0LvQsNGI0LXQvdC40LU8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIHsvKiDQkdC70L7QuiDQv9C+0YXQvtC20LjRhSDRg9GB0LvRg9CzICjQt9Cw0LPQu9GD0YjQutCwKSAqL31cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC0xNlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gbWItNiBib3JkZXItYiBwYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZFwiPtCf0L7RhdC+0LbQuNC1INGD0YHQu9GD0LPQuCDQsiDRjdGC0L7QuSDQutCw0YLQtdCz0L7RgNC40Lg8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImdob3N0XCIgY2xhc3NOYW1lPVwidGV4dC1wcmltYXJ5XCIgb25DbGljaz17KCkgPT4gcm91dGVyLnB1c2goYC9zZWFyY2g/cT0ke29mZmVyLmNhdGVnb3J5SWR9YCl9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDQodC80L7RgtGA0LXRgtGMINCy0YHQtVxyXG4gICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIHNtOmdyaWQtY29scy0yIG1kOmdyaWQtY29scy0zIGxnOmdyaWQtY29scy00IGdhcC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge1sxLCAyLCAzLCA0XS5tYXAoKGkpID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2l9IGNsYXNzTmFtZT1cImJnLWNhcmQgYm9yZGVyIHJvdW5kZWQteGwgb3ZlcmZsb3ctaGlkZGVuIHNoYWRvdy1zbSBob3ZlcjpzaGFkb3ctbWQgdHJhbnNpdGlvbi1zaGFkb3cgZ3JvdXAgY3Vyc29yLXBvaW50ZXJcIiBvbkNsaWNrPXsoKSA9PiByb3V0ZXIucHVzaChcIi9zZWFyY2hcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhc3BlY3QtWzQvM10gYmctbXV0ZWQgcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29mZmVyLmltYWdlcyAmJiBvZmZlci5pbWFnZXMubGVuZ3RoID4gMCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e29mZmVyLmltYWdlc1swXX0gYWx0PVwiU2ltaWxhclwiIGNsYXNzTmFtZT1cInctZnVsbCBoLWZ1bGwgb2JqZWN0LWNvdmVyIGdyb3VwLWhvdmVyOnNjYWxlLTExMCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi01MDAgb3BhY2l0eS04MCBtaXgtYmxlbmQtbXVsdGlwbHlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LW11dGVkLWZvcmVncm91bmQvMzBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbWFnZUljb24gY2xhc3NOYW1lPVwidy0xMCBoLTEwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctcHJpbWFyeS8xMCBncm91cC1ob3ZlcjpiZy10cmFuc3BhcmVudCB0cmFuc2l0aW9uLWNvbG9yc1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGQgbGluZS1jbGFtcC0yIG1iLTIgZ3JvdXAtaG92ZXI6dGV4dC1wcmltYXJ5IHRyYW5zaXRpb24tY29sb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvZmZlci50aXRsZX0gLSDQn9C+0YXQvtC20LXQtSDQv9GA0LXQtNC70L7QttC10L3QuNC1ICN7aX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1lbmQganVzdGlmeS1iZXR3ZWVuIG10LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtcHJpbWFyeSBweC0yIHB5LTAuNSBiZy1wcmltYXJ5LzEwIHJvdW5kZWRcIj7QvtGCIHtvZmZlci5wcmljZS5hbW91bnR9IOKCvTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdGFyIGNsYXNzTmFtZT1cInctMyBoLTMgZmlsbC15ZWxsb3ctNDAwIHRleHQteWVsbG93LTQwMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZVBhcmFtcyIsInVzZVJvdXRlciIsImdldE9mZmVyQnlJZCIsIkJ1dHRvbiIsIkFycm93TGVmdCIsIk1hcFBpbiIsIkltYWdlIiwiSW1hZ2VJY29uIiwiQnJpZWZjYXNlIiwiRmlsZVRleHQiLCJDaGVja0NpcmNsZTIiLCJTdGFyIiwiVXNlciIsIlNoaWVsZENoZWNrIiwiQ2xvY2siLCJDaGV2cm9uTGVmdCIsIkNoZXZyb25SaWdodCIsIkxpc3RPcmRlcmVkIiwidG9hc3QiLCJQdWJsaWNPZmZlclBhZ2UiLCJwYXJhbXMiLCJyb3V0ZXIiLCJvZmZlcklkIiwiaWQiLCJvZmZlciIsInNldE9mZmVyIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiYWN0aXZlSW1hZ2VJbmRleCIsInNldEFjdGl2ZUltYWdlSW5kZXgiLCJmZXRjaE9mZmVyIiwiZGF0YSIsImltYWdlcyIsImxlbmd0aCIsImVycm9yIiwiY29uc29sZSIsImhhbmRsZUtleURvd24iLCJlIiwia2V5IiwicHJldiIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYWN0aXZlSW1hZ2UiLCJkaXYiLCJjbGFzc05hbWUiLCJwIiwiaDEiLCJvbkNsaWNrIiwicHVzaCIsInByaWNlVHlwZVN0ciIsInByaWNlIiwidHlwZSIsInZhcmlhbnQiLCJiYWNrIiwidGl0bGUiLCJhbW91bnQiLCJzcGFuIiwiaXNBY3RpdmUiLCJpbWciLCJzcmMiLCJhbHQiLCJidXR0b24iLCJzdG9wUHJvcGFnYXRpb24iLCJhcmlhLWxhYmVsIiwibWFwIiwiaWR4IiwiaDMiLCJkZXNjcmlwdGlvbiIsIk9iamVjdCIsImtleXMiLCJhdHRyaWJ1dGVzIiwiZW50cmllcyIsInZhbHVlIiwiaDQiLCJhIiwiaHJlZiIsImNhdGVnb3J5SWQiLCJpIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/app/offers/[id]/page.tsx\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ PublicOfferPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _shared_api_catalog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/api/catalog */ \"(ssr)/./src/shared/api/catalog.ts\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/briefcase.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/arrow-left.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-left.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/image.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/file-text.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/list-ordered.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/star.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/shield-check.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/clock.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-check.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowLeft,Briefcase,CheckCircle2,ChevronLeft,ChevronRight,Clock,FileText,Image,ListOrdered,MapPin,ShieldCheck,Star,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\nfunction PublicOfferPage() {\n const params = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useParams)();\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const offerId = params.id;\n const [offer, setOffer] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [activeImageIndex, setActiveImageIndex] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"PublicOfferPage.useEffect\": ()=>{\n if (!offerId) return;\n const fetchOffer = {\n \"PublicOfferPage.useEffect.fetchOffer\": async ()=>{\n try {\n setIsLoading(true);\n const data = await (0,_shared_api_catalog__WEBPACK_IMPORTED_MODULE_3__.getOfferById)(offerId);\n setOffer(data);\n if (data.images && data.images.length > 0) {\n setActiveImageIndex(0);\n }\n } catch (error) {\n sonner__WEBPACK_IMPORTED_MODULE_5__.toast.error(\"Не удалось загрузить услугу\");\n console.error(\"Fetch offer error:\", error);\n } finally{\n setIsLoading(false);\n }\n }\n }[\"PublicOfferPage.useEffect.fetchOffer\"];\n fetchOffer();\n }\n }[\"PublicOfferPage.useEffect\"], [\n offerId\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"PublicOfferPage.useEffect\": ()=>{\n const handleKeyDown = {\n \"PublicOfferPage.useEffect.handleKeyDown\": (e)=>{\n if (!offer || !offer.images || offer.images.length <= 1) return;\n if (e.key === \"ArrowLeft\") {\n setActiveImageIndex({\n \"PublicOfferPage.useEffect.handleKeyDown\": (prev)=>prev > 0 ? prev - 1 : offer.images.length - 1\n }[\"PublicOfferPage.useEffect.handleKeyDown\"]);\n } else if (e.key === \"ArrowRight\") {\n setActiveImageIndex({\n \"PublicOfferPage.useEffect.handleKeyDown\": (prev)=>prev < offer.images.length - 1 ? prev + 1 : 0\n }[\"PublicOfferPage.useEffect.handleKeyDown\"]);\n }\n }\n }[\"PublicOfferPage.useEffect.handleKeyDown\"];\n window.addEventListener(\"keydown\", handleKeyDown);\n return ({\n \"PublicOfferPage.useEffect\": ()=>window.removeEventListener(\"keydown\", handleKeyDown)\n })[\"PublicOfferPage.useEffect\"];\n }\n }[\"PublicOfferPage.useEffect\"], [\n offer\n ]);\n const activeImage = offer?.images?.[activeImageIndex] ?? null;\n if (isLoading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center h-[calc(100vh-64px)] w-full\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-10 w-10 border-4 border-primary border-t-transparent rounded-full animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 60,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground\",\n children: \"Загрузка услуги...\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 61,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 59,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 58,\n columnNumber: 13\n }, this);\n }\n if (!offer) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center justify-center h-[calc(100vh-64px)] w-full max-w-lg mx-auto text-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-16 h-16 bg-muted rounded-full flex items-center justify-center mb-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"w-8 h-8 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 71,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 70,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-bold\",\n children: \"Услуга не найдена\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 73,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground\",\n children: \"Возможно, услуга была удалена, скрыта или вы перешли по неправильной ссылке.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 74,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: ()=>router.push(\"/search\"),\n className: \"mt-4\",\n children: \"Вернуться к поиску\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 75,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 69,\n columnNumber: 13\n }, this);\n }\n const priceTypeStr = offer.price.type === 0 ? \"Фиксированная цена\" : offer.price.type === 1 ? \"Цена за час\" : \"Договорная цена\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container max-w-5xl mx-auto px-4 py-8 mb-20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n className: \"mb-4 pl-0 hover:bg-transparent hover:text-primary transition-colors gap-2\",\n onClick: ()=>router.back(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 89,\n columnNumber: 21\n }, this),\n \"Назад\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 88,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-3xl md:text-4xl font-black text-foreground mb-4\",\n children: offer.title\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 93,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap items-center gap-4 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1.5 text-primary bg-primary/10 px-3 py-1.5 rounded-md font-bold text-lg\",\n children: offer.price.amount > 0 ? `${offer.price.amount} ₽` : \"Цена договорная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 98,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground font-medium bg-muted px-2 py-1 rounded\",\n children: priceTypeStr\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 101,\n columnNumber: 21\n }, this),\n !offer.isActive && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-red-500 font-medium bg-red-500/10 px-2 py-1 rounded\",\n children: \"Услуга приостановлена\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 105,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 97,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 87,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 lg:grid-cols-3 gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lg:col-span-2 space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-muted rounded-xl overflow-hidden relative aspect-[4/3] md:aspect-[16/10] shadow-md border group\",\n children: activeImage ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: activeImage,\n alt: offer.title,\n className: \"w-full h-full object-contain bg-black/5 transition-transform duration-700 hover:scale-[1.02]\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 119,\n columnNumber: 33\n }, this),\n offer.images && offer.images.length > 1 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: (e)=>{\n e.stopPropagation();\n setActiveImageIndex((prev)=>prev > 0 ? prev - 1 : offer.images.length - 1);\n },\n className: \"absolute left-2 md:left-4 top-1/2 -translate-y-1/2 bg-background/80 hover:bg-background text-foreground p-2 md:p-3 rounded-full shadow-md opacity-0 group-hover:opacity-100 transition-opacity focus:opacity-100\",\n \"aria-label\": \"Предыдущее фото\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-6 h-6\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 131,\n columnNumber: 45\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 126,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: (e)=>{\n e.stopPropagation();\n setActiveImageIndex((prev)=>prev < offer.images.length - 1 ? prev + 1 : 0);\n },\n className: \"absolute right-2 md:right-4 top-1/2 -translate-y-1/2 bg-background/80 hover:bg-background text-foreground p-2 md:p-3 rounded-full shadow-md opacity-0 group-hover:opacity-100 transition-opacity focus:opacity-100\",\n \"aria-label\": \"Следующее фото\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"w-6 h-6\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 138,\n columnNumber: 45\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 133,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-4 left-1/2 -translate-x-1/2 bg-background/80 text-foreground text-xs font-semibold px-3 py-1.5 rounded-full shadow-sm\",\n children: [\n activeImageIndex + 1,\n \" / \",\n offer.images.length\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 140,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center justify-center w-full h-full text-muted-foreground opacity-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-16 h-16 mb-2\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 148,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Нет фото\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 149,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 147,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 116,\n columnNumber: 21\n }, this),\n offer.images && offer.images.length > 1 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex overflow-x-auto py-2 px-1 -mx-3 sm:-mx-4 sm:px-2 scrollbar-thin scrollbar-thumb-muted\",\n children: offer.images.map((img, idx)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"shrink-0 p-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setActiveImageIndex(idx),\n className: `relative w-20 h-20 sm:w-24 sm:h-24 rounded-lg overflow-hidden transition-all duration-300 outline-none ${activeImageIndex === idx ? 'ring-2 ring-primary ring-offset-2 ring-offset-background scale-[1.12] shadow-lg' : 'opacity-60 hover:opacity-100 hover:scale-[1.12]'}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: img,\n alt: `Thumbnail ${idx}`,\n className: \"w-full h-full object-cover\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 163,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 159,\n columnNumber: 37\n }, this)\n }, idx, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 158,\n columnNumber: 33\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 156,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-card border rounded-xl shadow-sm mt-8 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-muted/30 px-6 py-4 border-b flex items-center justify-between\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl font-bold flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-5 h-5 text-primary\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 174,\n columnNumber: 33\n }, this),\n \"Описание\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 173,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 172,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6\",\n children: offer.description ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"prose prose-sm md:prose-base dark:prose-invert max-w-none break-words whitespace-pre-wrap leading-relaxed text-foreground/90\",\n children: offer.description\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 180,\n columnNumber: 33\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center justify-center py-8 text-muted-foreground bg-muted/20 rounded-lg\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-12 h-12 mb-3 opacity-20\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 185,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"italic\",\n children: \"Владелец услуги не добавил описание.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 186,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 184,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 178,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 171,\n columnNumber: 21\n }, this),\n Object.keys(offer.attributes || {}).length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-card border rounded-xl shadow-sm mt-8 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-muted/30 px-6 py-4 border-b flex items-center justify-between\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-xl font-bold flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"w-5 h-5 text-primary\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 197,\n columnNumber: 37\n }, this),\n \"Характеристики\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 196,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 195,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: Object.entries(offer.attributes || {}).map(([key, value])=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between items-center text-sm md:text-base border-b border-muted/60 pb-3 last:border-0 last:pb-0 pt-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: key\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 205,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-right max-w-xs break-words\",\n children: value\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 206,\n columnNumber: 45\n }, this)\n ]\n }, key, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 204,\n columnNumber: 41\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 202,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 201,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 194,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 114,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-card border rounded-xl p-6 shadow-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-bold mb-4\",\n children: \"Об исполнителе\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 219,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4 mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-14 h-14 bg-gradient-to-br from-indigo-500 to-purple-600 rounded-full flex items-center justify-center text-white shrink-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"w-6 h-6\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 222,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 221,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-bold text-lg\",\n children: \"Имя Фамилия\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 225,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm font-medium text-muted-foreground bg-muted inline-block px-2 py-0.5 rounded mt-1\",\n children: \"Мастер\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 226,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 224,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 220,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-4 border-b pb-4 mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl font-black flex items-center gap-1\",\n children: [\n \"5.0 \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"w-5 h-5 fill-yellow-400 text-yellow-400\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 233,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 232,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-muted-foreground underline underline-offset-2 cursor-pointer hover:text-foreground transition-colors\",\n children: \"42 отзыва\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 235,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 231,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-px bg-border my-1\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 239,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col justify-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium flex items-center gap-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n className: \"w-4 h-4 text-green-500\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 242,\n columnNumber: 37\n }, this),\n \"Документы проверены\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 241,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium flex items-center gap-1.5 mt-1 text-muted-foreground\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 246,\n columnNumber: 37\n }, this),\n \"На сайте 2 года\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 245,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 240,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 230,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n className: \"w-full\",\n variant: \"outline\",\n children: \"Перейти в профиль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 252,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 218,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-card border rounded-xl p-6 shadow-sm sticky top-24\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-bold mb-6\",\n children: \"Готовы заказать?\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 258,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-5 mb-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-green-500/10 p-2 rounded-full shrink-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"w-5 h-5 text-green-500\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 263,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 262,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-medium\",\n children: \"Безопасная сделка\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 266,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted-foreground mt-0.5 leading-relaxed\",\n children: \"Система гарантирует безопасность вашего общения.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 267,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 265,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 261,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-blue-500/10 p-2 rounded-full shrink-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_18__[\"default\"], {\n className: \"w-5 h-5 text-blue-500\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 272,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 271,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-medium\",\n children: \"Выезд к клиенту\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 275,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted-foreground mt-0.5 leading-relaxed\",\n children: \"Исполнитель работает в вашем городе и может приехать.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 276,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 274,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 270,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 260,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n className: \"w-full h-12 text-base font-semibold shadow-md hover:shadow-lg transition-all bg-primary\",\n children: \"Связаться с исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 281,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-center text-muted-foreground mt-4 px-2\",\n children: [\n \"Нажимая кнопку, вы принимаете \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\",\n className: \"underline\",\n children: \"пользовательское соглашение\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 285,\n columnNumber: 59\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 284,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 257,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 216,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 112,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-16\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between mb-6 border-b pb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-2xl font-bold\",\n children: \"Похожие услуги в этой категории\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 294,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n className: \"text-primary\",\n onClick: ()=>router.push(`/search?q=${offer.categoryId}`),\n children: \"Смотреть все\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 295,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 293,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6\",\n children: [\n 1,\n 2,\n 3,\n 4\n ].map((i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-card border rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-shadow group cursor-pointer\",\n onClick: ()=>router.push(\"/search\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"aspect-[4/3] bg-muted relative overflow-hidden\",\n children: [\n offer.images && offer.images.length > 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: offer.images[0],\n alt: \"Similar\",\n className: \"w-full h-full object-cover group-hover:scale-110 transition-transform duration-500 opacity-80 mix-blend-multiply\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 305,\n columnNumber: 37\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full h-full flex items-center justify-center text-muted-foreground/30\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-10 h-10\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 308,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 307,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-primary/10 group-hover:bg-transparent transition-colors\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 311,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 303,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-semibold line-clamp-2 mb-2 group-hover:text-primary transition-colors\",\n children: [\n offer.title,\n \" - Похожее предложение #\",\n i\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 314,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-end justify-between mt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-bold text-primary px-2 py-0.5 bg-primary/10 rounded\",\n children: [\n \"от \",\n offer.price.amount,\n \" ₽\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 318,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-muted-foreground flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowLeft_Briefcase_CheckCircle2_ChevronLeft_ChevronRight_Clock_FileText_Image_ListOrdered_MapPin_ShieldCheck_Star_User_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"w-3 h-3 fill-yellow-400 text-yellow-400\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 320,\n columnNumber: 41\n }, this),\n \"4.8\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 319,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 317,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 313,\n columnNumber: 29\n }, this)\n ]\n }, i, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 302,\n columnNumber: 25\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 300,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 292,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\offers\\\\[id]\\\\page.tsx\",\n lineNumber: 85,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QVNBO29EQUFDc0MsV0FBVTs7Ozs7Ozs7Ozs7MERBRzdCLDhEQUFDRDtnREFBSUMsV0FBVTs7Ozs7Ozs7Ozs7O2tEQUVuQiw4REFBQ0Q7d0NBQUlDLFdBQVU7OzBEQUNYLDhEQUFDNkI7Z0RBQUc3QixXQUFVOztvREFDVHJCLE1BQU0rQixLQUFLO29EQUFDO29EQUF5QnVCOzs7Ozs7OzBEQUUxQyw4REFBQ2xDO2dEQUFJQyxXQUFVOztrRUFDWCw4REFBQ1k7d0RBQUtaLFdBQVU7OzREQUEyRDs0REFBSXJCLE1BQU0yQixLQUFLLENBQUNLLE1BQU07NERBQUM7Ozs7Ozs7a0VBQ2xHLDhEQUFDQzt3REFBS1osV0FBVTs7MEVBQ1osOERBQUNsQyxvTUFBSUE7Z0VBQUNrQyxXQUFVOzs7Ozs7NERBQTRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrQkFsQmxFaUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QmxDIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXG9mZmVyc1xcW2lkXVxccGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyB1c2VQYXJhbXMsIHVzZVJvdXRlciB9IGZyb20gXCJuZXh0L25hdmlnYXRpb25cIlxyXG5pbXBvcnQgeyBnZXRPZmZlckJ5SWQsIE9mZmVyIH0gZnJvbSBcIkAvc2hhcmVkL2FwaS9jYXRhbG9nXCJcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxyXG5pbXBvcnQgeyBBcnJvd0xlZnQsIE1hcFBpbiwgSW1hZ2UgYXMgSW1hZ2VJY29uLCBCcmllZmNhc2UsIEZpbGVUZXh0LCBDaGVja0NpcmNsZTIsIFN0YXIsIFVzZXIsIFNoaWVsZENoZWNrLCBDbG9jaywgQ2hldnJvbkxlZnQsIENoZXZyb25SaWdodCwgTGlzdE9yZGVyZWQgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcclxuaW1wb3J0IHsgdG9hc3QgfSBmcm9tIFwic29ubmVyXCJcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFB1YmxpY09mZmVyUGFnZSgpIHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHVzZVBhcmFtcygpXHJcbiAgICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxyXG4gICAgY29uc3Qgb2ZmZXJJZCA9IHBhcmFtcy5pZCBhcyBzdHJpbmdcclxuXHJcbiAgICBjb25zdCBbb2ZmZXIsIHNldE9mZmVyXSA9IHVzZVN0YXRlPE9mZmVyIHwgbnVsbD4obnVsbClcclxuICAgIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxyXG4gICAgY29uc3QgW2FjdGl2ZUltYWdlSW5kZXgsIHNldEFjdGl2ZUltYWdlSW5kZXhdID0gdXNlU3RhdGU8bnVtYmVyPigwKVxyXG5cclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFvZmZlcklkKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGZldGNoT2ZmZXIgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXRPZmZlckJ5SWQob2ZmZXJJZClcclxuICAgICAgICAgICAgICAgIHNldE9mZmVyKGRhdGEpXHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5pbWFnZXMgJiYgZGF0YS5pbWFnZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldEFjdGl2ZUltYWdlSW5kZXgoMClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgdG9hc3QuZXJyb3IoXCLQndC1INGD0LTQsNC70L7RgdGMINC30LDQs9GA0YPQt9C40YLRjCDRg9GB0LvRg9Cz0YNcIilcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJGZXRjaCBvZmZlciBlcnJvcjpcIiwgZXJyb3IpXHJcbiAgICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZldGNoT2ZmZXIoKVxyXG4gICAgfSwgW29mZmVySWRdKVxyXG5cclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghb2ZmZXIgfHwgIW9mZmVyLmltYWdlcyB8fCBvZmZlci5pbWFnZXMubGVuZ3RoIDw9IDEpIHJldHVybjtcclxuICAgICAgICAgICAgaWYgKGUua2V5ID09PSBcIkFycm93TGVmdFwiKSB7XHJcbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVJbWFnZUluZGV4KChwcmV2KSA9PiAocHJldiA+IDAgPyBwcmV2IC0gMSA6IG9mZmVyLmltYWdlcyEubGVuZ3RoIC0gMSkpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSBcIkFycm93UmlnaHRcIikge1xyXG4gICAgICAgICAgICAgICAgc2V0QWN0aXZlSW1hZ2VJbmRleCgocHJldikgPT4gKHByZXYgPCBvZmZlci5pbWFnZXMhLmxlbmd0aCAtIDEgPyBwcmV2ICsgMSA6IDApKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZUtleURvd24pO1xyXG4gICAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlS2V5RG93bik7XHJcbiAgICB9LCBbb2ZmZXJdKTtcclxuXHJcbiAgICBjb25zdCBhY3RpdmVJbWFnZSA9IG9mZmVyPy5pbWFnZXM/LlthY3RpdmVJbWFnZUluZGV4XSA/PyBudWxsO1xyXG5cclxuICAgIGlmIChpc0xvYWRpbmcpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGgtW2NhbGMoMTAwdmgtNjRweCldIHctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaC0xMCB3LTEwIGJvcmRlci00IGJvcmRlci1wcmltYXJ5IGJvcmRlci10LXRyYW5zcGFyZW50IHJvdW5kZWQtZnVsbCBhbmltYXRlLXNwaW5cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPtCX0LDQs9GA0YPQt9C60LAg0YPRgdC70YPQs9C4Li4uPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIW9mZmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBoLVtjYWxjKDEwMHZoLTY0cHgpXSB3LWZ1bGwgbWF4LXctbGcgbXgtYXV0byB0ZXh0LWNlbnRlciBnYXAtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTE2IGgtMTYgYmctbXV0ZWQgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8QnJpZWZjYXNlIGNsYXNzTmFtZT1cInctOCBoLTggdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZFwiPtCj0YHQu9GD0LPQsCDQvdC1INC90LDQudC00LXQvdCwPC9oMT5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPtCS0L7Qt9C80L7QttC90L4sINGD0YHQu9GD0LPQsCDQsdGL0LvQsCDRg9C00LDQu9C10L3QsCwg0YHQutGA0YvRgtCwINC40LvQuCDQstGLINC/0LXRgNC10YjQu9C4INC/0L4g0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC5INGB0YHRi9C70LrQtS48L3A+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9eygpID0+IHJvdXRlci5wdXNoKFwiL3NlYXJjaFwiKX0gY2xhc3NOYW1lPVwibXQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgINCS0LXRgNC90YPRgtGM0YHRjyDQuiDQv9C+0LjRgdC60YNcclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJpY2VUeXBlU3RyID0gb2ZmZXIucHJpY2UudHlwZSA9PT0gMCA/IFwi0KTQuNC60YHQuNGA0L7QstCw0L3QvdCw0Y8g0YbQtdC90LBcIiA6IG9mZmVyLnByaWNlLnR5cGUgPT09IDEgPyBcItCm0LXQvdCwINC30LAg0YfQsNGBXCIgOiBcItCU0L7Qs9C+0LLQvtGA0L3QsNGPINGG0LXQvdCwXCJcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG1heC13LTV4bCBteC1hdXRvIHB4LTQgcHktOCBtYi0yMFwiPlxyXG4gICAgICAgICAgICB7LyogSGVhZGVyIC8gQmFjayBidXR0b24gKi99XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItOFwiPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwiZ2hvc3RcIiBjbGFzc05hbWU9XCJtYi00IHBsLTAgaG92ZXI6YmctdHJhbnNwYXJlbnQgaG92ZXI6dGV4dC1wcmltYXJ5IHRyYW5zaXRpb24tY29sb3JzIGdhcC0yXCIgb25DbGljaz17KCkgPT4gcm91dGVyLmJhY2soKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPEFycm93TGVmdCBjbGFzc05hbWU9XCJ3LTQgaC00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICDQndCw0LfQsNC0XHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0zeGwgbWQ6dGV4dC00eGwgZm9udC1ibGFjayB0ZXh0LWZvcmVncm91bmQgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHtvZmZlci50aXRsZX1cclxuICAgICAgICAgICAgICAgIDwvaDE+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLTQgdGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSB0ZXh0LXByaW1hcnkgYmctcHJpbWFyeS8xMCBweC0zIHB5LTEuNSByb3VuZGVkLW1kIGZvbnQtYm9sZCB0ZXh0LWxnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtvZmZlci5wcmljZS5hbW91bnQgPiAwID8gYCR7b2ZmZXIucHJpY2UuYW1vdW50fSDigr1gIDogXCLQptC10L3QsCDQtNC+0LPQvtCy0L7RgNC90LDRj1wifVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZCBmb250LW1lZGl1bSBiZy1tdXRlZCBweC0yIHB5LTEgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7cHJpY2VUeXBlU3RyfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICB7IW9mZmVyLmlzQWN0aXZlICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1yZWQtNTAwIGZvbnQtbWVkaXVtIGJnLXJlZC01MDAvMTAgcHgtMiBweS0xIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCj0YHQu9GD0LPQsCDQv9GA0LjQvtGB0YLQsNC90L7QstC70LXQvdCwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdyaWQtY29scy0xIGxnOmdyaWQtY29scy0zIGdhcC04XCI+XHJcbiAgICAgICAgICAgICAgICB7Lyog0JvQtdCy0LDRjyDQutC+0LvQvtC90LrQsCAtINCY0LfQvtCx0YDQsNC20LXQvdC40Y8gKi99XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxnOmNvbC1zcGFuLTIgc3BhY2UteS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCT0LvQsNCy0L3QvtC1INC40LfQvtCx0YDQsNC20LXQvdC40LUgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1tdXRlZCByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlbiByZWxhdGl2ZSBhc3BlY3QtWzQvM10gbWQ6YXNwZWN0LVsxNi8xMF0gc2hhZG93LW1kIGJvcmRlciBncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7YWN0aXZlSW1hZ2UgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXthY3RpdmVJbWFnZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXtvZmZlci50aXRsZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY29udGFpbiBiZy1ibGFjay81IHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTcwMCBob3ZlcjpzY2FsZS1bMS4wMl1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29mZmVyLmltYWdlcyAmJiBvZmZlci5pbWFnZXMubGVuZ3RoID4gMSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHsgZS5zdG9wUHJvcGFnYXRpb24oKTsgc2V0QWN0aXZlSW1hZ2VJbmRleCgocHJldikgPT4gKHByZXYgPiAwID8gcHJldiAtIDEgOiBvZmZlci5pbWFnZXMhLmxlbmd0aCAtIDEpKTsgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBsZWZ0LTIgbWQ6bGVmdC00IHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiBiZy1iYWNrZ3JvdW5kLzgwIGhvdmVyOmJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kIHAtMiBtZDpwLTMgcm91bmRlZC1mdWxsIHNoYWRvdy1tZCBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5IGZvY3VzOm9wYWNpdHktMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwi0J/RgNC10LTRi9C00YPRidC10LUg0YTQvtGC0L5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGV2cm9uTGVmdCBjbGFzc05hbWU9XCJ3LTYgaC02XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IHNldEFjdGl2ZUltYWdlSW5kZXgoKHByZXYpID0+IChwcmV2IDwgb2ZmZXIuaW1hZ2VzIS5sZW5ndGggLSAxID8gcHJldiArIDEgOiAwKSk7IH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgcmlnaHQtMiBtZDpyaWdodC00IHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiBiZy1iYWNrZ3JvdW5kLzgwIGhvdmVyOmJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kIHAtMiBtZDpwLTMgcm91bmRlZC1mdWxsIHNoYWRvdy1tZCBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5IGZvY3VzOm9wYWNpdHktMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwi0KHQu9C10LTRg9GO0YnQtdC1INGE0L7RgtC+XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hldnJvblJpZ2h0IGNsYXNzTmFtZT1cInctNiBoLTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGJvdHRvbS00IGxlZnQtMS8yIC10cmFuc2xhdGUteC0xLzIgYmctYmFja2dyb3VuZC84MCB0ZXh0LWZvcmVncm91bmQgdGV4dC14cyBmb250LXNlbWlib2xkIHB4LTMgcHktMS41IHJvdW5kZWQtZnVsbCBzaGFkb3ctc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YWN0aXZlSW1hZ2VJbmRleCArIDF9IC8ge29mZmVyLmltYWdlcy5sZW5ndGh9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LWZ1bGwgaC1mdWxsIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBvcGFjaXR5LTUwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlSWNvbiBjbGFzc05hbWU9XCJ3LTE2IGgtMTYgbWItMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0J3QtdGCINGE0L7RgtC+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiDQk9Cw0LvQtdGA0LXRjyAqL31cclxuICAgICAgICAgICAgICAgICAgICB7b2ZmZXIuaW1hZ2VzICYmIG9mZmVyLmltYWdlcy5sZW5ndGggPiAxICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IG92ZXJmbG93LXgtYXV0byBweS0yIHB4LTEgLW14LTMgc206LW14LTQgc206cHgtMiBzY3JvbGxiYXItdGhpbiBzY3JvbGxiYXItdGh1bWItbXV0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvZmZlci5pbWFnZXMubWFwKChpbWcsIGlkeCkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtpZHh9IGNsYXNzTmFtZT1cInNocmluay0wIHAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRBY3RpdmVJbWFnZUluZGV4KGlkeCl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2ByZWxhdGl2ZSB3LTIwIGgtMjAgc206dy0yNCBzbTpoLTI0IHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBvdXRsaW5lLW5vbmUgJHthY3RpdmVJbWFnZUluZGV4ID09PSBpZHggPyAncmluZy0yIHJpbmctcHJpbWFyeSByaW5nLW9mZnNldC0yIHJpbmctb2Zmc2V0LWJhY2tncm91bmQgc2NhbGUtWzEuMTJdIHNoYWRvdy1sZycgOiAnb3BhY2l0eS02MCBob3ZlcjpvcGFjaXR5LTEwMCBob3ZlcjpzY2FsZS1bMS4xMl0nfWB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtpbWd9IGFsdD17YFRodW1ibmFpbCAke2lkeH1gfSBjbGFzc05hbWU9XCJ3LWZ1bGwgaC1mdWxsIG9iamVjdC1jb3ZlclwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiDQntC/0LjRgdCw0L3QuNC1ICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctY2FyZCBib3JkZXIgcm91bmRlZC14bCBzaGFkb3ctc20gbXQtOCBvdmVyZmxvdy1oaWRkZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1tdXRlZC8zMCBweC02IHB5LTQgYm9yZGVyLWIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmlsZVRleHQgY2xhc3NOYW1lPVwidy01IGgtNSB0ZXh0LXByaW1hcnlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCe0L/QuNGB0LDQvdC40LVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge29mZmVyLmRlc2NyaXB0aW9uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHJvc2UgcHJvc2Utc20gbWQ6cHJvc2UtYmFzZSBkYXJrOnByb3NlLWludmVydCBtYXgtdy1ub25lIGJyZWFrLXdvcmRzIHdoaXRlc3BhY2UtcHJlLXdyYXAgbGVhZGluZy1yZWxheGVkIHRleHQtZm9yZWdyb3VuZC85MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b2ZmZXIuZGVzY3JpcHRpb259XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHktOCB0ZXh0LW11dGVkLWZvcmVncm91bmQgYmctbXV0ZWQvMjAgcm91bmRlZC1sZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmlsZVRleHQgY2xhc3NOYW1lPVwidy0xMiBoLTEyIG1iLTMgb3BhY2l0eS0yMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIml0YWxpY1wiPtCS0LvQsNC00LXQu9C10YYg0YPRgdC70YPQs9C4INC90LUg0LTQvtCx0LDQstC40Lsg0L7Qv9C40YHQsNC90LjQtS48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0YXQsNGA0LDQutGC0LXRgNC40YHRgtC40LrQuCAo0LXRgdC70Lgg0LXRgdGC0YwpICovfVxyXG4gICAgICAgICAgICAgICAgICAgIHtPYmplY3Qua2V5cyhvZmZlci5hdHRyaWJ1dGVzIHx8IHt9KS5sZW5ndGggPiAwICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1jYXJkIGJvcmRlciByb3VuZGVkLXhsIHNoYWRvdy1zbSBtdC04IG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1tdXRlZC8zMCBweC02IHB5LTQgYm9yZGVyLWIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0T3JkZXJlZCBjbGFzc05hbWU9XCJ3LTUgaC01IHRleHQtcHJpbWFyeVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCl0LDRgNCw0LrRgtC10YDQuNGB0YLQuNC60LhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtPYmplY3QuZW50cmllcyhvZmZlci5hdHRyaWJ1dGVzIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2tleX0gY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHRleHQtc20gbWQ6dGV4dC1iYXNlIGJvcmRlci1iIGJvcmRlci1tdXRlZC82MCBwYi0zIGxhc3Q6Ym9yZGVyLTAgbGFzdDpwYi0wIHB0LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIj57a2V5fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LXNlbWlib2xkIHRleHQtcmlnaHQgbWF4LXcteHMgYnJlYWstd29yZHNcIj57dmFsdWV9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB7Lyog0J/RgNCw0LLQsNGPINC60L7Qu9C+0L3QutCwIC0g0JrQsNGA0YLQvtGH0LrQsCDQt9Cw0LrQsNC30LAgLyDQmNC90YTQvtGA0LzQsNGG0LjRjyAqL31cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCa0LDRgNGC0L7Rh9C60LAg0LjRgdC/0L7Qu9C90LjRgtC10LvRjyAo0JfQsNCz0LvRg9GI0LrQsCkgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1jYXJkIGJvcmRlciByb3VuZGVkLXhsIHAtNiBzaGFkb3ctc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1ib2xkIG1iLTRcIj7QntCxINC40YHQv9C+0LvQvdC40YLQtdC70LU8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00IG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0xNCBoLTE0IGJnLWdyYWRpZW50LXRvLWJyIGZyb20taW5kaWdvLTUwMCB0by1wdXJwbGUtNjAwIHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LXdoaXRlIHNocmluay0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwidy02IGgtNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cImZvbnQtYm9sZCB0ZXh0LWxnXCI+0JjQvNGPINCk0LDQvNC40LvQuNGPPC9oND5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBiZy1tdXRlZCBpbmxpbmUtYmxvY2sgcHgtMiBweS0wLjUgcm91bmRlZCBtdC0xXCI+0JzQsNGB0YLQtdGAPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC00IGJvcmRlci1iIHBiLTQgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ibGFjayBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1LjAgPFN0YXIgY2xhc3NOYW1lPVwidy01IGgtNSBmaWxsLXllbGxvdy00MDAgdGV4dC15ZWxsb3ctNDAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQgdW5kZXJsaW5lIHVuZGVybGluZS1vZmZzZXQtMiBjdXJzb3ItcG9pbnRlciBob3Zlcjp0ZXh0LWZvcmVncm91bmQgdHJhbnNpdGlvbi1jb2xvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDIg0L7RgtC30YvQstCwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctcHggYmctYm9yZGVyIG15LTFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTaGllbGRDaGVjayBjbGFzc05hbWU9XCJ3LTQgaC00IHRleHQtZ3JlZW4tNTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0JTQvtC60YPQvNC10L3RgtGLINC/0YDQvtCy0LXRgNC10L3Ri1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIGZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgbXQtMSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENsb2NrIGNsYXNzTmFtZT1cInctNCBoLTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQndCwINGB0LDQudGC0LUgMiDQs9C+0LTQsFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwidy1mdWxsXCIgdmFyaWFudD1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0LXRgNC10LnRgtC4INCyINC/0YDQvtGE0LjQu9GMXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJnLWNhcmQgYm9yZGVyIHJvdW5kZWQteGwgcC02IHNoYWRvdy1zbSBzdGlja3kgdG9wLTI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtYm9sZCBtYi02XCI+0JPQvtGC0L7QstGLINC30LDQutCw0LfQsNGC0Yw/PC9oMz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS01IG1iLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1zdGFydCBnYXAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctZ3JlZW4tNTAwLzEwIHAtMiByb3VuZGVkLWZ1bGwgc2hyaW5rLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlMiBjbGFzc05hbWU9XCJ3LTUgaC01IHRleHQtZ3JlZW4tNTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LW1lZGl1bVwiPtCR0LXQt9C+0L/QsNGB0L3QsNGPINGB0LTQtdC70LrQsDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmQgbXQtMC41IGxlYWRpbmctcmVsYXhlZFwiPtCh0LjRgdGC0LXQvNCwINCz0LDRgNCw0L3RgtC40YDRg9C10YIg0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtGMINCy0LDRiNC10LPQviDQvtCx0YnQtdC90LjRjy48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1zdGFydCBnYXAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctYmx1ZS01MDAvMTAgcC0yIHJvdW5kZWQtZnVsbCBzaHJpbmstMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFwUGluIGNsYXNzTmFtZT1cInctNSBoLTUgdGV4dC1ibHVlLTUwMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9udC1tZWRpdW1cIj7QktGL0LXQt9C0INC6INC60LvQuNC10L3RgtGDPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBtdC0wLjUgbGVhZGluZy1yZWxheGVkXCI+0JjRgdC/0L7Qu9C90LjRgtC10LvRjCDRgNCw0LHQvtGC0LDQtdGCINCyINCy0LDRiNC10Lwg0LPQvtGA0L7QtNC1INC4INC80L7QttC10YIg0L/RgNC40LXRhdCw0YLRjC48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cInctZnVsbCBoLTEyIHRleHQtYmFzZSBmb250LXNlbWlib2xkIHNoYWRvdy1tZCBob3ZlcjpzaGFkb3ctbGcgdHJhbnNpdGlvbi1hbGwgYmctcHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0KHQstGP0LfQsNGC0YzRgdGPINGBINC40YHQv9C+0LvQvdC40YLQtdC70LXQvFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWNlbnRlciB0ZXh0LW11dGVkLWZvcmVncm91bmQgbXQtNCBweC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDQndCw0LbQuNC80LDRjyDQutC90L7Qv9C60YMsINCy0Ysg0L/RgNC40L3QuNC80LDQtdGC0LUgPGEgaHJlZj1cIiNcIiBjbGFzc05hbWU9XCJ1bmRlcmxpbmVcIj7Qv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60L7QtSDRgdC+0LPQu9Cw0YjQtdC90LjQtTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgey8qINCR0LvQvtC6INC/0L7RhdC+0LbQuNGFINGD0YHQu9GD0LMgKNC30LDQs9C70YPRiNC60LApICovfVxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTE2XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBtYi02IGJvcmRlci1iIHBiLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkXCI+0J/QvtGF0L7QttC40LUg0YPRgdC70YPQs9C4INCyINGN0YLQvtC5INC60LDRgtC10LPQvtGA0LjQuDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwiZ2hvc3RcIiBjbGFzc05hbWU9XCJ0ZXh0LXByaW1hcnlcIiBvbkNsaWNrPXsoKSA9PiByb3V0ZXIucHVzaChgL3NlYXJjaD9xPSR7b2ZmZXIuY2F0ZWdvcnlJZH1gKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgINCh0LzQvtGC0YDQtdGC0Ywg0LLRgdC1XHJcbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgc206Z3JpZC1jb2xzLTIgbWQ6Z3JpZC1jb2xzLTMgbGc6Z3JpZC1jb2xzLTQgZ2FwLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICB7WzEsIDIsIDMsIDRdLm1hcCgoaSkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGtleT17aX0gY2xhc3NOYW1lPVwiYmctY2FyZCBib3JkZXIgcm91bmRlZC14bCBvdmVyZmxvdy1oaWRkZW4gc2hhZG93LXNtIGhvdmVyOnNoYWRvdy1tZCB0cmFuc2l0aW9uLXNoYWRvdyBncm91cCBjdXJzb3ItcG9pbnRlclwiIG9uQ2xpY2s9eygpID0+IHJvdXRlci5wdXNoKFwiL3NlYXJjaFwiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFzcGVjdC1bNC8zXSBiZy1tdXRlZCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b2ZmZXIuaW1hZ2VzICYmIG9mZmVyLmltYWdlcy5sZW5ndGggPiAwID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17b2ZmZXIuaW1hZ2VzWzBdfSBhbHQ9XCJTaW1pbGFyXCIgY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXIgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTUwMCBvcGFjaXR5LTgwIG1peC1ibGVuZC1tdWx0aXBseVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtbXV0ZWQtZm9yZWdyb3VuZC8zMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEltYWdlSWNvbiBjbGFzc05hbWU9XCJ3LTEwIGgtMTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1wcmltYXJ5LzEwIGdyb3VwLWhvdmVyOmJnLXRyYW5zcGFyZW50IHRyYW5zaXRpb24tY29sb3JzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCBsaW5lLWNsYW1wLTIgbWItMiBncm91cC1ob3Zlcjp0ZXh0LXByaW1hcnkgdHJhbnNpdGlvbi1jb2xvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29mZmVyLnRpdGxlfSAtINCf0L7RhdC+0LbQtdC1INC/0YDQtdC00LvQvtC20LXQvdC40LUgI3tpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWVuZCBqdXN0aWZ5LWJldHdlZW4gbXQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LWJvbGQgdGV4dC1wcmltYXJ5IHB4LTIgcHktMC41IGJnLXByaW1hcnkvMTAgcm91bmRlZFwiPtC+0YIge29mZmVyLnByaWNlLmFtb3VudH0g4oK9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0YXIgY2xhc3NOYW1lPVwidy0zIGgtMyBmaWxsLXllbGxvdy00MDAgdGV4dC15ZWxsb3ctNDAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuOFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVN0YXRlIiwidXNlUGFyYW1zIiwidXNlUm91dGVyIiwiZ2V0T2ZmZXJCeUlkIiwiQnV0dG9uIiwiQXJyb3dMZWZ0IiwiTWFwUGluIiwiSW1hZ2UiLCJJbWFnZUljb24iLCJCcmllZmNhc2UiLCJGaWxlVGV4dCIsIkNoZWNrQ2lyY2xlMiIsIlN0YXIiLCJVc2VyIiwiU2hpZWxkQ2hlY2siLCJDbG9jayIsIkNoZXZyb25MZWZ0IiwiQ2hldnJvblJpZ2h0IiwiTGlzdE9yZGVyZWQiLCJ0b2FzdCIsIlB1YmxpY09mZmVyUGFnZSIsInBhcmFtcyIsInJvdXRlciIsIm9mZmVySWQiLCJpZCIsIm9mZmVyIiwic2V0T2ZmZXIiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJhY3RpdmVJbWFnZUluZGV4Iiwic2V0QWN0aXZlSW1hZ2VJbmRleCIsImZldGNoT2ZmZXIiLCJkYXRhIiwiaW1hZ2VzIiwibGVuZ3RoIiwiZXJyb3IiLCJjb25zb2xlIiwiaGFuZGxlS2V5RG93biIsImUiLCJrZXkiLCJwcmV2Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJhY3RpdmVJbWFnZSIsImRpdiIsImNsYXNzTmFtZSIsInAiLCJoMSIsIm9uQ2xpY2siLCJwdXNoIiwicHJpY2VUeXBlU3RyIiwicHJpY2UiLCJ0eXBlIiwidmFyaWFudCIsImJhY2siLCJ0aXRsZSIsImFtb3VudCIsInNwYW4iLCJpc0FjdGl2ZSIsImltZyIsInNyYyIsImFsdCIsImJ1dHRvbiIsInN0b3BQcm9wYWdhdGlvbiIsImFyaWEtbGFiZWwiLCJtYXAiLCJpZHgiLCJoMyIsImRlc2NyaXB0aW9uIiwiT2JqZWN0Iiwia2V5cyIsImF0dHJpYnV0ZXMiLCJlbnRyaWVzIiwidmFsdWUiLCJoNCIsImEiLCJocmVmIiwiY2F0ZWdvcnlJZCIsImkiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/app/offers/[id]/page.tsx\n"); /***/ }), @@ -597,7 +597,7 @@ function() { throw new Error("Attempted to call Header() from the server but Hea var __webpack_require__ = require("../../../webpack-runtime.js"); __webpack_require__.C(exports); var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@radix-ui","vendor-chunks/axios","vendor-chunks/mime-db","vendor-chunks/@floating-ui","vendor-chunks/tailwind-merge","vendor-chunks/sonner","vendor-chunks/lucide-react","vendor-chunks/cookies-next","vendor-chunks/follow-redirects","vendor-chunks/debug","vendor-chunks/tslib","vendor-chunks/react-remove-scroll","vendor-chunks/form-data","vendor-chunks/get-intrinsic","vendor-chunks/cookie","vendor-chunks/asynckit","vendor-chunks/aria-hidden","vendor-chunks/next-themes","vendor-chunks/react-remove-scroll-bar","vendor-chunks/combined-stream","vendor-chunks/mime-types","vendor-chunks/use-callback-ref","vendor-chunks/proxy-from-env","vendor-chunks/use-sidecar","vendor-chunks/class-variance-authority","vendor-chunks/ms","vendor-chunks/supports-color","vendor-chunks/react-style-singleton","vendor-chunks/has-symbols","vendor-chunks/delayed-stream","vendor-chunks/function-bind","vendor-chunks/@swc","vendor-chunks/zustand","vendor-chunks/es-set-tostringtag","vendor-chunks/get-proto","vendor-chunks/call-bind-apply-helpers","vendor-chunks/dunder-proto","vendor-chunks/math-intrinsics","vendor-chunks/es-errors","vendor-chunks/clsx","vendor-chunks/has-flag","vendor-chunks/gopd","vendor-chunks/get-nonce","vendor-chunks/es-define-property","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/leaflet","vendor-chunks/es-object-atoms"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Foffers%2F%5Bid%5D%2Fpage&page=%2Foffers%2F%5Bid%5D%2Fpage&appPaths=%2Foffers%2F%5Bid%5D%2Fpage&pagePath=private-next-app-dir%2Foffers%2F%5Bid%5D%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); +var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/axios","vendor-chunks/@radix-ui","vendor-chunks/lucide-react","vendor-chunks/asynckit","vendor-chunks/math-intrinsics","vendor-chunks/cookies-next","vendor-chunks/react-remove-scroll","vendor-chunks/es-errors","vendor-chunks/@floating-ui","vendor-chunks/call-bind-apply-helpers","vendor-chunks/@swc","vendor-chunks/react-style-singleton","vendor-chunks/react-remove-scroll-bar","vendor-chunks/debug","vendor-chunks/use-callback-ref","vendor-chunks/get-proto","vendor-chunks/zustand","vendor-chunks/use-sidecar","vendor-chunks/mime-db","vendor-chunks/has-symbols","vendor-chunks/gopd","vendor-chunks/function-bind","vendor-chunks/form-data","vendor-chunks/follow-redirects","vendor-chunks/tslib","vendor-chunks/tailwind-merge","vendor-chunks/sonner","vendor-chunks/next-themes","vendor-chunks/clsx","vendor-chunks/class-variance-authority","vendor-chunks/leaflet","vendor-chunks/supports-color","vendor-chunks/proxy-from-env","vendor-chunks/ms","vendor-chunks/mime-types","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/has-flag","vendor-chunks/get-nonce","vendor-chunks/get-intrinsic","vendor-chunks/es-set-tostringtag","vendor-chunks/es-object-atoms","vendor-chunks/es-define-property","vendor-chunks/dunder-proto","vendor-chunks/delayed-stream","vendor-chunks/cookie","vendor-chunks/combined-stream","vendor-chunks/aria-hidden"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Foffers%2F%5Bid%5D%2Fpage&page=%2Foffers%2F%5Bid%5D%2Fpage&appPaths=%2Foffers%2F%5Bid%5D%2Fpage&pagePath=private-next-app-dir%2Foffers%2F%5Bid%5D%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); module.exports = __webpack_exports__; })(); \ No newline at end of file diff --git a/.next/server/app/offers/[id]/page_client-reference-manifest.js b/.next/server/app/offers/[id]/page_client-reference-manifest.js index 3c65245..c4b4962 100644 --- a/.next/server/app/offers/[id]/page_client-reference-manifest.js +++ b/.next/server/app/offers/[id]/page_client-reference-manifest.js @@ -1 +1 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/offers/[id]/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(ssr)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(ssr)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(ssr)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(ssr)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx":{"id":"(app-pages-browser)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx":{"id":"(app-pages-browser)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx":{"id":"(app-pages-browser)/./src/components/home/PerformerButton.tsx","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":{"id":"(app-pages-browser)/./src/app/offers/[id]/page.tsx","name":"*","chunks":["app/offers/[id]/page","static/chunks/app/offers/%5Bid%5D/page.js"],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\page":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(rsc)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(rsc)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(rsc)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(rsc)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/offers/[id]/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(ssr)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":{"id":"(app-pages-browser)/./src/app/offers/[id]/page.tsx","name":"*","chunks":["app/offers/[id]/page","static/chunks/app/offers/%5Bid%5D/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(rsc)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/page.js b/.next/server/app/page.js deleted file mode 100644 index 7653b18..0000000 --- a/.next/server/app/page.js +++ /dev/null @@ -1,624 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "app/page"; -exports.ids = ["app/page"]; -exports.modules = { - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "../app-render/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/server/app-render/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/action-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/after-task-async-storage.external": -/*!***********************************************************************************!*\ - !*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***! - \***********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/work-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/server/app-render/work-async-storage.external.js" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-async-storage.external.js"); - -/***/ }), - -/***/ "./work-unit-async-storage.external": -/*!**********************************************************************************!*\ - !*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***! - \**********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js"); - -/***/ }), - -/***/ "assert": -/*!*************************!*\ - !*** external "assert" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("assert"); - -/***/ }), - -/***/ "crypto": -/*!*************************!*\ - !*** external "crypto" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("crypto"); - -/***/ }), - -/***/ "events": -/*!*************************!*\ - !*** external "events" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("events"); - -/***/ }), - -/***/ "fs": -/*!*********************!*\ - !*** external "fs" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("fs"); - -/***/ }), - -/***/ "http": -/*!***********************!*\ - !*** external "http" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http"); - -/***/ }), - -/***/ "http2": -/*!************************!*\ - !*** external "http2" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http2"); - -/***/ }), - -/***/ "https": -/*!************************!*\ - !*** external "https" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("https"); - -/***/ }), - -/***/ "os": -/*!*********************!*\ - !*** external "os" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("os"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ "stream": -/*!*************************!*\ - !*** external "stream" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("stream"); - -/***/ }), - -/***/ "tty": -/*!**********************!*\ - !*** external "tty" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("tty"); - -/***/ }), - -/***/ "url": -/*!**********************!*\ - !*** external "url" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("url"); - -/***/ }), - -/***/ "util": -/*!***********************!*\ - !*** external "util" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), - -/***/ "zlib": -/*!***********************!*\ - !*** external "zlib" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("zlib"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": -/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! - \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/module.compiled.js?91d2\");\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nconst module0 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\"));\nconst module1 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23));\nconst module2 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/forbidden-error */ \"(rsc)/./node_modules/next/dist/client/components/forbidden-error.js\", 23));\nconst module3 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/unauthorized-error */ \"(rsc)/./node_modules/next/dist/client/components/unauthorized-error.js\", 23));\nconst page4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/page.tsx */ \"(rsc)/./src/app/page.tsx\"));\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: ['__PAGE__', {}, {\n page: [page4, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\"],\n \n }]\n },\n {\n 'layout': [module0, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\"],\n'not-found': [module1, \"next/dist/client/components/not-found-error\"],\n'forbidden': [module2, \"next/dist/client/components/forbidden-error\"],\n'unauthorized': [module3, \"next/dist/client/components/unauthorized-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/page\",\n pathname: \"/\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkZwYWdlJnBhZ2U9JTJGcGFnZSZhcHBQYXRocz0lMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGcGFnZS50c3gmYXBwRGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQlNUNzcmMlNUNhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9c3RhbmRhbG9uZSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQkFBc0Isb0pBQXdGO0FBQzlHLHNCQUFzQiwwTkFBZ0Y7QUFDdEcsc0JBQXNCLDBOQUFnRjtBQUN0RyxzQkFBc0IsZ09BQW1GO0FBQ3pHLG9CQUFvQixnSkFBc0Y7QUFHeEc7QUFDc0Q7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ3VEO0FBQ3ZEO0FBQ08sd0JBQXdCLHVHQUFrQjtBQUNqRDtBQUNBLGNBQWMsa0VBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQiLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBtb2R1bGUwID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIik7XG5jb25zdCBtb2R1bGUxID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpO1xuY29uc3QgbW9kdWxlMiA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2ZvcmJpZGRlbi1lcnJvclwiKTtcbmNvbnN0IG1vZHVsZTMgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy91bmF1dGhvcml6ZWQtZXJyb3JcIik7XG5jb25zdCBwYWdlNCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxwYWdlLnRzeFwiKTtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc3NyJ1xufTtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbcGFnZTQsIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxwYWdlLnRzeFwiXSxcbiAgICAgICAgICBcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFttb2R1bGUwLCBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbbW9kdWxlMSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuJ2ZvcmJpZGRlbic6IFttb2R1bGUyLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9mb3JiaWRkZW4tZXJyb3JcIl0sXG4ndW5hdXRob3JpemVkJzogW21vZHVsZTMsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC1lcnJvclwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXHBhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogJycsXG4gICAgICAgIGZpbGVuYW1lOiAnJyxcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfVxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Chome%5C%5CPerformerButton.tsx%22%2C%22ids%22%3A%5B%22PerformerButton%22%5D%7D&server=true!": -/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Chome%5C%5CPerformerButton.tsx%22%2C%22ids%22%3A%5B%22PerformerButton%22%5D%7D&server=true! ***! - \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/app-dir/link.js */ \"(rsc)/./node_modules/next/dist/client/app-dir/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/home/PerformerButton.tsx */ \"(rsc)/./src/components/home/PerformerButton.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2FwcC1kaXIlNUMlNUNsaW5rLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyX19lc01vZHVsZSUyMiUyQyUyMmRlZmF1bHQlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNob21lJTVDJTVDUGVyZm9ybWVyQnV0dG9uLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlBlcmZvcm1lckJ1dHRvbiUyMiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsZ05BQWdLO0FBQ2hLO0FBQ0EsOExBQW1KIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJfX2VzTW9kdWxlXCIsXCJkZWZhdWx0XCJdICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcYXBwLWRpclxcXFxsaW5rLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJQZXJmb3JtZXJCdXR0b25cIl0gKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcY29tcG9uZW50c1xcXFxob21lXFxcXFBlcmZvcm1lckJ1dHRvbi50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Chome%5C%5CPerformerButton.tsx%22%2C%22ids%22%3A%5B%22PerformerButton%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Chome%5C%5CPerformerButton.tsx%22%2C%22ids%22%3A%5B%22PerformerButton%22%5D%7D&server=true!": -/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Chome%5C%5CPerformerButton.tsx%22%2C%22ids%22%3A%5B%22PerformerButton%22%5D%7D&server=true! ***! - \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/app-dir/link.js */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/home/PerformerButton.tsx */ \"(ssr)/./src/components/home/PerformerButton.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2FwcC1kaXIlNUMlNUNsaW5rLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyX19lc01vZHVsZSUyMiUyQyUyMmRlZmF1bHQlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNob21lJTVDJTVDUGVyZm9ybWVyQnV0dG9uLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlBlcmZvcm1lckJ1dHRvbiUyMiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsZ05BQWdLO0FBQ2hLO0FBQ0EsOExBQW1KIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJfX2VzTW9kdWxlXCIsXCJkZWZhdWx0XCJdICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcYXBwLWRpclxcXFxsaW5rLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJQZXJmb3JtZXJCdXR0b25cIl0gKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcY29tcG9uZW50c1xcXFxob21lXFxcXFBlcmZvcm1lckJ1dHRvbi50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Capp-dir%5C%5Clink.js%22%2C%22ids%22%3A%5B%22__esModule%22%2C%22default%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Chome%5C%5CPerformerButton.tsx%22%2C%22ids%22%3A%5B%22PerformerButton%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(rsc)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(ssr)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(rsc)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(rsc)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(rsc)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(rsc)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(ssr)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(ssr)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(ssr)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(ssr)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* __next_internal_client_entry_do_not_use__ AuthProvider auto */ \n\n\n\nfunction AuthProvider({ children }) {\n const { checkAuth, isInitialized } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_2__.useSessionStore)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AuthProvider.useEffect\": ()=>{\n // Проверяем авторизацию при загрузке приложения\n checkAuth();\n }\n }[\"AuthProvider.useEffect\"], [\n checkAuth\n ]);\n // Показываем загрузку только на первой проверке\n if (!isInitialized) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-blue-600\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 19,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: children\n }, void 0, false);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hdXRoL0F1dGhQcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFaUM7QUFDeUI7QUFDcEI7QUFFL0IsU0FBU0csYUFBYSxFQUFFQyxRQUFRLEVBQWlDO0lBQ3BFLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUUsR0FBR0wsd0VBQWVBO0lBRXBERCxnREFBU0E7a0NBQUM7WUFDTixnREFBZ0Q7WUFDaERLO1FBQ0o7aUNBQUc7UUFBQ0E7S0FBVTtJQUVkLGdEQUFnRDtJQUNoRCxJQUFJLENBQUNDLGVBQWU7UUFDaEIscUJBQ0ksOERBQUNDO1lBQUlDLFdBQVU7c0JBQ1gsNEVBQUNOLG1GQUFPQTtnQkFBQ00sV0FBVTs7Ozs7Ozs7Ozs7SUFHL0I7SUFFQSxxQkFBTztrQkFBR0o7O0FBQ2QiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXGF1dGhcXEF1dGhQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxuaW1wb3J0IHsgTG9hZGVyMiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuXG5leHBvcnQgZnVuY3Rpb24gQXV0aFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICBjb25zdCB7IGNoZWNrQXV0aCwgaXNJbml0aWFsaXplZCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNGOINC/0YDQuCDQt9Cw0LPRgNGD0LfQutC1INC/0YDQuNC70L7QttC10L3QuNGPXG4gICAgICAgIGNoZWNrQXV0aCgpXG4gICAgfSwgW2NoZWNrQXV0aF0pXG5cbiAgICAvLyDQn9C+0LrQsNC30YvQstCw0LXQvCDQt9Cw0LPRgNGD0LfQutGDINGC0L7Qu9GM0LrQviDQvdCwINC/0LXRgNCy0L7QuSDQv9GA0L7QstC10YDQutC1XG4gICAgaWYgKCFpc0luaXRpYWxpemVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggbWluLWgtc2NyZWVuIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cImgtOCB3LTggYW5pbWF0ZS1zcGluIHRleHQtYmx1ZS02MDBcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU2Vzc2lvblN0b3JlIiwiTG9hZGVyMiIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwiY2hlY2tBdXRoIiwiaXNJbml0aWFsaXplZCIsImRpdiIsImNsYXNzTmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/auth/AuthProvider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/home/PerformerButton.tsx": -/*!*************************************************!*\ - !*** ./src/components/home/PerformerButton.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PerformerButton: () => (/* binding */ PerformerButton)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* __next_internal_client_entry_do_not_use__ PerformerButton auto */ \n\n\n\nfunction PerformerButton() {\n const { isAuth, user } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_3__.useSessionStore)();\n // Проверяем, является ли пользователь исполнителем или компанией\n const isMasterOrCompany = user?.roles?.includes(\"Master\") || user?.roles?.includes(\"Company\");\n if (isMasterOrCompany) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_1__.Button, {\n variant: \"outline\",\n size: \"lg\",\n className: \"h-14 px-8 text-lg\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/orders\",\n children: \"Подобрать заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\home\\\\PerformerButton.tsx\",\n lineNumber: 16,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\home\\\\PerformerButton.tsx\",\n lineNumber: 15,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_1__.Button, {\n variant: \"outline\",\n size: \"lg\",\n className: \"h-14 px-8 text-lg\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/dashboard/profile\",\n children: \"Стать исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\home\\\\PerformerButton.tsx\",\n lineNumber: 25,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\home\\\\PerformerButton.tsx\",\n lineNumber: 24,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9ob21lL1BlcmZvcm1lckJ1dHRvbi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFK0M7QUFDbkI7QUFDOEI7QUFFbkQsU0FBU0c7SUFDWixNQUFNLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdILHdFQUFlQTtJQUV4QyxpRUFBaUU7SUFDakUsTUFBTUksb0JBQW9CRCxNQUFNRSxPQUFPQyxTQUFTLGFBQWFILE1BQU1FLE9BQU9DLFNBQVM7SUFFbkYsSUFBSUYsbUJBQW1CO1FBQ25CLHFCQUNJLDhEQUFDTix5REFBTUE7WUFBQ1MsU0FBUTtZQUFVQyxNQUFLO1lBQUtDLFdBQVU7WUFBb0JDLE9BQU87c0JBQ3JFLDRFQUFDWCxrREFBSUE7Z0JBQUNZLE1BQUs7MEJBQVU7Ozs7Ozs7Ozs7O0lBS2pDO0lBRUEscUJBQ0ksOERBQUNiLHlEQUFNQTtRQUFDUyxTQUFRO1FBQVVDLE1BQUs7UUFBS0MsV0FBVTtRQUFvQkMsT0FBTztrQkFDckUsNEVBQUNYLGtEQUFJQTtZQUFDWSxNQUFLO3NCQUFxQjs7Ozs7Ozs7Ozs7QUFLNUMiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXGhvbWVcXFBlcmZvcm1lckJ1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiXG5pbXBvcnQgeyB1c2VTZXNzaW9uU3RvcmUgfSBmcm9tIFwiQC9lbnRpdGllcy9zZXNzaW9uL3N0b3JlXCJcblxuZXhwb3J0IGZ1bmN0aW9uIFBlcmZvcm1lckJ1dHRvbigpIHtcbiAgICBjb25zdCB7IGlzQXV0aCwgdXNlciB9ID0gdXNlU2Vzc2lvblN0b3JlKClcblxuICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQuNGB0L/QvtC70L3QuNGC0LXQu9C10Lwg0LjQu9C4INC60L7QvNC/0LDQvdC40LXQuVxuICAgIGNvbnN0IGlzTWFzdGVyT3JDb21wYW55ID0gdXNlcj8ucm9sZXM/LmluY2x1ZGVzKFwiTWFzdGVyXCIpIHx8IHVzZXI/LnJvbGVzPy5pbmNsdWRlcyhcIkNvbXBhbnlcIilcblxuICAgIGlmIChpc01hc3Rlck9yQ29tcGFueSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiIHNpemU9XCJsZ1wiIGNsYXNzTmFtZT1cImgtMTQgcHgtOCB0ZXh0LWxnXCIgYXNDaGlsZD5cbiAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL29yZGVyc1wiPlxuICAgICAgICAgICAgICAgICAgICDQn9C+0LTQvtCx0YDQsNGC0Ywg0LfQsNC60LDQt9GLXG4gICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJvdXRsaW5lXCIgc2l6ZT1cImxnXCIgY2xhc3NOYW1lPVwiaC0xNCBweC04IHRleHQtbGdcIiBhc0NoaWxkPlxuICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9kYXNoYm9hcmQvcHJvZmlsZVwiPlxuICAgICAgICAgICAgICAgINCh0YLQsNGC0Ywg0LjRgdC/0L7Qu9C90LjRgtC10LvQtdC8XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgIDwvQnV0dG9uPlxuICAgIClcbn1cbiJdLCJuYW1lcyI6WyJCdXR0b24iLCJMaW5rIiwidXNlU2Vzc2lvblN0b3JlIiwiUGVyZm9ybWVyQnV0dG9uIiwiaXNBdXRoIiwidXNlciIsImlzTWFzdGVyT3JDb21wYW55Iiwicm9sZXMiLCJpbmNsdWRlcyIsInZhcmlhbnQiLCJzaXplIiwiY2xhc3NOYW1lIiwiYXNDaGlsZCIsImhyZWYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/home/PerformerButton.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/mode-toggle.tsx": -/*!**********************************************!*\ - !*** ./src/components/theme/mode-toggle.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModeToggle: () => (/* binding */ ModeToggle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/sun.js\");\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/moon.js\");\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* __next_internal_client_entry_do_not_use__ ModeToggle auto */ \n\n\n\n\n\nfunction ModeToggle() {\n const { setTheme } = (0,next_themes__WEBPACK_IMPORTED_MODULE_2__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"outline\",\n size: \"icon\",\n className: \"rounded-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 22,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 23,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Toggle theme\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 24,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 21,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuContent, {\n align: \"end\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"light\"),\n children: \"Светлая\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 28,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"dark\"),\n children: \"Темная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 31,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"system\"),\n children: \"Системная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 27,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS9tb2RlLXRvZ2dsZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFOEI7QUFDVTtBQUNGO0FBRVM7QUFNVDtBQUUvQixTQUFTUztJQUNaLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdQLHFEQUFRQTtJQUU3QixxQkFDSSw4REFBQ0Usc0VBQVlBOzswQkFDVCw4REFBQ0csNkVBQW1CQTtnQkFBQ0csT0FBTzswQkFDeEIsNEVBQUNQLHlEQUFNQTtvQkFBQ1EsU0FBUTtvQkFBVUMsTUFBSztvQkFBT0MsV0FBVTs7c0NBQzVDLDhEQUFDWixvRkFBR0E7NEJBQUNZLFdBQVU7Ozs7OztzQ0FDZiw4REFBQ2Isb0ZBQUlBOzRCQUFDYSxXQUFVOzs7Ozs7c0NBQ2hCLDhEQUFDQzs0QkFBS0QsV0FBVTtzQ0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBR2xDLDhEQUFDUiw2RUFBbUJBO2dCQUFDVSxPQUFNOztrQ0FDdkIsOERBQUNULDBFQUFnQkE7d0JBQUNVLFNBQVMsSUFBTVAsU0FBUztrQ0FBVTs7Ozs7O2tDQUdwRCw4REFBQ0gsMEVBQWdCQTt3QkFBQ1UsU0FBUyxJQUFNUCxTQUFTO2tDQUFTOzs7Ozs7a0NBR25ELDhEQUFDSCwwRUFBZ0JBO3dCQUFDVSxTQUFTLElBQU1QLFNBQVM7a0NBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1yRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdGhlbWVcXG1vZGUtdG9nZ2xlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgTW9vbiwgU3VuIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuXHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCJcclxuaW1wb3J0IHtcclxuICAgIERyb3Bkb3duTWVudSxcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2Ryb3Bkb3duLW1lbnVcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVUb2dnbGUoKSB7XHJcbiAgICBjb25zdCB7IHNldFRoZW1lIH0gPSB1c2VUaGVtZSgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51VHJpZ2dlciBhc0NoaWxkPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiIHNpemU9XCJpY29uXCIgY2xhc3NOYW1lPVwicm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFN1biBjbGFzc05hbWU9XCJoLVsxLjJyZW1dIHctWzEuMnJlbV0gcm90YXRlLTAgc2NhbGUtMTAwIHRyYW5zaXRpb24tYWxsIGRhcms6LXJvdGF0ZS05MCBkYXJrOnNjYWxlLTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxNb29uIGNsYXNzTmFtZT1cImFic29sdXRlIGgtWzEuMnJlbV0gdy1bMS4ycmVtXSByb3RhdGUtOTAgc2NhbGUtMCB0cmFuc2l0aW9uLWFsbCBkYXJrOnJvdGF0ZS0wIGRhcms6c2NhbGUtMTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+VG9nZ2xlIHRoZW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51VHJpZ2dlcj5cclxuICAgICAgICAgICAgPERyb3Bkb3duTWVudUNvbnRlbnQgYWxpZ249XCJlbmRcIj5cclxuICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIG9uQ2xpY2s9eygpID0+IHNldFRoZW1lKFwibGlnaHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LLQtdGC0LvQsNGPXHJcbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51SXRlbSBvbkNsaWNrPXsoKSA9PiBzZXRUaGVtZShcImRhcmtcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCi0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gb25DbGljaz17KCkgPT4gc2V0VGhlbWUoXCJzeXN0ZW1cIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LjRgdGC0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgPC9Ecm9wZG93bk1lbnU+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiTW9vbiIsIlN1biIsInVzZVRoZW1lIiwiQnV0dG9uIiwiRHJvcGRvd25NZW51IiwiRHJvcGRvd25NZW51Q29udGVudCIsIkRyb3Bkb3duTWVudUl0ZW0iLCJEcm9wZG93bk1lbnVUcmlnZ2VyIiwiTW9kZVRvZ2dsZSIsInNldFRoZW1lIiwiYXNDaGlsZCIsInZhcmlhbnQiLCJzaXplIiwiY2xhc3NOYW1lIiwic3BhbiIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/mode-toggle.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ ThemeProvider auto */ \n\n\nfunction ThemeProvider({ children, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_themes__WEBPACK_IMPORTED_MODULE_2__.ThemeProvider, {\n ...props,\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\theme-provider.tsx\",\n lineNumber: 8,\n columnNumber: 12\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS90aGVtZS1wcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUU4QjtBQUNtQztBQUcxRCxTQUFTQyxjQUFjLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUEyQjtJQUNwRSxxQkFBTyw4REFBQ0Ysc0RBQWtCQTtRQUFFLEdBQUdFLEtBQUs7a0JBQUdEOzs7Ozs7QUFDM0MiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHRoZW1lXFx0aGVtZS1wcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgYXMgTmV4dFRoZW1lc1Byb3ZpZGVyIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuaW1wb3J0IHsgdHlwZSBUaGVtZVByb3ZpZGVyUHJvcHMgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIoeyBjaGlsZHJlbiwgLi4ucHJvcHMgfTogVGhlbWVQcm92aWRlclByb3BzKSB7XHJcbiAgICByZXR1cm4gPE5leHRUaGVtZXNQcm92aWRlciB7Li4ucHJvcHN9PntjaGlsZHJlbn08L05leHRUaGVtZXNQcm92aWRlcj5cclxufVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUaGVtZVByb3ZpZGVyIiwiTmV4dFRoZW1lc1Byb3ZpZGVyIiwiY2hpbGRyZW4iLCJwcm9wcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/theme-provider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/button.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/button.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ buttonVariants: () => (/* binding */ buttonVariants)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst buttonVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n});\nconst Button = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, size, asChild = false, ...props }, ref)=>{\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot : \"button\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Comp, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(buttonVariants({\n variant,\n size,\n className\n })),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\button.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, undefined);\n});\nButton.displayName = \"Button\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9idXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDYTtBQUNzQjtBQUUxQjtBQUV2QyxNQUFNSSxpQkFBaUJGLDZEQUFHQSxDQUN0Qiw0VkFDQTtJQUNJRyxVQUFVO1FBQ05DLFNBQVM7WUFDTEMsU0FBUztZQUNUQyxhQUNJO1lBQ0pDLFNBQ0k7WUFDSkMsV0FDSTtZQUNKQyxPQUFPO1lBQ1BDLE1BQU07UUFDVjtRQUNBQyxNQUFNO1lBQ0ZOLFNBQVM7WUFDVE8sSUFBSTtZQUNKQyxJQUFJO1lBQ0pDLE1BQU07UUFDVjtJQUNKO0lBQ0FDLGlCQUFpQjtRQUNiWCxTQUFTO1FBQ1RPLE1BQU07SUFDVjtBQUNKO0FBU0osTUFBTUssdUJBQVNsQiw2Q0FBZ0IsQ0FDM0IsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFZCxPQUFPLEVBQUVPLElBQUksRUFBRVEsVUFBVSxLQUFLLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUN0RCxNQUFNQyxPQUFPSCxVQUFVcEIsc0RBQUlBLEdBQUc7SUFDOUIscUJBQ0ksOERBQUN1QjtRQUNHSixXQUFXakIscURBQUVBLENBQUNDLGVBQWU7WUFBRUU7WUFBU087WUFBTU87UUFBVTtRQUN4REcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosT0FBT08sV0FBVyxHQUFHO0FBRVkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxidXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIlxyXG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgYnV0dG9uVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIFsmX3N2Z106cG9pbnRlci1ldmVudHMtbm9uZSBbJl9zdmddOnNpemUtNCBbJl9zdmddOnNocmluay0wXCIsXHJcbiAgICB7XHJcbiAgICAgICAgdmFyaWFudHM6IHtcclxuICAgICAgICAgICAgdmFyaWFudDoge1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogXCJiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkvOTBcIixcclxuICAgICAgICAgICAgICAgIGRlc3RydWN0aXZlOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIGhvdmVyOmJnLWRlc3RydWN0aXZlLzkwXCIsXHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICAgICAgXCJiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1zZWNvbmRhcnkvODBcIixcclxuICAgICAgICAgICAgICAgIGdob3N0OiBcImhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBcInRleHQtcHJpbWFyeSB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lXCIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNpemU6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFwiaC0xMCBweC00IHB5LTJcIixcclxuICAgICAgICAgICAgICAgIHNtOiBcImgtOSByb3VuZGVkLW1kIHB4LTNcIixcclxuICAgICAgICAgICAgICAgIGxnOiBcImgtMTEgcm91bmRlZC1tZCBweC04XCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImgtMTAgdy0xMFwiLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVmYXVsdFZhcmlhbnRzOiB7XHJcbiAgICAgICAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICBzaXplOiBcImRlZmF1bHRcIixcclxuICAgICAgICB9LFxyXG4gICAgfVxyXG4pXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzXHJcbiAgICBleHRlbmRzIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PixcclxuICAgIFZhcmlhbnRQcm9wczx0eXBlb2YgYnV0dG9uVmFyaWFudHM+IHtcclxuICAgIGFzQ2hpbGQ/OiBib29sZWFuXHJcbn1cclxuXHJcbmNvbnN0IEJ1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihcclxuICAgICh7IGNsYXNzTmFtZSwgdmFyaWFudCwgc2l6ZSwgYXNDaGlsZCA9IGZhbHNlLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgICAgICBjb25zdCBDb21wID0gYXNDaGlsZCA/IFNsb3QgOiBcImJ1dHRvblwiXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPENvbXBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oYnV0dG9uVmFyaWFudHMoeyB2YXJpYW50LCBzaXplLCBjbGFzc05hbWUgfSkpfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbkJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiQnV0dG9uXCJcclxuXHJcbmV4cG9ydCB7IEJ1dHRvbiwgYnV0dG9uVmFyaWFudHMgfVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTbG90IiwiY3ZhIiwiY24iLCJidXR0b25WYXJpYW50cyIsInZhcmlhbnRzIiwidmFyaWFudCIsImRlZmF1bHQiLCJkZXN0cnVjdGl2ZSIsIm91dGxpbmUiLCJzZWNvbmRhcnkiLCJnaG9zdCIsImxpbmsiLCJzaXplIiwic20iLCJsZyIsImljb24iLCJkZWZhdWx0VmFyaWFudHMiLCJCdXR0b24iLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiYXNDaGlsZCIsInByb3BzIiwicmVmIiwiQ29tcCIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/button.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/dropdown-menu.tsx": -/*!*********************************************!*\ - !*** ./src/components/ui/dropdown-menu.tsx ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropdownMenu: () => (/* binding */ DropdownMenu),\n/* harmony export */ DropdownMenuCheckboxItem: () => (/* binding */ DropdownMenuCheckboxItem),\n/* harmony export */ DropdownMenuContent: () => (/* binding */ DropdownMenuContent),\n/* harmony export */ DropdownMenuGroup: () => (/* binding */ DropdownMenuGroup),\n/* harmony export */ DropdownMenuItem: () => (/* binding */ DropdownMenuItem),\n/* harmony export */ DropdownMenuLabel: () => (/* binding */ DropdownMenuLabel),\n/* harmony export */ DropdownMenuPortal: () => (/* binding */ DropdownMenuPortal),\n/* harmony export */ DropdownMenuRadioGroup: () => (/* binding */ DropdownMenuRadioGroup),\n/* harmony export */ DropdownMenuRadioItem: () => (/* binding */ DropdownMenuRadioItem),\n/* harmony export */ DropdownMenuSeparator: () => (/* binding */ DropdownMenuSeparator),\n/* harmony export */ DropdownMenuShortcut: () => (/* binding */ DropdownMenuShortcut),\n/* harmony export */ DropdownMenuSub: () => (/* binding */ DropdownMenuSub),\n/* harmony export */ DropdownMenuSubContent: () => (/* binding */ DropdownMenuSubContent),\n/* harmony export */ DropdownMenuSubTrigger: () => (/* binding */ DropdownMenuSubTrigger),\n/* harmony export */ DropdownMenuTrigger: () => (/* binding */ DropdownMenuTrigger)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ \"(ssr)/./node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle.js\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ DropdownMenu,DropdownMenuTrigger,DropdownMenuContent,DropdownMenuItem,DropdownMenuCheckboxItem,DropdownMenuRadioItem,DropdownMenuLabel,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuGroup,DropdownMenuPortal,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuRadioGroup auto */ \n\n\n\n\nconst DropdownMenu = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst DropdownMenuTrigger = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Trigger;\nconst DropdownMenuGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Group;\nconst DropdownMenuPortal = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal;\nconst DropdownMenuSub = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Sub;\nconst DropdownMenuRadioGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioGroup;\nconst DropdownMenuSubTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\", inset && \"pl-8\", className),\n ...props,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-auto h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 27,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubTrigger.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger.displayName;\nconst DropdownMenuSubContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent.displayName;\nconst DropdownMenuContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, sideOffset = 4, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n sideOffset: sideOffset,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 63,\n columnNumber: 5\n }, undefined));\nDropdownMenuContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\nconst DropdownMenuItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 83,\n columnNumber: 5\n }, undefined));\nDropdownMenuItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item.displayName;\nconst DropdownMenuCheckboxItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, checked, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n checked: checked,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 109,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 108,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 99,\n columnNumber: 5\n }, undefined));\nDropdownMenuCheckboxItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem.displayName;\nconst DropdownMenuRadioItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-2 w-2 fill-current\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 133,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 132,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 123,\n columnNumber: 5\n }, undefined));\nDropdownMenuRadioItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem.displayName;\nconst DropdownMenuLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 147,\n columnNumber: 5\n }, undefined));\nDropdownMenuLabel.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label.displayName;\nconst DropdownMenuSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 163,\n columnNumber: 5\n }, undefined));\nDropdownMenuSeparator.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator.displayName;\nconst DropdownMenuShortcut = ({ className, ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"ml-auto text-xs tracking-widest opacity-60\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 176,\n columnNumber: 9\n }, undefined);\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRThCO0FBQ3dDO0FBQ1o7QUFFbkI7QUFFdkMsTUFBTU0sZUFBZUwsK0RBQTBCO0FBRS9DLE1BQU1PLHNCQUFzQlAsa0VBQTZCO0FBRXpELE1BQU1TLG9CQUFvQlQsZ0VBQTJCO0FBRXJELE1BQU1XLHFCQUFxQlgsaUVBQTRCO0FBRXZELE1BQU1hLGtCQUFrQmIsOERBQXlCO0FBRWpELE1BQU1lLHlCQUF5QmYscUVBQWdDO0FBRS9ELE1BQU1pQix1Q0FBeUJsQiw2Q0FBZ0IsQ0FLN0MsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN6Qyw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdJQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7O1lBRVJEOzBCQUNELDhEQUFDbkIscUdBQVlBO2dCQUFDaUIsV0FBVTs7Ozs7Ozs7Ozs7O0FBR2hDRix1QkFBdUJRLFdBQVcsR0FDOUJ6QixxRUFBZ0MsQ0FBQ3lCLFdBQVc7QUFFaEQsTUFBTUMsdUNBQXlCM0IsNkNBQWdCLENBRzdDLENBQUMsRUFBRW9CLFNBQVMsRUFBRSxHQUFHRyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHliQUNBZTtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQkksdUJBQXVCRCxXQUFXLEdBQzlCekIscUVBQWdDLENBQUN5QixXQUFXO0FBRWhELE1BQU1HLG9DQUFzQjdCLDZDQUFnQixDQUcxQyxDQUFDLEVBQUVvQixTQUFTLEVBQUVVLGFBQWEsQ0FBQyxFQUFFLEdBQUdQLE9BQU8sRUFBRUMsb0JBQ3hDLDhEQUFDdkIsaUVBQTRCO2tCQUN6Qiw0RUFBQ0Esa0VBQTZCO1lBQzFCdUIsS0FBS0E7WUFDTE0sWUFBWUE7WUFDWlYsV0FBV2YscURBQUVBLENBQ1QseWJBQ0FlO1lBRUgsR0FBR0csS0FBSzs7Ozs7Ozs7Ozs7QUFJckJNLG9CQUFvQkgsV0FBVyxHQUFHekIsa0VBQTZCLENBQUN5QixXQUFXO0FBRTNFLE1BQU1NLGlDQUFtQmhDLDZDQUFnQixDQUt2QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVDLEtBQUssRUFBRSxHQUFHRSxPQUFPLEVBQUVDLG9CQUMvQiw4REFBQ3ZCLCtEQUEwQjtRQUN2QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULG1PQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQlMsaUJBQWlCTixXQUFXLEdBQUd6QiwrREFBMEIsQ0FBQ3lCLFdBQVc7QUFFckUsTUFBTVEseUNBQTJCbEMsNkNBQWdCLENBRy9DLENBQUMsRUFBRW9CLFNBQVMsRUFBRUUsUUFBUSxFQUFFYSxPQUFPLEVBQUUsR0FBR1osT0FBTyxFQUFFQyxvQkFDM0MsOERBQUN2Qix1RUFBa0M7UUFDL0J1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FDVCx3T0FDQWU7UUFFSmUsU0FBU0E7UUFDUixHQUFHWixLQUFLOzswQkFFVCw4REFBQ2M7Z0JBQUtqQixXQUFVOzBCQUNaLDRFQUFDbkIsd0VBQW1DOzhCQUNoQyw0RUFBQ0MscUdBQUtBO3dCQUFDa0IsV0FBVTs7Ozs7Ozs7Ozs7Ozs7OztZQUd4QkU7Ozs7Ozs7QUFHVFkseUJBQXlCUixXQUFXLEdBQ2hDekIsdUVBQWtDLENBQUN5QixXQUFXO0FBRWxELE1BQU1hLHNDQUF3QnZDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUNsQyw4REFBQ3ZCLG9FQUErQjtRQUM1QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdPQUNBZTtRQUVILEdBQUdHLEtBQUs7OzBCQUVULDhEQUFDYztnQkFBS2pCLFdBQVU7MEJBQ1osNEVBQUNuQix3RUFBbUM7OEJBQ2hDLDRFQUFDRyxxR0FBTUE7d0JBQUNnQixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7O1lBR3pCRTs7Ozs7OztBQUdUaUIsc0JBQXNCYixXQUFXLEdBQUd6QixvRUFBK0IsQ0FBQ3lCLFdBQVc7QUFFL0UsTUFBTWUsa0NBQW9CekMsNkNBQWdCLENBS3hDLENBQUMsRUFBRW9CLFNBQVMsRUFBRUMsS0FBSyxFQUFFLEdBQUdFLE9BQU8sRUFBRUMsb0JBQy9CLDhEQUFDdkIsZ0VBQTJCO1FBQ3hCdUIsS0FBS0E7UUFDTEosV0FBV2YscURBQUVBLENBQ1QscUNBQ0FnQixTQUFTLFFBQ1REO1FBRUgsR0FBR0csS0FBSzs7Ozs7O0FBR2pCa0Isa0JBQWtCZixXQUFXLEdBQUd6QixnRUFBMkIsQ0FBQ3lCLFdBQVc7QUFFdkUsTUFBTWlCLHNDQUF3QjNDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUUsR0FBR0csT0FBTyxFQUFFQyxvQkFDeEIsOERBQUN2QixvRUFBK0I7UUFDNUJ1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FBQyw0QkFBNEJlO1FBQ3pDLEdBQUdHLEtBQUs7Ozs7OztBQUdqQm9CLHNCQUFzQmpCLFdBQVcsR0FBR3pCLG9FQUErQixDQUFDeUIsV0FBVztBQUUvRSxNQUFNbUIsdUJBQXVCLENBQUMsRUFDMUJ6QixTQUFTLEVBQ1QsR0FBR0csT0FDaUM7SUFDcEMscUJBQ0ksOERBQUNjO1FBQ0dqQixXQUFXZixxREFBRUEsQ0FBQyw4Q0FBOENlO1FBQzNELEdBQUdHLEtBQUs7Ozs7OztBQUdyQjtBQUNBc0IscUJBQXFCbkIsV0FBVyxHQUFHO0FBa0JsQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGRyb3Bkb3duLW1lbnUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBEcm9wZG93bk1lbnVQcmltaXRpdmUgZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kcm9wZG93bi1tZW51XCJcclxuaW1wb3J0IHsgQ2hlY2ssIENoZXZyb25SaWdodCwgQ2lyY2xlIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51ID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlJvb3RcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVRyaWdnZXIgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuVHJpZ2dlclxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51R3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuR3JvdXBcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVBvcnRhbCA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Qb3J0YWxcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YiA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvR3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9Hcm91cFxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U3ViVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViVHJpZ2dlcj4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJUcmlnZ2VyPiAmIHtcclxuICAgICAgICBpbnNldD86IGJvb2xlYW5cclxuICAgIH1cclxuPigoeyBjbGFzc05hbWUsIGluc2V0LCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXJcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcImZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHgtMiBweS0xLjUgdGV4dC1zbSBvdXRsaW5lLW5vbmUgZm9jdXM6YmctYWNjZW50IGRhdGEtW3N0YXRlPW9wZW5dOmJnLWFjY2VudFwiLFxyXG4gICAgICAgICAgICBpbnNldCAmJiBcInBsLThcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDxDaGV2cm9uUmlnaHQgY2xhc3NOYW1lPVwibWwtYXV0byBoLTQgdy00XCIgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXI+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YlRyaWdnZXIuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXIuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YkNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJDb250ZW50XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJ6LTUwIG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LWxnIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4gZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAgZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wIGRhdGEtW3N0YXRlPWNsb3NlZF06em9vbS1vdXQtOTUgZGF0YS1bc3RhdGU9b3Blbl06em9vbS1pbi05NSBkYXRhLVtzaWRlPWJvdHRvbV06c2xpZGUtaW4tZnJvbS10b3AtMiBkYXRhLVtzaWRlPWxlZnRdOnNsaWRlLWluLWZyb20tcmlnaHQtMiBkYXRhLVtzaWRlPXJpZ2h0XTpzbGlkZS1pbi1mcm9tLWxlZnQtMiBkYXRhLVtzaWRlPXRvcF06c2xpZGUtaW4tZnJvbS1ib3R0b20tMlwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YkNvbnRlbnQuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIHNpZGVPZmZzZXQgPSA0LCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUG9ydGFsPlxyXG4gICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudFxyXG4gICAgICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICAgICAgc2lkZU9mZnNldD17c2lkZU9mZnNldH1cclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgIFwiei01MCBtaW4tdy1bOHJlbV0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXBvcG92ZXIgcC0xIHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZCBkYXRhLVtzdGF0ZT1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWNsb3NlZF06YW5pbWF0ZS1vdXQgZGF0YS1bc3RhdGU9Y2xvc2VkXTpmYWRlLW91dC0wIGRhdGEtW3N0YXRlPW9wZW5dOmZhZGUtaW4tMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3N0YXRlPW9wZW5dOnpvb20taW4tOTUgZGF0YS1bc2lkZT1ib3R0b21dOnNsaWRlLWluLWZyb20tdG9wLTIgZGF0YS1bc2lkZT1sZWZ0XTpzbGlkZS1pbi1mcm9tLXJpZ2h0LTIgZGF0YS1bc2lkZT1yaWdodF06c2xpZGUtaW4tZnJvbS1sZWZ0LTIgZGF0YS1bc2lkZT10b3BdOnNsaWRlLWluLWZyb20tYm90dG9tLTJcIixcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlBvcnRhbD5cclxuKSlcclxuRHJvcGRvd25NZW51Q29udGVudC5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Db250ZW50LmRpc3BsYXlOYW1lXHJcblxyXG5jb25zdCBEcm9wZG93bk1lbnVJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW0+ICYge1xyXG4gICAgICAgIGluc2V0PzogYm9vbGVhblxyXG4gICAgfVxyXG4+KCh7IGNsYXNzTmFtZSwgaW5zZXQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB4LTIgcHktMS41IHRleHQtc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgIGluc2V0ICYmIFwicGwtOFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudUl0ZW0uZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbS5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ2hlY2tib3hJdGVtPlxyXG4+KCh7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIGNoZWNrZWQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW1cclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInJlbGF0aXZlIGZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHktMS41IHBsLTggcHItMiB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpiZy1hY2NlbnQgZm9jdXM6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBkYXRhLVtkaXNhYmxlZF06cG9pbnRlci1ldmVudHMtbm9uZSBkYXRhLVtkaXNhYmxlZF06b3BhY2l0eS01MFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICA8Q2hlY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkNoZWNrYm94SXRlbT5cclxuKSlcclxuRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLmRpc3BsYXlOYW1lID1cclxuICAgIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvSXRlbSA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlJhZGlvSXRlbT5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB5LTEuNSBwbC04IHByLTIgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMgZm9jdXM6YmctYWNjZW50IGZvY3VzOnRleHQtYWNjZW50LWZvcmVncm91bmQgZGF0YS1bZGlzYWJsZWRdOnBvaW50ZXItZXZlbnRzLW5vbmUgZGF0YS1bZGlzYWJsZWRdOm9wYWNpdHktNTBcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0yIGZsZXggaC0zLjUgdy0zLjUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbUluZGljYXRvcj5cclxuICAgICAgICAgICAgICAgIDxDaXJjbGUgY2xhc3NOYW1lPVwiaC0yIHctMiBmaWxsLWN1cnJlbnRcIiAvPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0+XHJcbikpXHJcbkRyb3Bkb3duTWVudVJhZGlvSXRlbS5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUxhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4gJiB7XHJcbiAgICAgICAgaW5zZXQ/OiBib29sZWFuXHJcbiAgICB9XHJcbj4oKHsgY2xhc3NOYW1lLCBpbnNldCwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkxhYmVsXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJweC0yIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIixcclxuICAgICAgICAgICAgaW5zZXQgJiYgXCJwbC04XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51TGFiZWwuZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuTGFiZWwuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVNlcGFyYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU2VwYXJhdG9yPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvcj5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TZXBhcmF0b3JcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFwiLW14LTEgbXktMSBoLXB4IGJnLW11dGVkXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51U2VwYXJhdG9yLmRpc3BsYXlOYW1lID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvci5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U2hvcnRjdXQgPSAoe1xyXG4gICAgY2xhc3NOYW1lLFxyXG4gICAgLi4ucHJvcHNcclxufTogUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFNwYW5FbGVtZW50PikgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwibWwtYXV0byB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdCBvcGFjaXR5LTYwXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcbkRyb3Bkb3duTWVudVNob3J0Y3V0LmRpc3BsYXlOYW1lID0gXCJEcm9wZG93bk1lbnVTaG9ydGN1dFwiXHJcblxyXG5leHBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51UmFkaW9JdGVtLFxyXG4gICAgRHJvcGRvd25NZW51TGFiZWwsXHJcbiAgICBEcm9wZG93bk1lbnVTZXBhcmF0b3IsXHJcbiAgICBEcm9wZG93bk1lbnVTaG9ydGN1dCxcclxuICAgIERyb3Bkb3duTWVudUdyb3VwLFxyXG4gICAgRHJvcGRvd25NZW51UG9ydGFsLFxyXG4gICAgRHJvcGRvd25NZW51U3ViLFxyXG4gICAgRHJvcGRvd25NZW51U3ViQ29udGVudCxcclxuICAgIERyb3Bkb3duTWVudVN1YlRyaWdnZXIsXHJcbiAgICBEcm9wZG93bk1lbnVSYWRpb0dyb3VwLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZSIsIkNoZWNrIiwiQ2hldnJvblJpZ2h0IiwiQ2lyY2xlIiwiY24iLCJEcm9wZG93bk1lbnUiLCJSb290IiwiRHJvcGRvd25NZW51VHJpZ2dlciIsIlRyaWdnZXIiLCJEcm9wZG93bk1lbnVHcm91cCIsIkdyb3VwIiwiRHJvcGRvd25NZW51UG9ydGFsIiwiUG9ydGFsIiwiRHJvcGRvd25NZW51U3ViIiwiU3ViIiwiRHJvcGRvd25NZW51UmFkaW9Hcm91cCIsIlJhZGlvR3JvdXAiLCJEcm9wZG93bk1lbnVTdWJUcmlnZ2VyIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImluc2V0IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlN1YlRyaWdnZXIiLCJkaXNwbGF5TmFtZSIsIkRyb3Bkb3duTWVudVN1YkNvbnRlbnQiLCJTdWJDb250ZW50IiwiRHJvcGRvd25NZW51Q29udGVudCIsInNpZGVPZmZzZXQiLCJDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkl0ZW0iLCJEcm9wZG93bk1lbnVDaGVja2JveEl0ZW0iLCJjaGVja2VkIiwiQ2hlY2tib3hJdGVtIiwic3BhbiIsIkl0ZW1JbmRpY2F0b3IiLCJEcm9wZG93bk1lbnVSYWRpb0l0ZW0iLCJSYWRpb0l0ZW0iLCJEcm9wZG93bk1lbnVMYWJlbCIsIkxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiU2VwYXJhdG9yIiwiRHJvcGRvd25NZW51U2hvcnRjdXQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/dropdown-menu.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toaster: () => (/* binding */ Toaster)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ Toaster auto */ \n\n\nconst Toaster = ({ ...props })=>{\n const { theme = \"system\" } = (0,next_themes__WEBPACK_IMPORTED_MODULE_1__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(sonner__WEBPACK_IMPORTED_MODULE_2__.Toaster, {\n theme: theme,\n className: \"toaster group\",\n toastOptions: {\n classNames: {\n toast: \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toaster]:text-muted-foreground\",\n actionButton: \"group-[.toaster]:bg-primary group-[.toaster]:text-primary-foreground\",\n cancelButton: \"group-[.toaster]:bg-muted group-[.toaster]:text-muted-foreground\"\n }\n },\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\sonner.tsx\",\n lineNumber: 12,\n columnNumber: 9\n }, undefined);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zb25uZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVzQztBQUNJO0FBSTFDLE1BQU1DLFVBQVUsQ0FBQyxFQUFFLEdBQUdFLE9BQXFCO0lBQ3ZDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLEVBQUUsR0FBR0oscURBQVFBO0lBRXJDLHFCQUNJLDhEQUFDRSwyQ0FBTUE7UUFDSEUsT0FBT0E7UUFDUEMsV0FBVTtRQUNWQyxjQUFjO1lBQ1ZDLFlBQVk7Z0JBQ1JDLE9BQ0k7Z0JBQ0pDLGFBQWE7Z0JBQ2JDLGNBQ0k7Z0JBQ0pDLGNBQ0k7WUFDUjtRQUNKO1FBQ0MsR0FBR1IsS0FBSzs7Ozs7O0FBR3JCO0FBRWtCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcc29ubmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5pbXBvcnQgeyBUb2FzdGVyIGFzIFNvbm5lciB9IGZyb20gXCJzb25uZXJcIlxyXG5cclxudHlwZSBUb2FzdGVyUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgU29ubmVyPlxyXG5cclxuY29uc3QgVG9hc3RlciA9ICh7IC4uLnByb3BzIH06IFRvYXN0ZXJQcm9wcykgPT4ge1xyXG4gICAgY29uc3QgeyB0aGVtZSA9IFwic3lzdGVtXCIgfSA9IHVzZVRoZW1lKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTb25uZXJcclxuICAgICAgICAgICAgdGhlbWU9e3RoZW1lIGFzIFRvYXN0ZXJQcm9wc1tcInRoZW1lXCJdfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0b2FzdGVyIGdyb3VwXCJcclxuICAgICAgICAgICAgdG9hc3RPcHRpb25zPXt7XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9hc3Q6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JvdXAgdG9hc3QgZ3JvdXAtWy50b2FzdGVyXTpiZy1iYWNrZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06dGV4dC1mb3JlZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06Ym9yZGVyLWJvcmRlciBncm91cC1bLnRvYXN0ZXJdOnNoYWRvdy1sZ1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImdyb3VwLVsudG9hc3Rlcl06dGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctcHJpbWFyeSBncm91cC1bLnRvYXN0ZXJdOnRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctbXV0ZWQgZ3JvdXAtWy50b2FzdGVyXTp0ZXh0LW11dGVkLWZvcmVncm91bmRcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgeyBUb2FzdGVyIH1cclxuIl0sIm5hbWVzIjpbInVzZVRoZW1lIiwiVG9hc3RlciIsIlNvbm5lciIsInByb3BzIiwidGhlbWUiLCJjbGFzc05hbWUiLCJ0b2FzdE9wdGlvbnMiLCJjbGFzc05hbWVzIiwidG9hc3QiLCJkZXNjcmlwdGlvbiIsImFjdGlvbkJ1dHRvbiIsImNhbmNlbEJ1dHRvbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/sonner.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/switch.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/switch.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Switch: () => (/* binding */ Switch)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Switch auto */ \n\n\n/**\r\n * Переключатель (тумблер) — аналог Shadcn Switch.\r\n * Используется для тумблера «На линии» в шапке.\r\n */ const Switch = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, checked = false, onCheckedChange, disabled, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n disabled: disabled,\n ref: ref,\n onClick: ()=>onCheckedChange?.(!checked),\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors\", \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\", \"disabled:cursor-not-allowed disabled:opacity-50\", checked ? \"bg-green-500\" : \"bg-input\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform\", checked ? \"translate-x-5\" : \"translate-x-0\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined);\n});\nSwitch.displayName = \"Switch\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zd2l0Y2gudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFOEI7QUFDUztBQU92Qzs7O0NBR0MsR0FDRCxNQUFNRSx1QkFBU0YsNkNBQWdCLENBQzNCLENBQUMsRUFBRUksU0FBUyxFQUFFQyxVQUFVLEtBQUssRUFBRUMsZUFBZSxFQUFFQyxRQUFRLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUNsRSxxQkFDSSw4REFBQ0M7UUFDR0MsTUFBSztRQUNMQyxNQUFLO1FBQ0xDLGdCQUFjUjtRQUNkRSxVQUFVQTtRQUNWRSxLQUFLQTtRQUNMSyxTQUFTLElBQU1SLGtCQUFrQixDQUFDRDtRQUNsQ0QsV0FBV0gscURBQUVBLENBQ1QsNkhBQ0EsNElBQ0EsbURBQ0FJLFVBQVUsaUJBQWlCLFlBQzNCRDtRQUVILEdBQUdJLEtBQUs7a0JBRVQsNEVBQUNPO1lBQ0dYLFdBQVdILHFEQUFFQSxDQUNULHNHQUNBSSxVQUFVLGtCQUFrQjs7Ozs7Ozs7Ozs7QUFLaEQ7QUFFSkgsT0FBT2MsV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxzd2l0Y2gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuaW50ZXJmYWNlIFN3aXRjaFByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuXHJcbiAgICBvbkNoZWNrZWRDaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZFxyXG59XHJcblxyXG4vKipcclxuICog0J/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70YwgKNGC0YPQvNCx0LvQtdGAKSDigJQg0LDQvdCw0LvQvtCzIFNoYWRjbiBTd2l0Y2guXHJcbiAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YLRg9C80LHQu9C10YDQsCDCq9Cd0LAg0LvQuNC90LjQuMK7INCyINGI0LDQv9C60LUuXHJcbiAqL1xyXG5jb25zdCBTd2l0Y2ggPSBSZWFjdC5mb3J3YXJkUmVmPEhUTUxCdXR0b25FbGVtZW50LCBTd2l0Y2hQcm9wcz4oXHJcbiAgICAoeyBjbGFzc05hbWUsIGNoZWNrZWQgPSBmYWxzZSwgb25DaGVja2VkQ2hhbmdlLCBkaXNhYmxlZCwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcclxuICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cclxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cclxuICAgICAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGVja2VkQ2hhbmdlPy4oIWNoZWNrZWQpfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICBcInBlZXIgaW5saW5lLWZsZXggaC02IHctMTEgc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItdHJhbnNwYXJlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIixcclxuICAgICAgICAgICAgICAgICAgICBcImZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LWJhY2tncm91bmRcIixcclxuICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwiYmctZ3JlZW4tNTAwXCIgOiBcImJnLWlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicG9pbnRlci1ldmVudHMtbm9uZSBibG9jayBoLTUgdy01IHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1sZyByaW5nLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm1cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwidHJhbnNsYXRlLXgtNVwiIDogXCJ0cmFuc2xhdGUteC0wXCJcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcblN3aXRjaC5kaXNwbGF5TmFtZSA9IFwiU3dpdGNoXCJcclxuXHJcbmV4cG9ydCB7IFN3aXRjaCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiU3dpdGNoIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImNoZWNrZWQiLCJvbkNoZWNrZWRDaGFuZ2UiLCJkaXNhYmxlZCIsInByb3BzIiwicmVmIiwiYnV0dG9uIiwidHlwZSIsInJvbGUiLCJhcmlhLWNoZWNrZWQiLCJvbkNsaWNrIiwic3BhbiIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/switch.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/entities/session/store.ts": -/*!***************************************!*\ - !*** ./src/entities/session/store.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSessionStore: () => (/* binding */ useSessionStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/shared/api/axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n\n\nconst useSessionStore = (0,zustand__WEBPACK_IMPORTED_MODULE_2__.create)((set, get)=>({\n user: null,\n isAuth: false,\n isLoading: false,\n isInitialized: false,\n checkAuth: async ()=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (!token) {\n set({\n isInitialized: true,\n isAuth: false\n });\n return;\n }\n set({\n isLoading: true\n });\n try {\n await get().getProfile();\n set({\n isAuth: true,\n isInitialized: true\n });\n } catch (error) {\n console.error(\"Auth check failed\", error);\n // Токен недействителен, очищаем состояние\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false,\n isInitialized: true\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n login: async (phone, password)=>{\n set({\n isLoading: true\n });\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/login\", {\n phone,\n password\n });\n const { accessToken, refreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", refreshToken);\n set({\n isAuth: true\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n register: async (data)=>{\n set({\n isLoading: true\n });\n try {\n // Убираем confirmPassword перед отправкой на бэкенд\n const { confirmPassword, ...registerData } = data;\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/register\", registerData);\n } finally{\n set({\n isLoading: false\n });\n }\n },\n logout: ()=>{\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false\n });\n if (false) {}\n },\n getProfile: async ()=>{\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.get(\"/profile\", {\n params: {\n _t: Date.now()\n } // bypass cache\n });\n set({\n user: response.data,\n isAuth: true\n });\n } catch (error) {\n console.error(\"Profile load failed\", error);\n }\n },\n updateProfile: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile\", data);\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePhone: async (newPhone)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-phone\", {\n newPhone\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformer: async ()=>{\n set({\n isLoading: true\n });\n try {\n // Исправлен путь: убрали лишний /api, так как он уже есть в baseURL\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\");\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformerFull: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\", {\n description: data.description,\n competencies: data.competencies,\n location: data.location,\n currentLocation: null,\n isAlwaysReady: data.workSchedule.isAlwaysReady,\n workingDays: data.workSchedule.isAlwaysReady ? null : JSON.stringify(data.workSchedule.schedulePerDay)\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateCompetencies: async (competencies)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/competencies\", {\n Competencies: competencies\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n uploadAvatar: async (file)=>{\n set({\n isLoading: true\n });\n try {\n const formData = new FormData();\n formData.append(\"file\", file);\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/avatar\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePassword: async (oldPassword, newPassword)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-password\", {\n accountId: userId,\n oldPassword,\n newPassword\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateLocation: async (location, currentLocation)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/location\", {\n accountId: userId,\n location,\n currentLocation\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateSchedule: async (isAlwaysReady, schedulePerDay)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n const workingDaysJson = isAlwaysReady ? \"[]\" : JSON.stringify(schedulePerDay || {});\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/schedule\", {\n accountId: userId,\n isAlwaysReady,\n workingDaysJson\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LGdCQUFnQixPQUFPdEIsZUFBZUs7WUFDbEM1QyxJQUFJO2dCQUFFSSxXQUFXO1lBQUs7WUFDdEIsSUFBSTtnQkFDQSxNQUFNb0QsU0FBU3ZELE1BQU1DLElBQUksRUFBRXVEO2dCQUMzQixJQUFJLENBQUNELFFBQVEsTUFBTSxJQUFJRSxNQUFNO2dCQUU3QixNQUFNSSxrQkFBa0J2QixnQkFDbEIsT0FDQUcsS0FBS0MsU0FBUyxDQUFDQyxrQkFBa0IsQ0FBQztnQkFFeEMsTUFBTTlDLGtEQUFHQSxDQUFDaUMsR0FBRyxDQUFDLHFCQUFxQjtvQkFDL0I0QixXQUFXSDtvQkFDWGpCO29CQUNBdUI7Z0JBQ0o7Z0JBQ0EsTUFBTTdELE1BQU1PLFVBQVU7WUFDMUIsU0FBVTtnQkFDTlIsSUFBSTtvQkFBRUksV0FBVztnQkFBTTtZQUMzQjtRQUNKO0lBQ0osSUFBSSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcZW50aXRpZXNcXHNlc3Npb25cXHN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHNldENvb2tpZSwgZGVsZXRlQ29va2llLCBnZXRDb29raWUgfSBmcm9tIFwiY29va2llcy1uZXh0XCI7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvYXhpb3NcIjtcclxuXHJcbmludGVyZmFjZSBVc2VyIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBwaG9uZTogc3RyaW5nO1xyXG4gICAgcm9sZXM6IHN0cmluZ1tdO1xyXG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xyXG4gICAgcGF0cm9ueW1pYz86IHN0cmluZztcclxuICAgIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xyXG4gICAgaW5uPzogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgICBsb2NhdGlvbj86IHN0cmluZztcclxuICAgIGN1cnJlbnRMb2NhdGlvbj86IHN0cmluZztcclxuICAgIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgICBhdmF0YXJVcmw/OiBzdHJpbmc7XHJcbiAgICBjb21wZXRlbmNpZXM6IHN0cmluZ1tdO1xyXG4gICAgd29ya1NjaGVkdWxlPzoge1xyXG4gICAgICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICAgICAgc2NoZWR1bGVQZXJEYXk/OiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7IHN0YXJ0OiBzdHJpbmc7IGVuZDogc3RyaW5nIH0+PjtcclxuICAgIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBXb3JrU2NoZWR1bGVEYXRhIHtcclxuICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICBzY2hlZHVsZVBlckRheTogUmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9Pj47XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZXNzaW9uU3RhdGUge1xyXG4gICAgdXNlcjogVXNlciB8IG51bGw7XHJcbiAgICBpc0F1dGg6IGJvb2xlYW47XHJcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xyXG4gICAgY2hlY2tBdXRoOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgbG9naW46IChwaG9uZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgcmVnaXN0ZXI6IChkYXRhOiBhbnkpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBsb2dvdXQ6ICgpID0+IHZvaWQ7XHJcbiAgICBnZXRQcm9maWxlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlUHJvZmlsZTogKGRhdGE6IHsgZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcsIHBhdHJvbnltaWM/OiBzdHJpbmcsIGNvbXBhbnlOYW1lPzogc3RyaW5nLCBpbm4/OiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBjaGFuZ2VQaG9uZTogKG5ld1Bob25lOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXI6ICgpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiAoZGF0YToge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICAgICAgY29tcGV0ZW5jaWVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb2NhdGlvbjogc3RyaW5nO1xyXG4gICAgICAgIHdvcmtTY2hlZHVsZTogV29ya1NjaGVkdWxlRGF0YTtcclxuICAgIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICB1cGRhdGVDb21wZXRlbmNpZXM6IChjb21wZXRlbmNpZXM6IHN0cmluZ1tdKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBsb2FkQXZhdGFyOiAoZmlsZTogRmlsZSkgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIGNoYW5nZVBhc3N3b3JkOiAob2xkUGFzc3dvcmQ6IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIHVwZGF0ZUxvY2F0aW9uOiAobG9jYXRpb246IHN0cmluZywgY3VycmVudExvY2F0aW9uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlU2NoZWR1bGU6IChpc0Fsd2F5c1JlYWR5OiBib29sZWFuLCBzY2hlZHVsZVBlckRheT86IFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfT4+KSA9PiBQcm9taXNlPHZvaWQ+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdXNlU2Vzc2lvblN0b3JlID0gY3JlYXRlPFNlc3Npb25TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgdXNlcjogbnVsbCxcclxuICAgIGlzQXV0aDogZmFsc2UsXHJcbiAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgaXNJbml0aWFsaXplZDogZmFsc2UsXHJcblxyXG4gICAgY2hlY2tBdXRoOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuXHJcbiAgICAgICAgaWYgKCF0b2tlbikge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0luaXRpYWxpemVkOiB0cnVlLCBpc0F1dGg6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICAgICAgc2V0KHsgaXNBdXRoOiB0cnVlLCBpc0luaXRpYWxpemVkOiB0cnVlIH0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJBdXRoIGNoZWNrIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIC8vINCi0L7QutC10L0g0L3QtdC00LXQudGB0YLQstC40YLQtdC70LXQvSwg0L7Rh9C40YnQsNC10Lwg0YHQvtGB0YLQvtGP0L3QuNC1XHJcbiAgICAgICAgICAgIGRlbGV0ZUNvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IG51bGwsIGlzQXV0aDogZmFsc2UsIGlzSW5pdGlhbGl6ZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGxvZ2luOiBhc3luYyAocGhvbmUsIHBhc3N3b3JkKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9sb2dpblwiLCB7IHBob25lLCBwYXNzd29yZCB9KTtcclxuICAgICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgc2V0Q29va2llKFwiYWNjZXNzVG9rZW5cIiwgYWNjZXNzVG9rZW4pO1xyXG4gICAgICAgICAgICBzZXRDb29raWUoXCJyZWZyZXNoVG9rZW5cIiwgcmVmcmVzaFRva2VuKTtcclxuXHJcbiAgICAgICAgICAgIHNldCh7IGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICByZWdpc3RlcjogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQo9Cx0LjRgNCw0LXQvCBjb25maXJtUGFzc3dvcmQg0L/QtdGA0LXQtCDQvtGC0L/RgNCw0LLQutC+0Lkg0L3QsCDQsdGN0LrQtdC90LRcclxuICAgICAgICAgICAgY29uc3QgeyBjb25maXJtUGFzc3dvcmQsIC4uLnJlZ2lzdGVyRGF0YSB9ID0gZGF0YTtcclxuICAgICAgICAgICAgYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9yZWdpc3RlclwiLCByZWdpc3RlckRhdGEpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBsb2dvdXQ6ICgpID0+IHtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgc2V0KHsgdXNlcjogbnVsbCwgaXNBdXRoOiBmYWxzZSB9KTtcclxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiL2F1dGgvbG9naW5cIjtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFByb2ZpbGU6IGFzeW5jICgpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQoXCIvcHJvZmlsZVwiLCB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHsgX3Q6IERhdGUubm93KCkgfSAvLyBieXBhc3MgY2FjaGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IHJlc3BvbnNlLmRhdGEsIGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiUHJvZmlsZSBsb2FkIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVQcm9maWxlOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucHV0KFwiL3Byb2ZpbGVcIiwgZGF0YSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgY2hhbmdlUGhvbmU6IGFzeW5jIChuZXdQaG9uZSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1waG9uZVwiLCB7IG5ld1Bob25lIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGJlY29tZVBlcmZvcm1lcjogYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQmNGB0L/RgNCw0LLQu9C10L0g0L/Rg9GC0Yw6INGD0LHRgNCw0LvQuCDQu9C40YjQvdC40LkgL2FwaSwg0YLQsNC6INC60LDQuiDQvtC9INGD0LbQtSDQtdGB0YLRjCDQsiBiYXNlVVJMXHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYmVjb21lLXBlcmZvcm1lclwiKTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2JlY29tZS1wZXJmb3JtZXJcIiwge1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRhdGEuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICBjb21wZXRlbmNpZXM6IGRhdGEuY29tcGV0ZW5jaWVzLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGRhdGEubG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgICAgICBpc0Fsd2F5c1JlYWR5OiBkYXRhLndvcmtTY2hlZHVsZS5pc0Fsd2F5c1JlYWR5LFxyXG4gICAgICAgICAgICAgICAgd29ya2luZ0RheXM6IGRhdGEud29ya1NjaGVkdWxlLmlzQWx3YXlzUmVhZHlcclxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KGRhdGEud29ya1NjaGVkdWxlLnNjaGVkdWxlUGVyRGF5KSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgdXBkYXRlQ29tcGV0ZW5jaWVzOiBhc3luYyAoY29tcGV0ZW5jaWVzKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wdXQoXCIvcHJvZmlsZS9jb21wZXRlbmNpZXNcIiwgeyBDb21wZXRlbmNpZXM6IGNvbXBldGVuY2llcyB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGxvYWRBdmF0YXI6IGFzeW5jIChmaWxlKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYXZhdGFyXCIsIGZvcm1EYXRhLCB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBjaGFuZ2VQYXNzd29yZDogYXN5bmMgKG9sZFBhc3N3b3JkLCBuZXdQYXNzd29yZCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1c2VySWQgPSBnZXQoKS51c2VyPy5pZDtcclxuICAgICAgICAgICAgaWYgKCF1c2VySWQpIHRocm93IG5ldyBFcnJvcihcItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L1cIik7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1wYXNzd29yZFwiLCB7XHJcbiAgICAgICAgICAgICAgICBhY2NvdW50SWQ6IHVzZXJJZCxcclxuICAgICAgICAgICAgICAgIG9sZFBhc3N3b3JkLFxyXG4gICAgICAgICAgICAgICAgbmV3UGFzc3dvcmQsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVMb2NhdGlvbjogYXN5bmMgKGxvY2F0aW9uLCBjdXJyZW50TG9jYXRpb24pID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL2xvY2F0aW9uXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb24sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZVNjaGVkdWxlOiBhc3luYyAoaXNBbHdheXNSZWFkeSwgc2NoZWR1bGVQZXJEYXkpID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgd29ya2luZ0RheXNKc29uID0gaXNBbHdheXNSZWFkeVxyXG4gICAgICAgICAgICAgICAgPyBcIltdXCJcclxuICAgICAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkoc2NoZWR1bGVQZXJEYXkgfHwge30pO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL3NjaGVkdWxlXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgaXNBbHdheXNSZWFkeSxcclxuICAgICAgICAgICAgICAgIHdvcmtpbmdEYXlzSnNvbixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbn0pKTtcclxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsInNldENvb2tpZSIsImRlbGV0ZUNvb2tpZSIsImdldENvb2tpZSIsImFwaSIsInVzZVNlc3Npb25TdG9yZSIsInNldCIsImdldCIsInVzZXIiLCJpc0F1dGgiLCJpc0xvYWRpbmciLCJpc0luaXRpYWxpemVkIiwiY2hlY2tBdXRoIiwidG9rZW4iLCJnZXRQcm9maWxlIiwiZXJyb3IiLCJjb25zb2xlIiwibG9naW4iLCJwaG9uZSIsInBhc3N3b3JkIiwicmVzcG9uc2UiLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJyZWZyZXNoVG9rZW4iLCJkYXRhIiwicmVnaXN0ZXIiLCJjb25maXJtUGFzc3dvcmQiLCJyZWdpc3RlckRhdGEiLCJsb2dvdXQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJwYXJhbXMiLCJfdCIsIkRhdGUiLCJub3ciLCJ1cGRhdGVQcm9maWxlIiwicHV0IiwiY2hhbmdlUGhvbmUiLCJuZXdQaG9uZSIsImJlY29tZVBlcmZvcm1lciIsImJlY29tZVBlcmZvcm1lckZ1bGwiLCJkZXNjcmlwdGlvbiIsImNvbXBldGVuY2llcyIsImN1cnJlbnRMb2NhdGlvbiIsImlzQWx3YXlzUmVhZHkiLCJ3b3JrU2NoZWR1bGUiLCJ3b3JraW5nRGF5cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzY2hlZHVsZVBlckRheSIsInVwZGF0ZUNvbXBldGVuY2llcyIsIkNvbXBldGVuY2llcyIsInVwbG9hZEF2YXRhciIsImZpbGUiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiaGVhZGVycyIsImNoYW5nZVBhc3N3b3JkIiwib2xkUGFzc3dvcmQiLCJuZXdQYXNzd29yZCIsInVzZXJJZCIsImlkIiwiRXJyb3IiLCJhY2NvdW50SWQiLCJ1cGRhdGVMb2NhdGlvbiIsInVwZGF0ZVNjaGVkdWxlIiwid29ya2luZ0RheXNKc29uIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/entities/session/store.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/features/geo/useGeoStore.ts": -/*!*****************************************!*\ - !*** ./src/features/geo/useGeoStore.ts ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useGeoStore: () => (/* binding */ useGeoStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/shared/api/geo */ \"(ssr)/./src/shared/api/geo.ts\");\n\n\nconst useGeoStore = (0,zustand__WEBPACK_IMPORTED_MODULE_1__.create)((set, get)=>({\n isOnline: false,\n watchId: null,\n isUpdating: false,\n error: null,\n lastCoords: null,\n goOnline: (performerId)=>{\n if (true) {\n set({\n error: \"Геолокация не поддерживается вашим браузером.\"\n });\n return;\n }\n // Таймер для периодической отправки (каждые 10 секунд)\n let sendInterval = null;\n const watchId = navigator.geolocation.watchPosition(async (position)=>{\n const { latitude, longitude } = position.coords;\n set({\n lastCoords: {\n lat: latitude,\n lon: longitude\n },\n error: null\n });\n // Отправляем при первом получении координат\n try {\n set({\n isUpdating: true\n });\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude,\n longitude,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки статуса:\", err);\n set({\n error: \"Не удалось обновить статус на сервере.\"\n });\n } finally{\n set({\n isUpdating: false\n });\n }\n }, (err)=>{\n console.error(\"[Geo] Ошибка геолокации:\", err);\n let errorMsg = \"Ошибка определения местоположения.\";\n if (err.code === err.PERMISSION_DENIED) {\n errorMsg = \"Доступ к геолокации запрещён. Разрешите в настройках браузера.\";\n }\n set({\n error: errorMsg\n });\n }, {\n enableHighAccuracy: true,\n maximumAge: 10000,\n timeout: 15000\n });\n // Дополнительно: периодическая отправка каждые 10 секунд\n sendInterval = setInterval(async ()=>{\n const state = get();\n if (state.lastCoords && state.isOnline) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: state.lastCoords.lat,\n longitude: state.lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка периодической отправки:\", err);\n }\n }\n }, 10000);\n // Сохраняем watchId и intervalId в замыкании для очистки\n set({\n isOnline: true,\n watchId,\n error: null\n });\n // Храним intervalId в window для очистки при goOffline\n window.__geoInterval = sendInterval;\n },\n goOffline: async (performerId)=>{\n const { watchId, lastCoords } = get();\n // Останавливаем слежение\n if (watchId !== null) {\n navigator.geolocation.clearWatch(watchId);\n }\n // Останавливаем интервал\n if (window.__geoInterval) {\n clearInterval(window.__geoInterval);\n window.__geoInterval = null;\n }\n // Отправляем статус Offline\n if (lastCoords) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: lastCoords.lat,\n longitude: lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Offline\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки Offline:\", err);\n }\n }\n set({\n isOnline: false,\n watchId: null,\n lastCoords: null,\n error: null\n });\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFPckIsMkRBQWNBLENBQUNxQyxPQUFPO29CQUNqQztnQkFDSixFQUFFLE9BQU9kLEtBQUs7b0JBQ1ZDLFFBQVFqQixLQUFLLENBQUMsa0NBQWtDZ0I7Z0JBQ3BEO1lBQ0o7WUFFQXJCLElBQUk7Z0JBQUVFLFVBQVU7Z0JBQU9DLFNBQVM7Z0JBQU1HLFlBQVk7Z0JBQU1ELE9BQU87WUFBSztRQUN4RTtJQUNKLElBQUkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGZlYXR1cmVzXFxnZW9cXHVzZUdlb1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHVwZGF0ZUdlb1N0YXR1cywgUGVyZm9ybWVyU3RhdGUgfSBmcm9tIFwiQC9zaGFyZWQvYXBpL2dlb1wiO1xyXG5cclxuaW50ZXJmYWNlIEdlb1N0YXRlIHtcclxuICAgIC8qKiDQktC60LvRjtGH0ZHQvSDQu9C4INGC0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsgKi9cclxuICAgIGlzT25saW5lOiBib29sZWFuO1xyXG4gICAgLyoqIElEINGC0LXQutGD0YnQtdCz0L4gd2F0Y2hQb3NpdGlvbiAqL1xyXG4gICAgd2F0Y2hJZDogbnVtYmVyIHwgbnVsbDtcclxuICAgIC8qKiDQmNC00ZHRgiDQu9C4INC+0LHQvdC+0LLQu9C10L3QuNC1ICovXHJcbiAgICBpc1VwZGF0aW5nOiBib29sZWFuO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90Y/RjyDQvtGI0LjQsdC60LAgKi9cclxuICAgIGVycm9yOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90LjQtSDQuNC30LLQtdGB0YLQvdGL0LUg0LrQvtC+0YDQtNC40L3QsNGC0YsgKi9cclxuICAgIGxhc3RDb29yZHM6IHsgbGF0OiBudW1iZXI7IGxvbjogbnVtYmVyIH0gfCBudWxsO1xyXG5cclxuICAgIC8qKiDQktC60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L7RgtGB0LvQtdC20LjQstCw0L3QuNC1INCz0LXQvtC/0L7Qt9C40YbQuNC4ICovXHJcbiAgICBnb09ubGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgICAvKiog0JLRi9C60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQvtGC0L/RgNCw0LLQuNGC0YwgT2ZmbGluZSDQuCDQvtGB0YLQsNC90L7QstC40YLRjCDQvtGC0YHQu9C10LbQuNCy0LDQvdC40LUgKi9cclxuICAgIGdvT2ZmbGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB1c2VHZW9TdG9yZSA9IGNyZWF0ZTxHZW9TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgaXNPbmxpbmU6IGZhbHNlLFxyXG4gICAgd2F0Y2hJZDogbnVsbCxcclxuICAgIGlzVXBkYXRpbmc6IGZhbHNlLFxyXG4gICAgZXJyb3I6IG51bGwsXHJcbiAgICBsYXN0Q29vcmRzOiBudWxsLFxyXG5cclxuICAgIGdvT25saW5lOiAocGVyZm9ybWVySWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiIHx8ICFuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcclxuICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0JPQtdC+0LvQvtC60LDRhtC40Y8g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINCy0LDRiNC40Lwg0LHRgNCw0YPQt9C10YDQvtC8LlwiIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQotCw0LnQvNC10YAg0LTQu9GPINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60LggKNC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LQpXHJcbiAgICAgICAgbGV0IHNlbmRJbnRlcnZhbDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGNvbnN0IHdhdGNoSWQgPSBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihcclxuICAgICAgICAgICAgYXN5bmMgKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IGxhdGl0dWRlLCBsb25naXR1ZGUgfSA9IHBvc2l0aW9uLmNvb3JkcztcclxuICAgICAgICAgICAgICAgIHNldCh7IGxhc3RDb29yZHM6IHsgbGF0OiBsYXRpdHVkZSwgbG9uOiBsb25naXR1ZGUgfSwgZXJyb3I6IG51bGwgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8g0J7RgtC/0YDQsNCy0LvRj9C10Lwg0L/RgNC4INC/0LXRgNCy0L7QvCDQv9C+0LvRg9GH0LXQvdC40Lgg0LrQvtC+0YDQtNC40L3QsNGCXHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldCh7IGlzVXBkYXRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlR2VvU3RhdHVzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWVySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC+0YLQv9GA0LDQstC60Lgg0YHRgtCw0YLRg9GB0LA6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINGB0YLQsNGC0YPRgSDQvdCwINGB0LXRgNCy0LXRgNC1LlwiIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXQoeyBpc1VwZGF0aW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQs9C10L7Qu9C+0LrQsNGG0LjQuDpcIiwgZXJyKTtcclxuICAgICAgICAgICAgICAgIGxldCBlcnJvck1zZyA9IFwi0J7RiNC40LHQutCwINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjRjy5cIjtcclxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gZXJyLlBFUk1JU1NJT05fREVOSUVEKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2cgPSBcItCU0L7RgdGC0YPQvyDQuiDQs9C10L7Qu9C+0LrQsNGG0LjQuCDQt9Cw0L/RgNC10YnRkdC9LiDQoNCw0LfRgNC10YjQuNGC0LUg0LIg0L3QsNGB0YLRgNC+0LnQutCw0YUg0LHRgNCw0YPQt9C10YDQsC5cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNldCh7IGVycm9yOiBlcnJvck1zZyB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbWF4aW11bUFnZTogMTAwMDAsICAgICAvLyDQmtGN0Ygg0L/QvtC30LjRhtC40LggMTAg0YHQtdC6XHJcbiAgICAgICAgICAgICAgICB0aW1lb3V0OiAxNTAwMCwgICAgICAgICAvLyDQotCw0LnQvNCw0YPRgiAxNSDRgdC10LpcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+OiDQv9C10YDQuNC+0LTQuNGH0LXRgdC60LDRjyDQvtGC0L/RgNCw0LLQutCwINC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LRcclxuICAgICAgICBzZW5kSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gZ2V0KCk7XHJcbiAgICAgICAgICAgIGlmIChzdGF0ZS5sYXN0Q29vcmRzICYmIHN0YXRlLmlzT25saW5lKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUdlb1N0YXR1cyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60Lg6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDAwMCk7XHJcblxyXG4gICAgICAgIC8vINCh0L7RhdGA0LDQvdGP0LXQvCB3YXRjaElkINC4IGludGVydmFsSWQg0LIg0LfQsNC80YvQutCw0L3QuNC4INC00LvRjyDQvtGH0LjRgdGC0LrQuFxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiB0cnVlLCB3YXRjaElkLCBlcnJvcjogbnVsbCB9KTtcclxuXHJcbiAgICAgICAgLy8g0KXRgNCw0L3QuNC8IGludGVydmFsSWQg0LIgd2luZG93INC00LvRjyDQvtGH0LjRgdGC0LrQuCDQv9GA0LggZ29PZmZsaW5lXHJcbiAgICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwgPSBzZW5kSW50ZXJ2YWw7XHJcbiAgICB9LFxyXG5cclxuICAgIGdvT2ZmbGluZTogYXN5bmMgKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCB7IHdhdGNoSWQsIGxhc3RDb29yZHMgfSA9IGdldCgpO1xyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDRgdC70LXQttC10L3QuNC1XHJcbiAgICAgICAgaWYgKHdhdGNoSWQgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2god2F0Y2hJZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDQuNC90YLQtdGA0LLQsNC7XHJcbiAgICAgICAgaWYgKCh3aW5kb3cgYXMgYW55KS5fX2dlb0ludGVydmFsKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwpO1xyXG4gICAgICAgICAgICAod2luZG93IGFzIGFueSkuX19nZW9JbnRlcnZhbCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGC0L/RgNCw0LLQu9GP0LXQvCDRgdGC0LDRgtGD0YEgT2ZmbGluZVxyXG4gICAgICAgIGlmIChsYXN0Q29vcmRzKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVHZW9TdGF0dXMoe1xyXG4gICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBsYXN0Q29vcmRzLmxhdCxcclxuICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IGxhc3RDb29yZHMubG9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5PZmZsaW5lLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQvtGC0L/RgNCw0LLQutC4IE9mZmxpbmU6XCIsIGVycik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiBmYWxzZSwgd2F0Y2hJZDogbnVsbCwgbGFzdENvb3JkczogbnVsbCwgZXJyb3I6IG51bGwgfSk7XHJcbiAgICB9LFxyXG59KSk7XHJcbiJdLCJuYW1lcyI6WyJjcmVhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJQZXJmb3JtZXJTdGF0ZSIsInVzZUdlb1N0b3JlIiwic2V0IiwiZ2V0IiwiaXNPbmxpbmUiLCJ3YXRjaElkIiwiaXNVcGRhdGluZyIsImVycm9yIiwibGFzdENvb3JkcyIsImdvT25saW5lIiwicGVyZm9ybWVySWQiLCJuYXZpZ2F0b3IiLCJnZW9sb2NhdGlvbiIsInNlbmRJbnRlcnZhbCIsIndhdGNoUG9zaXRpb24iLCJwb3NpdGlvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY29vcmRzIiwibGF0IiwibG9uIiwic3RhdGUiLCJBdmFpbGFibGUiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3JNc2ciLCJjb2RlIiwiUEVSTUlTU0lPTl9ERU5JRUQiLCJlbmFibGVIaWdoQWNjdXJhY3kiLCJtYXhpbXVtQWdlIiwidGltZW91dCIsInNldEludGVydmFsIiwid2luZG93IiwiX19nZW9JbnRlcnZhbCIsImdvT2ZmbGluZSIsImNsZWFyV2F0Y2giLCJjbGVhckludGVydmFsIiwiT2ZmbGluZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/features/geo/useGeoStore.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/axios.ts": -/*!*********************************!*\ - !*** ./src/shared/api/axios.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ api: () => (/* binding */ api)\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ \"(ssr)/./node_modules/axios/lib/axios.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst api = axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create({\n baseURL: \"http://127.0.0.1:5000/api\" || 0,\n headers: {\n \"Content-Type\": \"application/json\"\n }\n});\n// Interceptor for adding Auth token\napi.interceptors.request.use((config)=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (token && config.headers) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n console.log(`🚀 Sending request to: ${config.baseURL}${config.url}`);\n return config;\n});\nlet isRefreshing = false;\nlet failedQueue = [];\nconst processQueue = (error, token = null)=>{\n failedQueue.forEach((prom)=>{\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n// Response interceptor for token refresh\napi.interceptors.response.use((response)=>response, async (error)=>{\n const originalRequest = error.config;\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (isRefreshing) {\n return new Promise((resolve, reject)=>{\n failedQueue.push({\n resolve,\n reject\n });\n }).then((token)=>{\n originalRequest.headers.Authorization = `Bearer ${token}`;\n return api(originalRequest);\n }).catch((err)=>Promise.reject(err));\n }\n originalRequest._retry = true;\n isRefreshing = true;\n const refreshToken = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"refreshToken\");\n try {\n const response = await axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post(`${\"http://127.0.0.1:5000/api\" || 0}/auth/refresh`, {\n refreshToken\n });\n const { accessToken, refreshToken: newRefreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", newRefreshToken);\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${accessToken}`;\n processQueue(null, accessToken);\n return api(originalRequest);\n } catch (refreshError) {\n processQueue(refreshError, null);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n if (false) {}\n return Promise.reject(refreshError);\n } finally{\n isRefreshing = false;\n }\n }\n return Promise.reject(error);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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XHNoYXJlZFxcYXBpXFxheGlvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHsgQXhpb3NFcnJvciB9IGZyb20gXCJheGlvc1wiO1xyXG5pbXBvcnQgeyBnZXRDb29raWUsIHNldENvb2tpZSwgZGVsZXRlQ29va2llIH0gZnJvbSBcImNvb2tpZXMtbmV4dFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGFwaSA9IGF4aW9zLmNyZWF0ZSh7XHJcbiAgICBiYXNlVVJMOiBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfVVJMIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo1MDAwL2FwaVwiLFxyXG4gICAgaGVhZGVyczoge1xyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgfSxcclxufSk7XHJcblxyXG4vLyBJbnRlcmNlcHRvciBmb3IgYWRkaW5nIEF1dGggdG9rZW5cclxuYXBpLmludGVyY2VwdG9ycy5yZXF1ZXN0LnVzZSgoY29uZmlnKSA9PiB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGdldENvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgaWYgKHRva2VuICYmIGNvbmZpZy5oZWFkZXJzKSB7XHJcbiAgICAgICAgY29uZmlnLmhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHt0b2tlbn1gO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coYPCfmoAgU2VuZGluZyByZXF1ZXN0IHRvOiAke2NvbmZpZy5iYXNlVVJMfSR7Y29uZmlnLnVybH1gKTtcclxuICAgIHJldHVybiBjb25maWc7XHJcbn0pO1xyXG5cclxubGV0IGlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG5sZXQgZmFpbGVkUXVldWU6IGFueVtdID0gW107XHJcblxyXG5jb25zdCBwcm9jZXNzUXVldWUgPSAoZXJyb3I6IGFueSwgdG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICBmYWlsZWRRdWV1ZS5mb3JFYWNoKChwcm9tKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHByb20ucmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9tLnJlc29sdmUodG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZmFpbGVkUXVldWUgPSBbXTtcclxufTtcclxuXHJcbi8vIFJlc3BvbnNlIGludGVyY2VwdG9yIGZvciB0b2tlbiByZWZyZXNoXHJcbmFwaS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKFxyXG4gICAgKHJlc3BvbnNlKSA9PiByZXNwb25zZSxcclxuICAgIGFzeW5jIChlcnJvcjogQXhpb3NFcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUmVxdWVzdDogYW55ID0gZXJyb3IuY29uZmlnO1xyXG5cclxuICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAxICYmICFvcmlnaW5hbFJlcXVlc3QuX3JldHJ5KSB7XHJcbiAgICAgICAgICAgIGlmIChpc1JlZnJlc2hpbmcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkUXVldWUucHVzaCh7IHJlc29sdmUsIHJlamVjdCB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHRva2VuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsUmVxdWVzdC5oZWFkZXJzLkF1dGhvcml6YXRpb24gPSBgQmVhcmVyICR7dG9rZW59YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IFByb21pc2UucmVqZWN0KGVycikpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBvcmlnaW5hbFJlcXVlc3QuX3JldHJ5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IGdldENvb2tpZShcInJlZnJlc2hUb2tlblwiKTtcclxuXHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7cHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX1VSTCB8fCBcImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9hcGlcIn0vYXV0aC9yZWZyZXNoYCxcclxuICAgICAgICAgICAgICAgICAgICB7IHJlZnJlc2hUb2tlbiB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbjogbmV3UmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcImFjY2Vzc1Rva2VuXCIsIGFjY2Vzc1Rva2VuKTtcclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcInJlZnJlc2hUb2tlblwiLCBuZXdSZWZyZXNoVG9rZW4pO1xyXG5cclxuICAgICAgICAgICAgICAgIGFwaS5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vbltcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7YWNjZXNzVG9rZW59YDtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShudWxsLCBhY2Nlc3NUb2tlbik7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChyZWZyZXNoRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShyZWZyZXNoRXJyb3IsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlQ29va2llKFwiYWNjZXNzVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gXCIvYXV0aC9sb2dpblwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlZnJlc2hFcnJvcik7XHJcbiAgICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgICAgICBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcclxuICAgIH1cclxuKTtcclxuIl0sIm5hbWVzIjpbImF4aW9zIiwiZ2V0Q29va2llIiwic2V0Q29va2llIiwiZGVsZXRlQ29va2llIiwiYXBpIiwiY3JlYXRlIiwiYmFzZVVSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfVVJMIiwiaGVhZGVycyIsImludGVyY2VwdG9ycyIsInJlcXVlc3QiLCJ1c2UiLCJjb25maWciLCJ0b2tlbiIsIkF1dGhvcml6YXRpb24iLCJjb25zb2xlIiwibG9nIiwidXJsIiwiaXNSZWZyZXNoaW5nIiwiZmFpbGVkUXVldWUiLCJwcm9jZXNzUXVldWUiLCJlcnJvciIsImZvckVhY2giLCJwcm9tIiwicmVqZWN0IiwicmVzb2x2ZSIsInJlc3BvbnNlIiwib3JpZ2luYWxSZXF1ZXN0Iiwic3RhdHVzIiwiX3JldHJ5IiwiUHJvbWlzZSIsInB1c2giLCJ0aGVuIiwiY2F0Y2giLCJlcnIiLCJyZWZyZXNoVG9rZW4iLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJuZXdSZWZyZXNoVG9rZW4iLCJkYXRhIiwiZGVmYXVsdHMiLCJjb21tb24iLCJyZWZyZXNoRXJyb3IiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/axios.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/geo.ts": -/*!*******************************!*\ - !*** ./src/shared/api/geo.ts ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PerformerState: () => (/* binding */ PerformerState),\n/* harmony export */ searchNearby: () => (/* binding */ searchNearby),\n/* harmony export */ updateGeoStatus: () => (/* binding */ updateGeoStatus)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n// --- Типы ---\n/** Статус исполнителя на карте */ var PerformerState = /*#__PURE__*/ function(PerformerState) {\n PerformerState[PerformerState[\"Offline\"] = 0] = \"Offline\";\n PerformerState[PerformerState[\"Available\"] = 1] = \"Available\";\n PerformerState[PerformerState[\"OnJob\"] = 2] = \"OnJob\";\n return PerformerState;\n}({});\n// --- API-вызовы ---\n/**\r\n * PATCH /api/geo/status — Обновить геопозицию и статус исполнителя.\r\n * Вызывается каждые 10-15 секунд при активном тумблере «На линии».\r\n */ const updateGeoStatus = async (payload)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.patch(\"/geo/status\", payload);\n};\n/**\r\n * GET /api/geo/nearby — Поиск доступных исполнителей в радиусе.\r\n * @param lat - Широта центра\r\n * @param lon - Долгота центра\r\n * @param radius - Радиус в метрах\r\n */ const searchNearby = async (lat, lon, radius)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/geo/nearby\", {\n params: {\n lat,\n lon,\n radius\n }\n });\n return response.data;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9nZW8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QjtBQUU5QixlQUFlO0FBRWYsZ0NBQWdDLEdBQ3pCLDRDQUFLQzs7OztXQUFBQTtNQUlYO0FBaUJELHFCQUFxQjtBQUVyQjs7O0NBR0MsR0FDTSxNQUFNQyxrQkFBa0IsT0FBT0M7SUFDbEMsTUFBTUgsdUNBQUdBLENBQUNJLEtBQUssQ0FBQyxlQUFlRDtBQUNuQyxFQUFFO0FBRUY7Ozs7O0NBS0MsR0FDTSxNQUFNRSxlQUFlLE9BQ3hCQyxLQUNBQyxLQUNBQztJQUVBLE1BQU1DLFdBQVcsTUFBTVQsdUNBQUdBLENBQUNVLEdBQUcsQ0FBb0IsZUFBZTtRQUM3REMsUUFBUTtZQUFFTDtZQUFLQztZQUFLQztRQUFPO0lBQy9CO0lBQ0EsT0FBT0MsU0FBU0csSUFBSTtBQUN4QixFQUFFIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGFwaVxcZ2VvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCI7XHJcblxyXG4vLyAtLS0g0KLQuNC/0YsgLS0tXHJcblxyXG4vKiog0KHRgtCw0YLRg9GBINC40YHQv9C+0LvQvdC40YLQtdC70Y8g0L3QsCDQutCw0YDRgtC1ICovXHJcbmV4cG9ydCBlbnVtIFBlcmZvcm1lclN0YXRlIHtcclxuICAgIE9mZmxpbmUgPSAwLFxyXG4gICAgQXZhaWxhYmxlID0gMSxcclxuICAgIE9uSm9iID0gMixcclxufVxyXG5cclxuLyoqINCX0LDQv9GA0L7RgSDQvdCwINC+0LHQvdC+0LLQu9C10L3QuNC1INGB0YLQsNGC0YPRgdCwICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlU3RhdHVzUGF5bG9hZCB7XHJcbiAgICBwZXJmb3JtZXJJZDogc3RyaW5nO1xyXG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcclxuICAgIGxvbmdpdHVkZTogbnVtYmVyO1xyXG4gICAgc3RhdGU6IFBlcmZvcm1lclN0YXRlO1xyXG59XHJcblxyXG4vKiog0JHQu9C40LbQsNC50YjQuNC5INC40YHQv9C+0LvQvdC40YLQtdC70YwgKNC+0YLQstC10YIg0L7RgiBBUEkpICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmVhcmJ5UGVyZm9ybWVyIHtcclxuICAgIHBlcmZvcm1lcklkOiBzdHJpbmc7XHJcbiAgICBsYXRpdHVkZTogbnVtYmVyO1xyXG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIC0tLSBBUEkt0LLRi9C30L7QstGLIC0tLVxyXG5cclxuLyoqXHJcbiAqIFBBVENIIC9hcGkvZ2VvL3N0YXR1cyDigJQg0J7QsdC90L7QstC40YLRjCDQs9C10L7Qv9C+0LfQuNGG0LjRjiDQuCDRgdGC0LDRgtGD0YEg0LjRgdC/0L7Qu9C90LjRgtC10LvRjy5cclxuICog0JLRi9C30YvQstCw0LXRgtGB0Y8g0LrQsNC20LTRi9C1IDEwLTE1INGB0LXQutGD0L3QtCDQv9GA0Lgg0LDQutGC0LjQstC90L7QvCDRgtGD0LzQsdC70LXRgNC1IMKr0J3QsCDQu9C40L3QuNC4wrsuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdXBkYXRlR2VvU3RhdHVzID0gYXN5bmMgKHBheWxvYWQ6IFVwZGF0ZVN0YXR1c1BheWxvYWQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgIGF3YWl0IGFwaS5wYXRjaChcIi9nZW8vc3RhdHVzXCIsIHBheWxvYWQpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEdFVCAvYXBpL2dlby9uZWFyYnkg4oCUINCf0L7QuNGB0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC40YHQv9C+0LvQvdC40YLQtdC70LXQuSDQsiDRgNCw0LTQuNGD0YHQtS5cclxuICogQHBhcmFtIGxhdCAtINCo0LjRgNC+0YLQsCDRhtC10L3RgtGA0LBcclxuICogQHBhcmFtIGxvbiAtINCU0L7Qu9Cz0L7RgtCwINGG0LXQvdGC0YDQsFxyXG4gKiBAcGFyYW0gcmFkaXVzIC0g0KDQsNC00LjRg9GBINCyINC80LXRgtGA0LDRhVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNlYXJjaE5lYXJieSA9IGFzeW5jIChcclxuICAgIGxhdDogbnVtYmVyLFxyXG4gICAgbG9uOiBudW1iZXIsXHJcbiAgICByYWRpdXM6IG51bWJlclxyXG4pOiBQcm9taXNlPE5lYXJieVBlcmZvcm1lcltdPiA9PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQ8TmVhcmJ5UGVyZm9ybWVyW10+KFwiL2dlby9uZWFyYnlcIiwge1xyXG4gICAgICAgIHBhcmFtczogeyBsYXQsIGxvbiwgcmFkaXVzIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xyXG59O1xyXG4iXSwibmFtZXMiOlsiYXBpIiwiUGVyZm9ybWVyU3RhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJwYXlsb2FkIiwicGF0Y2giLCJzZWFyY2hOZWFyYnkiLCJsYXQiLCJsb24iLCJyYWRpdXMiLCJyZXNwb25zZSIsImdldCIsInBhcmFtcyIsImRhdGEiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/geo.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/lib/utils.ts": -/*!*********************************!*\ - !*** ./src/shared/lib/utils.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn),\n/* harmony export */ formatPhoneNumber: () => (/* binding */ formatPhoneNumber)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\nfunction formatPhoneNumber(phone) {\n if (!phone) return \"—\";\n // Remove all non-digits\n const cleaned = phone.replace(/\\D/g, \"\");\n // Check if it's a Russian number (+7 or 8)\n if (cleaned.length === 11) {\n const country = cleaned[0] === \"8\" ? \"8\" : \"+7\";\n return `${country} (${cleaned.slice(1, 4)}) ${cleaned.slice(4, 7)}-${cleaned.slice(7, 9)}-${cleaned.slice(9, 11)}`;\n }\n return phone;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRDO0FBQ0o7QUFFakMsU0FBU0UsR0FBRyxHQUFHQyxNQUFvQjtJQUN0QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3hCO0FBRU8sU0FBU0Msa0JBQWtCQyxLQUF5QjtJQUN2RCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUVuQix3QkFBd0I7SUFDeEIsTUFBTUMsVUFBVUQsTUFBTUUsT0FBTyxDQUFDLE9BQU87SUFFckMsMkNBQTJDO0lBQzNDLElBQUlELFFBQVFFLE1BQU0sS0FBSyxJQUFJO1FBQ3ZCLE1BQU1DLFVBQVVILE9BQU8sQ0FBQyxFQUFFLEtBQUssTUFBTSxNQUFNO1FBQzNDLE9BQU8sR0FBR0csUUFBUSxFQUFFLEVBQUVILFFBQVFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFSixRQUFRSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRUosUUFBUUksS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUVKLFFBQVFJLEtBQUssQ0FBQyxHQUFHLEtBQUs7SUFDdEg7SUFFQSxPQUFPTDtBQUNYIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGxpYlxcdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSBcImNsc3hcIlxyXG5pbXBvcnQgeyB0d01lcmdlIH0gZnJvbSBcInRhaWx3aW5kLW1lcmdlXCJcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjbiguLi5pbnB1dHM6IENsYXNzVmFsdWVbXSkge1xyXG4gICAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UGhvbmVOdW1iZXIocGhvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gXCLigJRcIjtcclxuXHJcbiAgICAvLyBSZW1vdmUgYWxsIG5vbi1kaWdpdHNcclxuICAgIGNvbnN0IGNsZWFuZWQgPSBwaG9uZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgaXQncyBhIFJ1c3NpYW4gbnVtYmVyICgrNyBvciA4KVxyXG4gICAgaWYgKGNsZWFuZWQubGVuZ3RoID09PSAxMSkge1xyXG4gICAgICAgIGNvbnN0IGNvdW50cnkgPSBjbGVhbmVkWzBdID09PSBcIjhcIiA/IFwiOFwiIDogXCIrN1wiO1xyXG4gICAgICAgIHJldHVybiBgJHtjb3VudHJ5fSAoJHtjbGVhbmVkLnNsaWNlKDEsIDQpfSkgJHtjbGVhbmVkLnNsaWNlKDQsIDcpfS0ke2NsZWFuZWQuc2xpY2UoNywgOSl9LSR7Y2xlYW5lZC5zbGljZSg5LCAxMSl9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGhvbmU7XHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiLCJmb3JtYXRQaG9uZU51bWJlciIsInBob25lIiwiY2xlYW5lZCIsInJlcGxhY2UiLCJsZW5ndGgiLCJjb3VudHJ5Iiwic2xpY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: () => (/* binding */ Header)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/theme/mode-toggle */ \"(ssr)/./src/components/theme/mode-toggle.tsx\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_switch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/switch */ \"(ssr)/./src/components/ui/switch.tsx\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/search.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/briefcase.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/log-out.js\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/features/geo/useGeoStore */ \"(ssr)/./src/features/geo/useGeoStore.ts\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \n\n\n\n\n\n\n\n\nfunction Header() {\n const { isAuth, user, logout } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_6__.useSessionStore)();\n const { isOnline, isUpdating, error: geoError, goOnline, goOffline } = (0,_features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__.useGeoStore)();\n // Проверяем, является ли пользователь исполнителем или компанией\n const isMasterOrCompany = user?.roles?.includes(\"Candidate\") || user?.roles?.includes(\"Company\") || user?.roles?.includes(\"Master\");\n /** Обработчик переключения тумблера «На линии» */ const handleToggleOnline = (checked)=>{\n if (!user?.id) return;\n if (checked) {\n goOnline(user.id);\n } else {\n goOffline(user.id);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container mx-auto flex h-16 items-center justify-between px-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n className: \"flex items-center space-x-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl font-black tracking-tight text-blue-600 dark:text-blue-500\",\n children: \"Nashel\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 42,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 41,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"hidden md:flex gap-6 items-center text-sm font-medium transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/search\",\n className: \"flex items-center gap-2 hover:text-blue-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 51,\n columnNumber: 29\n }, this),\n \"Поиск\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 47,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"hover:text-blue-600\",\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 54,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 46,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 40,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n isAuth && isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden sm:flex items-center gap-2 mr-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: `h-4 w-4 transition-colors ${isOnline ? \"text-green-500\" : \"text-muted-foreground\"}`\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 67,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_switch__WEBPACK_IMPORTED_MODULE_4__.Switch, {\n id: \"geo-online-toggle\",\n checked: isOnline,\n onCheckedChange: handleToggleOnline,\n disabled: isUpdating\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 68,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"geo-online-toggle\",\n className: `text-xs font-medium cursor-pointer select-none transition-colors ${isOnline ? \"text-green-600 dark:text-green-400\" : \"text-muted-foreground\"}`,\n children: isOnline ? \"Готов к заказу\" : \"Офлайн\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 74,\n columnNumber: 29\n }, this),\n geoError && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-red-500 max-w-[120px] truncate\",\n title: geoError,\n children: geoError\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 81,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 66,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__.ModeToggle, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, this),\n isAuth ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n className: \"hidden sm:flex items-center gap-2 focus-visible:ring-0 focus-visible:ring-offset-0 focus:outline-none focus:ring-0 outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 93,\n columnNumber: 37\n }, this),\n user?.roles?.includes(\"Company\") && user?.companyName ? user.companyName : user?.firstName && user?.lastName ? `${user.firstName} ${user.lastName}` : \"Профиль\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 92,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 91,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuContent, {\n align: \"end\",\n className: \"w-56\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuLabel, {\n children: \"Мой аккаунт\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 100,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 101,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/profile\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 104,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Профиль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 105,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 103,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 102,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 110,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 111,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 109,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 108,\n columnNumber: 33\n }, this),\n isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/offers\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 117,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 118,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 116,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 115,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 122,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n className: \"text-destructive focus:text-destructive cursor-pointer\",\n onClick: ()=>logout(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 124,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Выйти из аккаунта\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 125,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 123,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 99,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 90,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n asChild: true,\n className: \"hidden sm:flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/auth/login\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 132,\n columnNumber: 33\n }, this),\n \"Войти\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 131,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 130,\n columnNumber: 25\n }, this),\n isMasterOrCompany ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n children: \"Подобрать заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 139,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 138,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/become-performer\",\n children: \"Стать исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 145,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 144,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 63,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 39,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FDaEUsNEVBQUM1QyxrREFBSUE7Z0NBQUNvQyxNQUFLOzBDQUE4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNyRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcd2lkZ2V0c1xcSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiXHJcbmltcG9ydCB7IE1vZGVUb2dnbGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL21vZGUtdG9nZ2xlXCJcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxyXG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3N3aXRjaFwiXHJcbmltcG9ydCB7IFNlYXJjaCwgVXNlciwgTG9nT3V0LCBCcmllZmNhc2UsIE1hcFBpbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5pbXBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51Q29udGVudCxcclxuICAgIERyb3Bkb3duTWVudUl0ZW0sXHJcbiAgICBEcm9wZG93bk1lbnVMYWJlbCxcclxuICAgIERyb3Bkb3duTWVudVNlcGFyYXRvcixcclxuICAgIERyb3Bkb3duTWVudVRyaWdnZXIsXHJcbn0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51XCJcclxuXHJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxyXG5pbXBvcnQgeyB1c2VHZW9TdG9yZSB9IGZyb20gXCJAL2ZlYXR1cmVzL2dlby91c2VHZW9TdG9yZVwiXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSGVhZGVyKCkge1xyXG4gICAgY29uc3QgeyBpc0F1dGgsIHVzZXIsIGxvZ291dCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcclxuICAgIGNvbnN0IHsgaXNPbmxpbmUsIGlzVXBkYXRpbmcsIGVycm9yOiBnZW9FcnJvciwgZ29PbmxpbmUsIGdvT2ZmbGluZSB9ID0gdXNlR2VvU3RvcmUoKVxyXG5cclxuICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQuNGB0L/QvtC70L3QuNGC0LXQu9C10Lwg0LjQu9C4INC60L7QvNC/0LDQvdC40LXQuVxyXG4gICAgY29uc3QgaXNNYXN0ZXJPckNvbXBhbnkgPSB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDYW5kaWRhdGVcIikgfHwgdXNlcj8ucm9sZXM/LmluY2x1ZGVzKFwiQ29tcGFueVwiKSB8fCB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJNYXN0ZXJcIilcclxuXHJcbiAgICAvKiog0J7QsdGA0LDQsdC+0YLRh9C40Log0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINGC0YPQvNCx0LvQtdGA0LAgwqvQndCwINC70LjQvdC40LjCuyAqL1xyXG4gICAgY29uc3QgaGFuZGxlVG9nZ2xlT25saW5lID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoIXVzZXI/LmlkKSByZXR1cm5cclxuICAgICAgICBpZiAoY2hlY2tlZCkge1xyXG4gICAgICAgICAgICBnb09ubGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGdvT2ZmbGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwic3RpY2t5IHRvcC0wIHotNTAgdy1mdWxsIGJvcmRlci1iIGJnLWJhY2tncm91bmQvOTUgYmFja2Ryb3AtYmx1ciBzdXBwb3J0cy1bYmFja2Ryb3AtZmlsdGVyXTpiZy1iYWNrZ3JvdW5kLzYwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG14LWF1dG8gZmxleCBoLTE2IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYmxhY2sgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTYwMCBkYXJrOnRleHQtYmx1ZS01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hc2hlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuYXYgY2xhc3NOYW1lPVwiaGlkZGVuIG1kOmZsZXggZ2FwLTYgaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1jb2xvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvc2VhcmNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGhvdmVyOnRleHQtYmx1ZS02MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC40YHQulxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL29yZGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJob3Zlcjp0ZXh0LWJsdWUtNjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0JzQvtC4INC30LDQutCw0LfRi1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCi0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsg4oCUINCy0LjQtNC10L0g0YLQvtC70YzQutC+INC40YHQv9C+0LvQvdC40YLQtdC70Y/QvC/QutC+0LzQv9Cw0L3QuNGP0LwgKi99XHJcbiAgICAgICAgICAgICAgICAgICAge2lzQXV0aCAmJiBpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIHNtOmZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1yLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBQaW4gY2xhc3NOYW1lPXtgaC00IHctNCB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTUwMFwiIDogXCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIn1gfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZ2VvLW9ubGluZS10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2lzT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17aGFuZGxlVG9nZ2xlT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1VwZGF0aW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9XCJnZW8tb25saW5lLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdGV4dC14cyBmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTYwMCBkYXJrOnRleHQtZ3JlZW4tNDAwXCIgOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwifWB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzT25saW5lID8gXCLQk9C+0YLQvtCyINC6INC30LDQutCw0LfRg1wiIDogXCLQntGE0LvQsNC50L1cIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3IgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1yZWQtNTAwIG1heC13LVsxMjBweF0gdHJ1bmNhdGVcIiB0aXRsZT17Z2VvRXJyb3J9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3J9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPE1vZGVUb2dnbGUgLz5cclxuICAgICAgICAgICAgICAgICAgICB7aXNBdXRoID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVRyaWdnZXIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzTmFtZT1cImhpZGRlbiBzbTpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBmb2N1cy12aXNpYmxlOnJpbmctMCBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMCBvdXRsaW5lLW5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDb21wYW55XCIpICYmIHVzZXI/LmNvbXBhbnlOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHVzZXIuY29tcGFueU5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKHVzZXI/LmZpcnN0TmFtZSAmJiB1c2VyPy5sYXN0TmFtZSA/IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YCA6IFwi0J/RgNC+0YTQuNC70YxcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51Q29udGVudCBhbGlnbj1cImVuZFwiIGNsYXNzTmFtZT1cInctNTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51TGFiZWw+0JzQvtC5INCw0LrQutCw0YPQvdGCPC9Ecm9wZG93bk1lbnVMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51U2VwYXJhdG9yIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9kYXNoYm9hcmQvcHJvZmlsZVwiIGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyIHctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwibXItMiBoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPtCf0YDQvtGE0LjQu9GMPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvb3JkZXJzXCIgY2xhc3NOYW1lPVwiY3Vyc29yLXBvaW50ZXIgdy1mdWxsIGZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QnNC+0Lgg0LfQsNC60LDQt9GLPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2Rhc2hib2FyZC9vZmZlcnNcIiBjbGFzc05hbWU9XCJjdXJzb3ItcG9pbnRlciB3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnJpZWZjYXNlIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0JzQvtC4INGD0YHQu9GD0LPQuDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVNlcGFyYXRvciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGNsYXNzTmFtZT1cInRleHQtZGVzdHJ1Y3RpdmUgZm9jdXM6dGV4dC1kZXN0cnVjdGl2ZSBjdXJzb3ItcG9pbnRlclwiIG9uQ2xpY2s9eygpID0+IGxvZ291dCgpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExvZ091dCBjbGFzc05hbWU9XCJtci0yIGgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QktGL0LnRgtC4INC40Lcg0LDQutC60LDRg9C90YLQsDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImdob3N0XCIgYXNDaGlsZCBjbGFzc05hbWU9XCJoaWRkZW4gc206ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvYXV0aC9sb2dpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVc2VyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCS0L7QudGC0LhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7aXNNYXN0ZXJPckNvbXBhbnkgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgdGV4dC13aGl0ZVwiIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL29yZGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNC+0LHRgNCw0YLRjCDQt9Cw0LrQsNC30YtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlXCIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvZGFzaGJvYXJkL2JlY29tZS1wZXJmb3JtZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodGC0LDRgtGMINC40YHQv9C+0LvQvdC40YLQtdC70LXQvFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJMaW5rIiwiTW9kZVRvZ2dsZSIsIkJ1dHRvbiIsIlN3aXRjaCIsIlNlYXJjaCIsIlVzZXIiLCJMb2dPdXQiLCJCcmllZmNhc2UiLCJNYXBQaW4iLCJEcm9wZG93bk1lbnUiLCJEcm9wZG93bk1lbnVDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkRyb3Bkb3duTWVudUxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiRHJvcGRvd25NZW51VHJpZ2dlciIsInVzZVNlc3Npb25TdG9yZSIsInVzZUdlb1N0b3JlIiwiSGVhZGVyIiwiaXNBdXRoIiwidXNlciIsImxvZ291dCIsImlzT25saW5lIiwiaXNVcGRhdGluZyIsImVycm9yIiwiZ2VvRXJyb3IiLCJnb09ubGluZSIsImdvT2ZmbGluZSIsImlzTWFzdGVyT3JDb21wYW55Iiwicm9sZXMiLCJpbmNsdWRlcyIsImhhbmRsZVRvZ2dsZU9ubGluZSIsImNoZWNrZWQiLCJpZCIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsImhyZWYiLCJzcGFuIiwibmF2Iiwib25DaGVja2VkQ2hhbmdlIiwiZGlzYWJsZWQiLCJsYWJlbCIsImh0bWxGb3IiLCJ0aXRsZSIsImFzQ2hpbGQiLCJ2YXJpYW50IiwiY29tcGFueU5hbWUiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/widgets/Header.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/globals.css": -/*!*****************************!*\ - !*** ./src/app/globals.css ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"96c14632c738\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXGdsb2JhbHMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOTZjMTQ2MzJjNzM4XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/layout.tsx": -/*!****************************!*\ - !*** ./src/app/layout.tsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src\\\\\\\\app\\\\\\\\layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\",\\\"cyrillic\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n/* harmony import */ var leaflet_dist_leaflet_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! leaflet/dist/leaflet.css */ \"(rsc)/./node_modules/leaflet/dist/leaflet.css\");\n/* harmony import */ var _components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/theme/theme-provider */ \"(rsc)/./src/components/theme/theme-provider.tsx\");\n/* harmony import */ var _widgets_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/widgets/Header */ \"(rsc)/./src/widgets/Header.tsx\");\n/* harmony import */ var _components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/sonner */ \"(rsc)/./src/components/ui/sonner.tsx\");\n/* harmony import */ var _components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/auth/AuthProvider */ \"(rsc)/./src/components/auth/AuthProvider.tsx\");\n\n\n\n\n\n\n\n\nconst metadata = {\n title: \"Nashel - Маркетплейс услуг\",\n description: \"Найди мастера за 60 минут\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"ru\",\n suppressHydrationWarning: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: `${(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default().className)} min-h-screen bg-background text-foreground antialiased`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__.ThemeProvider, {\n attribute: \"class\",\n defaultTheme: \"system\",\n enableSystem: true,\n disableTransitionOnChange: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__.AuthProvider, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex min-h-screen flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_widgets_Header__WEBPACK_IMPORTED_MODULE_4__.Header, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 34,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 32,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__.Toaster, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 36,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 31,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 25,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQVNNQTtBQVBpQjtBQUNXO0FBQ2dDO0FBQ3hCO0FBQ087QUFDYTtBQUl2RCxNQUFNSyxXQUFxQjtJQUM5QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2pCLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQy9CQyxRQUFRLEVBR1Y7SUFDRSxxQkFDSSw4REFBQ0M7UUFBS0MsTUFBSztRQUFLQyx3QkFBd0I7a0JBQ3BDLDRFQUFDQztZQUFLQyxXQUFXLEdBQUdkLHdLQUFlLENBQUMsdURBQXVELENBQUM7c0JBQ3hGLDRFQUFDQywyRUFBYUE7Z0JBQ1ZjLFdBQVU7Z0JBQ1ZDLGNBQWE7Z0JBQ2JDLFlBQVk7Z0JBQ1pDLHlCQUF5QjswQkFFekIsNEVBQUNkLHVFQUFZQTs7c0NBQ1QsOERBQUNlOzRCQUFJTCxXQUFVOzs4Q0FDWCw4REFBQ1osbURBQU1BOzs7Ozs4Q0FDUCw4REFBQ2tCO29DQUFLTixXQUFVOzhDQUFVTDs7Ozs7Ozs7Ozs7O3NDQUU5Qiw4REFBQ04sMERBQU9BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1oQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcYXBwXFxsYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tIFwibmV4dFwiO1xyXG5pbXBvcnQgeyBJbnRlciB9IGZyb20gXCJuZXh0L2ZvbnQvZ29vZ2xlXCI7XHJcbmltcG9ydCBcIi4vZ2xvYmFscy5jc3NcIjtcclxuaW1wb3J0IFwibGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzXCI7XHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL3RoZW1lLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL3dpZGdldHMvSGVhZGVyXCI7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3Nvbm5lclwiO1xyXG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL2F1dGgvQXV0aFByb3ZpZGVyXCI7XHJcblxyXG5jb25zdCBpbnRlciA9IEludGVyKHsgc3Vic2V0czogW1wibGF0aW5cIiwgXCJjeXJpbGxpY1wiXSB9KTtcclxuXHJcbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XHJcbiAgICB0aXRsZTogXCJOYXNoZWwgLSDQnNCw0YDQutC10YLQv9C70LXQudGBINGD0YHQu9GD0LNcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcItCd0LDQudC00Lgg0LzQsNGB0YLQtdGA0LAg0LfQsCA2MCDQvNC40L3Rg9GCXCIsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSb290TGF5b3V0KHtcclxuICAgIGNoaWxkcmVuLFxyXG59OiBSZWFkb25seTx7XHJcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xyXG59Pikge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8aHRtbCBsYW5nPVwicnVcIiBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc+XHJcbiAgICAgICAgICAgIDxib2R5IGNsYXNzTmFtZT17YCR7aW50ZXIuY2xhc3NOYW1lfSBtaW4taC1zY3JlZW4gYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQgYW50aWFsaWFzZWRgfT5cclxuICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlPVwiY2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRUaGVtZT1cInN5c3RlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlU3lzdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVRyYW5zaXRpb25PbkNoYW5nZVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxBdXRoUHJvdmlkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgZmxleCBtaW4taC1zY3JlZW4gZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkZXIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9hc3RlciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQXV0aFByb3ZpZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxyXG4gICAgICAgICAgICA8L2JvZHk+XHJcbiAgICAgICAgPC9odG1sPlxyXG4gICAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsiaW50ZXIiLCJUaGVtZVByb3ZpZGVyIiwiSGVhZGVyIiwiVG9hc3RlciIsIkF1dGhQcm92aWRlciIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiwiYm9keSIsImNsYXNzTmFtZSIsImF0dHJpYnV0ZSIsImRlZmF1bHRUaGVtZSIsImVuYWJsZVN5c3RlbSIsImRpc2FibGVUcmFuc2l0aW9uT25DaGFuZ2UiLCJkaXYiLCJtYWluIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/page.tsx": -/*!**************************!*\ - !*** ./src/app/page.tsx ***! - \**************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Home)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/ui/button */ \"(rsc)/./src/components/ui/button.tsx\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(rsc)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _barrel_optimize_names_ArrowRight_CheckCircle2_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowRight,CheckCircle2!=!lucide-react */ \"(rsc)/./node_modules/lucide-react/dist/esm/icons/arrow-right.js\");\n/* harmony import */ var _barrel_optimize_names_ArrowRight_CheckCircle2_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=ArrowRight,CheckCircle2!=!lucide-react */ \"(rsc)/./node_modules/lucide-react/dist/esm/icons/circle-check.js\");\n/* harmony import */ var _components_home_PerformerButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/home/PerformerButton */ \"(rsc)/./src/components/home/PerformerButton.tsx\");\n\n\n\n\n\nfunction Home() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col min-h-[calc(100-4rem)]\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"relative overflow-hidden pt-16 pb-24 lg:pt-32 lg:pb-40\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container px-4 mx-auto relative z-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-3xl mx-auto text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-4xl font-extrabold tracking-tight sm:text-6xl md:text-7xl mb-8\",\n children: [\n \"Найди мастера за \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-blue-600\",\n children: \"60 минут\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 14,\n columnNumber: 46\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 13,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xl text-muted-foreground mb-10 max-w-2xl mx-auto\",\n children: \"Сантехники, электрики и трактористы рядом с вами. Проверенные специалисты для любых задач с гарантией качества.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 16,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col sm:flex-row items-center justify-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_1__.Button, {\n asChild: true,\n size: \"lg\",\n className: \"h-14 px-8 text-lg bg-blue-600 hover:bg-blue-700 text-white shadow-lg shadow-blue-600/20\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: \"/search\",\n className: \"flex items-center gap-2\",\n children: [\n \"Найти исполнителя\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowRight_CheckCircle2_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 24,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 22,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 21,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_home_PerformerButton__WEBPACK_IMPORTED_MODULE_3__.PerformerButton, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 27,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 20,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-12 flex flex-wrap justify-center gap-6 text-sm text-muted-foreground font-medium\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowRight_CheckCircle2_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-5 w-5 text-green-500\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 32,\n columnNumber: 33\n }, this),\n \"Проверенные мастера\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 31,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowRight_CheckCircle2_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-5 w-5 text-green-500\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 36,\n columnNumber: 33\n }, this),\n \"Безопасная оплата\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 35,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ArrowRight_CheckCircle2_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-5 w-5 text-green-500\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 40,\n columnNumber: 33\n }, this),\n \"Поддержка 24/7\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 39,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 30,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 12,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 11,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-0 -z-10 h-full w-full bg-white dark:bg-zinc-950\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-auto left-auto right-0 top-0 h-[500px] w-[500px] -translate-x-[30%] translate-y-[20%] rounded-full bg-[rgba(37,99,235,0.1)] opacity-50 blur-[80px]\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 49,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-0 left-0 right-auto top-auto h-[500px] w-[500px] translate-x-[30%] -translate-y-[20%] rounded-full bg-[rgba(37,99,235,0.1)] opacity-50 blur-[80px]\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 50,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 48,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 10,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\page.tsx\",\n lineNumber: 8,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL3BhZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBK0M7QUFDbkI7QUFDMkI7QUFDWTtBQUVwRCxTQUFTSztJQUNwQixxQkFDSSw4REFBQ0M7UUFBSUMsV0FBVTtrQkFFWCw0RUFBQ0M7WUFBUUQsV0FBVTs7OEJBQ2YsOERBQUNEO29CQUFJQyxXQUFVOzhCQUNYLDRFQUFDRDt3QkFBSUMsV0FBVTs7MENBQ1gsOERBQUNFO2dDQUFHRixXQUFVOztvQ0FBc0U7a0RBQy9ELDhEQUFDRzt3Q0FBS0gsV0FBVTtrREFBZ0I7Ozs7Ozs7Ozs7OzswQ0FFckQsOERBQUNJO2dDQUFFSixXQUFVOzBDQUF3RDs7Ozs7OzBDQUlyRSw4REFBQ0Q7Z0NBQUlDLFdBQVU7O2tEQUNYLDhEQUFDUCx5REFBTUE7d0NBQUNZLE9BQU87d0NBQUNDLE1BQUs7d0NBQUtOLFdBQVU7a0RBQ2hDLDRFQUFDTixrREFBSUE7NENBQUNhLE1BQUs7NENBQVVQLFdBQVU7O2dEQUEwQjs4REFFckQsOERBQUNMLG1HQUFVQTtvREFBQ0ssV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7a0RBRzlCLDhEQUFDSCw2RUFBZUE7Ozs7Ozs7Ozs7OzBDQUdwQiw4REFBQ0U7Z0NBQUlDLFdBQVU7O2tEQUNYLDhEQUFDRDt3Q0FBSUMsV0FBVTs7MERBQ1gsOERBQUNKLG1HQUFZQTtnREFBQ0ksV0FBVTs7Ozs7OzRDQUEyQjs7Ozs7OztrREFHdkQsOERBQUNEO3dDQUFJQyxXQUFVOzswREFDWCw4REFBQ0osbUdBQVlBO2dEQUFDSSxXQUFVOzs7Ozs7NENBQTJCOzs7Ozs7O2tEQUd2RCw4REFBQ0Q7d0NBQUlDLFdBQVU7OzBEQUNYLDhEQUFDSixtR0FBWUE7Z0RBQUNJLFdBQVU7Ozs7Ozs0Q0FBMkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFRbkUsOERBQUNEO29CQUFJQyxXQUFVOztzQ0FDWCw4REFBQ0Q7NEJBQUlDLFdBQVU7Ozs7OztzQ0FDZiw4REFBQ0Q7NEJBQUlDLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS25DIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXHBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCJcclxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiXHJcbmltcG9ydCB7IEFycm93UmlnaHQsIENoZWNrQ2lyY2xlMiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5pbXBvcnQgeyBQZXJmb3JtZXJCdXR0b24gfSBmcm9tIFwiQC9jb21wb25lbnRzL2hvbWUvUGVyZm9ybWVyQnV0dG9uXCJcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEhvbWUoKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBtaW4taC1bY2FsYygxMDAtNHJlbSldXCI+XHJcbiAgICAgICAgICAgIHsvKiBIZXJvIFNlY3Rpb24gKi99XHJcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBwdC0xNiBwYi0yNCBsZzpwdC0zMiBsZzpwYi00MFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXIgcHgtNCBteC1hdXRvIHJlbGF0aXZlIHotMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTN4bCBteC1hdXRvIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTR4bCBmb250LWV4dHJhYm9sZCB0cmFja2luZy10aWdodCBzbTp0ZXh0LTZ4bCBtZDp0ZXh0LTd4bCBtYi04XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDQndCw0LnQtNC4INC80LDRgdGC0LXRgNCwINC30LAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ibHVlLTYwMFwiPjYwINC80LjQvdGD0YI8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDE+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteGwgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG1iLTEwIG1heC13LTJ4bCBteC1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodCw0L3RgtC10YXQvdC40LrQuCwg0Y3Qu9C10LrRgtGA0LjQutC4INC4INGC0YDQsNC60YLQvtGA0LjRgdGC0Ysg0YDRj9C00L7QvCDRgSDQstCw0LzQuC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0YDQvtCy0LXRgNC10L3QvdGL0LUg0YHQv9C10YbQuNCw0LvQuNGB0YLRiyDQtNC70Y8g0LvRjtCx0YvRhSDQt9Cw0LTQsNGHINGBINCz0LDRgNCw0L3RgtC40LXQuSDQutCw0YfQtdGB0YLQstCwLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBzbTpmbGV4LXJvdyBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gYXNDaGlsZCBzaXplPVwibGdcIiBjbGFzc05hbWU9XCJoLTE0IHB4LTggdGV4dC1sZyBiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlIHNoYWRvdy1sZyBzaGFkb3ctYmx1ZS02MDAvMjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL3NlYXJjaFwiIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCd0LDQudGC0Lgg0LjRgdC/0L7Qu9C90LjRgtC10LvRj1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QXJyb3dSaWdodCBjbGFzc05hbWU9XCJoLTUgdy01XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQZXJmb3JtZXJCdXR0b24gLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm10LTEyIGZsZXggZmxleC13cmFwIGp1c3RpZnktY2VudGVyIGdhcC02IHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvbnQtbWVkaXVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlMiBjbGFzc05hbWU9XCJoLTUgdy01IHRleHQtZ3JlZW4tNTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQn9GA0L7QstC10YDQtdC90L3Ri9C1INC80LDRgdGC0LXRgNCwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hlY2tDaXJjbGUyIGNsYXNzTmFtZT1cImgtNSB3LTUgdGV4dC1ncmVlbi01MDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCR0LXQt9C+0L/QsNGB0L3QsNGPINC+0L/Qu9Cw0YLQsFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlMiBjbGFzc05hbWU9XCJoLTUgdy01IHRleHQtZ3JlZW4tNTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQn9C+0LTQtNC10YDQttC60LAgMjQvN1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgey8qIEJhY2tncm91bmQgZ3JhZGllbnQgYmx1ciAqL31cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgdG9wLTAgLXotMTAgaC1mdWxsIHctZnVsbCBiZy13aGl0ZSBkYXJrOmJnLXppbmMtOTUwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tYXV0byBsZWZ0LWF1dG8gcmlnaHQtMCB0b3AtMCBoLVs1MDBweF0gdy1bNTAwcHhdIC10cmFuc2xhdGUteC1bMzAlXSB0cmFuc2xhdGUteS1bMjAlXSByb3VuZGVkLWZ1bGwgYmctW3JnYmEoMzcsOTksMjM1LDAuMSldIG9wYWNpdHktNTAgYmx1ci1bODBweF1cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGJvdHRvbS0wIGxlZnQtMCByaWdodC1hdXRvIHRvcC1hdXRvIGgtWzUwMHB4XSB3LVs1MDBweF0gdHJhbnNsYXRlLXgtWzMwJV0gLXRyYW5zbGF0ZS15LVsyMCVdIHJvdW5kZWQtZnVsbCBiZy1bcmdiYSgzNyw5OSwyMzUsMC4xKV0gb3BhY2l0eS01MCBibHVyLVs4MHB4XVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIClcclxufVxyXG4iXSwibmFtZXMiOlsiQnV0dG9uIiwiTGluayIsIkFycm93UmlnaHQiLCJDaGVja0NpcmNsZTIiLCJQZXJmb3JtZXJCdXR0b24iLCJIb21lIiwiZGl2IiwiY2xhc3NOYW1lIiwic2VjdGlvbiIsImgxIiwic3BhbiIsInAiLCJhc0NoaWxkIiwic2l6ZSIsImhyZWYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/page.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const AuthProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx", -"AuthProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/home/PerformerButton.tsx": -/*!*************************************************!*\ - !*** ./src/components/home/PerformerButton.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ PerformerButton: () => (/* binding */ PerformerButton) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const PerformerButton = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call PerformerButton() from the server but PerformerButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx", -"PerformerButton", -); - -/***/ }), - -/***/ "(rsc)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const ThemeProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx", -"ThemeProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/ui/button.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/button.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ buttonVariants: () => (/* binding */ buttonVariants)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(rsc)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(rsc)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(rsc)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst buttonVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n});\nconst Button = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, size, asChild = false, ...props }, ref)=>{\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot : \"button\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Comp, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(buttonVariants({\n variant,\n size,\n className\n })),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\button.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, undefined);\n});\nButton.displayName = \"Button\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvY29tcG9uZW50cy91aS9idXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDYTtBQUNzQjtBQUUxQjtBQUV2QyxNQUFNSSxpQkFBaUJGLDZEQUFHQSxDQUN0Qiw0VkFDQTtJQUNJRyxVQUFVO1FBQ05DLFNBQVM7WUFDTEMsU0FBUztZQUNUQyxhQUNJO1lBQ0pDLFNBQ0k7WUFDSkMsV0FDSTtZQUNKQyxPQUFPO1lBQ1BDLE1BQU07UUFDVjtRQUNBQyxNQUFNO1lBQ0ZOLFNBQVM7WUFDVE8sSUFBSTtZQUNKQyxJQUFJO1lBQ0pDLE1BQU07UUFDVjtJQUNKO0lBQ0FDLGlCQUFpQjtRQUNiWCxTQUFTO1FBQ1RPLE1BQU07SUFDVjtBQUNKO0FBU0osTUFBTUssdUJBQVNsQiw2Q0FBZ0IsQ0FDM0IsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFZCxPQUFPLEVBQUVPLElBQUksRUFBRVEsVUFBVSxLQUFLLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUN0RCxNQUFNQyxPQUFPSCxVQUFVcEIsc0RBQUlBLEdBQUc7SUFDOUIscUJBQ0ksOERBQUN1QjtRQUNHSixXQUFXakIscURBQUVBLENBQUNDLGVBQWU7WUFBRUU7WUFBU087WUFBTU87UUFBVTtRQUN4REcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosT0FBT08sV0FBVyxHQUFHO0FBRVkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxidXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIlxyXG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgYnV0dG9uVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIFsmX3N2Z106cG9pbnRlci1ldmVudHMtbm9uZSBbJl9zdmddOnNpemUtNCBbJl9zdmddOnNocmluay0wXCIsXHJcbiAgICB7XHJcbiAgICAgICAgdmFyaWFudHM6IHtcclxuICAgICAgICAgICAgdmFyaWFudDoge1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogXCJiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkvOTBcIixcclxuICAgICAgICAgICAgICAgIGRlc3RydWN0aXZlOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIGhvdmVyOmJnLWRlc3RydWN0aXZlLzkwXCIsXHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICAgICAgXCJiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1zZWNvbmRhcnkvODBcIixcclxuICAgICAgICAgICAgICAgIGdob3N0OiBcImhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBcInRleHQtcHJpbWFyeSB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lXCIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNpemU6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFwiaC0xMCBweC00IHB5LTJcIixcclxuICAgICAgICAgICAgICAgIHNtOiBcImgtOSByb3VuZGVkLW1kIHB4LTNcIixcclxuICAgICAgICAgICAgICAgIGxnOiBcImgtMTEgcm91bmRlZC1tZCBweC04XCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImgtMTAgdy0xMFwiLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVmYXVsdFZhcmlhbnRzOiB7XHJcbiAgICAgICAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICBzaXplOiBcImRlZmF1bHRcIixcclxuICAgICAgICB9LFxyXG4gICAgfVxyXG4pXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzXHJcbiAgICBleHRlbmRzIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PixcclxuICAgIFZhcmlhbnRQcm9wczx0eXBlb2YgYnV0dG9uVmFyaWFudHM+IHtcclxuICAgIGFzQ2hpbGQ/OiBib29sZWFuXHJcbn1cclxuXHJcbmNvbnN0IEJ1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihcclxuICAgICh7IGNsYXNzTmFtZSwgdmFyaWFudCwgc2l6ZSwgYXNDaGlsZCA9IGZhbHNlLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgICAgICBjb25zdCBDb21wID0gYXNDaGlsZCA/IFNsb3QgOiBcImJ1dHRvblwiXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPENvbXBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oYnV0dG9uVmFyaWFudHMoeyB2YXJpYW50LCBzaXplLCBjbGFzc05hbWUgfSkpfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbkJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiQnV0dG9uXCJcclxuXHJcbmV4cG9ydCB7IEJ1dHRvbiwgYnV0dG9uVmFyaWFudHMgfVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTbG90IiwiY3ZhIiwiY24iLCJidXR0b25WYXJpYW50cyIsInZhcmlhbnRzIiwidmFyaWFudCIsImRlZmF1bHQiLCJkZXN0cnVjdGl2ZSIsIm91dGxpbmUiLCJzZWNvbmRhcnkiLCJnaG9zdCIsImxpbmsiLCJzaXplIiwic20iLCJsZyIsImljb24iLCJkZWZhdWx0VmFyaWFudHMiLCJCdXR0b24iLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiYXNDaGlsZCIsInByb3BzIiwicmVmIiwiQ29tcCIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/components/ui/button.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Toaster: () => (/* binding */ Toaster) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Toaster = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx", -"Toaster", -); - -/***/ }), - -/***/ "(rsc)/./src/shared/lib/utils.ts": -/*!*********************************!*\ - !*** ./src/shared/lib/utils.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn),\n/* harmony export */ formatPhoneNumber: () => (/* binding */ formatPhoneNumber)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(rsc)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(rsc)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\nfunction formatPhoneNumber(phone) {\n if (!phone) return \"—\";\n // Remove all non-digits\n const cleaned = phone.replace(/\\D/g, \"\");\n // Check if it's a Russian number (+7 or 8)\n if (cleaned.length === 11) {\n const country = cleaned[0] === \"8\" ? \"8\" : \"+7\";\n return `${country} (${cleaned.slice(1, 4)}) ${cleaned.slice(4, 7)}-${cleaned.slice(7, 9)}-${cleaned.slice(9, 11)}`;\n }\n return phone;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRDO0FBQ0o7QUFFakMsU0FBU0UsR0FBRyxHQUFHQyxNQUFvQjtJQUN0QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3hCO0FBRU8sU0FBU0Msa0JBQWtCQyxLQUF5QjtJQUN2RCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUVuQix3QkFBd0I7SUFDeEIsTUFBTUMsVUFBVUQsTUFBTUUsT0FBTyxDQUFDLE9BQU87SUFFckMsMkNBQTJDO0lBQzNDLElBQUlELFFBQVFFLE1BQU0sS0FBSyxJQUFJO1FBQ3ZCLE1BQU1DLFVBQVVILE9BQU8sQ0FBQyxFQUFFLEtBQUssTUFBTSxNQUFNO1FBQzNDLE9BQU8sR0FBR0csUUFBUSxFQUFFLEVBQUVILFFBQVFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFSixRQUFRSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRUosUUFBUUksS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUVKLFFBQVFJLEtBQUssQ0FBQyxHQUFHLEtBQUs7SUFDdEg7SUFFQSxPQUFPTDtBQUNYIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGxpYlxcdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSBcImNsc3hcIlxyXG5pbXBvcnQgeyB0d01lcmdlIH0gZnJvbSBcInRhaWx3aW5kLW1lcmdlXCJcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjbiguLi5pbnB1dHM6IENsYXNzVmFsdWVbXSkge1xyXG4gICAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UGhvbmVOdW1iZXIocGhvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gXCLigJRcIjtcclxuXHJcbiAgICAvLyBSZW1vdmUgYWxsIG5vbi1kaWdpdHNcclxuICAgIGNvbnN0IGNsZWFuZWQgPSBwaG9uZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgaXQncyBhIFJ1c3NpYW4gbnVtYmVyICgrNyBvciA4KVxyXG4gICAgaWYgKGNsZWFuZWQubGVuZ3RoID09PSAxMSkge1xyXG4gICAgICAgIGNvbnN0IGNvdW50cnkgPSBjbGVhbmVkWzBdID09PSBcIjhcIiA/IFwiOFwiIDogXCIrN1wiO1xyXG4gICAgICAgIHJldHVybiBgJHtjb3VudHJ5fSAoJHtjbGVhbmVkLnNsaWNlKDEsIDQpfSkgJHtjbGVhbmVkLnNsaWNlKDQsIDcpfS0ke2NsZWFuZWQuc2xpY2UoNywgOSl9LSR7Y2xlYW5lZC5zbGljZSg5LCAxMSl9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGhvbmU7XHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiLCJmb3JtYXRQaG9uZU51bWJlciIsInBob25lIiwiY2xlYW5lZCIsInJlcGxhY2UiLCJsZW5ndGgiLCJjb3VudHJ5Iiwic2xpY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/shared/lib/utils.ts\n"); - -/***/ }), - -/***/ "(rsc)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Header: () => (/* binding */ Header) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Header = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Header() from the server but Header is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx", -"Header", -); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@radix-ui","vendor-chunks/axios","vendor-chunks/tailwind-merge","vendor-chunks/mime-db","vendor-chunks/@floating-ui","vendor-chunks/sonner","vendor-chunks/lucide-react","vendor-chunks/cookies-next","vendor-chunks/follow-redirects","vendor-chunks/debug","vendor-chunks/tslib","vendor-chunks/react-remove-scroll","vendor-chunks/form-data","vendor-chunks/get-intrinsic","vendor-chunks/cookie","vendor-chunks/asynckit","vendor-chunks/aria-hidden","vendor-chunks/class-variance-authority","vendor-chunks/next-themes","vendor-chunks/react-remove-scroll-bar","vendor-chunks/combined-stream","vendor-chunks/mime-types","vendor-chunks/use-callback-ref","vendor-chunks/proxy-from-env","vendor-chunks/use-sidecar","vendor-chunks/ms","vendor-chunks/supports-color","vendor-chunks/react-style-singleton","vendor-chunks/has-symbols","vendor-chunks/delayed-stream","vendor-chunks/function-bind","vendor-chunks/@swc","vendor-chunks/zustand","vendor-chunks/es-set-tostringtag","vendor-chunks/get-proto","vendor-chunks/call-bind-apply-helpers","vendor-chunks/dunder-proto","vendor-chunks/math-intrinsics","vendor-chunks/clsx","vendor-chunks/es-errors","vendor-chunks/has-flag","vendor-chunks/gopd","vendor-chunks/get-nonce","vendor-chunks/es-define-property","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/leaflet","vendor-chunks/es-object-atoms"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/page_client-reference-manifest.js b/.next/server/app/page_client-reference-manifest.js deleted file mode 100644 index 867ecac..0000000 --- a/.next/server/app/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(ssr)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(ssr)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(ssr)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(ssr)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx":{"id":"(app-pages-browser)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx":{"id":"(app-pages-browser)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx":{"id":"(app-pages-browser)/./src/components/home/PerformerButton.tsx","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":{"id":"(app-pages-browser)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(rsc)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(rsc)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(rsc)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(rsc)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/search/page.js b/.next/server/app/search/page.js deleted file mode 100644 index 3ce13e9..0000000 --- a/.next/server/app/search/page.js +++ /dev/null @@ -1,647 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(() => { -var exports = {}; -exports.id = "app/search/page"; -exports.ids = ["app/search/page"]; -exports.modules = { - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "../app-render/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/server/app-render/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/action-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/after-task-async-storage.external": -/*!***********************************************************************************!*\ - !*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***! - \***********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js"); - -/***/ }), - -/***/ "../app-render/work-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/server/app-render/work-async-storage.external.js" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-async-storage.external.js"); - -/***/ }), - -/***/ "./work-unit-async-storage.external": -/*!**********************************************************************************!*\ - !*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***! - \**********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js"); - -/***/ }), - -/***/ "assert": -/*!*************************!*\ - !*** external "assert" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("assert"); - -/***/ }), - -/***/ "crypto": -/*!*************************!*\ - !*** external "crypto" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("crypto"); - -/***/ }), - -/***/ "events": -/*!*************************!*\ - !*** external "events" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("events"); - -/***/ }), - -/***/ "fs": -/*!*********************!*\ - !*** external "fs" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("fs"); - -/***/ }), - -/***/ "http": -/*!***********************!*\ - !*** external "http" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http"); - -/***/ }), - -/***/ "http2": -/*!************************!*\ - !*** external "http2" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("http2"); - -/***/ }), - -/***/ "https": -/*!************************!*\ - !*** external "https" ***! - \************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("https"); - -/***/ }), - -/***/ "os": -/*!*********************!*\ - !*** external "os" ***! - \*********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("os"); - -/***/ }), - -/***/ "path": -/*!***********************!*\ - !*** external "path" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("path"); - -/***/ }), - -/***/ "stream": -/*!*************************!*\ - !*** external "stream" ***! - \*************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("stream"); - -/***/ }), - -/***/ "tty": -/*!**********************!*\ - !*** external "tty" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("tty"); - -/***/ }), - -/***/ "url": -/*!**********************!*\ - !*** external "url" ***! - \**********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("url"); - -/***/ }), - -/***/ "util": -/*!***********************!*\ - !*** external "util" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), - -/***/ "zlib": -/*!***********************!*\ - !*** external "zlib" ***! - \***********************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("zlib"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fsearch%2Fpage&page=%2Fsearch%2Fpage&appPaths=%2Fsearch%2Fpage&pagePath=private-next-app-dir%2Fsearch%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!": -/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fsearch%2Fpage&page=%2Fsearch%2Fpage&appPaths=%2Fsearch%2Fpage&pagePath=private-next-app-dir%2Fsearch%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D! ***! - \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/module.compiled.js?91d2\");\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nconst module0 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\"));\nconst module1 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23));\nconst module2 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/forbidden-error */ \"(rsc)/./node_modules/next/dist/client/components/forbidden-error.js\", 23));\nconst module3 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/unauthorized-error */ \"(rsc)/./node_modules/next/dist/client/components/unauthorized-error.js\", 23));\nconst page4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/search/page.tsx */ \"(rsc)/./src/app/search/page.tsx\"));\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'search',\n {\n children: ['__PAGE__', {}, {\n page: [page4, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [module0, \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\"],\n'not-found': [module1, \"next/dist/client/components/not-found-error\"],\n'forbidden': [module2, \"next/dist/client/components/forbidden-error\"],\n'unauthorized': [module3, \"next/dist/client/components/unauthorized-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/search/page\",\n pathname: \"/search\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkZzZWFyY2glMkZwYWdlJnBhZ2U9JTJGc2VhcmNoJTJGcGFnZSZhcHBQYXRocz0lMkZzZWFyY2glMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGc2VhcmNoJTJGcGFnZS50c3gmYXBwRGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQlNUNzcmMlNUNhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPUUlM0ElNUNHSVQlNUNtdnAlNUNuYXNoZWwtZnJvbnRlbmQmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9c3RhbmRhbG9uZSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQkFBc0Isb0pBQXdGO0FBQzlHLHNCQUFzQiwwTkFBZ0Y7QUFDdEcsc0JBQXNCLDBOQUFnRjtBQUN0RyxzQkFBc0IsZ09BQW1GO0FBQ3pHLG9CQUFvQiw4SkFBOEY7QUFHaEg7QUFDc0Q7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUN1QjtBQUM2RDtBQUNwRiw2QkFBNkIsbUJBQW1CO0FBQ2hEO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsdUdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyxrRUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IG1vZHVsZTAgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKTtcbmNvbnN0IG1vZHVsZTEgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIik7XG5jb25zdCBtb2R1bGUyID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZm9yYmlkZGVuLWVycm9yXCIpO1xuY29uc3QgbW9kdWxlMyA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC1lcnJvclwiKTtcbmNvbnN0IHBhZ2U0ID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXHNlYXJjaFxcXFxwYWdlLnRzeFwiKTtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc3NyJ1xufTtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdzZWFyY2gnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbcGFnZTQsIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxzZWFyY2hcXFxccGFnZS50c3hcIl0sXG4gICAgICAgICAgXG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFttb2R1bGUwLCBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbbW9kdWxlMSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuJ2ZvcmJpZGRlbic6IFttb2R1bGUyLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9mb3JiaWRkZW4tZXJyb3JcIl0sXG4ndW5hdXRob3JpemVkJzogW21vZHVsZTMsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC1lcnJvclwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXHNlYXJjaFxcXFxwYWdlLnRzeFwiXTtcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEVycm9yIH0gZnJvbSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeVwiO1xuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXG5leHBvcnQgY29uc3QgX19uZXh0X2FwcF9fID0ge1xuICAgIHJlcXVpcmU6IF9fbmV4dF9hcHBfcmVxdWlyZV9fLFxuICAgIGxvYWRDaHVuazogX19uZXh0X2FwcF9sb2FkX2NodW5rX19cbn07XG5leHBvcnQgKiBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2VudHJ5LWJhc2VcIjtcbi8vIENyZWF0ZSBhbmQgZXhwb3J0IHRoZSByb3V0ZSBtb2R1bGUgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxuZXhwb3J0IGNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IEFwcFBhZ2VSb3V0ZU1vZHVsZSh7XG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuQVBQX1BBR0UsXG4gICAgICAgIHBhZ2U6IFwiL3NlYXJjaC9wYWdlXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9zZWFyY2hcIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiAnJyxcbiAgICAgICAgZmlsZW5hbWU6ICcnLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fsearch%2Fpage&page=%2Fsearch%2Fpage&appPaths=%2Fsearch%2Fpage&pagePath=private-next-app-dir%2Fsearch%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(rsc)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(ssr)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNjbGllbnQtcGFnZS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXNlZ21lbnQuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNodHRwLWFjY2Vzcy1mYWxsYmFjayU1QyU1Q2Vycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2xpYiU1QyU1Q21ldGFkYXRhJTVDJTVDbWV0YWRhdGEtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLG9PQUFnSTtBQUNoSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLDBPQUFtSTtBQUNuSTtBQUNBLG9SQUF5SjtBQUN6SjtBQUNBLHdPQUFrSTtBQUNsSTtBQUNBLHNRQUFpSjtBQUNqSjtBQUNBLHNPQUFpSSIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcXFxlcnJvci1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRTpcXFxcR0lUXFxcXG12cFxcXFxuYXNoZWwtZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxsYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcbGliXFxcXG1ldGFkYXRhXFxcXG1ldGFkYXRhLWJvdW5kYXJ5LmpzXCIpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(rsc)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(rsc)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(rsc)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(rsc)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true! ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/auth/AuthProvider.tsx */ \"(ssr)/./src/components/auth/AuthProvider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/theme/theme-provider.tsx */ \"(ssr)/./src/components/theme/theme-provider.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/ui/sonner.tsx */ \"(ssr)/./src/components/ui/sonner.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/widgets/Header.tsx */ \"(ssr)/./src/widgets/Header.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZm9udCU1QyU1Q2dvb2dsZSU1QyU1Q3RhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTVDJTVDJTVDJTVDYXBwJTVDJTVDJTVDJTVDbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTJDJTVDJTIyY3lyaWxsaWMlNUMlMjIlNUQlN0QlNUQlMkMlNUMlMjJ2YXJpYWJsZU5hbWUlNUMlMjIlM0ElNUMlMjJpbnRlciU1QyUyMiU3RCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q2xlYWZsZXQlNUMlNUNkaXN0JTVDJTVDbGVhZmxldC5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q2NvbXBvbmVudHMlNUMlNUNhdXRoJTVDJTVDQXV0aFByb3ZpZGVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMkF1dGhQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3RoZW1lJTVDJTVDdGhlbWUtcHJvdmlkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyVGhlbWVQcm92aWRlciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJFJTNBJTVDJTVDR0lUJTVDJTVDbXZwJTVDJTVDbmFzaGVsLWZyb250ZW5kJTVDJTVDc3JjJTVDJTVDY29tcG9uZW50cyU1QyU1Q3VpJTVDJTVDc29ubmVyLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvYXN0ZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRSUzQSU1QyU1Q0dJVCU1QyU1Q212cCU1QyU1Q25hc2hlbC1mcm9udGVuZCU1QyU1Q3NyYyU1QyU1Q3dpZGdldHMlNUMlNUNIZWFkZXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIySGVhZGVyJTIyJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3TEFBNkk7QUFDN0k7QUFDQSw4TEFBaUo7QUFDako7QUFDQSx3S0FBZ0k7QUFDaEk7QUFDQSw0SkFBd0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkF1dGhQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGF1dGhcXFxcQXV0aFByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVGhlbWVQcm92aWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHRoZW1lXFxcXHRoZW1lLXByb3ZpZGVyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9hc3RlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXHVpXFxcXHNvbm5lci50c3hcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiwgd2VicGFja0V4cG9ydHM6IFtcIkhlYWRlclwiXSAqLyBcIkU6XFxcXEdJVFxcXFxtdnBcXFxcbmFzaGVsLWZyb250ZW5kXFxcXHNyY1xcXFx3aWRnZXRzXFxcXEhlYWRlci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Csearch%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*******************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Csearch%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*******************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/search/page.tsx */ \"(rsc)/./src/app/search/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNzcmMlNUMlNUNhcHAlNUMlNUNzZWFyY2glNUMlNUNwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsOEpBQThGIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXHNlYXJjaFxcXFxwYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Csearch%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Csearch%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*******************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Csearch%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*******************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/search/page.tsx */ \"(ssr)/./src/app/search/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkUlM0ElNUMlNUNHSVQlNUMlNUNtdnAlNUMlNUNuYXNoZWwtZnJvbnRlbmQlNUMlNUNzcmMlNUMlNUNhcHAlNUMlNUNzZWFyY2glNUMlNUNwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsOEpBQThGIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJFOlxcXFxHSVRcXFxcbXZwXFxcXG5hc2hlbC1mcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXHNlYXJjaFxcXFxwYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Csearch%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./src/app/search/page.tsx": -/*!*********************************!*\ - !*** ./src/app/search/page.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SearchPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dynamic */ \"(ssr)/./node_modules/next/dist/api/app-dynamic.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=Filter,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/search.js\");\n/* harmony import */ var _barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Filter,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var _barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Filter,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Filter,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/filter.js\");\n/* harmony import */ var _shared_api_search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/api/search */ \"(ssr)/./src/shared/api/search.ts\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/input */ \"(ssr)/./src/components/ui/input.tsx\");\n/* harmony import */ var _components_ui_checkbox__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/checkbox */ \"(ssr)/./src/components/ui/checkbox.tsx\");\n/* harmony import */ var _components_ui_select__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/select */ \"(ssr)/./src/components/ui/select.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\n// ВАЖНО: react-leaflet ломает SSR — импортируем с ssr: false\nconst LiveMap = (0,next_dynamic__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(async ()=>{\n true && /*require.resolve*/(null /* weak dependency, without id */);\n}, {\n loadableGenerated: {\n modules: [\n \"app\\\\search\\\\page.tsx -> \" + \"@/components/map/LiveMap\"\n ]\n },\n ssr: false,\n loading: ()=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center w-full h-full bg-muted/30\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-10 w-10 border-4 border-primary border-t-transparent rounded-full animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 17,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground text-sm\",\n children: \"Загрузка карты...\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 18,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 16,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 15,\n columnNumber: 9\n }, undefined)\n});\nfunction SearchPage() {\n const [performers, setPerformers] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)([]);\n const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(null);\n const [sidebarOpen, setSidebarOpen] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(true);\n const [activePerformerId, setActivePerformerId] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(null);\n const [centerTrigger, setCenterTrigger] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(0);\n const [sortBy, setSortBy] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(\"default\");\n // Параметры поиска\n const [query, setQuery] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(\"\");\n const [inTitle, setInTitle] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(true);\n const [inDesc, setInDesc] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(true);\n const [inComp, setInComp] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(true);\n // Текущая позиция карты (и инициализация из localStorage)\n const [mapBounds, setMapBounds] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(null);\n const [initialCenter, setInitialCenter] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)([\n 55.7558,\n 37.6173\n ]) // Default: Moscow\n ;\n const [isLocationLoaded, setIsLocationLoaded] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(false);\n // Пытаемся восстановить локацию при монтировании\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)({\n \"SearchPage.useEffect\": ()=>{\n try {\n const savedProfile = localStorage.getItem(\"user-profile\");\n if (savedProfile) {\n const profile = JSON.parse(savedProfile);\n if (profile.currentLocation && profile.currentLocation.latitude) {\n setInitialCenter([\n profile.currentLocation.latitude,\n profile.currentLocation.longitude\n ]);\n }\n }\n } catch (e) {\n console.error(\"Ошибка чтения локации из localStorage\", e);\n } finally{\n setIsLocationLoaded(true);\n }\n }\n }[\"SearchPage.useEffect\"], []);\n const searchTimeoutRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);\n const performSearch = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)({\n \"SearchPage.useCallback[performSearch]\": async (q, lat, lon, radius, title, desc, comp)=>{\n try {\n if (q.trim().length < 2) {\n setPerformers([]);\n return;\n }\n setIsLoading(true);\n setError(null);\n const result = await (0,_shared_api_search__WEBPACK_IMPORTED_MODULE_3__.globalSearch)({\n q: q.trim(),\n lat,\n lon,\n radius,\n inTitle: title,\n inDesc: desc,\n inComp: comp\n });\n setPerformers(result);\n } catch (err) {\n console.error(\"Search error:\", err);\n setError(\"Ошибка при поиске. Попробуйте снова.\");\n } finally{\n setIsLoading(false);\n }\n }\n }[\"SearchPage.useCallback[performSearch]\"], []);\n // Debounced search trigger\n const triggerSearch = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)({\n \"SearchPage.useCallback[triggerSearch]\": (newQuery, lat, lon, rad, title, desc, comp)=>{\n if (searchTimeoutRef.current) clearTimeout(searchTimeoutRef.current);\n const currentLat = lat ?? mapBounds?.lat;\n const currentLon = lon ?? mapBounds?.lon;\n const currentRad = rad ?? mapBounds?.radius;\n if (!currentLat || !currentLon) return; // Ждём, пока карта даст координаты\n searchTimeoutRef.current = setTimeout({\n \"SearchPage.useCallback[triggerSearch]\": ()=>{\n performSearch(newQuery, currentLat, currentLon, currentRad || 5000, title ?? inTitle, desc ?? inDesc, comp ?? inComp);\n }\n }[\"SearchPage.useCallback[triggerSearch]\"], 400);\n }\n }[\"SearchPage.useCallback[triggerSearch]\"], [\n mapBounds,\n performSearch,\n inTitle,\n inDesc,\n inComp\n ]);\n const handleBoundsChange = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)({\n \"SearchPage.useCallback[handleBoundsChange]\": (lat, lon, radius)=>{\n setMapBounds({\n lat,\n lon,\n radius\n });\n triggerSearch(query, lat, lon, radius);\n }\n }[\"SearchPage.useCallback[handleBoundsChange]\"], [\n triggerSearch,\n query\n ]);\n const handleUserLocated = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)({\n \"SearchPage.useCallback[handleUserLocated]\": (lat, lon)=>{\n setMapBounds({\n lat,\n lon,\n radius: 5000\n });\n triggerSearch(query, lat, lon, 5000);\n }\n }[\"SearchPage.useCallback[handleUserLocated]\"], [\n triggerSearch,\n query\n ]);\n const handlePerformerClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)({\n \"SearchPage.useCallback[handlePerformerClick]\": (id)=>{\n setActivePerformerId(id);\n if (sidebarOpen) {\n const el = document.getElementById(`performer-card-${id}`);\n if (el) {\n el.scrollIntoView({\n behavior: 'smooth',\n block: 'center'\n });\n }\n } else {\n setSidebarOpen(true);\n setTimeout({\n \"SearchPage.useCallback[handlePerformerClick]\": ()=>{\n const el = document.getElementById(`performer-card-${id}`);\n if (el) {\n el.scrollIntoView({\n behavior: 'smooth',\n block: 'center'\n });\n }\n }\n }[\"SearchPage.useCallback[handlePerformerClick]\"], 300);\n }\n }\n }[\"SearchPage.useCallback[handlePerformerClick]\"], [\n sidebarOpen\n ]);\n const handleListPerformerClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)({\n \"SearchPage.useCallback[handleListPerformerClick]\": (id)=>{\n setActivePerformerId(id);\n setCenterTrigger({\n \"SearchPage.useCallback[handleListPerformerClick]\": (prev)=>prev + 1\n }[\"SearchPage.useCallback[handleListPerformerClick]\"]);\n }\n }[\"SearchPage.useCallback[handleListPerformerClick]\"], []);\n const sortedItems = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)({\n \"SearchPage.useMemo[sortedItems]\": ()=>{\n let items = [];\n performers.forEach({\n \"SearchPage.useMemo[sortedItems]\": (p)=>{\n if (p.matchedOffers && p.matchedOffers.length > 0) {\n p.matchedOffers.forEach({\n \"SearchPage.useMemo[sortedItems]\": (o)=>{\n items.push({\n type: 'offer',\n performer: p,\n offer: o,\n distance: p.distance || 0,\n price: o.priceAmount ?? o.amount ?? 0\n });\n }\n }[\"SearchPage.useMemo[sortedItems]\"]);\n } else {\n items.push({\n type: 'performer',\n performer: p,\n distance: p.distance || 0,\n price: 0\n });\n }\n }\n }[\"SearchPage.useMemo[sortedItems]\"]);\n if (sortBy === \"price_asc\") {\n items.sort({\n \"SearchPage.useMemo[sortedItems]\": (a, b)=>a.price - b.price\n }[\"SearchPage.useMemo[sortedItems]\"]);\n } else if (sortBy === \"price_desc\") {\n items.sort({\n \"SearchPage.useMemo[sortedItems]\": (a, b)=>b.price - a.price\n }[\"SearchPage.useMemo[sortedItems]\"]);\n } else if (sortBy === \"distance_asc\") {\n items.sort({\n \"SearchPage.useMemo[sortedItems]\": (a, b)=>a.distance - b.distance\n }[\"SearchPage.useMemo[sortedItems]\"]);\n }\n return items;\n }\n }[\"SearchPage.useMemo[sortedItems]\"], [\n performers,\n sortBy\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex w-full\",\n style: {\n height: \"calc(100vh - 64px)\"\n },\n children: [\n sidebarOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"aside\", {\n className: \"w-2/5 min-w-[380px] max-w-[600px] border-r bg-background flex flex-col shrink-0 overflow-hidden shadow-xl z-10 relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 border-b space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-xl font-bold flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"h-5 w-5 text-primary\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 177,\n columnNumber: 33\n }, this),\n \"Поиск услуг\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 176,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setSidebarOpen(false),\n className: \"text-muted-foreground hover:text-foreground text-xs px-2 py-1 rounded hover:bg-muted transition-colors\",\n children: \"Свернуть\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 180,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 175,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"absolute left-3 top-3 h-4 w-4 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 190,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_4__.Input, {\n placeholder: \"Что вы ищете? Напр. 'бар', 'ремонт'\",\n className: \"pl-9 bg-muted/50 focus-visible:ring-primary\",\n value: query,\n onChange: (e)=>{\n setQuery(e.target.value);\n triggerSearch(e.target.value);\n }\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 191,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 189,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col gap-2 pt-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-medium text-muted-foreground uppercase tracking-wider\",\n children: \"Искать в:\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 204,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4 text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"flex items-center gap-2 cursor-pointer\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_checkbox__WEBPACK_IMPORTED_MODULE_5__.Checkbox, {\n checked: inTitle,\n onCheckedChange: (c)=>{\n setInTitle(!!c);\n triggerSearch(query, undefined, undefined, undefined, !!c, inDesc, inComp);\n }\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 207,\n columnNumber: 37\n }, this),\n \"Названиях\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 206,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"flex items-center gap-2 cursor-pointer\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_checkbox__WEBPACK_IMPORTED_MODULE_5__.Checkbox, {\n checked: inDesc,\n onCheckedChange: (c)=>{\n setInDesc(!!c);\n triggerSearch(query, undefined, undefined, undefined, inTitle, !!c, inComp);\n }\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 217,\n columnNumber: 37\n }, this),\n \"Описании\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 216,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"flex items-center gap-2 cursor-pointer\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_checkbox__WEBPACK_IMPORTED_MODULE_5__.Checkbox, {\n checked: inComp,\n onCheckedChange: (c)=>{\n setInComp(!!c);\n triggerSearch(query, undefined, undefined, undefined, inTitle, inDesc, !!c);\n }\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 227,\n columnNumber: 37\n }, this),\n \"Компетенциях\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 226,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 205,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 203,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 174,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 overflow-y-auto bg-muted/10\",\n children: query.trim() === \"\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center justify-center py-16 px-6 text-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-16 w-16 rounded-full bg-muted flex items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-8 w-8 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 245,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 244,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm font-medium\",\n children: \"Введите запрос для поиска\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 247,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted-foreground\",\n children: \"Укажите название услуги, например 'уборка' или 'няня'.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 248,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 243,\n columnNumber: 29\n }, this) : isLoading && performers.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center justify-center py-16 gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-8 w-8 border-3 border-primary border-t-transparent rounded-full animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 254,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground\",\n children: \"Ищем подходящие услуги...\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 255,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 253,\n columnNumber: 29\n }, this) : performers.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center justify-center py-16 px-6 text-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-16 w-16 rounded-full bg-muted flex items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"h-8 w-8 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 260,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 259,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm font-medium\",\n children: \"Ничего не найдено\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 262,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted-foreground\",\n children: \"Попробуйте изменить запрос, расширить зону поиска или убрать фильтры.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 263,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 258,\n columnNumber: 29\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"divide-y\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-4 py-2 bg-muted/30 flex items-center justify-between sticky top-0 backdrop-blur z-10 border-b\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-muted-foreground whitespace-nowrap\",\n children: [\n \"Найдено: \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n className: \"text-foreground\",\n children: performers.length\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 271,\n columnNumber: 50\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 270,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_6__.Select, {\n value: sortBy,\n onValueChange: setSortBy,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_6__.SelectTrigger, {\n className: \"h-7 text-xs w-auto min-w-[140px] border-none bg-transparent shadow-none focus:ring-0\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_6__.SelectValue, {\n placeholder: \"Сортировка\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 275,\n columnNumber: 45\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 274,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_6__.SelectContent, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_6__.SelectItem, {\n value: \"default\",\n className: \"text-xs\",\n children: \"Идеально подходят\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 278,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_6__.SelectItem, {\n value: \"price_asc\",\n className: \"text-xs\",\n children: \"Сначала дешевле\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 279,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_6__.SelectItem, {\n value: \"price_desc\",\n className: \"text-xs\",\n children: \"Сначала дороже\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 280,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_6__.SelectItem, {\n value: \"distance_asc\",\n className: \"text-xs\",\n children: \"Сначала ближе\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 281,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 277,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 273,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 269,\n columnNumber: 33\n }, this),\n sortedItems.map((item, idx)=>{\n const p = item.performer;\n const isOnline = p.status === \"Готов к заказу\";\n const key = item.type === 'offer' ? `${item.offer.id}-${idx}` : `${p.performerId}-${idx}`;\n const formatDistance = (d)=>{\n if (d === undefined || d === null) return 'В вашем районе';\n if (d < 1000) return `${Math.round(d)} м от вас`;\n return `${(d / 1000).toFixed(1)} км от вас`;\n };\n const performerClasses = item.type === 'offer' ? \"flex items-center gap-3 bg-muted/40 rounded-lg border border-transparent opacity-0 max-h-0 overflow-hidden transform scale-95 transition-all duration-300 ease-in-out group-hover:opacity-100 group-hover:max-h-[100px] group-hover:scale-100 group-hover:mt-3 group-hover:p-2 group-hover:border-border/50\" : \"flex items-center gap-3 bg-background border rounded-lg p-3 shadow-sm mt-3 opacity-100 transition-all\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n id: `performer-card-${p.performerId}-${idx}`,\n onClick: ()=>handleListPerformerClick(p.performerId),\n className: `px-4 py-4 cursor-pointer transition-colors group ${activePerformerId === p.performerId ? 'bg-primary/5 shadow-inner border-l-4 border-l-primary' : 'hover:bg-muted/50 border-l-4 border-l-transparent'}`,\n children: [\n item.type === 'offer' ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-4 flex gap-4 items-stretch\",\n children: [\n item.offer.imageUrl && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"shrink-0 w-32 sm:w-40 min-h-[150px] rounded-lg overflow-hidden bg-muted relative group-hover/image:shadow-md transition-all\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: item.offer.imageUrl,\n alt: item.offer.title,\n className: \"absolute inset-0 w-full h-full object-cover transition-transform duration-500 group-hover:scale-110\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 313,\n columnNumber: 61\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-black/10 group-hover:bg-transparent transition-colors duration-500\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 318,\n columnNumber: 61\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 312,\n columnNumber: 57\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 min-w-0 flex flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between items-start gap-2 mb-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"font-bold text-lg leading-tight group-hover:text-primary transition-colors line-clamp-2\",\n children: item.offer.title\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 323,\n columnNumber: 61\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-end gap-1 shrink-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-bold text-primary whitespace-nowrap bg-primary/10 px-2 py-0.5 rounded-md shadow-sm\",\n children: [\n item.price,\n \" ₽\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 325,\n columnNumber: 65\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs font-medium text-muted-foreground whitespace-nowrap bg-muted/70 px-2 py-0.5 rounded-md flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-3 w-3 shrink-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 329,\n columnNumber: 69\n }, this),\n formatDistance(p.distance)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 328,\n columnNumber: 65\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 324,\n columnNumber: 61\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 322,\n columnNumber: 57\n }, this),\n item.offer.description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground line-clamp-2 leading-relaxed mb-auto\",\n children: item.offer.description\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 335,\n columnNumber: 61\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 flex justify-end mt-auto pt-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: `/offers/${item.offer.id}`,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n onClick: (e)=>e.stopPropagation(),\n className: \"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors border border-input shadow-sm bg-background hover:bg-accent hover:text-accent-foreground h-9 px-4 py-2\",\n children: \"Просмотреть услугу\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 340,\n columnNumber: 61\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 339,\n columnNumber: 57\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 321,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 310,\n columnNumber: 49\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n className: \"text-xs font-semibold uppercase tracking-wider text-muted-foreground mb-3\",\n children: \"Найдено по компетенции\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 354,\n columnNumber: 53\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-1\",\n children: p.matchedCompetencies.map((c)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"px-2 py-0.5 bg-primary/10 text-primary text-[10px] rounded-full uppercase tracking-wide font-medium\",\n children: c\n }, c, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 359,\n columnNumber: 61\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 357,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 353,\n columnNumber: 49\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: performerClasses,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative h-8 w-8 shrink-0 rounded-full overflow-hidden bg-gradient-to-br from-indigo-500 to-purple-600 flex items-center justify-center text-white\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 370,\n columnNumber: 53\n }, this),\n p.avatarUrl && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: p.avatarUrl,\n alt: \"Avatar\",\n className: \"absolute inset-0 h-full w-full object-cover bg-background\",\n onError: (e)=>{\n e.currentTarget.style.display = 'none';\n }\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 372,\n columnNumber: 57\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 369,\n columnNumber: 49\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 min-w-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-medium text-xs truncate\",\n children: p.name\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 382,\n columnNumber: 57\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `flex items-center gap-1 text-[10px] font-medium shrink-0 flex-nowrap ${isOnline ? \"text-green-500\" : \"text-gray-400\"}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `h-1.5 w-1.5 shrink-0 rounded-full ${isOnline ? \"bg-green-500 animate-pulse\" : \"bg-gray-400\"}`\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 384,\n columnNumber: 61\n }, this),\n p.status\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 383,\n columnNumber: 57\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 381,\n columnNumber: 53\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between mt-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-3.5 w-3.5 shrink-0 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 390,\n columnNumber: 61\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs font-medium text-muted-foreground truncate\",\n children: formatDistance(p.distance)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 391,\n columnNumber: 61\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 389,\n columnNumber: 57\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[11px] font-medium text-foreground/80 bg-muted/80 px-2 py-0.5 rounded\",\n children: p.role || \"Пользователь\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 393,\n columnNumber: 57\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 388,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 380,\n columnNumber: 49\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 368,\n columnNumber: 45\n }, this)\n ]\n }, key, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 302,\n columnNumber: 41\n }, this);\n })\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 268,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 241,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 172,\n columnNumber: 17\n }, this),\n !sidebarOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setSidebarOpen(true),\n className: \"absolute left-2 top-20 z-[1000] bg-background border shadow-lg rounded-lg px-4 py-3 hover:bg-muted transition-colors flex items-center gap-2 text-sm font-medium\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Filter_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4 text-primary\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 413,\n columnNumber: 21\n }, this),\n \"Фильтры и список\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 409,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 relative z-0\",\n children: isLocationLoaded ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(LiveMap, {\n performers: performers,\n isLoading: isLoading,\n error: error,\n initialCenter: initialCenter,\n onBoundsChange: handleBoundsChange,\n onUserLocated: handleUserLocated,\n activePerformerId: activePerformerId,\n centerTrigger: centerTrigger,\n onPerformerClick: handlePerformerClick\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 421,\n columnNumber: 21\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center w-full h-full bg-muted/30\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-10 w-10 border-4 border-primary border-t-transparent rounded-full animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 435,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground text-sm\",\n children: \"Определение вашей позиции...\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 436,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 434,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 433,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 419,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\",\n lineNumber: 169,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Ozs7OztZQU9uQixDQUFDMUcsNkJBQ0UsOERBQUN1RjtnQkFDR0MsU0FBUyxJQUFNdkYsZUFBZTtnQkFDOUJWLFdBQVU7O2tDQUVWLDhEQUFDZCxzR0FBTUE7d0JBQUNjLFdBQVU7Ozs7OztvQkFBeUI7Ozs7Ozs7MEJBTW5ELDhEQUFDRDtnQkFBSUMsV0FBVTswQkFDVjZCLGlDQUNHLDhEQUFDakM7b0JBQ0dPLFlBQVlBO29CQUNaRSxXQUFXQTtvQkFDWEUsT0FBT0E7b0JBQ1BvQixlQUFlQTtvQkFDZmdILGdCQUFnQjNFO29CQUNoQjRFLGVBQWUzRTtvQkFDZnRELG1CQUFtQkE7b0JBQ25CRSxlQUFlQTtvQkFDZmdJLGtCQUFrQjNFOzs7Ozt5Q0FHdEIsOERBQUNuRTtvQkFBSUMsV0FBVTs4QkFDWCw0RUFBQ0Q7d0JBQUlDLFdBQVU7OzBDQUNYLDhEQUFDRDtnQ0FBSUMsV0FBVTs7Ozs7OzBDQUNmLDhEQUFDQztnQ0FBRUQsV0FBVTswQ0FBZ0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPekUiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGFwcFxcc2VhcmNoXFxwYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IGR5bmFtaWMgZnJvbSBcIm5leHQvZHluYW1pY1wiXHJcbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBTZWFyY2gsIFVzZXIsIEZpbHRlciwgTWFwUGluLCBCcmllZmNhc2UgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcclxuaW1wb3J0IHsgZ2xvYmFsU2VhcmNoLCBTZWFyY2hSZXN1bHRJdGVtIH0gZnJvbSBcIkAvc2hhcmVkL2FwaS9zZWFyY2hcIlxyXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvaW5wdXRcIlxyXG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvY2hlY2tib3hcIlxyXG5pbXBvcnQgeyBTZWxlY3QsIFNlbGVjdENvbnRlbnQsIFNlbGVjdEl0ZW0sIFNlbGVjdFRyaWdnZXIsIFNlbGVjdFZhbHVlIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9zZWxlY3RcIlxyXG5cclxuLy8g0JLQkNCW0J3QnjogcmVhY3QtbGVhZmxldCDQu9C+0LzQsNC10YIgU1NSIOKAlCDQuNC80L/QvtGA0YLQuNGA0YPQtdC8INGBIHNzcjogZmFsc2VcclxuY29uc3QgTGl2ZU1hcCA9IGR5bmFtaWMoKCkgPT4gaW1wb3J0KFwiQC9jb21wb25lbnRzL21hcC9MaXZlTWFwXCIpLCB7XHJcbiAgICBzc3I6IGZhbHNlLFxyXG4gICAgbG9hZGluZzogKCkgPT4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy1mdWxsIGgtZnVsbCBiZy1tdXRlZC8zMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImgtMTAgdy0xMCBib3JkZXItNCBib3JkZXItcHJpbWFyeSBib3JkZXItdC10cmFuc3BhcmVudCByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1zcGluXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZCB0ZXh0LXNtXCI+0JfQsNCz0YDRg9C30LrQsCDQutCw0YDRgtGLLi4uPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICksXHJcbn0pXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTZWFyY2hQYWdlKCkge1xyXG4gICAgY29uc3QgW3BlcmZvcm1lcnMsIHNldFBlcmZvcm1lcnNdID0gdXNlU3RhdGU8U2VhcmNoUmVzdWx0SXRlbVtdPihbXSlcclxuICAgIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcclxuICAgIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcclxuICAgIGNvbnN0IFtzaWRlYmFyT3Blbiwgc2V0U2lkZWJhck9wZW5dID0gdXNlU3RhdGUodHJ1ZSlcclxuICAgIGNvbnN0IFthY3RpdmVQZXJmb3JtZXJJZCwgc2V0QWN0aXZlUGVyZm9ybWVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcclxuICAgIGNvbnN0IFtjZW50ZXJUcmlnZ2VyLCBzZXRDZW50ZXJUcmlnZ2VyXSA9IHVzZVN0YXRlKDApXHJcbiAgICBjb25zdCBbc29ydEJ5LCBzZXRTb3J0QnldID0gdXNlU3RhdGU8c3RyaW5nPihcImRlZmF1bHRcIilcclxuXHJcbiAgICAvLyDQn9Cw0YDQsNC80LXRgtGA0Ysg0L/QvtC40YHQutCwXHJcbiAgICBjb25zdCBbcXVlcnksIHNldFF1ZXJ5XSA9IHVzZVN0YXRlKFwiXCIpXHJcbiAgICBjb25zdCBbaW5UaXRsZSwgc2V0SW5UaXRsZV0gPSB1c2VTdGF0ZSh0cnVlKVxyXG4gICAgY29uc3QgW2luRGVzYywgc2V0SW5EZXNjXSA9IHVzZVN0YXRlKHRydWUpXHJcbiAgICBjb25zdCBbaW5Db21wLCBzZXRJbkNvbXBdID0gdXNlU3RhdGUodHJ1ZSlcclxuXHJcbiAgICAvLyDQotC10LrRg9GJ0LDRjyDQv9C+0LfQuNGG0LjRjyDQutCw0YDRgtGLICjQuCDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjRjyDQuNC3IGxvY2FsU3RvcmFnZSlcclxuICAgIGNvbnN0IFttYXBCb3VuZHMsIHNldE1hcEJvdW5kc10gPSB1c2VTdGF0ZTx7IGxhdDogbnVtYmVyLCBsb246IG51bWJlciwgcmFkaXVzOiBudW1iZXIgfSB8IG51bGw+KG51bGwpXHJcbiAgICBjb25zdCBbaW5pdGlhbENlbnRlciwgc2V0SW5pdGlhbENlbnRlcl0gPSB1c2VTdGF0ZTxbbnVtYmVyLCBudW1iZXJdPihbNTUuNzU1OCwgMzcuNjE3M10pIC8vIERlZmF1bHQ6IE1vc2Nvd1xyXG4gICAgY29uc3QgW2lzTG9jYXRpb25Mb2FkZWQsIHNldElzTG9jYXRpb25Mb2FkZWRdID0gdXNlU3RhdGUoZmFsc2UpXHJcblxyXG4gICAgLy8g0J/Ri9GC0LDQtdC80YHRjyDQstC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0LvQvtC60LDRhtC40Y4g0L/RgNC4INC80L7QvdGC0LjRgNC+0LLQsNC90LjQuFxyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBzYXZlZFByb2ZpbGUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXItcHJvZmlsZVwiKVxyXG4gICAgICAgICAgICBpZiAoc2F2ZWRQcm9maWxlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9maWxlID0gSlNPTi5wYXJzZShzYXZlZFByb2ZpbGUpXHJcbiAgICAgICAgICAgICAgICBpZiAocHJvZmlsZS5jdXJyZW50TG9jYXRpb24gJiYgcHJvZmlsZS5jdXJyZW50TG9jYXRpb24ubGF0aXR1ZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRJbml0aWFsQ2VudGVyKFtwcm9maWxlLmN1cnJlbnRMb2NhdGlvbi5sYXRpdHVkZSwgcHJvZmlsZS5jdXJyZW50TG9jYXRpb24ubG9uZ2l0dWRlXSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcItCe0YjQuNCx0LrQsCDRh9GC0LXQvdC40Y8g0LvQvtC60LDRhtC40Lgg0LjQtyBsb2NhbFN0b3JhZ2VcIiwgZSlcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXRJc0xvY2F0aW9uTG9hZGVkKHRydWUpXHJcbiAgICAgICAgfVxyXG4gICAgfSwgW10pXHJcblxyXG4gICAgY29uc3Qgc2VhcmNoVGltZW91dFJlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGw+KG51bGwpXHJcblxyXG4gICAgY29uc3QgcGVyZm9ybVNlYXJjaCA9IHVzZUNhbGxiYWNrKGFzeW5jIChxOiBzdHJpbmcsIGxhdDogbnVtYmVyLCBsb246IG51bWJlciwgcmFkaXVzOiBudW1iZXIsIHRpdGxlOiBib29sZWFuLCBkZXNjOiBib29sZWFuLCBjb21wOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHEudHJpbSgpLmxlbmd0aCA8IDIpIHtcclxuICAgICAgICAgICAgICAgIHNldFBlcmZvcm1lcnMoW10pXHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNldElzTG9hZGluZyh0cnVlKVxyXG4gICAgICAgICAgICBzZXRFcnJvcihudWxsKVxyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBnbG9iYWxTZWFyY2goe1xyXG4gICAgICAgICAgICAgICAgcTogcS50cmltKCksXHJcbiAgICAgICAgICAgICAgICBsYXQsXHJcbiAgICAgICAgICAgICAgICBsb24sXHJcbiAgICAgICAgICAgICAgICByYWRpdXMsXHJcbiAgICAgICAgICAgICAgICBpblRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgICAgICAgIGluRGVzYzogZGVzYyxcclxuICAgICAgICAgICAgICAgIGluQ29tcDogY29tcFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICBzZXRQZXJmb3JtZXJzKHJlc3VsdClcclxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIlNlYXJjaCBlcnJvcjpcIiwgZXJyKVxyXG4gICAgICAgICAgICBzZXRFcnJvcihcItCe0YjQuNCx0LrQsCDQv9GA0Lgg0L/QvtC40YHQutC1LiDQn9C+0L/RgNC+0LHRg9C50YLQtSDRgdC90L7QstCwLlwiKVxyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcclxuICAgICAgICB9XHJcbiAgICB9LCBbXSlcclxuXHJcbiAgICAvLyBEZWJvdW5jZWQgc2VhcmNoIHRyaWdnZXJcclxuICAgIGNvbnN0IHRyaWdnZXJTZWFyY2ggPSB1c2VDYWxsYmFjaygobmV3UXVlcnk6IHN0cmluZywgbGF0PzogbnVtYmVyLCBsb24/OiBudW1iZXIsIHJhZD86IG51bWJlciwgdGl0bGU/OiBib29sZWFuLCBkZXNjPzogYm9vbGVhbiwgY29tcD86IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoc2VhcmNoVGltZW91dFJlZi5jdXJyZW50KSBjbGVhclRpbWVvdXQoc2VhcmNoVGltZW91dFJlZi5jdXJyZW50KVxyXG5cclxuICAgICAgICBjb25zdCBjdXJyZW50TGF0ID0gbGF0ID8/IG1hcEJvdW5kcz8ubGF0XHJcbiAgICAgICAgY29uc3QgY3VycmVudExvbiA9IGxvbiA/PyBtYXBCb3VuZHM/LmxvblxyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRSYWQgPSByYWQgPz8gbWFwQm91bmRzPy5yYWRpdXNcclxuXHJcbiAgICAgICAgaWYgKCFjdXJyZW50TGF0IHx8ICFjdXJyZW50TG9uKSByZXR1cm4gLy8g0JbQtNGR0LwsINC/0L7QutCwINC60LDRgNGC0LAg0LTQsNGB0YIg0LrQvtC+0YDQtNC40L3QsNGC0YtcclxuXHJcbiAgICAgICAgc2VhcmNoVGltZW91dFJlZi5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHBlcmZvcm1TZWFyY2goXHJcbiAgICAgICAgICAgICAgICBuZXdRdWVyeSxcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRMYXQsXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9uLFxyXG4gICAgICAgICAgICAgICAgY3VycmVudFJhZCB8fCA1MDAwLFxyXG4gICAgICAgICAgICAgICAgdGl0bGUgPz8gaW5UaXRsZSxcclxuICAgICAgICAgICAgICAgIGRlc2MgPz8gaW5EZXNjLFxyXG4gICAgICAgICAgICAgICAgY29tcCA/PyBpbkNvbXBcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH0sIDQwMClcclxuICAgIH0sIFttYXBCb3VuZHMsIHBlcmZvcm1TZWFyY2gsIGluVGl0bGUsIGluRGVzYywgaW5Db21wXSlcclxuXHJcbiAgICBjb25zdCBoYW5kbGVCb3VuZHNDaGFuZ2UgPSB1c2VDYWxsYmFjaygobGF0OiBudW1iZXIsIGxvbjogbnVtYmVyLCByYWRpdXM6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIHNldE1hcEJvdW5kcyh7IGxhdCwgbG9uLCByYWRpdXMgfSlcclxuICAgICAgICB0cmlnZ2VyU2VhcmNoKHF1ZXJ5LCBsYXQsIGxvbiwgcmFkaXVzKVxyXG4gICAgfSwgW3RyaWdnZXJTZWFyY2gsIHF1ZXJ5XSlcclxuXHJcbiAgICBjb25zdCBoYW5kbGVVc2VyTG9jYXRlZCA9IHVzZUNhbGxiYWNrKChsYXQ6IG51bWJlciwgbG9uOiBudW1iZXIpID0+IHtcclxuICAgICAgICBzZXRNYXBCb3VuZHMoeyBsYXQsIGxvbiwgcmFkaXVzOiA1MDAwIH0pXHJcbiAgICAgICAgdHJpZ2dlclNlYXJjaChxdWVyeSwgbGF0LCBsb24sIDUwMDApXHJcbiAgICB9LCBbdHJpZ2dlclNlYXJjaCwgcXVlcnldKVxyXG5cclxuICAgIGNvbnN0IGhhbmRsZVBlcmZvcm1lckNsaWNrID0gdXNlQ2FsbGJhY2soKGlkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBzZXRBY3RpdmVQZXJmb3JtZXJJZChpZClcclxuICAgICAgICBpZiAoc2lkZWJhck9wZW4pIHtcclxuICAgICAgICAgICAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgcGVyZm9ybWVyLWNhcmQtJHtpZH1gKVxyXG4gICAgICAgICAgICBpZiAoZWwpIHtcclxuICAgICAgICAgICAgICAgIGVsLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHNldFNpZGViYXJPcGVuKHRydWUpXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgcGVyZm9ybWVyLWNhcmQtJHtpZH1gKVxyXG4gICAgICAgICAgICAgICAgaWYgKGVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCAzMDApXHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3NpZGViYXJPcGVuXSlcclxuXHJcbiAgICBjb25zdCBoYW5kbGVMaXN0UGVyZm9ybWVyQ2xpY2sgPSB1c2VDYWxsYmFjaygoaWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHNldEFjdGl2ZVBlcmZvcm1lcklkKGlkKVxyXG4gICAgICAgIHNldENlbnRlclRyaWdnZXIocHJldiA9PiBwcmV2ICsgMSlcclxuICAgIH0sIFtdKVxyXG5cclxuICAgIGNvbnN0IHNvcnRlZEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XHJcbiAgICAgICAgbGV0IGl0ZW1zOiB7IHR5cGU6ICdvZmZlcicgfCAncGVyZm9ybWVyJywgcGVyZm9ybWVyOiBTZWFyY2hSZXN1bHRJdGVtLCBvZmZlcj86IGFueSwgZGlzdGFuY2U6IG51bWJlciwgcHJpY2U6IG51bWJlciB9W10gPSBbXTtcclxuICAgICAgICBwZXJmb3JtZXJzLmZvckVhY2gocCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChwLm1hdGNoZWRPZmZlcnMgJiYgcC5tYXRjaGVkT2ZmZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIHAubWF0Y2hlZE9mZmVycy5mb3JFYWNoKG8gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goeyB0eXBlOiAnb2ZmZXInLCBwZXJmb3JtZXI6IHAsIG9mZmVyOiBvLCBkaXN0YW5jZTogcC5kaXN0YW5jZSB8fCAwLCBwcmljZTogby5wcmljZUFtb3VudCA/PyBvLmFtb3VudCA/PyAwIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKHsgdHlwZTogJ3BlcmZvcm1lcicsIHBlcmZvcm1lcjogcCwgZGlzdGFuY2U6IHAuZGlzdGFuY2UgfHwgMCwgcHJpY2U6IDAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKHNvcnRCeSA9PT0gXCJwcmljZV9hc2NcIikge1xyXG4gICAgICAgICAgICBpdGVtcy5zb3J0KChhLCBiKSA9PiBhLnByaWNlIC0gYi5wcmljZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzb3J0QnkgPT09IFwicHJpY2VfZGVzY1wiKSB7XHJcbiAgICAgICAgICAgIGl0ZW1zLnNvcnQoKGEsIGIpID0+IGIucHJpY2UgLSBhLnByaWNlKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHNvcnRCeSA9PT0gXCJkaXN0YW5jZV9hc2NcIikge1xyXG4gICAgICAgICAgICBpdGVtcy5zb3J0KChhLCBiKSA9PiBhLmRpc3RhbmNlIC0gYi5kaXN0YW5jZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBpdGVtcztcclxuICAgIH0sIFtwZXJmb3JtZXJzLCBzb3J0QnldKVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IHctZnVsbFwiIHN0eWxlPXt7IGhlaWdodDogXCJjYWxjKDEwMHZoIC0gNjRweClcIiB9fT5cclxuICAgICAgICAgICAgey8qID09PSDQkdC+0LrQvtCy0LDRjyDQv9Cw0L3QtdC70Yw6INCf0L7QuNGB0LogKyDQodC/0LjRgdC+0Log0LzQsNGB0YLQtdGA0L7QsiA9PT0gKi99XHJcbiAgICAgICAgICAgIHtzaWRlYmFyT3BlbiAmJiAoXHJcbiAgICAgICAgICAgICAgICA8YXNpZGUgY2xhc3NOYW1lPVwidy0yLzUgbWluLXctWzM4MHB4XSBtYXgtdy1bNjAwcHhdIGJvcmRlci1yIGJnLWJhY2tncm91bmQgZmxleCBmbGV4LWNvbCBzaHJpbmstMCBvdmVyZmxvdy1oaWRkZW4gc2hhZG93LXhsIHotMTAgcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7Lyog0JfQsNCz0L7Qu9C+0LLQvtC6INC4INGE0LjQu9GM0YLRgNGLICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC00IGJvcmRlci1iIHNwYWNlLXktNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlYXJjaCBjbGFzc05hbWU9XCJoLTUgdy01IHRleHQtcHJpbWFyeVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC40YHQuiDRg9GB0LvRg9CzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNpZGViYXJPcGVuKGZhbHNlKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIHRleHQteHMgcHgtMiBweS0xIHJvdW5kZWQgaG92ZXI6YmctbXV0ZWQgdHJhbnNpdGlvbi1jb2xvcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCh0LLQtdGA0L3Rg9GC0YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDQodGC0YDQvtC60LAg0L/QvtC40YHQutCwICovfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMyB0b3AtMyBoLTQgdy00IHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cItCn0YLQviDQstGLINC40YnQtdGC0LU/INCd0LDQv9GALiAn0LHQsNGAJywgJ9GA0LXQvNC+0L3RgidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInBsLTkgYmctbXV0ZWQvNTAgZm9jdXMtdmlzaWJsZTpyaW5nLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtxdWVyeX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UXVlcnkoZS50YXJnZXQudmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJTZWFyY2goZS50YXJnZXQudmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgey8qINCn0LXQutCx0L7QutGB0Ysg0LfQvtC9INC/0L7QuNGB0LrQsCAqL31cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGdhcC0yIHB0LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHVwcGVyY2FzZSB0cmFja2luZy13aWRlclwiPtCY0YHQutCw0YLRjCDQsjo8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00IHRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtpblRpdGxlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGVja2VkQ2hhbmdlPXsoYykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEluVGl0bGUoISFjKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyU2VhcmNoKHF1ZXJ5LCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCAhIWMsIGluRGVzYywgaW5Db21wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCd0LDQt9Cy0LDQvdC40Y/RhVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17aW5EZXNjfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGVja2VkQ2hhbmdlPXsoYykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEluRGVzYyghIWMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJTZWFyY2gocXVlcnksIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGluVGl0bGUsICEhYywgaW5Db21wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCe0L/QuNGB0LDQvdC40LhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2luQ29tcH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17KGMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJbkNvbXAoISFjKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyU2VhcmNoKHF1ZXJ5LCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBpblRpdGxlLCBpbkRlc2MsICEhYyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQmtC+0LzQv9C10YLQtdC90YbQuNGP0YVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICB7Lyog0KHQv9C40YHQvtC6INC90LDQudC00LXQvdC90YvRhSDQvNCw0YHRgtC10YDQvtCyICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG92ZXJmbG93LXktYXV0byBiZy1tdXRlZC8xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7cXVlcnkudHJpbSgpID09PSBcIlwiID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweS0xNiBweC02IHRleHQtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoLTE2IHctMTYgcm91bmRlZC1mdWxsIGJnLW11dGVkIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBQaW4gY2xhc3NOYW1lPVwiaC04IHctOCB0ZXh0LW11dGVkLWZvcmVncm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW1cIj7QktCy0LXQtNC40YLQtSDQt9Cw0L/RgNC+0YEg0LTQu9GPINC/0L7QuNGB0LrQsDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQo9C60LDQttC40YLQtSDQvdCw0LfQstCw0L3QuNC1INGD0YHQu9GD0LPQuCwg0L3QsNC/0YDQuNC80LXRgCAn0YPQsdC+0YDQutCwJyDQuNC70LggJ9C90Y/QvdGPJy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IGlzTG9hZGluZyAmJiBwZXJmb3JtZXJzLmxlbmd0aCA9PT0gMCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcHktMTYgZ2FwLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImgtOCB3LTggYm9yZGVyLTMgYm9yZGVyLXByaW1hcnkgYm9yZGVyLXQtdHJhbnNwYXJlbnQgcm91bmRlZC1mdWxsIGFuaW1hdGUtc3BpblwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj7QmNGJ0LXQvCDQv9C+0LTRhdC+0LTRj9GJ0LjQtSDRg9GB0LvRg9Cz0LguLi48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IHBlcmZvcm1lcnMubGVuZ3RoID09PSAwID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweS0xNiBweC02IHRleHQtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoLTE2IHctMTYgcm91bmRlZC1mdWxsIGJnLW11dGVkIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWFyY2ggY2xhc3NOYW1lPVwiaC04IHctOCB0ZXh0LW11dGVkLWZvcmVncm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW1cIj7QndC40YfQtdCz0L4g0L3QtSDQvdCw0LnQtNC10L3QvjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQn9C+0L/RgNC+0LHRg9C50YLQtSDQuNC30LzQtdC90LjRgtGMINC30LDQv9GA0L7RgSwg0YDQsNGB0YjQuNGA0LjRgtGMINC30L7QvdGDINC/0L7QuNGB0LrQsCDQuNC70Lgg0YPQsdGA0LDRgtGMINGE0LjQu9GM0YLRgNGLLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkaXZpZGUteVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHgtNCBweS0yIGJnLW11dGVkLzMwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBzdGlja3kgdG9wLTAgYmFja2Ryb3AtYmx1ciB6LTEwIGJvcmRlci1iXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHdoaXRlc3BhY2Utbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQndCw0LnQtNC10L3QvjogPHN0cm9uZyBjbGFzc05hbWU9XCJ0ZXh0LWZvcmVncm91bmRcIj57cGVyZm9ybWVycy5sZW5ndGh9PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdCB2YWx1ZT17c29ydEJ5fSBvblZhbHVlQ2hhbmdlPXtzZXRTb3J0Qnl9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFRyaWdnZXIgY2xhc3NOYW1lPVwiaC03IHRleHQteHMgdy1hdXRvIG1pbi13LVsxNDBweF0gYm9yZGVyLW5vbmUgYmctdHJhbnNwYXJlbnQgc2hhZG93LW5vbmUgZm9jdXM6cmluZy0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdFZhbHVlIHBsYWNlaG9sZGVyPVwi0KHQvtGA0YLQuNGA0L7QstC60LBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RUcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0gdmFsdWU9XCJkZWZhdWx0XCIgY2xhc3NOYW1lPVwidGV4dC14c1wiPtCY0LTQtdCw0LvRjNC90L4g0L/QvtC00YXQvtC00Y/RgjwvU2VsZWN0SXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SXRlbSB2YWx1ZT1cInByaWNlX2FzY1wiIGNsYXNzTmFtZT1cInRleHQteHNcIj7QodC90LDRh9Cw0LvQsCDQtNC10YjQtdCy0LvQtTwvU2VsZWN0SXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SXRlbSB2YWx1ZT1cInByaWNlX2Rlc2NcIiBjbGFzc05hbWU9XCJ0ZXh0LXhzXCI+0KHQvdCw0YfQsNC70LAg0LTQvtGA0L7QttC1PC9TZWxlY3RJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJdGVtIHZhbHVlPVwiZGlzdGFuY2VfYXNjXCIgY2xhc3NOYW1lPVwidGV4dC14c1wiPtCh0L3QsNGH0LDQu9CwINCx0LvQuNC20LU8L1NlbGVjdEl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c29ydGVkSXRlbXMubWFwKChpdGVtLCBpZHgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcCA9IGl0ZW0ucGVyZm9ybWVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzT25saW5lID0gcC5zdGF0dXMgPT09IFwi0JPQvtGC0L7QsiDQuiDQt9Cw0LrQsNC30YNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBpdGVtLnR5cGUgPT09ICdvZmZlcicgPyBgJHtpdGVtLm9mZmVyLmlkfS0ke2lkeH1gIDogYCR7cC5wZXJmb3JtZXJJZH0tJHtpZHh9YFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0RGlzdGFuY2UgPSAoZD86IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGQgPT09IHVuZGVmaW5lZCB8fCBkID09PSBudWxsKSByZXR1cm4gJ9CSINCy0LDRiNC10Lwg0YDQsNC50L7QvdC1JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkIDwgMTAwMCkgcmV0dXJuIGAke01hdGgucm91bmQoZCl9INC8INC+0YIg0LLQsNGBYDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHsoZCAvIDEwMDApLnRvRml4ZWQoMSl9INC60Lwg0L7RgiDQstCw0YFgO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGVyZm9ybWVyQ2xhc3NlcyA9IGl0ZW0udHlwZSA9PT0gJ29mZmVyJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIGJnLW11dGVkLzQwIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCBvcGFjaXR5LTAgbWF4LWgtMCBvdmVyZmxvdy1oaWRkZW4gdHJhbnNmb3JtIHNjYWxlLTk1IHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBlYXNlLWluLW91dCBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCBncm91cC1ob3ZlcjptYXgtaC1bMTAwcHhdIGdyb3VwLWhvdmVyOnNjYWxlLTEwMCBncm91cC1ob3ZlcjptdC0zIGdyb3VwLWhvdmVyOnAtMiBncm91cC1ob3Zlcjpib3JkZXItYm9yZGVyLzUwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyBiZy1iYWNrZ3JvdW5kIGJvcmRlciByb3VuZGVkLWxnIHAtMyBzaGFkb3ctc20gbXQtMyBvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLWFsbFwiO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17YHBlcmZvcm1lci1jYXJkLSR7cC5wZXJmb3JtZXJJZH0tJHtpZHh9YH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVMaXN0UGVyZm9ybWVyQ2xpY2socC5wZXJmb3JtZXJJZCl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgcHgtNCBweS00IGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24tY29sb3JzIGdyb3VwICR7YWN0aXZlUGVyZm9ybWVySWQgPT09IHAucGVyZm9ybWVySWQgPyAnYmctcHJpbWFyeS81IHNoYWRvdy1pbm5lciBib3JkZXItbC00IGJvcmRlci1sLXByaW1hcnknIDogJ2hvdmVyOmJnLW11dGVkLzUwIGJvcmRlci1sLTQgYm9yZGVyLWwtdHJhbnNwYXJlbnQnfWB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qINCY0L3RhNC+0YDQvNCw0YbQuNGPINC+0LEg0YPRgdC70YPQs9C1INC40LvQuCDQutC+0LzQv9C10YLQtdC90YbQuNC4ICjQs9C70LDQstC90LDRjykgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0udHlwZSA9PT0gJ29mZmVyJyA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYi00IGZsZXggZ2FwLTQgaXRlbXMtc3RyZXRjaFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0ub2ZmZXIuaW1hZ2VVcmwgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2hyaW5rLTAgdy0zMiBzbTp3LTQwIG1pbi1oLVsxNTBweF0gcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW4gYmctbXV0ZWQgcmVsYXRpdmUgZ3JvdXAtaG92ZXIvaW1hZ2U6c2hhZG93LW1kIHRyYW5zaXRpb24tYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17aXRlbS5vZmZlci5pbWFnZVVybH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD17aXRlbS5vZmZlci50aXRsZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgdy1mdWxsIGgtZnVsbCBvYmplY3QtY292ZXIgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tNTAwIGdyb3VwLWhvdmVyOnNjYWxlLTExMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBiZy1ibGFjay8xMCBncm91cC1ob3ZlcjpiZy10cmFuc3BhcmVudCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi01MDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG1pbi13LTAgZmxleCBmbGV4LWNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtc3RhcnQgZ2FwLTIgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtbGcgbGVhZGluZy10aWdodCBncm91cC1ob3Zlcjp0ZXh0LXByaW1hcnkgdHJhbnNpdGlvbi1jb2xvcnMgbGluZS1jbGFtcC0yXCI+e2l0ZW0ub2ZmZXIudGl0bGV9PC9oND5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWVuZCBnYXAtMSBzaHJpbmstMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LWJvbGQgdGV4dC1wcmltYXJ5IHdoaXRlc3BhY2Utbm93cmFwIGJnLXByaW1hcnkvMTAgcHgtMiBweS0wLjUgcm91bmRlZC1tZCBzaGFkb3ctc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5wcmljZX0g4oK9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCB3aGl0ZXNwYWNlLW5vd3JhcCBiZy1tdXRlZC83MCBweC0yIHB5LTAuNSByb3VuZGVkLW1kIGZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1hcFBpbiBjbGFzc05hbWU9XCJoLTMgdy0zIHNocmluay0wXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0RGlzdGFuY2UocC5kaXN0YW5jZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpdGVtLm9mZmVyLmRlc2NyaXB0aW9uICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQgbGluZS1jbGFtcC0yIGxlYWRpbmctcmVsYXhlZCBtYi1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5vZmZlci5kZXNjcmlwdGlvbn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC00IGZsZXgganVzdGlmeS1lbmQgbXQtYXV0byBwdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPXtgL29mZmVycy8ke2l0ZW0ub2ZmZXIuaWR9YH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpfSAvLyBQcmV2ZW50IGNsaWNraW5nIHRoZSBjYXJkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tY29sb3JzIGJvcmRlciBib3JkZXItaW5wdXQgc2hhZG93LXNtIGJnLWJhY2tncm91bmQgaG92ZXI6YmctYWNjZW50IGhvdmVyOnRleHQtYWNjZW50LWZvcmVncm91bmQgaC05IHB4LTQgcHktMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0YDQvtGB0LzQvtGC0YDQtdGC0Ywg0YPRgdC70YPQs9GDXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1iLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J3QsNC50LTQtdC90L4g0L/QviDQutC+0LzQv9C10YLQtdC90YbQuNC4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwLm1hdGNoZWRDb21wZXRlbmNpZXMubWFwKGMgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBrZXk9e2N9IGNsYXNzTmFtZT1cInB4LTIgcHktMC41IGJnLXByaW1hcnkvMTAgdGV4dC1wcmltYXJ5IHRleHQtWzEwcHhdIHJvdW5kZWQtZnVsbCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZSBmb250LW1lZGl1bVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2N9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Lyog0JrQsNGA0YLQvtGH0LrQsCDQuNGB0L/QvtC70L3QuNGC0LXQu9GPICovfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtwZXJmb3JtZXJDbGFzc2VzfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBoLTggdy04IHNocmluay0wIHJvdW5kZWQtZnVsbCBvdmVyZmxvdy1oaWRkZW4gYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1pbmRpZ28tNTAwIHRvLXB1cnBsZS02MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cC5hdmF0YXJVcmwgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtwLmF2YXRhclVybH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiQXZhdGFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQtMCBoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciBiZy1iYWNrZ3JvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvcj17KGUpID0+IHsgZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7IH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtMSBtaW4tdy0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtIHRleHQteHMgdHJ1bmNhdGVcIj57cC5uYW1lfTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2BmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSB0ZXh0LVsxMHB4XSBmb250LW1lZGl1bSBzaHJpbmstMCBmbGV4LW5vd3JhcCAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTUwMFwiIDogXCJ0ZXh0LWdyYXktNDAwXCJ9YH0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YGgtMS41IHctMS41IHNocmluay0wIHJvdW5kZWQtZnVsbCAke2lzT25saW5lID8gXCJiZy1ncmVlbi01MDAgYW5pbWF0ZS1wdWxzZVwiIDogXCJiZy1ncmF5LTQwMFwifWB9IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwLnN0YXR1c31cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBQaW4gY2xhc3NOYW1lPVwiaC0zLjUgdy0zLjUgc2hyaW5rLTAgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LW11dGVkLWZvcmVncm91bmQgdHJ1bmNhdGVcIj57Zm9ybWF0RGlzdGFuY2UocC5kaXN0YW5jZSl9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtWzExcHhdIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZC84MCBiZy1tdXRlZC84MCBweC0yIHB5LTAuNSByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwLnJvbGUgfHwgXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70YxcIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2FzaWRlPlxyXG4gICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAgeyFzaWRlYmFyT3BlbiAmJiAoXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2lkZWJhck9wZW4odHJ1ZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0yIHRvcC0yMCB6LVsxMDAwXSBiZy1iYWNrZ3JvdW5kIGJvcmRlciBzaGFkb3ctbGcgcm91bmRlZC1sZyBweC00IHB5LTMgaG92ZXI6YmctbXV0ZWQgdHJhbnNpdGlvbi1jb2xvcnMgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1zbSBmb250LW1lZGl1bVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPEZpbHRlciBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtcHJpbWFyeVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAg0KTQuNC70YzRgtGA0Ysg0Lgg0YHQv9C40YHQvtC6XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgKX1cclxuXHJcbiAgICAgICAgICAgIHsvKiA9PT0g0JrQsNGA0YLQsCA9PT0gKi99XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIHJlbGF0aXZlIHotMFwiPlxyXG4gICAgICAgICAgICAgICAge2lzTG9jYXRpb25Mb2FkZWQgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgPExpdmVNYXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWVycz17cGVyZm9ybWVyc31cclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yPXtlcnJvcn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbENlbnRlcj17aW5pdGlhbENlbnRlcn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgb25Cb3VuZHNDaGFuZ2U9e2hhbmRsZUJvdW5kc0NoYW5nZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgb25Vc2VyTG9jYXRlZD17aGFuZGxlVXNlckxvY2F0ZWR9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVBlcmZvcm1lcklkPXthY3RpdmVQZXJmb3JtZXJJZH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyVHJpZ2dlcj17Y2VudGVyVHJpZ2dlcn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgb25QZXJmb3JtZXJDbGljaz17aGFuZGxlUGVyZm9ybWVyQ2xpY2t9XHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LWZ1bGwgaC1mdWxsIGJnLW11dGVkLzMwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaC0xMCB3LTEwIGJvcmRlci00IGJvcmRlci1wcmltYXJ5IGJvcmRlci10LXRyYW5zcGFyZW50IHJvdW5kZWQtZnVsbCBhbmltYXRlLXNwaW5cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHRleHQtc21cIj7QntC/0YDQtdC00LXQu9C10L3QuNC1INCy0LDRiNC10Lkg0L/QvtC30LjRhtC40LguLi48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbImR5bmFtaWMiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsIlNlYXJjaCIsIlVzZXIiLCJGaWx0ZXIiLCJNYXBQaW4iLCJnbG9iYWxTZWFyY2giLCJJbnB1dCIsIkNoZWNrYm94IiwiU2VsZWN0IiwiU2VsZWN0Q29udGVudCIsIlNlbGVjdEl0ZW0iLCJTZWxlY3RUcmlnZ2VyIiwiU2VsZWN0VmFsdWUiLCJMaXZlTWFwIiwic3NyIiwibG9hZGluZyIsImRpdiIsImNsYXNzTmFtZSIsInAiLCJTZWFyY2hQYWdlIiwicGVyZm9ybWVycyIsInNldFBlcmZvcm1lcnMiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJlcnJvciIsInNldEVycm9yIiwic2lkZWJhck9wZW4iLCJzZXRTaWRlYmFyT3BlbiIsImFjdGl2ZVBlcmZvcm1lcklkIiwic2V0QWN0aXZlUGVyZm9ybWVySWQiLCJjZW50ZXJUcmlnZ2VyIiwic2V0Q2VudGVyVHJpZ2dlciIsInNvcnRCeSIsInNldFNvcnRCeSIsInF1ZXJ5Iiwic2V0UXVlcnkiLCJpblRpdGxlIiwic2V0SW5UaXRsZSIsImluRGVzYyIsInNldEluRGVzYyIsImluQ29tcCIsInNldEluQ29tcCIsIm1hcEJvdW5kcyIsInNldE1hcEJvdW5kcyIsImluaXRpYWxDZW50ZXIiLCJzZXRJbml0aWFsQ2VudGVyIiwiaXNMb2NhdGlvbkxvYWRlZCIsInNldElzTG9jYXRpb25Mb2FkZWQiLCJzYXZlZFByb2ZpbGUiLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwicHJvZmlsZSIsIkpTT04iLCJwYXJzZSIsImN1cnJlbnRMb2NhdGlvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiZSIsImNvbnNvbGUiLCJzZWFyY2hUaW1lb3V0UmVmIiwicGVyZm9ybVNlYXJjaCIsInEiLCJsYXQiLCJsb24iLCJyYWRpdXMiLCJ0aXRsZSIsImRlc2MiLCJjb21wIiwidHJpbSIsImxlbmd0aCIsInJlc3VsdCIsImVyciIsInRyaWdnZXJTZWFyY2giLCJuZXdRdWVyeSIsInJhZCIsImN1cnJlbnQiLCJjbGVhclRpbWVvdXQiLCJjdXJyZW50TGF0IiwiY3VycmVudExvbiIsImN1cnJlbnRSYWQiLCJzZXRUaW1lb3V0IiwiaGFuZGxlQm91bmRzQ2hhbmdlIiwiaGFuZGxlVXNlckxvY2F0ZWQiLCJoYW5kbGVQZXJmb3JtZXJDbGljayIsImlkIiwiZWwiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImJsb2NrIiwiaGFuZGxlTGlzdFBlcmZvcm1lckNsaWNrIiwicHJldiIsInNvcnRlZEl0ZW1zIiwiaXRlbXMiLCJmb3JFYWNoIiwibWF0Y2hlZE9mZmVycyIsIm8iLCJwdXNoIiwidHlwZSIsInBlcmZvcm1lciIsIm9mZmVyIiwiZGlzdGFuY2UiLCJwcmljZSIsInByaWNlQW1vdW50IiwiYW1vdW50Iiwic29ydCIsImEiLCJiIiwic3R5bGUiLCJoZWlnaHQiLCJhc2lkZSIsImgxIiwiYnV0dG9uIiwib25DbGljayIsInBsYWNlaG9sZGVyIiwidmFsdWUiLCJvbkNoYW5nZSIsInRhcmdldCIsImxhYmVsIiwiY2hlY2tlZCIsIm9uQ2hlY2tlZENoYW5nZSIsImMiLCJ1bmRlZmluZWQiLCJzcGFuIiwic3Ryb25nIiwib25WYWx1ZUNoYW5nZSIsIm1hcCIsIml0ZW0iLCJpZHgiLCJpc09ubGluZSIsInN0YXR1cyIsImtleSIsInBlcmZvcm1lcklkIiwiZm9ybWF0RGlzdGFuY2UiLCJkIiwiTWF0aCIsInJvdW5kIiwidG9GaXhlZCIsInBlcmZvcm1lckNsYXNzZXMiLCJpbWFnZVVybCIsImltZyIsInNyYyIsImFsdCIsImg0IiwiZGVzY3JpcHRpb24iLCJocmVmIiwicmVsIiwic3RvcFByb3BhZ2F0aW9uIiwibWF0Y2hlZENvbXBldGVuY2llcyIsImF2YXRhclVybCIsIm9uRXJyb3IiLCJjdXJyZW50VGFyZ2V0IiwiZGlzcGxheSIsIm5hbWUiLCJyb2xlIiwib25Cb3VuZHNDaGFuZ2UiLCJvblVzZXJMb2NhdGVkIiwib25QZXJmb3JtZXJDbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/app/search/page.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Loader2!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* __next_internal_client_entry_do_not_use__ AuthProvider auto */ \n\n\n\nfunction AuthProvider({ children }) {\n const { checkAuth, isInitialized } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_2__.useSessionStore)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AuthProvider.useEffect\": ()=>{\n // Проверяем авторизацию при загрузке приложения\n checkAuth();\n }\n }[\"AuthProvider.useEffect\"], [\n checkAuth\n ]);\n // Показываем загрузку только на первой проверке\n if (!isInitialized) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-8 w-8 animate-spin text-blue-600\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 19,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\auth\\\\AuthProvider.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: children\n }, void 0, false);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hdXRoL0F1dGhQcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFaUM7QUFDeUI7QUFDcEI7QUFFL0IsU0FBU0csYUFBYSxFQUFFQyxRQUFRLEVBQWlDO0lBQ3BFLE1BQU0sRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUUsR0FBR0wsd0VBQWVBO0lBRXBERCxnREFBU0E7a0NBQUM7WUFDTixnREFBZ0Q7WUFDaERLO1FBQ0o7aUNBQUc7UUFBQ0E7S0FBVTtJQUVkLGdEQUFnRDtJQUNoRCxJQUFJLENBQUNDLGVBQWU7UUFDaEIscUJBQ0ksOERBQUNDO1lBQUlDLFdBQVU7c0JBQ1gsNEVBQUNOLG1GQUFPQTtnQkFBQ00sV0FBVTs7Ozs7Ozs7Ozs7SUFHL0I7SUFFQSxxQkFBTztrQkFBR0o7O0FBQ2QiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXGF1dGhcXEF1dGhQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcblxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxuaW1wb3J0IHsgTG9hZGVyMiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuXG5leHBvcnQgZnVuY3Rpb24gQXV0aFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICBjb25zdCB7IGNoZWNrQXV0aCwgaXNJbml0aWFsaXplZCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNGOINC/0YDQuCDQt9Cw0LPRgNGD0LfQutC1INC/0YDQuNC70L7QttC10L3QuNGPXG4gICAgICAgIGNoZWNrQXV0aCgpXG4gICAgfSwgW2NoZWNrQXV0aF0pXG5cbiAgICAvLyDQn9C+0LrQsNC30YvQstCw0LXQvCDQt9Cw0LPRgNGD0LfQutGDINGC0L7Qu9GM0LrQviDQvdCwINC/0LXRgNCy0L7QuSDQv9GA0L7QstC10YDQutC1XG4gICAgaWYgKCFpc0luaXRpYWxpemVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggbWluLWgtc2NyZWVuIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxMb2FkZXIyIGNsYXNzTmFtZT1cImgtOCB3LTggYW5pbWF0ZS1zcGluIHRleHQtYmx1ZS02MDBcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU2Vzc2lvblN0b3JlIiwiTG9hZGVyMiIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwiY2hlY2tBdXRoIiwiaXNJbml0aWFsaXplZCIsImRpdiIsImNsYXNzTmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/auth/AuthProvider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/mode-toggle.tsx": -/*!**********************************************!*\ - !*** ./src/components/theme/mode-toggle.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ModeToggle: () => (/* binding */ ModeToggle)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/sun.js\");\n/* harmony import */ var _barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Moon,Sun!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/moon.js\");\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* __next_internal_client_entry_do_not_use__ ModeToggle auto */ \n\n\n\n\n\nfunction ModeToggle() {\n const { setTheme } = (0,next_themes__WEBPACK_IMPORTED_MODULE_2__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"outline\",\n size: \"icon\",\n className: \"rounded-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 22,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Moon_Sun_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 23,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sr-only\",\n children: \"Toggle theme\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 24,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 21,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuContent, {\n align: \"end\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"light\"),\n children: \"Светлая\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 28,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"dark\"),\n children: \"Темная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 31,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_4__.DropdownMenuItem, {\n onClick: ()=>setTheme(\"system\"),\n children: \"Системная\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 27,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\mode-toggle.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS9tb2RlLXRvZ2dsZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFOEI7QUFDVTtBQUNGO0FBRVM7QUFNVDtBQUUvQixTQUFTUztJQUNaLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdQLHFEQUFRQTtJQUU3QixxQkFDSSw4REFBQ0Usc0VBQVlBOzswQkFDVCw4REFBQ0csNkVBQW1CQTtnQkFBQ0csT0FBTzswQkFDeEIsNEVBQUNQLHlEQUFNQTtvQkFBQ1EsU0FBUTtvQkFBVUMsTUFBSztvQkFBT0MsV0FBVTs7c0NBQzVDLDhEQUFDWixvRkFBR0E7NEJBQUNZLFdBQVU7Ozs7OztzQ0FDZiw4REFBQ2Isb0ZBQUlBOzRCQUFDYSxXQUFVOzs7Ozs7c0NBQ2hCLDhEQUFDQzs0QkFBS0QsV0FBVTtzQ0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBR2xDLDhEQUFDUiw2RUFBbUJBO2dCQUFDVSxPQUFNOztrQ0FDdkIsOERBQUNULDBFQUFnQkE7d0JBQUNVLFNBQVMsSUFBTVAsU0FBUztrQ0FBVTs7Ozs7O2tDQUdwRCw4REFBQ0gsMEVBQWdCQTt3QkFBQ1UsU0FBUyxJQUFNUCxTQUFTO2tDQUFTOzs7Ozs7a0NBR25ELDhEQUFDSCwwRUFBZ0JBO3dCQUFDVSxTQUFTLElBQU1QLFNBQVM7a0NBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1yRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdGhlbWVcXG1vZGUtdG9nZ2xlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgTW9vbiwgU3VuIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuXHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCJcclxuaW1wb3J0IHtcclxuICAgIERyb3Bkb3duTWVudSxcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxufSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2Ryb3Bkb3duLW1lbnVcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVUb2dnbGUoKSB7XHJcbiAgICBjb25zdCB7IHNldFRoZW1lIH0gPSB1c2VUaGVtZSgpXHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51VHJpZ2dlciBhc0NoaWxkPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZVwiIHNpemU9XCJpY29uXCIgY2xhc3NOYW1lPVwicm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFN1biBjbGFzc05hbWU9XCJoLVsxLjJyZW1dIHctWzEuMnJlbV0gcm90YXRlLTAgc2NhbGUtMTAwIHRyYW5zaXRpb24tYWxsIGRhcms6LXJvdGF0ZS05MCBkYXJrOnNjYWxlLTBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxNb29uIGNsYXNzTmFtZT1cImFic29sdXRlIGgtWzEuMnJlbV0gdy1bMS4ycmVtXSByb3RhdGUtOTAgc2NhbGUtMCB0cmFuc2l0aW9uLWFsbCBkYXJrOnJvdGF0ZS0wIGRhcms6c2NhbGUtMTAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+VG9nZ2xlIHRoZW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51VHJpZ2dlcj5cclxuICAgICAgICAgICAgPERyb3Bkb3duTWVudUNvbnRlbnQgYWxpZ249XCJlbmRcIj5cclxuICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIG9uQ2xpY2s9eygpID0+IHNldFRoZW1lKFwibGlnaHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LLQtdGC0LvQsNGPXHJcbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51SXRlbSBvbkNsaWNrPXsoKSA9PiBzZXRUaGVtZShcImRhcmtcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCi0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gb25DbGljaz17KCkgPT4gc2V0VGhlbWUoXCJzeXN0ZW1cIil9PlxyXG4gICAgICAgICAgICAgICAgICAgINCh0LjRgdGC0LXQvNC90LDRj1xyXG4gICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgPC9Ecm9wZG93bk1lbnU+XHJcbiAgICApXHJcbn1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiTW9vbiIsIlN1biIsInVzZVRoZW1lIiwiQnV0dG9uIiwiRHJvcGRvd25NZW51IiwiRHJvcGRvd25NZW51Q29udGVudCIsIkRyb3Bkb3duTWVudUl0ZW0iLCJEcm9wZG93bk1lbnVUcmlnZ2VyIiwiTW9kZVRvZ2dsZSIsInNldFRoZW1lIiwiYXNDaGlsZCIsInZhcmlhbnQiLCJzaXplIiwiY2xhc3NOYW1lIiwic3BhbiIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/mode-toggle.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ ThemeProvider auto */ \n\n\nfunction ThemeProvider({ children, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_themes__WEBPACK_IMPORTED_MODULE_2__.ThemeProvider, {\n ...props,\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\theme\\\\theme-provider.tsx\",\n lineNumber: 8,\n columnNumber: 12\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy90aGVtZS90aGVtZS1wcm92aWRlci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUU4QjtBQUNtQztBQUcxRCxTQUFTQyxjQUFjLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUEyQjtJQUNwRSxxQkFBTyw4REFBQ0Ysc0RBQWtCQTtRQUFFLEdBQUdFLEtBQUs7a0JBQUdEOzs7Ozs7QUFDM0MiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHRoZW1lXFx0aGVtZS1wcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgYXMgTmV4dFRoZW1lc1Byb3ZpZGVyIH0gZnJvbSBcIm5leHQtdGhlbWVzXCJcclxuaW1wb3J0IHsgdHlwZSBUaGVtZVByb3ZpZGVyUHJvcHMgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIoeyBjaGlsZHJlbiwgLi4ucHJvcHMgfTogVGhlbWVQcm92aWRlclByb3BzKSB7XHJcbiAgICByZXR1cm4gPE5leHRUaGVtZXNQcm92aWRlciB7Li4ucHJvcHN9PntjaGlsZHJlbn08L05leHRUaGVtZXNQcm92aWRlcj5cclxufVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUaGVtZVByb3ZpZGVyIiwiTmV4dFRoZW1lc1Byb3ZpZGVyIiwiY2hpbGRyZW4iLCJwcm9wcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/theme/theme-provider.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/button.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/button.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button),\n/* harmony export */ buttonVariants: () => (/* binding */ buttonVariants)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var class_variance_authority__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! class-variance-authority */ \"(ssr)/./node_modules/class-variance-authority/dist/index.mjs\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\n\n\nconst buttonVariants = (0,class_variance_authority__WEBPACK_IMPORTED_MODULE_2__.cva)(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n});\nconst Button = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, variant, size, asChild = false, ...props }, ref)=>{\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot : \"button\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Comp, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(buttonVariants({\n variant,\n size,\n className\n })),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\button.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, undefined);\n});\nButton.displayName = \"Button\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9idXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBOEI7QUFDYTtBQUNzQjtBQUUxQjtBQUV2QyxNQUFNSSxpQkFBaUJGLDZEQUFHQSxDQUN0Qiw0VkFDQTtJQUNJRyxVQUFVO1FBQ05DLFNBQVM7WUFDTEMsU0FBUztZQUNUQyxhQUNJO1lBQ0pDLFNBQ0k7WUFDSkMsV0FDSTtZQUNKQyxPQUFPO1lBQ1BDLE1BQU07UUFDVjtRQUNBQyxNQUFNO1lBQ0ZOLFNBQVM7WUFDVE8sSUFBSTtZQUNKQyxJQUFJO1lBQ0pDLE1BQU07UUFDVjtJQUNKO0lBQ0FDLGlCQUFpQjtRQUNiWCxTQUFTO1FBQ1RPLE1BQU07SUFDVjtBQUNKO0FBU0osTUFBTUssdUJBQVNsQiw2Q0FBZ0IsQ0FDM0IsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFZCxPQUFPLEVBQUVPLElBQUksRUFBRVEsVUFBVSxLQUFLLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUN0RCxNQUFNQyxPQUFPSCxVQUFVcEIsc0RBQUlBLEdBQUc7SUFDOUIscUJBQ0ksOERBQUN1QjtRQUNHSixXQUFXakIscURBQUVBLENBQUNDLGVBQWU7WUFBRUU7WUFBU087WUFBTU87UUFBVTtRQUN4REcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosT0FBT08sV0FBVyxHQUFHO0FBRVkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxidXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIlxyXG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgYnV0dG9uVmFyaWFudHMgPSBjdmEoXHJcbiAgICBcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwIFsmX3N2Z106cG9pbnRlci1ldmVudHMtbm9uZSBbJl9zdmddOnNpemUtNCBbJl9zdmddOnNocmluay0wXCIsXHJcbiAgICB7XHJcbiAgICAgICAgdmFyaWFudHM6IHtcclxuICAgICAgICAgICAgdmFyaWFudDoge1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogXCJiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkvOTBcIixcclxuICAgICAgICAgICAgICAgIGRlc3RydWN0aXZlOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYmctZGVzdHJ1Y3RpdmUgdGV4dC1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kIGhvdmVyOmJnLWRlc3RydWN0aXZlLzkwXCIsXHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOlxyXG4gICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6XHJcbiAgICAgICAgICAgICAgICAgICAgXCJiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1zZWNvbmRhcnkvODBcIixcclxuICAgICAgICAgICAgICAgIGdob3N0OiBcImhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBcInRleHQtcHJpbWFyeSB1bmRlcmxpbmUtb2Zmc2V0LTQgaG92ZXI6dW5kZXJsaW5lXCIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNpemU6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IFwiaC0xMCBweC00IHB5LTJcIixcclxuICAgICAgICAgICAgICAgIHNtOiBcImgtOSByb3VuZGVkLW1kIHB4LTNcIixcclxuICAgICAgICAgICAgICAgIGxnOiBcImgtMTEgcm91bmRlZC1tZCBweC04XCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImgtMTAgdy0xMFwiLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVmYXVsdFZhcmlhbnRzOiB7XHJcbiAgICAgICAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICBzaXplOiBcImRlZmF1bHRcIixcclxuICAgICAgICB9LFxyXG4gICAgfVxyXG4pXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvblByb3BzXHJcbiAgICBleHRlbmRzIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PixcclxuICAgIFZhcmlhbnRQcm9wczx0eXBlb2YgYnV0dG9uVmFyaWFudHM+IHtcclxuICAgIGFzQ2hpbGQ/OiBib29sZWFuXHJcbn1cclxuXHJcbmNvbnN0IEJ1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihcclxuICAgICh7IGNsYXNzTmFtZSwgdmFyaWFudCwgc2l6ZSwgYXNDaGlsZCA9IGZhbHNlLCAuLi5wcm9wcyB9LCByZWYpID0+IHtcclxuICAgICAgICBjb25zdCBDb21wID0gYXNDaGlsZCA/IFNsb3QgOiBcImJ1dHRvblwiXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPENvbXBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oYnV0dG9uVmFyaWFudHMoeyB2YXJpYW50LCBzaXplLCBjbGFzc05hbWUgfSkpfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbkJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiQnV0dG9uXCJcclxuXHJcbmV4cG9ydCB7IEJ1dHRvbiwgYnV0dG9uVmFyaWFudHMgfVxyXG4iXSwibmFtZXMiOlsiUmVhY3QiLCJTbG90IiwiY3ZhIiwiY24iLCJidXR0b25WYXJpYW50cyIsInZhcmlhbnRzIiwidmFyaWFudCIsImRlZmF1bHQiLCJkZXN0cnVjdGl2ZSIsIm91dGxpbmUiLCJzZWNvbmRhcnkiLCJnaG9zdCIsImxpbmsiLCJzaXplIiwic20iLCJsZyIsImljb24iLCJkZWZhdWx0VmFyaWFudHMiLCJCdXR0b24iLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiYXNDaGlsZCIsInByb3BzIiwicmVmIiwiQ29tcCIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/button.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/checkbox.tsx": -/*!****************************************!*\ - !*** ./src/components/ui/checkbox.tsx ***! - \****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Checkbox: () => (/* binding */ Checkbox)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-checkbox */ \"(ssr)/./node_modules/@radix-ui/react-checkbox/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Checkbox auto */ \n\n\n\n\nconst Checkbox = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__.Root, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__.Indicator, {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center justify-center text-current\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\checkbox.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\checkbox.tsx\",\n lineNumber: 21,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\checkbox.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, undefined));\nCheckbox.displayName = _radix_ui_react_checkbox__WEBPACK_IMPORTED_MODULE_3__.Root.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9jaGVja2JveC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRThCO0FBQytCO0FBQ3pCO0FBRUc7QUFFdkMsTUFBTUkseUJBQVdKLDZDQUFnQixDQUcvQixDQUFDLEVBQUVNLFNBQVMsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ1AsMERBQXNCO1FBQ25CTyxLQUFLQTtRQUNMRixXQUFXSCxxREFBRUEsQ0FDVCxrVEFDQUc7UUFFSCxHQUFHQyxLQUFLO2tCQUVULDRFQUFDTiwrREFBMkI7WUFDeEJLLFdBQVdILHFEQUFFQSxDQUFDO3NCQUVkLDRFQUFDRCxpRkFBS0E7Z0JBQUNJLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJN0JGLFNBQVNPLFdBQVcsR0FBR1YsMERBQXNCLENBQUNVLFdBQVc7QUFFdEMiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxjaGVja2JveC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCAqIGFzIENoZWNrYm94UHJpbWl0aXZlIGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY2hlY2tib3hcIlxyXG5pbXBvcnQgeyBDaGVjayB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5cclxuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9zaGFyZWQvbGliL3V0aWxzXCJcclxuXHJcbmNvbnN0IENoZWNrYm94ID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIENoZWNrYm94UHJpbWl0aXZlLlJvb3Q+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBDaGVja2JveFByaW1pdGl2ZS5Sb290PlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8Q2hlY2tib3hQcmltaXRpdmUuUm9vdFxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgIFwicGVlciBoLTQgdy00IHNocmluay0wIHJvdW5kZWQtc20gYm9yZGVyIGJvcmRlci1wcmltYXJ5IHJpbmctb2Zmc2V0LWJhY2tncm91bmQgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLW9mZnNldC0yIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwIGRhdGEtW3N0YXRlPWNoZWNrZWRdOmJnLXByaW1hcnkgZGF0YS1bc3RhdGU9Y2hlY2tlZF06dGV4dC1wcmltYXJ5LWZvcmVncm91bmRcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAgPENoZWNrYm94UHJpbWl0aXZlLkluZGljYXRvclxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1jdXJyZW50XCIpfVxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPENoZWNrIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgIDwvQ2hlY2tib3hQcmltaXRpdmUuSW5kaWNhdG9yPlxyXG4gICAgPC9DaGVja2JveFByaW1pdGl2ZS5Sb290PlxyXG4pKVxyXG5DaGVja2JveC5kaXNwbGF5TmFtZSA9IENoZWNrYm94UHJpbWl0aXZlLlJvb3QuZGlzcGxheU5hbWVcclxuXHJcbmV4cG9ydCB7IENoZWNrYm94IH1cclxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQ2hlY2tib3hQcmltaXRpdmUiLCJDaGVjayIsImNuIiwiQ2hlY2tib3giLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJyZWYiLCJSb290IiwiSW5kaWNhdG9yIiwiZGlzcGxheU5hbWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/checkbox.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/dropdown-menu.tsx": -/*!*********************************************!*\ - !*** ./src/components/ui/dropdown-menu.tsx ***! - \*********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DropdownMenu: () => (/* binding */ DropdownMenu),\n/* harmony export */ DropdownMenuCheckboxItem: () => (/* binding */ DropdownMenuCheckboxItem),\n/* harmony export */ DropdownMenuContent: () => (/* binding */ DropdownMenuContent),\n/* harmony export */ DropdownMenuGroup: () => (/* binding */ DropdownMenuGroup),\n/* harmony export */ DropdownMenuItem: () => (/* binding */ DropdownMenuItem),\n/* harmony export */ DropdownMenuLabel: () => (/* binding */ DropdownMenuLabel),\n/* harmony export */ DropdownMenuPortal: () => (/* binding */ DropdownMenuPortal),\n/* harmony export */ DropdownMenuRadioGroup: () => (/* binding */ DropdownMenuRadioGroup),\n/* harmony export */ DropdownMenuRadioItem: () => (/* binding */ DropdownMenuRadioItem),\n/* harmony export */ DropdownMenuSeparator: () => (/* binding */ DropdownMenuSeparator),\n/* harmony export */ DropdownMenuShortcut: () => (/* binding */ DropdownMenuShortcut),\n/* harmony export */ DropdownMenuSub: () => (/* binding */ DropdownMenuSub),\n/* harmony export */ DropdownMenuSubContent: () => (/* binding */ DropdownMenuSubContent),\n/* harmony export */ DropdownMenuSubTrigger: () => (/* binding */ DropdownMenuSubTrigger),\n/* harmony export */ DropdownMenuTrigger: () => (/* binding */ DropdownMenuTrigger)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ \"(ssr)/./node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronRight,Circle!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle.js\");\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ DropdownMenu,DropdownMenuTrigger,DropdownMenuContent,DropdownMenuItem,DropdownMenuCheckboxItem,DropdownMenuRadioItem,DropdownMenuLabel,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuGroup,DropdownMenuPortal,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuRadioGroup auto */ \n\n\n\n\nconst DropdownMenu = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst DropdownMenuTrigger = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Trigger;\nconst DropdownMenuGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Group;\nconst DropdownMenuPortal = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal;\nconst DropdownMenuSub = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Sub;\nconst DropdownMenuRadioGroup = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioGroup;\nconst DropdownMenuSubTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\", inset && \"pl-8\", className),\n ...props,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"ml-auto h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 27,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubTrigger.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubTrigger.displayName;\nconst DropdownMenuSubContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, undefined));\nDropdownMenuSubContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.SubContent.displayName;\nconst DropdownMenuContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, sideOffset = 4, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Portal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n sideOffset: sideOffset,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 63,\n columnNumber: 5\n }, undefined));\nDropdownMenuContent.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\nconst DropdownMenuItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 83,\n columnNumber: 5\n }, undefined));\nDropdownMenuItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Item.displayName;\nconst DropdownMenuCheckboxItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, checked, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n checked: checked,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 109,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 108,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 99,\n columnNumber: 5\n }, undefined));\nDropdownMenuCheckboxItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.CheckboxItem.displayName;\nconst DropdownMenuRadioItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronRight_Circle_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-2 w-2 fill-current\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 133,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 132,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined),\n children\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 123,\n columnNumber: 5\n }, undefined));\nDropdownMenuRadioItem.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.RadioItem.displayName;\nconst DropdownMenuLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, inset, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 147,\n columnNumber: 5\n }, undefined));\nDropdownMenuLabel.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Label.displayName;\nconst DropdownMenuSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator, {\n ref: ref,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 163,\n columnNumber: 5\n }, undefined));\nDropdownMenuSeparator.displayName = _radix_ui_react_dropdown_menu__WEBPACK_IMPORTED_MODULE_3__.Separator.displayName;\nconst DropdownMenuShortcut = ({ className, ...props })=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"ml-auto text-xs tracking-widest opacity-60\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\dropdown-menu.tsx\",\n lineNumber: 176,\n columnNumber: 9\n }, undefined);\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRThCO0FBQ3dDO0FBQ1o7QUFFbkI7QUFFdkMsTUFBTU0sZUFBZUwsK0RBQTBCO0FBRS9DLE1BQU1PLHNCQUFzQlAsa0VBQTZCO0FBRXpELE1BQU1TLG9CQUFvQlQsZ0VBQTJCO0FBRXJELE1BQU1XLHFCQUFxQlgsaUVBQTRCO0FBRXZELE1BQU1hLGtCQUFrQmIsOERBQXlCO0FBRWpELE1BQU1lLHlCQUF5QmYscUVBQWdDO0FBRS9ELE1BQU1pQix1Q0FBeUJsQiw2Q0FBZ0IsQ0FLN0MsQ0FBQyxFQUFFb0IsU0FBUyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUN6Qyw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdJQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7O1lBRVJEOzBCQUNELDhEQUFDbkIscUdBQVlBO2dCQUFDaUIsV0FBVTs7Ozs7Ozs7Ozs7O0FBR2hDRix1QkFBdUJRLFdBQVcsR0FDOUJ6QixxRUFBZ0MsQ0FBQ3lCLFdBQVc7QUFFaEQsTUFBTUMsdUNBQXlCM0IsNkNBQWdCLENBRzdDLENBQUMsRUFBRW9CLFNBQVMsRUFBRSxHQUFHRyxPQUFPLEVBQUVDLG9CQUN4Qiw4REFBQ3ZCLHFFQUFnQztRQUM3QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHliQUNBZTtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQkksdUJBQXVCRCxXQUFXLEdBQzlCekIscUVBQWdDLENBQUN5QixXQUFXO0FBRWhELE1BQU1HLG9DQUFzQjdCLDZDQUFnQixDQUcxQyxDQUFDLEVBQUVvQixTQUFTLEVBQUVVLGFBQWEsQ0FBQyxFQUFFLEdBQUdQLE9BQU8sRUFBRUMsb0JBQ3hDLDhEQUFDdkIsaUVBQTRCO2tCQUN6Qiw0RUFBQ0Esa0VBQTZCO1lBQzFCdUIsS0FBS0E7WUFDTE0sWUFBWUE7WUFDWlYsV0FBV2YscURBQUVBLENBQ1QseWJBQ0FlO1lBRUgsR0FBR0csS0FBSzs7Ozs7Ozs7Ozs7QUFJckJNLG9CQUFvQkgsV0FBVyxHQUFHekIsa0VBQTZCLENBQUN5QixXQUFXO0FBRTNFLE1BQU1NLGlDQUFtQmhDLDZDQUFnQixDQUt2QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVDLEtBQUssRUFBRSxHQUFHRSxPQUFPLEVBQUVDLG9CQUMvQiw4REFBQ3ZCLCtEQUEwQjtRQUN2QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULG1PQUNBZ0IsU0FBUyxRQUNURDtRQUVILEdBQUdHLEtBQUs7Ozs7OztBQUdqQlMsaUJBQWlCTixXQUFXLEdBQUd6QiwrREFBMEIsQ0FBQ3lCLFdBQVc7QUFFckUsTUFBTVEseUNBQTJCbEMsNkNBQWdCLENBRy9DLENBQUMsRUFBRW9CLFNBQVMsRUFBRUUsUUFBUSxFQUFFYSxPQUFPLEVBQUUsR0FBR1osT0FBTyxFQUFFQyxvQkFDM0MsOERBQUN2Qix1RUFBa0M7UUFDL0J1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FDVCx3T0FDQWU7UUFFSmUsU0FBU0E7UUFDUixHQUFHWixLQUFLOzswQkFFVCw4REFBQ2M7Z0JBQUtqQixXQUFVOzBCQUNaLDRFQUFDbkIsd0VBQW1DOzhCQUNoQyw0RUFBQ0MscUdBQUtBO3dCQUFDa0IsV0FBVTs7Ozs7Ozs7Ozs7Ozs7OztZQUd4QkU7Ozs7Ozs7QUFHVFkseUJBQXlCUixXQUFXLEdBQ2hDekIsdUVBQWtDLENBQUN5QixXQUFXO0FBRWxELE1BQU1hLHNDQUF3QnZDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUVFLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUNsQyw4REFBQ3ZCLG9FQUErQjtRQUM1QnVCLEtBQUtBO1FBQ0xKLFdBQVdmLHFEQUFFQSxDQUNULHdPQUNBZTtRQUVILEdBQUdHLEtBQUs7OzBCQUVULDhEQUFDYztnQkFBS2pCLFdBQVU7MEJBQ1osNEVBQUNuQix3RUFBbUM7OEJBQ2hDLDRFQUFDRyxxR0FBTUE7d0JBQUNnQixXQUFVOzs7Ozs7Ozs7Ozs7Ozs7O1lBR3pCRTs7Ozs7OztBQUdUaUIsc0JBQXNCYixXQUFXLEdBQUd6QixvRUFBK0IsQ0FBQ3lCLFdBQVc7QUFFL0UsTUFBTWUsa0NBQW9CekMsNkNBQWdCLENBS3hDLENBQUMsRUFBRW9CLFNBQVMsRUFBRUMsS0FBSyxFQUFFLEdBQUdFLE9BQU8sRUFBRUMsb0JBQy9CLDhEQUFDdkIsZ0VBQTJCO1FBQ3hCdUIsS0FBS0E7UUFDTEosV0FBV2YscURBQUVBLENBQ1QscUNBQ0FnQixTQUFTLFFBQ1REO1FBRUgsR0FBR0csS0FBSzs7Ozs7O0FBR2pCa0Isa0JBQWtCZixXQUFXLEdBQUd6QixnRUFBMkIsQ0FBQ3lCLFdBQVc7QUFFdkUsTUFBTWlCLHNDQUF3QjNDLDZDQUFnQixDQUc1QyxDQUFDLEVBQUVvQixTQUFTLEVBQUUsR0FBR0csT0FBTyxFQUFFQyxvQkFDeEIsOERBQUN2QixvRUFBK0I7UUFDNUJ1QixLQUFLQTtRQUNMSixXQUFXZixxREFBRUEsQ0FBQyw0QkFBNEJlO1FBQ3pDLEdBQUdHLEtBQUs7Ozs7OztBQUdqQm9CLHNCQUFzQmpCLFdBQVcsR0FBR3pCLG9FQUErQixDQUFDeUIsV0FBVztBQUUvRSxNQUFNbUIsdUJBQXVCLENBQUMsRUFDMUJ6QixTQUFTLEVBQ1QsR0FBR0csT0FDaUM7SUFDcEMscUJBQ0ksOERBQUNjO1FBQ0dqQixXQUFXZixxREFBRUEsQ0FBQyw4Q0FBOENlO1FBQzNELEdBQUdHLEtBQUs7Ozs7OztBQUdyQjtBQUNBc0IscUJBQXFCbkIsV0FBVyxHQUFHO0FBa0JsQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXGRyb3Bkb3duLW1lbnUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgKiBhcyBEcm9wZG93bk1lbnVQcmltaXRpdmUgZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kcm9wZG93bi1tZW51XCJcclxuaW1wb3J0IHsgQ2hlY2ssIENoZXZyb25SaWdodCwgQ2lyY2xlIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51ID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlJvb3RcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVRyaWdnZXIgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuVHJpZ2dlclxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51R3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuR3JvdXBcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVBvcnRhbCA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Qb3J0YWxcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YiA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvR3JvdXAgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9Hcm91cFxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U3ViVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViVHJpZ2dlcj4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJUcmlnZ2VyPiAmIHtcclxuICAgICAgICBpbnNldD86IGJvb2xlYW5cclxuICAgIH1cclxuPigoeyBjbGFzc05hbWUsIGluc2V0LCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXJcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcImZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHgtMiBweS0xLjUgdGV4dC1zbSBvdXRsaW5lLW5vbmUgZm9jdXM6YmctYWNjZW50IGRhdGEtW3N0YXRlPW9wZW5dOmJnLWFjY2VudFwiLFxyXG4gICAgICAgICAgICBpbnNldCAmJiBcInBsLThcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDxDaGV2cm9uUmlnaHQgY2xhc3NOYW1lPVwibWwtYXV0byBoLTQgdy00XCIgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXI+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YlRyaWdnZXIuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YlRyaWdnZXIuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVN1YkNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU3ViQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TdWJDb250ZW50XHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJ6LTUwIG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciBwLTEgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgc2hhZG93LWxnIGRhdGEtW3N0YXRlPW9wZW5dOmFuaW1hdGUtaW4gZGF0YS1bc3RhdGU9Y2xvc2VkXTphbmltYXRlLW91dCBkYXRhLVtzdGF0ZT1jbG9zZWRdOmZhZGUtb3V0LTAgZGF0YS1bc3RhdGU9b3Blbl06ZmFkZS1pbi0wIGRhdGEtW3N0YXRlPWNsb3NlZF06em9vbS1vdXQtOTUgZGF0YS1bc3RhdGU9b3Blbl06em9vbS1pbi05NSBkYXRhLVtzaWRlPWJvdHRvbV06c2xpZGUtaW4tZnJvbS10b3AtMiBkYXRhLVtzaWRlPWxlZnRdOnNsaWRlLWluLWZyb20tcmlnaHQtMiBkYXRhLVtzaWRlPXJpZ2h0XTpzbGlkZS1pbi1mcm9tLWxlZnQtMiBkYXRhLVtzaWRlPXRvcF06c2xpZGUtaW4tZnJvbS1ib3R0b20tMlwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudVN1YkNvbnRlbnQuZGlzcGxheU5hbWUgPVxyXG4gICAgRHJvcGRvd25NZW51UHJpbWl0aXZlLlN1YkNvbnRlbnQuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIHNpZGVPZmZzZXQgPSA0LCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUG9ydGFsPlxyXG4gICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudFxyXG4gICAgICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICAgICAgc2lkZU9mZnNldD17c2lkZU9mZnNldH1cclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgIFwiei01MCBtaW4tdy1bOHJlbV0gb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtbWQgYm9yZGVyIGJnLXBvcG92ZXIgcC0xIHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIHNoYWRvdy1tZCBkYXRhLVtzdGF0ZT1vcGVuXTphbmltYXRlLWluIGRhdGEtW3N0YXRlPWNsb3NlZF06YW5pbWF0ZS1vdXQgZGF0YS1bc3RhdGU9Y2xvc2VkXTpmYWRlLW91dC0wIGRhdGEtW3N0YXRlPW9wZW5dOmZhZGUtaW4tMCBkYXRhLVtzdGF0ZT1jbG9zZWRdOnpvb20tb3V0LTk1IGRhdGEtW3N0YXRlPW9wZW5dOnpvb20taW4tOTUgZGF0YS1bc2lkZT1ib3R0b21dOnNsaWRlLWluLWZyb20tdG9wLTIgZGF0YS1bc2lkZT1sZWZ0XTpzbGlkZS1pbi1mcm9tLXJpZ2h0LTIgZGF0YS1bc2lkZT1yaWdodF06c2xpZGUtaW4tZnJvbS1sZWZ0LTIgZGF0YS1bc2lkZT10b3BdOnNsaWRlLWluLWZyb20tYm90dG9tLTJcIixcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLlBvcnRhbD5cclxuKSlcclxuRHJvcGRvd25NZW51Q29udGVudC5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5Db250ZW50LmRpc3BsYXlOYW1lXHJcblxyXG5jb25zdCBEcm9wZG93bk1lbnVJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW0+ICYge1xyXG4gICAgICAgIGluc2V0PzogYm9vbGVhblxyXG4gICAgfVxyXG4+KCh7IGNsYXNzTmFtZSwgaW5zZXQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB4LTIgcHktMS41IHRleHQtc20gb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgIGluc2V0ICYmIFwicGwtOFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgIC8+XHJcbikpXHJcbkRyb3Bkb3duTWVudUl0ZW0uZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbS5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuQ2hlY2tib3hJdGVtPlxyXG4+KCh7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIGNoZWNrZWQsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW1cclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcInJlbGF0aXZlIGZsZXggY3Vyc29yLWRlZmF1bHQgc2VsZWN0LW5vbmUgaXRlbXMtY2VudGVyIHJvdW5kZWQtc20gcHktMS41IHBsLTggcHItMiB0ZXh0LXNtIG91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpiZy1hY2NlbnQgZm9jdXM6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBkYXRhLVtkaXNhYmxlZF06cG9pbnRlci1ldmVudHMtbm9uZSBkYXRhLVtkaXNhYmxlZF06b3BhY2l0eS01MFwiLFxyXG4gICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICApfVxyXG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIGxlZnQtMiBmbGV4IGgtMy41IHctMy41IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICA8Q2hlY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkl0ZW1JbmRpY2F0b3I+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvRHJvcGRvd25NZW51UHJpbWl0aXZlLkNoZWNrYm94SXRlbT5cclxuKSlcclxuRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLmRpc3BsYXlOYW1lID1cclxuICAgIERyb3Bkb3duTWVudVByaW1pdGl2ZS5DaGVja2JveEl0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVJhZGlvSXRlbSA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlJhZGlvSXRlbT5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9LCByZWYpID0+IChcclxuICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IGN1cnNvci1kZWZhdWx0IHNlbGVjdC1ub25lIGl0ZW1zLWNlbnRlciByb3VuZGVkLXNtIHB5LTEuNSBwbC04IHByLTIgdGV4dC1zbSBvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnMgZm9jdXM6YmctYWNjZW50IGZvY3VzOnRleHQtYWNjZW50LWZvcmVncm91bmQgZGF0YS1bZGlzYWJsZWRdOnBvaW50ZXItZXZlbnRzLW5vbmUgZGF0YS1bZGlzYWJsZWRdOm9wYWNpdHktNTBcIixcclxuICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0yIGZsZXggaC0zLjUgdy0zLjUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxEcm9wZG93bk1lbnVQcmltaXRpdmUuSXRlbUluZGljYXRvcj5cclxuICAgICAgICAgICAgICAgIDxDaXJjbGUgY2xhc3NOYW1lPVwiaC0yIHctMiBmaWxsLWN1cnJlbnRcIiAvPlxyXG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L0Ryb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0+XHJcbikpXHJcbkRyb3Bkb3duTWVudVJhZGlvSXRlbS5kaXNwbGF5TmFtZSA9IERyb3Bkb3duTWVudVByaW1pdGl2ZS5SYWRpb0l0ZW0uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudUxhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIERyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbD4gJiB7XHJcbiAgICAgICAgaW5zZXQ/OiBib29sZWFuXHJcbiAgICB9XHJcbj4oKHsgY2xhc3NOYW1lLCBpbnNldCwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8RHJvcGRvd25NZW51UHJpbWl0aXZlLkxhYmVsXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJweC0yIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIixcclxuICAgICAgICAgICAgaW5zZXQgJiYgXCJwbC04XCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51TGFiZWwuZGlzcGxheU5hbWUgPSBEcm9wZG93bk1lbnVQcmltaXRpdmUuTGFiZWwuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IERyb3Bkb3duTWVudVNlcGFyYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBEcm9wZG93bk1lbnVQcmltaXRpdmUuU2VwYXJhdG9yPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvcj5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPERyb3Bkb3duTWVudVByaW1pdGl2ZS5TZXBhcmF0b3JcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFwiLW14LTEgbXktMSBoLXB4IGJnLW11dGVkXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgLz5cclxuKSlcclxuRHJvcGRvd25NZW51U2VwYXJhdG9yLmRpc3BsYXlOYW1lID0gRHJvcGRvd25NZW51UHJpbWl0aXZlLlNlcGFyYXRvci5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgRHJvcGRvd25NZW51U2hvcnRjdXQgPSAoe1xyXG4gICAgY2xhc3NOYW1lLFxyXG4gICAgLi4ucHJvcHNcclxufTogUmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTFNwYW5FbGVtZW50PikgPT4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFwibWwtYXV0byB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdCBvcGFjaXR5LTYwXCIsIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcbkRyb3Bkb3duTWVudVNob3J0Y3V0LmRpc3BsYXlOYW1lID0gXCJEcm9wZG93bk1lbnVTaG9ydGN1dFwiXHJcblxyXG5leHBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51VHJpZ2dlcixcclxuICAgIERyb3Bkb3duTWVudUNvbnRlbnQsXHJcbiAgICBEcm9wZG93bk1lbnVJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLFxyXG4gICAgRHJvcGRvd25NZW51UmFkaW9JdGVtLFxyXG4gICAgRHJvcGRvd25NZW51TGFiZWwsXHJcbiAgICBEcm9wZG93bk1lbnVTZXBhcmF0b3IsXHJcbiAgICBEcm9wZG93bk1lbnVTaG9ydGN1dCxcclxuICAgIERyb3Bkb3duTWVudUdyb3VwLFxyXG4gICAgRHJvcGRvd25NZW51UG9ydGFsLFxyXG4gICAgRHJvcGRvd25NZW51U3ViLFxyXG4gICAgRHJvcGRvd25NZW51U3ViQ29udGVudCxcclxuICAgIERyb3Bkb3duTWVudVN1YlRyaWdnZXIsXHJcbiAgICBEcm9wZG93bk1lbnVSYWRpb0dyb3VwLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZSIsIkNoZWNrIiwiQ2hldnJvblJpZ2h0IiwiQ2lyY2xlIiwiY24iLCJEcm9wZG93bk1lbnUiLCJSb290IiwiRHJvcGRvd25NZW51VHJpZ2dlciIsIlRyaWdnZXIiLCJEcm9wZG93bk1lbnVHcm91cCIsIkdyb3VwIiwiRHJvcGRvd25NZW51UG9ydGFsIiwiUG9ydGFsIiwiRHJvcGRvd25NZW51U3ViIiwiU3ViIiwiRHJvcGRvd25NZW51UmFkaW9Hcm91cCIsIlJhZGlvR3JvdXAiLCJEcm9wZG93bk1lbnVTdWJUcmlnZ2VyIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImluc2V0IiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlN1YlRyaWdnZXIiLCJkaXNwbGF5TmFtZSIsIkRyb3Bkb3duTWVudVN1YkNvbnRlbnQiLCJTdWJDb250ZW50IiwiRHJvcGRvd25NZW51Q29udGVudCIsInNpZGVPZmZzZXQiLCJDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkl0ZW0iLCJEcm9wZG93bk1lbnVDaGVja2JveEl0ZW0iLCJjaGVja2VkIiwiQ2hlY2tib3hJdGVtIiwic3BhbiIsIkl0ZW1JbmRpY2F0b3IiLCJEcm9wZG93bk1lbnVSYWRpb0l0ZW0iLCJSYWRpb0l0ZW0iLCJEcm9wZG93bk1lbnVMYWJlbCIsIkxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiU2VwYXJhdG9yIiwiRHJvcGRvd25NZW51U2hvcnRjdXQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/dropdown-menu.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/input.tsx": -/*!*************************************!*\ - !*** ./src/components/ui/input.tsx ***! - \*************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Input: () => (/* binding */ Input)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n\n\n\nconst Input = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, type, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: type,\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\", className),\n ref: ref,\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\input.tsx\",\n lineNumber: 8,\n columnNumber: 13\n }, undefined);\n});\nInput.displayName = \"Input\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9pbnB1dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUE4QjtBQUVTO0FBRXZDLE1BQU1FLHNCQUFRRiw2Q0FBZ0IsQ0FDMUIsQ0FBQyxFQUFFSSxTQUFTLEVBQUVDLElBQUksRUFBRSxHQUFHQyxPQUFPLEVBQUVDO0lBQzVCLHFCQUNJLDhEQUFDQztRQUNHSCxNQUFNQTtRQUNORCxXQUFXSCxxREFBRUEsQ0FDVCxrWUFDQUc7UUFFSkcsS0FBS0E7UUFDSixHQUFHRCxLQUFLOzs7Ozs7QUFHckI7QUFFSkosTUFBTU8sV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxpbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuXHJcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvc2hhcmVkL2xpYi91dGlsc1wiXHJcblxyXG5jb25zdCBJbnB1dCA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJpbnB1dFwiPj4oXHJcbiAgICAoeyBjbGFzc05hbWUsIHR5cGUsIC4uLnByb3BzIH0sIHJlZikgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT17dHlwZX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgXCJmbGV4IGgtMTAgdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktMiB0ZXh0LWJhc2UgcmluZy1vZmZzZXQtYmFja2dyb3VuZCBmaWxlOmJvcmRlci0wIGZpbGU6YmctdHJhbnNwYXJlbnQgZmlsZTp0ZXh0LXNtIGZpbGU6Zm9udC1tZWRpdW0gZmlsZTp0ZXh0LWZvcmVncm91bmQgcGxhY2Vob2xkZXI6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MCBtZDp0ZXh0LXNtXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcbklucHV0LmRpc3BsYXlOYW1lID0gXCJJbnB1dFwiXHJcblxyXG5leHBvcnQgeyBJbnB1dCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiSW5wdXQiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwidHlwZSIsInByb3BzIiwicmVmIiwiaW5wdXQiLCJkaXNwbGF5TmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/input.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/select.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/select.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Select: () => (/* binding */ Select),\n/* harmony export */ SelectContent: () => (/* binding */ SelectContent),\n/* harmony export */ SelectGroup: () => (/* binding */ SelectGroup),\n/* harmony export */ SelectItem: () => (/* binding */ SelectItem),\n/* harmony export */ SelectLabel: () => (/* binding */ SelectLabel),\n/* harmony export */ SelectScrollDownButton: () => (/* binding */ SelectScrollDownButton),\n/* harmony export */ SelectScrollUpButton: () => (/* binding */ SelectScrollUpButton),\n/* harmony export */ SelectSeparator: () => (/* binding */ SelectSeparator),\n/* harmony export */ SelectTrigger: () => (/* binding */ SelectTrigger),\n/* harmony export */ SelectValue: () => (/* binding */ SelectValue)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-select */ \"(ssr)/./node_modules/@radix-ui/react-select/dist/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronUp!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronUp!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronUp!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Select,SelectGroup,SelectValue,SelectTrigger,SelectContent,SelectLabel,SelectItem,SelectSeparator,SelectScrollUpButton,SelectScrollDownButton auto */ \n\n\n\n\nconst Select = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Root;\nconst SelectGroup = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Group;\nconst SelectValue = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Value;\nconst SelectTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Trigger, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\", className),\n ...props,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Icon, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4 opacity-50\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 28,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 19,\n columnNumber: 5\n }, undefined));\nSelectTrigger.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Trigger.displayName;\nconst SelectScrollUpButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollUpButton, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 47,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 39,\n columnNumber: 5\n }, undefined));\nSelectScrollUpButton.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollUpButton.displayName;\nconst SelectScrollDownButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollDownButton, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex cursor-default items-center justify-center py-1\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 56,\n columnNumber: 5\n }, undefined));\nSelectScrollDownButton.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ScrollDownButton.displayName;\nconst SelectContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, position = \"popper\", ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Portal, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Content, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", position === \"popper\" && \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\", className),\n position: position,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SelectScrollUpButton, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 86,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Viewport, {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"p-1\", position === \"popper\" && \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"),\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 87,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SelectScrollDownButton, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 96,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 75,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 74,\n columnNumber: 5\n }, undefined));\nSelectContent.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Content.displayName;\nconst SelectLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Label, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-2 py-1.5 text-sm font-semibold\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 106,\n columnNumber: 5\n }, undefined));\nSelectLabel.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Label.displayName;\nconst SelectItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Item, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ItemIndicator, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronUp_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 128,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 127,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 126,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.ItemText, {\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 118,\n columnNumber: 5\n }, undefined));\nSelectItem.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Item.displayName;\nconst SelectSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Separator, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\select.tsx\",\n lineNumber: 140,\n columnNumber: 5\n }, undefined));\nSelectSeparator.displayName = _radix_ui_react_select__WEBPACK_IMPORTED_MODULE_3__.Separator.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RUFBQ0MsdUdBQUtBO3dCQUFDWSxXQUFVOzs7Ozs7Ozs7Ozs7Ozs7OzBCQUd6Qiw4REFBQ2IsNERBQXdCOzBCQUFFYzs7Ozs7Ozs7Ozs7O0FBR25Da0IsV0FBV1osV0FBVyxHQUFHcEIsd0RBQW9CLENBQUNvQixXQUFXO0FBRXpELE1BQU1pQixnQ0FBa0J0Qyw2Q0FBZ0IsQ0FHdEMsQ0FBQyxFQUFFYyxTQUFTLEVBQUUsR0FBR0UsT0FBTyxFQUFFQyxvQkFDeEIsOERBQUNoQiw2REFBeUI7UUFDdEJnQixLQUFLQTtRQUNMSCxXQUFXVCw4Q0FBRUEsQ0FBQyw0QkFBNEJTO1FBQ3pDLEdBQUdFLEtBQUs7Ozs7OztBQUdqQnNCLGdCQUFnQmpCLFdBQVcsR0FBR3BCLDZEQUF5QixDQUFDb0IsV0FBVztBQWFsRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcY29tcG9uZW50c1xcdWlcXHNlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCJcclxuXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCAqIGFzIFNlbGVjdFByaW1pdGl2ZSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNlbGVjdFwiXHJcbmltcG9ydCB7IENoZWNrLCBDaGV2cm9uRG93biwgQ2hldnJvblVwIH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXHJcblxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL2xpYi91dGlsc1wiXHJcblxyXG5jb25zdCBTZWxlY3QgPSBTZWxlY3RQcmltaXRpdmUuUm9vdFxyXG5cclxuY29uc3QgU2VsZWN0R3JvdXAgPSBTZWxlY3RQcmltaXRpdmUuR3JvdXBcclxuXHJcbmNvbnN0IFNlbGVjdFZhbHVlID0gU2VsZWN0UHJpbWl0aXZlLlZhbHVlXHJcblxyXG5jb25zdCBTZWxlY3RUcmlnZ2VyID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5UcmlnZ2VyPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlRyaWdnZXI+XHJcbj4oKHsgY2xhc3NOYW1lLCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8U2VsZWN0UHJpbWl0aXZlLlRyaWdnZXJcclxuICAgICAgICByZWY9e3JlZn1cclxuICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICBcImZsZXggaC05IHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHdoaXRlc3BhY2Utbm93cmFwIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy10cmFuc3BhcmVudCBweC0zIHB5LTIgdGV4dC1zbSBzaGFkb3ctc20gcmluZy1vZmZzZXQtYmFja2dyb3VuZCBwbGFjZWhvbGRlcjp0ZXh0LW11dGVkLWZvcmVncm91bmQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMSBmb2N1czpyaW5nLXJpbmcgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTAgWyY+c3Bhbl06bGluZS1jbGFtcC0xXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIHtjaGlsZHJlbn1cclxuICAgICAgICA8U2VsZWN0UHJpbWl0aXZlLkljb24gYXNDaGlsZD5cclxuICAgICAgICAgICAgPENoZXZyb25Eb3duIGNsYXNzTmFtZT1cImgtNCB3LTQgb3BhY2l0eS01MFwiIC8+XHJcbiAgICAgICAgPC9TZWxlY3RQcmltaXRpdmUuSWNvbj5cclxuICAgIDwvU2VsZWN0UHJpbWl0aXZlLlRyaWdnZXI+XHJcbikpXHJcblNlbGVjdFRyaWdnZXIuZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuVHJpZ2dlci5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgU2VsZWN0U2Nyb2xsVXBCdXR0b24gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbFVwQnV0dG9uPixcclxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbFVwQnV0dG9uPlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8U2VsZWN0UHJpbWl0aXZlLlNjcm9sbFVwQnV0dG9uXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJmbGV4IGN1cnNvci1kZWZhdWx0IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweS0xXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxDaGV2cm9uVXAgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICA8L1NlbGVjdFByaW1pdGl2ZS5TY3JvbGxVcEJ1dHRvbj5cclxuKSlcclxuU2VsZWN0U2Nyb2xsVXBCdXR0b24uZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuU2Nyb2xsVXBCdXR0b24uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IFNlbGVjdFNjcm9sbERvd25CdXR0b24gPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbERvd25CdXR0b24+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuU2Nyb2xsRG93bkJ1dHRvbj5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5TY3JvbGxEb3duQnV0dG9uXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJmbGV4IGN1cnNvci1kZWZhdWx0IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweS0xXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxDaGV2cm9uRG93biBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgIDwvU2VsZWN0UHJpbWl0aXZlLlNjcm9sbERvd25CdXR0b24+XHJcbikpXHJcblNlbGVjdFNjcm9sbERvd25CdXR0b24uZGlzcGxheU5hbWUgPVxyXG4gICAgU2VsZWN0UHJpbWl0aXZlLlNjcm9sbERvd25CdXR0b24uZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IFNlbGVjdENvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmPFxyXG4gICAgUmVhY3QuRWxlbWVudFJlZjx0eXBlb2YgU2VsZWN0UHJpbWl0aXZlLkNvbnRlbnQ+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuQ29udGVudD5cclxuPigoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCBwb3NpdGlvbiA9IFwicG9wcGVyXCIsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5Qb3J0YWw+XHJcbiAgICAgICAgPFNlbGVjdFByaW1pdGl2ZS5Db250ZW50XHJcbiAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxyXG4gICAgICAgICAgICAgICAgXCJyZWxhdGl2ZSB6LTUwIG1heC1oLTk2IG1pbi13LVs4cmVtXSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1tZCBib3JkZXIgYmctcG9wb3ZlciB0ZXh0LXBvcG92ZXItZm9yZWdyb3VuZCBzaGFkb3ctbWQgZGF0YS1bc3RhdGU9b3Blbl06YW5pbWF0ZS1pbiBkYXRhLVtzdGF0ZT1jbG9zZWRdOmFuaW1hdGUtb3V0IGRhdGEtW3N0YXRlPWNsb3NlZF06ZmFkZS1vdXQtMCBkYXRhLVtzdGF0ZT1vcGVuXTpmYWRlLWluLTAgZGF0YS1bc3RhdGU9Y2xvc2VkXTp6b29tLW91dC05NSBkYXRhLVtzdGF0ZT1vcGVuXTp6b29tLWluLTk1IGRhdGEtW3NpZGU9Ym90dG9tXTpzbGlkZS1pbi1mcm9tLXRvcC0yIGRhdGEtW3NpZGU9bGVmdF06c2xpZGUtaW4tZnJvbS1yaWdodC0yIGRhdGEtW3NpZGU9cmlnaHRdOnNsaWRlLWluLWZyb20tbGVmdC0yIGRhdGEtW3NpZGU9dG9wXTpzbGlkZS1pbi1mcm9tLWJvdHRvbS0yXCIsXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbiA9PT0gXCJwb3BwZXJcIiAmJlxyXG4gICAgICAgICAgICAgICAgXCJkYXRhLVtzaWRlPWJvdHRvbV06dHJhbnNsYXRlLXktMSBkYXRhLVtzaWRlPWxlZnRdOi10cmFuc2xhdGUteC0xIGRhdGEtW3NpZGU9cmlnaHRdOnRyYW5zbGF0ZS14LTEgZGF0YS1bc2lkZT10b3BdOi10cmFuc2xhdGUteS0xXCIsXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgcG9zaXRpb249e3Bvc2l0aW9ufVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8U2VsZWN0U2Nyb2xsVXBCdXR0b24gLz5cclxuICAgICAgICAgICAgPFNlbGVjdFByaW1pdGl2ZS5WaWV3cG9ydFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICBcInAtMVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uID09PSBcInBvcHBlclwiICYmXHJcbiAgICAgICAgICAgICAgICAgICAgXCJoLVt2YXIoLS1yYWRpeC1zZWxlY3QtdHJpZ2dlci1oZWlnaHQpXSB3LWZ1bGwgbWluLXctW3ZhcigtLXJhZGl4LXNlbGVjdC10cmlnZ2VyLXdpZHRoKV1cIlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgICA8L1NlbGVjdFByaW1pdGl2ZS5WaWV3cG9ydD5cclxuICAgICAgICAgICAgPFNlbGVjdFNjcm9sbERvd25CdXR0b24gLz5cclxuICAgICAgICA8L1NlbGVjdFByaW1pdGl2ZS5Db250ZW50PlxyXG4gICAgPC9TZWxlY3RQcmltaXRpdmUuUG9ydGFsPlxyXG4pKVxyXG5TZWxlY3RDb250ZW50LmRpc3BsYXlOYW1lID0gU2VsZWN0UHJpbWl0aXZlLkNvbnRlbnQuZGlzcGxheU5hbWVcclxuXHJcbmNvbnN0IFNlbGVjdExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5MYWJlbD4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5MYWJlbD5cclxuPigoeyBjbGFzc05hbWUsIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5MYWJlbFxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCJweC0yIHB5LTEuNSB0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIiwgY2xhc3NOYW1lKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAvPlxyXG4pKVxyXG5TZWxlY3RMYWJlbC5kaXNwbGF5TmFtZSA9IFNlbGVjdFByaW1pdGl2ZS5MYWJlbC5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgU2VsZWN0SXRlbSA9IFJlYWN0LmZvcndhcmRSZWY8XHJcbiAgICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuSXRlbT4sXHJcbiAgICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5JdGVtPlxyXG4+KCh7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIC4uLnByb3BzIH0sIHJlZikgPT4gKFxyXG4gICAgPFNlbGVjdFByaW1pdGl2ZS5JdGVtXHJcbiAgICAgICAgcmVmPXtyZWZ9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgXCJyZWxhdGl2ZSBmbGV4IHctZnVsbCBjdXJzb3ItZGVmYXVsdCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgcm91bmRlZC1zbSBweS0xLjUgcGwtMiBwci04IHRleHQtc20gb3V0bGluZS1ub25lIGZvY3VzOmJnLWFjY2VudCBmb2N1czp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGRhdGEtW2Rpc2FibGVkXTpwb2ludGVyLWV2ZW50cy1ub25lIGRhdGEtW2Rpc2FibGVkXTpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LTIgZmxleCBoLTMuNSB3LTMuNSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPFNlbGVjdFByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgICAgICAgICAgPENoZWNrIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICA8L1NlbGVjdFByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8U2VsZWN0UHJpbWl0aXZlLkl0ZW1UZXh0PntjaGlsZHJlbn08L1NlbGVjdFByaW1pdGl2ZS5JdGVtVGV4dD5cclxuICAgIDwvU2VsZWN0UHJpbWl0aXZlLkl0ZW0+XHJcbikpXHJcblNlbGVjdEl0ZW0uZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuSXRlbS5kaXNwbGF5TmFtZVxyXG5cclxuY29uc3QgU2VsZWN0U2VwYXJhdG9yID0gUmVhY3QuZm9yd2FyZFJlZjxcclxuICAgIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFNlbGVjdFByaW1pdGl2ZS5TZXBhcmF0b3I+LFxyXG4gICAgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBTZWxlY3RQcmltaXRpdmUuU2VwYXJhdG9yPlxyXG4+KCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXHJcbiAgICA8U2VsZWN0UHJpbWl0aXZlLlNlcGFyYXRvclxyXG4gICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXCItbXgtMSBteS0xIGgtcHggYmctbXV0ZWRcIiwgY2xhc3NOYW1lKX1cclxuICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAvPlxyXG4pKVxyXG5TZWxlY3RTZXBhcmF0b3IuZGlzcGxheU5hbWUgPSBTZWxlY3RQcmltaXRpdmUuU2VwYXJhdG9yLmRpc3BsYXlOYW1lXHJcblxyXG5leHBvcnQge1xyXG4gICAgU2VsZWN0LFxyXG4gICAgU2VsZWN0R3JvdXAsXHJcbiAgICBTZWxlY3RWYWx1ZSxcclxuICAgIFNlbGVjdFRyaWdnZXIsXHJcbiAgICBTZWxlY3RDb250ZW50LFxyXG4gICAgU2VsZWN0TGFiZWwsXHJcbiAgICBTZWxlY3RJdGVtLFxyXG4gICAgU2VsZWN0U2VwYXJhdG9yLFxyXG4gICAgU2VsZWN0U2Nyb2xsVXBCdXR0b24sXHJcbiAgICBTZWxlY3RTY3JvbGxEb3duQnV0dG9uLFxyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlNlbGVjdFByaW1pdGl2ZSIsIkNoZWNrIiwiQ2hldnJvbkRvd24iLCJDaGV2cm9uVXAiLCJjbiIsIlNlbGVjdCIsIlJvb3QiLCJTZWxlY3RHcm91cCIsIkdyb3VwIiwiU2VsZWN0VmFsdWUiLCJWYWx1ZSIsIlNlbGVjdFRyaWdnZXIiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlRyaWdnZXIiLCJJY29uIiwiYXNDaGlsZCIsImRpc3BsYXlOYW1lIiwiU2VsZWN0U2Nyb2xsVXBCdXR0b24iLCJTY3JvbGxVcEJ1dHRvbiIsIlNlbGVjdFNjcm9sbERvd25CdXR0b24iLCJTY3JvbGxEb3duQnV0dG9uIiwiU2VsZWN0Q29udGVudCIsInBvc2l0aW9uIiwiUG9ydGFsIiwiQ29udGVudCIsIlZpZXdwb3J0IiwiU2VsZWN0TGFiZWwiLCJMYWJlbCIsIlNlbGVjdEl0ZW0iLCJJdGVtIiwic3BhbiIsIkl0ZW1JbmRpY2F0b3IiLCJJdGVtVGV4dCIsIlNlbGVjdFNlcGFyYXRvciIsIlNlcGFyYXRvciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/select.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toaster: () => (/* binding */ Toaster)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var sonner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! sonner */ \"(ssr)/./node_modules/sonner/dist/index.mjs\");\n/* __next_internal_client_entry_do_not_use__ Toaster auto */ \n\n\nconst Toaster = ({ ...props })=>{\n const { theme = \"system\" } = (0,next_themes__WEBPACK_IMPORTED_MODULE_1__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(sonner__WEBPACK_IMPORTED_MODULE_2__.Toaster, {\n theme: theme,\n className: \"toaster group\",\n toastOptions: {\n classNames: {\n toast: \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toaster]:text-muted-foreground\",\n actionButton: \"group-[.toaster]:bg-primary group-[.toaster]:text-primary-foreground\",\n cancelButton: \"group-[.toaster]:bg-muted group-[.toaster]:text-muted-foreground\"\n }\n },\n ...props\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\sonner.tsx\",\n lineNumber: 12,\n columnNumber: 9\n }, undefined);\n};\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zb25uZXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVzQztBQUNJO0FBSTFDLE1BQU1DLFVBQVUsQ0FBQyxFQUFFLEdBQUdFLE9BQXFCO0lBQ3ZDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLEVBQUUsR0FBR0oscURBQVFBO0lBRXJDLHFCQUNJLDhEQUFDRSwyQ0FBTUE7UUFDSEUsT0FBT0E7UUFDUEMsV0FBVTtRQUNWQyxjQUFjO1lBQ1ZDLFlBQVk7Z0JBQ1JDLE9BQ0k7Z0JBQ0pDLGFBQWE7Z0JBQ2JDLGNBQ0k7Z0JBQ0pDLGNBQ0k7WUFDUjtRQUNKO1FBQ0MsR0FBR1IsS0FBSzs7Ozs7O0FBR3JCO0FBRWtCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxjb21wb25lbnRzXFx1aVxcc29ubmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwibmV4dC10aGVtZXNcIlxyXG5pbXBvcnQgeyBUb2FzdGVyIGFzIFNvbm5lciB9IGZyb20gXCJzb25uZXJcIlxyXG5cclxudHlwZSBUb2FzdGVyUHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgU29ubmVyPlxyXG5cclxuY29uc3QgVG9hc3RlciA9ICh7IC4uLnByb3BzIH06IFRvYXN0ZXJQcm9wcykgPT4ge1xyXG4gICAgY29uc3QgeyB0aGVtZSA9IFwic3lzdGVtXCIgfSA9IHVzZVRoZW1lKClcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTb25uZXJcclxuICAgICAgICAgICAgdGhlbWU9e3RoZW1lIGFzIFRvYXN0ZXJQcm9wc1tcInRoZW1lXCJdfVxyXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0b2FzdGVyIGdyb3VwXCJcclxuICAgICAgICAgICAgdG9hc3RPcHRpb25zPXt7XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9hc3Q6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JvdXAgdG9hc3QgZ3JvdXAtWy50b2FzdGVyXTpiZy1iYWNrZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06dGV4dC1mb3JlZ3JvdW5kIGdyb3VwLVsudG9hc3Rlcl06Ym9yZGVyLWJvcmRlciBncm91cC1bLnRvYXN0ZXJdOnNoYWRvdy1sZ1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImdyb3VwLVsudG9hc3Rlcl06dGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctcHJpbWFyeSBncm91cC1bLnRvYXN0ZXJdOnRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyb3VwLVsudG9hc3Rlcl06YmctbXV0ZWQgZ3JvdXAtWy50b2FzdGVyXTp0ZXh0LW11dGVkLWZvcmVncm91bmRcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgKVxyXG59XHJcblxyXG5leHBvcnQgeyBUb2FzdGVyIH1cclxuIl0sIm5hbWVzIjpbInVzZVRoZW1lIiwiVG9hc3RlciIsIlNvbm5lciIsInByb3BzIiwidGhlbWUiLCJjbGFzc05hbWUiLCJ0b2FzdE9wdGlvbnMiLCJjbGFzc05hbWVzIiwidG9hc3QiLCJkZXNjcmlwdGlvbiIsImFjdGlvbkJ1dHRvbiIsImNhbmNlbEJ1dHRvbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/sonner.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/components/ui/switch.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/switch.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Switch: () => (/* binding */ Switch)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/shared/lib/utils */ \"(ssr)/./src/shared/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ Switch auto */ \n\n\n/**\r\n * Переключатель (тумблер) — аналог Shadcn Switch.\r\n * Используется для тумблера «На линии» в шапке.\r\n */ const Switch = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, checked = false, onCheckedChange, disabled, ...props }, ref)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n disabled: disabled,\n ref: ref,\n onClick: ()=>onCheckedChange?.(!checked),\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors\", \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\", \"disabled:cursor-not-allowed disabled:opacity-50\", checked ? \"bg-green-500\" : \"bg-input\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_shared_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform\", checked ? \"translate-x-5\" : \"translate-x-0\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\components\\\\ui\\\\switch.tsx\",\n lineNumber: 18,\n columnNumber: 13\n }, undefined);\n});\nSwitch.displayName = \"Switch\";\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zd2l0Y2gudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFOEI7QUFDUztBQU92Qzs7O0NBR0MsR0FDRCxNQUFNRSx1QkFBU0YsNkNBQWdCLENBQzNCLENBQUMsRUFBRUksU0FBUyxFQUFFQyxVQUFVLEtBQUssRUFBRUMsZUFBZSxFQUFFQyxRQUFRLEVBQUUsR0FBR0MsT0FBTyxFQUFFQztJQUNsRSxxQkFDSSw4REFBQ0M7UUFDR0MsTUFBSztRQUNMQyxNQUFLO1FBQ0xDLGdCQUFjUjtRQUNkRSxVQUFVQTtRQUNWRSxLQUFLQTtRQUNMSyxTQUFTLElBQU1SLGtCQUFrQixDQUFDRDtRQUNsQ0QsV0FBV0gscURBQUVBLENBQ1QsNkhBQ0EsNElBQ0EsbURBQ0FJLFVBQVUsaUJBQWlCLFlBQzNCRDtRQUVILEdBQUdJLEtBQUs7a0JBRVQsNEVBQUNPO1lBQ0dYLFdBQVdILHFEQUFFQSxDQUNULHNHQUNBSSxVQUFVLGtCQUFrQjs7Ozs7Ozs7Ozs7QUFLaEQ7QUFFSkgsT0FBT2MsV0FBVyxHQUFHO0FBRUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGNvbXBvbmVudHNcXHVpXFxzd2l0Y2gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcblxyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxyXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL3NoYXJlZC9saWIvdXRpbHNcIlxyXG5cclxuaW50ZXJmYWNlIFN3aXRjaFByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuXHJcbiAgICBvbkNoZWNrZWRDaGFuZ2U/OiAoY2hlY2tlZDogYm9vbGVhbikgPT4gdm9pZFxyXG59XHJcblxyXG4vKipcclxuICog0J/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70YwgKNGC0YPQvNCx0LvQtdGAKSDigJQg0LDQvdCw0LvQvtCzIFNoYWRjbiBTd2l0Y2guXHJcbiAqINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0YLRg9C80LHQu9C10YDQsCDCq9Cd0LAg0LvQuNC90LjQuMK7INCyINGI0LDQv9C60LUuXHJcbiAqL1xyXG5jb25zdCBTd2l0Y2ggPSBSZWFjdC5mb3J3YXJkUmVmPEhUTUxCdXR0b25FbGVtZW50LCBTd2l0Y2hQcm9wcz4oXHJcbiAgICAoeyBjbGFzc05hbWUsIGNoZWNrZWQgPSBmYWxzZSwgb25DaGVja2VkQ2hhbmdlLCBkaXNhYmxlZCwgLi4ucHJvcHMgfSwgcmVmKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcclxuICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cclxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cclxuICAgICAgICAgICAgICAgIHJlZj17cmVmfVxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGVja2VkQ2hhbmdlPy4oIWNoZWNrZWQpfVxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcclxuICAgICAgICAgICAgICAgICAgICBcInBlZXIgaW5saW5lLWZsZXggaC02IHctMTEgc2hyaW5rLTAgY3Vyc29yLXBvaW50ZXIgaXRlbXMtY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXItMiBib3JkZXItdHJhbnNwYXJlbnQgdHJhbnNpdGlvbi1jb2xvcnNcIixcclxuICAgICAgICAgICAgICAgICAgICBcImZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LWJhY2tncm91bmRcIixcclxuICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwiYmctZ3JlZW4tNTAwXCIgOiBcImJnLWlucHV0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicG9pbnRlci1ldmVudHMtbm9uZSBibG9jayBoLTUgdy01IHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1sZyByaW5nLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm1cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZCA/IFwidHJhbnNsYXRlLXgtNVwiIDogXCJ0cmFuc2xhdGUteC0wXCJcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG4pXHJcblN3aXRjaC5kaXNwbGF5TmFtZSA9IFwiU3dpdGNoXCJcclxuXHJcbmV4cG9ydCB7IFN3aXRjaCB9XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiU3dpdGNoIiwiZm9yd2FyZFJlZiIsImNsYXNzTmFtZSIsImNoZWNrZWQiLCJvbkNoZWNrZWRDaGFuZ2UiLCJkaXNhYmxlZCIsInByb3BzIiwicmVmIiwiYnV0dG9uIiwidHlwZSIsInJvbGUiLCJhcmlhLWNoZWNrZWQiLCJvbkNsaWNrIiwic3BhbiIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/switch.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./src/entities/session/store.ts": -/*!***************************************!*\ - !*** ./src/entities/session/store.ts ***! - \***************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSessionStore: () => (/* binding */ useSessionStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/shared/api/axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n\n\nconst useSessionStore = (0,zustand__WEBPACK_IMPORTED_MODULE_2__.create)((set, get)=>({\n user: null,\n isAuth: false,\n isLoading: false,\n isInitialized: false,\n checkAuth: async ()=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (!token) {\n set({\n isInitialized: true,\n isAuth: false\n });\n return;\n }\n set({\n isLoading: true\n });\n try {\n await get().getProfile();\n set({\n isAuth: true,\n isInitialized: true\n });\n } catch (error) {\n console.error(\"Auth check failed\", error);\n // Токен недействителен, очищаем состояние\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false,\n isInitialized: true\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n login: async (phone, password)=>{\n set({\n isLoading: true\n });\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/login\", {\n phone,\n password\n });\n const { accessToken, refreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", refreshToken);\n set({\n isAuth: true\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n register: async (data)=>{\n set({\n isLoading: true\n });\n try {\n // Убираем confirmPassword перед отправкой на бэкенд\n const { confirmPassword, ...registerData } = data;\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/auth/register\", registerData);\n } finally{\n set({\n isLoading: false\n });\n }\n },\n logout: ()=>{\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n set({\n user: null,\n isAuth: false\n });\n if (false) {}\n },\n getProfile: async ()=>{\n try {\n const response = await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.get(\"/profile\", {\n params: {\n _t: Date.now()\n } // bypass cache\n });\n set({\n user: response.data,\n isAuth: true\n });\n } catch (error) {\n console.error(\"Profile load failed\", error);\n }\n },\n updateProfile: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile\", data);\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePhone: async (newPhone)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-phone\", {\n newPhone\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformer: async ()=>{\n set({\n isLoading: true\n });\n try {\n // Исправлен путь: убрали лишний /api, так как он уже есть в baseURL\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\");\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n becomePerformerFull: async (data)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/become-performer\", {\n description: data.description,\n competencies: data.competencies,\n location: data.location,\n currentLocation: null,\n isAlwaysReady: data.workSchedule.isAlwaysReady,\n workingDays: data.workSchedule.isAlwaysReady ? null : JSON.stringify(data.workSchedule.schedulePerDay)\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateCompetencies: async (competencies)=>{\n set({\n isLoading: true\n });\n try {\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/competencies\", {\n Competencies: competencies\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n uploadAvatar: async (file)=>{\n set({\n isLoading: true\n });\n try {\n const formData = new FormData();\n formData.append(\"file\", file);\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/avatar\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n changePassword: async (oldPassword, newPassword)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.post(\"/profile/change-password\", {\n accountId: userId,\n oldPassword,\n newPassword\n });\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateLocation: async (location, currentLocation)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/location\", {\n accountId: userId,\n location,\n currentLocation\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n },\n updateSchedule: async (isAlwaysReady, schedulePerDay)=>{\n set({\n isLoading: true\n });\n try {\n const userId = get().user?.id;\n if (!userId) throw new Error(\"Пользователь не авторизован\");\n const workingDaysJson = isAlwaysReady ? \"[]\" : JSON.stringify(schedulePerDay || {});\n await _shared_api_axios__WEBPACK_IMPORTED_MODULE_1__.api.put(\"/profile/schedule\", {\n accountId: userId,\n isAlwaysReady,\n workingDaysJson\n });\n await get().getProfile();\n } finally{\n set({\n isLoading: false\n });\n }\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LGdCQUFnQixPQUFPdEIsZUFBZUs7WUFDbEM1QyxJQUFJO2dCQUFFSSxXQUFXO1lBQUs7WUFDdEIsSUFBSTtnQkFDQSxNQUFNb0QsU0FBU3ZELE1BQU1DLElBQUksRUFBRXVEO2dCQUMzQixJQUFJLENBQUNELFFBQVEsTUFBTSxJQUFJRSxNQUFNO2dCQUU3QixNQUFNSSxrQkFBa0J2QixnQkFDbEIsT0FDQUcsS0FBS0MsU0FBUyxDQUFDQyxrQkFBa0IsQ0FBQztnQkFFeEMsTUFBTTlDLGtEQUFHQSxDQUFDaUMsR0FBRyxDQUFDLHFCQUFxQjtvQkFDL0I0QixXQUFXSDtvQkFDWGpCO29CQUNBdUI7Z0JBQ0o7Z0JBQ0EsTUFBTTdELE1BQU1PLFVBQVU7WUFDMUIsU0FBVTtnQkFDTlIsSUFBSTtvQkFBRUksV0FBVztnQkFBTTtZQUMzQjtRQUNKO0lBQ0osSUFBSSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcZW50aXRpZXNcXHNlc3Npb25cXHN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHNldENvb2tpZSwgZGVsZXRlQ29va2llLCBnZXRDb29raWUgfSBmcm9tIFwiY29va2llcy1uZXh0XCI7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJAL3NoYXJlZC9hcGkvYXhpb3NcIjtcclxuXHJcbmludGVyZmFjZSBVc2VyIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBwaG9uZTogc3RyaW5nO1xyXG4gICAgcm9sZXM6IHN0cmluZ1tdO1xyXG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xyXG4gICAgcGF0cm9ueW1pYz86IHN0cmluZztcclxuICAgIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xyXG4gICAgaW5uPzogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgICBsb2NhdGlvbj86IHN0cmluZztcclxuICAgIGN1cnJlbnRMb2NhdGlvbj86IHN0cmluZztcclxuICAgIGZ1bGxOYW1lOiBzdHJpbmc7XHJcbiAgICBhdmF0YXJVcmw/OiBzdHJpbmc7XHJcbiAgICBjb21wZXRlbmNpZXM6IHN0cmluZ1tdO1xyXG4gICAgd29ya1NjaGVkdWxlPzoge1xyXG4gICAgICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICAgICAgc2NoZWR1bGVQZXJEYXk/OiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7IHN0YXJ0OiBzdHJpbmc7IGVuZDogc3RyaW5nIH0+PjtcclxuICAgIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBXb3JrU2NoZWR1bGVEYXRhIHtcclxuICAgIGlzQWx3YXlzUmVhZHk6IGJvb2xlYW47XHJcbiAgICBzY2hlZHVsZVBlckRheTogUmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9Pj47XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZXNzaW9uU3RhdGUge1xyXG4gICAgdXNlcjogVXNlciB8IG51bGw7XHJcbiAgICBpc0F1dGg6IGJvb2xlYW47XHJcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xyXG4gICAgY2hlY2tBdXRoOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgbG9naW46IChwaG9uZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgcmVnaXN0ZXI6IChkYXRhOiBhbnkpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBsb2dvdXQ6ICgpID0+IHZvaWQ7XHJcbiAgICBnZXRQcm9maWxlOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlUHJvZmlsZTogKGRhdGE6IHsgZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcsIHBhdHJvbnltaWM/OiBzdHJpbmcsIGNvbXBhbnlOYW1lPzogc3RyaW5nLCBpbm4/OiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBjaGFuZ2VQaG9uZTogKG5ld1Bob25lOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXI6ICgpID0+IFByb21pc2U8dm9pZD47XHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiAoZGF0YToge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICAgICAgY29tcGV0ZW5jaWVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb2NhdGlvbjogc3RyaW5nO1xyXG4gICAgICAgIHdvcmtTY2hlZHVsZTogV29ya1NjaGVkdWxlRGF0YTtcclxuICAgIH0pID0+IFByb21pc2U8dm9pZD47XHJcbiAgICB1cGRhdGVDb21wZXRlbmNpZXM6IChjb21wZXRlbmNpZXM6IHN0cmluZ1tdKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBsb2FkQXZhdGFyOiAoZmlsZTogRmlsZSkgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIGNoYW5nZVBhc3N3b3JkOiAob2xkUGFzc3dvcmQ6IHN0cmluZywgbmV3UGFzc3dvcmQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcclxuICAgIHVwZGF0ZUxvY2F0aW9uOiAobG9jYXRpb246IHN0cmluZywgY3VycmVudExvY2F0aW9uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG4gICAgdXBkYXRlU2NoZWR1bGU6IChpc0Fsd2F5c1JlYWR5OiBib29sZWFuLCBzY2hlZHVsZVBlckRheT86IFJlY29yZDxzdHJpbmcsIEFycmF5PHsgc3RhcnQ6IHN0cmluZzsgZW5kOiBzdHJpbmcgfT4+KSA9PiBQcm9taXNlPHZvaWQ+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdXNlU2Vzc2lvblN0b3JlID0gY3JlYXRlPFNlc3Npb25TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgdXNlcjogbnVsbCxcclxuICAgIGlzQXV0aDogZmFsc2UsXHJcbiAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgaXNJbml0aWFsaXplZDogZmFsc2UsXHJcblxyXG4gICAgY2hlY2tBdXRoOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuXHJcbiAgICAgICAgaWYgKCF0b2tlbikge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0luaXRpYWxpemVkOiB0cnVlLCBpc0F1dGg6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICAgICAgc2V0KHsgaXNBdXRoOiB0cnVlLCBpc0luaXRpYWxpemVkOiB0cnVlIH0pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJBdXRoIGNoZWNrIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIC8vINCi0L7QutC10L0g0L3QtdC00LXQudGB0YLQstC40YLQtdC70LXQvSwg0L7Rh9C40YnQsNC10Lwg0YHQvtGB0YLQvtGP0L3QuNC1XHJcbiAgICAgICAgICAgIGRlbGV0ZUNvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IG51bGwsIGlzQXV0aDogZmFsc2UsIGlzSW5pdGlhbGl6ZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGxvZ2luOiBhc3luYyAocGhvbmUsIHBhc3N3b3JkKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9sb2dpblwiLCB7IHBob25lLCBwYXNzd29yZCB9KTtcclxuICAgICAgICAgICAgY29uc3QgeyBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgc2V0Q29va2llKFwiYWNjZXNzVG9rZW5cIiwgYWNjZXNzVG9rZW4pO1xyXG4gICAgICAgICAgICBzZXRDb29raWUoXCJyZWZyZXNoVG9rZW5cIiwgcmVmcmVzaFRva2VuKTtcclxuXHJcbiAgICAgICAgICAgIHNldCh7IGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICByZWdpc3RlcjogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQo9Cx0LjRgNCw0LXQvCBjb25maXJtUGFzc3dvcmQg0L/QtdGA0LXQtCDQvtGC0L/RgNCw0LLQutC+0Lkg0L3QsCDQsdGN0LrQtdC90LRcclxuICAgICAgICAgICAgY29uc3QgeyBjb25maXJtUGFzc3dvcmQsIC4uLnJlZ2lzdGVyRGF0YSB9ID0gZGF0YTtcclxuICAgICAgICAgICAgYXdhaXQgYXBpLnBvc3QoXCIvYXV0aC9yZWdpc3RlclwiLCByZWdpc3RlckRhdGEpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBsb2dvdXQ6ICgpID0+IHtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJhY2Nlc3NUb2tlblwiKTtcclxuICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgc2V0KHsgdXNlcjogbnVsbCwgaXNBdXRoOiBmYWxzZSB9KTtcclxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiL2F1dGgvbG9naW5cIjtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFByb2ZpbGU6IGFzeW5jICgpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQoXCIvcHJvZmlsZVwiLCB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHsgX3Q6IERhdGUubm93KCkgfSAvLyBieXBhc3MgY2FjaGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHNldCh7IHVzZXI6IHJlc3BvbnNlLmRhdGEsIGlzQXV0aDogdHJ1ZSB9KTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiUHJvZmlsZSBsb2FkIGZhaWxlZFwiLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVQcm9maWxlOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucHV0KFwiL3Byb2ZpbGVcIiwgZGF0YSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgY2hhbmdlUGhvbmU6IGFzeW5jIChuZXdQaG9uZSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1waG9uZVwiLCB7IG5ld1Bob25lIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGJlY29tZVBlcmZvcm1lcjogYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyDQmNGB0L/RgNCw0LLQu9C10L0g0L/Rg9GC0Yw6INGD0LHRgNCw0LvQuCDQu9C40YjQvdC40LkgL2FwaSwg0YLQsNC6INC60LDQuiDQvtC9INGD0LbQtSDQtdGB0YLRjCDQsiBiYXNlVVJMXHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYmVjb21lLXBlcmZvcm1lclwiKTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBiZWNvbWVQZXJmb3JtZXJGdWxsOiBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2JlY29tZS1wZXJmb3JtZXJcIiwge1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRhdGEuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICBjb21wZXRlbmNpZXM6IGRhdGEuY29tcGV0ZW5jaWVzLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGRhdGEubG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgICAgICBpc0Fsd2F5c1JlYWR5OiBkYXRhLndvcmtTY2hlZHVsZS5pc0Fsd2F5c1JlYWR5LFxyXG4gICAgICAgICAgICAgICAgd29ya2luZ0RheXM6IGRhdGEud29ya1NjaGVkdWxlLmlzQWx3YXlzUmVhZHlcclxuICAgICAgICAgICAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KGRhdGEud29ya1NjaGVkdWxlLnNjaGVkdWxlUGVyRGF5KSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgdXBkYXRlQ29tcGV0ZW5jaWVzOiBhc3luYyAoY29tcGV0ZW5jaWVzKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wdXQoXCIvcHJvZmlsZS9jb21wZXRlbmNpZXNcIiwgeyBDb21wZXRlbmNpZXM6IGNvbXBldGVuY2llcyB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGxvYWRBdmF0YXI6IGFzeW5jIChmaWxlKSA9PiB7XHJcbiAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGFwaS5wb3N0KFwiL3Byb2ZpbGUvYXZhdGFyXCIsIGZvcm1EYXRhLCB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJtdWx0aXBhcnQvZm9ybS1kYXRhXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYXdhaXQgZ2V0KCkuZ2V0UHJvZmlsZSgpO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBjaGFuZ2VQYXNzd29yZDogYXN5bmMgKG9sZFBhc3N3b3JkLCBuZXdQYXNzd29yZCkgPT4ge1xyXG4gICAgICAgIHNldCh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1c2VySWQgPSBnZXQoKS51c2VyPy5pZDtcclxuICAgICAgICAgICAgaWYgKCF1c2VySWQpIHRocm93IG5ldyBFcnJvcihcItCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L1cIik7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCBhcGkucG9zdChcIi9wcm9maWxlL2NoYW5nZS1wYXNzd29yZFwiLCB7XHJcbiAgICAgICAgICAgICAgICBhY2NvdW50SWQ6IHVzZXJJZCxcclxuICAgICAgICAgICAgICAgIG9sZFBhc3N3b3JkLFxyXG4gICAgICAgICAgICAgICAgbmV3UGFzc3dvcmQsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHNldCh7IGlzTG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICB1cGRhdGVMb2NhdGlvbjogYXN5bmMgKGxvY2F0aW9uLCBjdXJyZW50TG9jYXRpb24pID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL2xvY2F0aW9uXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24sXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50TG9jYXRpb24sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBhd2FpdCBnZXQoKS5nZXRQcm9maWxlKCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgc2V0KHsgaXNMb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZVNjaGVkdWxlOiBhc3luYyAoaXNBbHdheXNSZWFkeSwgc2NoZWR1bGVQZXJEYXkpID0+IHtcclxuICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXNlcklkID0gZ2V0KCkudXNlcj8uaWQ7XHJcbiAgICAgICAgICAgIGlmICghdXNlcklkKSB0aHJvdyBuZXcgRXJyb3IoXCLQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9XCIpO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgd29ya2luZ0RheXNKc29uID0gaXNBbHdheXNSZWFkeVxyXG4gICAgICAgICAgICAgICAgPyBcIltdXCJcclxuICAgICAgICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkoc2NoZWR1bGVQZXJEYXkgfHwge30pO1xyXG5cclxuICAgICAgICAgICAgYXdhaXQgYXBpLnB1dChcIi9wcm9maWxlL3NjaGVkdWxlXCIsIHtcclxuICAgICAgICAgICAgICAgIGFjY291bnRJZDogdXNlcklkLFxyXG4gICAgICAgICAgICAgICAgaXNBbHdheXNSZWFkeSxcclxuICAgICAgICAgICAgICAgIHdvcmtpbmdEYXlzSnNvbixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGF3YWl0IGdldCgpLmdldFByb2ZpbGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBzZXQoeyBpc0xvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbn0pKTtcclxuIl0sIm5hbWVzIjpbImNyZWF0ZSIsInNldENvb2tpZSIsImRlbGV0ZUNvb2tpZSIsImdldENvb2tpZSIsImFwaSIsInVzZVNlc3Npb25TdG9yZSIsInNldCIsImdldCIsInVzZXIiLCJpc0F1dGgiLCJpc0xvYWRpbmciLCJpc0luaXRpYWxpemVkIiwiY2hlY2tBdXRoIiwidG9rZW4iLCJnZXRQcm9maWxlIiwiZXJyb3IiLCJjb25zb2xlIiwibG9naW4iLCJwaG9uZSIsInBhc3N3b3JkIiwicmVzcG9uc2UiLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJyZWZyZXNoVG9rZW4iLCJkYXRhIiwicmVnaXN0ZXIiLCJjb25maXJtUGFzc3dvcmQiLCJyZWdpc3RlckRhdGEiLCJsb2dvdXQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJwYXJhbXMiLCJfdCIsIkRhdGUiLCJub3ciLCJ1cGRhdGVQcm9maWxlIiwicHV0IiwiY2hhbmdlUGhvbmUiLCJuZXdQaG9uZSIsImJlY29tZVBlcmZvcm1lciIsImJlY29tZVBlcmZvcm1lckZ1bGwiLCJkZXNjcmlwdGlvbiIsImNvbXBldGVuY2llcyIsImN1cnJlbnRMb2NhdGlvbiIsImlzQWx3YXlzUmVhZHkiLCJ3b3JrU2NoZWR1bGUiLCJ3b3JraW5nRGF5cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzY2hlZHVsZVBlckRheSIsInVwZGF0ZUNvbXBldGVuY2llcyIsIkNvbXBldGVuY2llcyIsInVwbG9hZEF2YXRhciIsImZpbGUiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiaGVhZGVycyIsImNoYW5nZVBhc3N3b3JkIiwib2xkUGFzc3dvcmQiLCJuZXdQYXNzd29yZCIsInVzZXJJZCIsImlkIiwiRXJyb3IiLCJhY2NvdW50SWQiLCJ1cGRhdGVMb2NhdGlvbiIsInVwZGF0ZVNjaGVkdWxlIiwid29ya2luZ0RheXNKc29uIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/entities/session/store.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/features/geo/useGeoStore.ts": -/*!*****************************************!*\ - !*** ./src/features/geo/useGeoStore.ts ***! - \*****************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useGeoStore: () => (/* binding */ useGeoStore)\n/* harmony export */ });\n/* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zustand */ \"(ssr)/./node_modules/zustand/esm/react.mjs\");\n/* harmony import */ var _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/shared/api/geo */ \"(ssr)/./src/shared/api/geo.ts\");\n\n\nconst useGeoStore = (0,zustand__WEBPACK_IMPORTED_MODULE_1__.create)((set, get)=>({\n isOnline: false,\n watchId: null,\n isUpdating: false,\n error: null,\n lastCoords: null,\n goOnline: (performerId)=>{\n if (true) {\n set({\n error: \"Геолокация не поддерживается вашим браузером.\"\n });\n return;\n }\n // Таймер для периодической отправки (каждые 10 секунд)\n let sendInterval = null;\n const watchId = navigator.geolocation.watchPosition(async (position)=>{\n const { latitude, longitude } = position.coords;\n set({\n lastCoords: {\n lat: latitude,\n lon: longitude\n },\n error: null\n });\n // Отправляем при первом получении координат\n try {\n set({\n isUpdating: true\n });\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude,\n longitude,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки статуса:\", err);\n set({\n error: \"Не удалось обновить статус на сервере.\"\n });\n } finally{\n set({\n isUpdating: false\n });\n }\n }, (err)=>{\n console.error(\"[Geo] Ошибка геолокации:\", err);\n let errorMsg = \"Ошибка определения местоположения.\";\n if (err.code === err.PERMISSION_DENIED) {\n errorMsg = \"Доступ к геолокации запрещён. Разрешите в настройках браузера.\";\n }\n set({\n error: errorMsg\n });\n }, {\n enableHighAccuracy: true,\n maximumAge: 10000,\n timeout: 15000\n });\n // Дополнительно: периодическая отправка каждые 10 секунд\n sendInterval = setInterval(async ()=>{\n const state = get();\n if (state.lastCoords && state.isOnline) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: state.lastCoords.lat,\n longitude: state.lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Available\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка периодической отправки:\", err);\n }\n }\n }, 10000);\n // Сохраняем watchId и intervalId в замыкании для очистки\n set({\n isOnline: true,\n watchId,\n error: null\n });\n // Храним intervalId в window для очистки при goOffline\n window.__geoInterval = sendInterval;\n },\n goOffline: async (performerId)=>{\n const { watchId, lastCoords } = get();\n // Останавливаем слежение\n if (watchId !== null) {\n navigator.geolocation.clearWatch(watchId);\n }\n // Останавливаем интервал\n if (window.__geoInterval) {\n clearInterval(window.__geoInterval);\n window.__geoInterval = null;\n }\n // Отправляем статус Offline\n if (lastCoords) {\n try {\n await (0,_shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.updateGeoStatus)({\n performerId,\n latitude: lastCoords.lat,\n longitude: lastCoords.lon,\n state: _shared_api_geo__WEBPACK_IMPORTED_MODULE_0__.PerformerState.Offline\n });\n } catch (err) {\n console.error(\"[Geo] Ошибка отправки Offline:\", err);\n }\n }\n set({\n isOnline: false,\n watchId: null,\n lastCoords: null,\n error: null\n });\n }\n }));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFPckIsMkRBQWNBLENBQUNxQyxPQUFPO29CQUNqQztnQkFDSixFQUFFLE9BQU9kLEtBQUs7b0JBQ1ZDLFFBQVFqQixLQUFLLENBQUMsa0NBQWtDZ0I7Z0JBQ3BEO1lBQ0o7WUFFQXJCLElBQUk7Z0JBQUVFLFVBQVU7Z0JBQU9DLFNBQVM7Z0JBQU1HLFlBQVk7Z0JBQU1ELE9BQU87WUFBSztRQUN4RTtJQUNKLElBQUkiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXGZlYXR1cmVzXFxnZW9cXHVzZUdlb1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSB9IGZyb20gXCJ6dXN0YW5kXCI7XHJcbmltcG9ydCB7IHVwZGF0ZUdlb1N0YXR1cywgUGVyZm9ybWVyU3RhdGUgfSBmcm9tIFwiQC9zaGFyZWQvYXBpL2dlb1wiO1xyXG5cclxuaW50ZXJmYWNlIEdlb1N0YXRlIHtcclxuICAgIC8qKiDQktC60LvRjtGH0ZHQvSDQu9C4INGC0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsgKi9cclxuICAgIGlzT25saW5lOiBib29sZWFuO1xyXG4gICAgLyoqIElEINGC0LXQutGD0YnQtdCz0L4gd2F0Y2hQb3NpdGlvbiAqL1xyXG4gICAgd2F0Y2hJZDogbnVtYmVyIHwgbnVsbDtcclxuICAgIC8qKiDQmNC00ZHRgiDQu9C4INC+0LHQvdC+0LLQu9C10L3QuNC1ICovXHJcbiAgICBpc1VwZGF0aW5nOiBib29sZWFuO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90Y/RjyDQvtGI0LjQsdC60LAgKi9cclxuICAgIGVycm9yOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgLyoqINCf0L7RgdC70LXQtNC90LjQtSDQuNC30LLQtdGB0YLQvdGL0LUg0LrQvtC+0YDQtNC40L3QsNGC0YsgKi9cclxuICAgIGxhc3RDb29yZHM6IHsgbGF0OiBudW1iZXI7IGxvbjogbnVtYmVyIH0gfCBudWxsO1xyXG5cclxuICAgIC8qKiDQktC60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L7RgtGB0LvQtdC20LjQstCw0L3QuNC1INCz0LXQvtC/0L7Qt9C40YbQuNC4ICovXHJcbiAgICBnb09ubGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgICAvKiog0JLRi9C60LvRjtGH0LjRgtGMINGC0YPQvNCx0LvQtdGAIOKAlCDQvtGC0L/RgNCw0LLQuNGC0YwgT2ZmbGluZSDQuCDQvtGB0YLQsNC90L7QstC40YLRjCDQvtGC0YHQu9C10LbQuNCy0LDQvdC40LUgKi9cclxuICAgIGdvT2ZmbGluZTogKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB1c2VHZW9TdG9yZSA9IGNyZWF0ZTxHZW9TdGF0ZT4oKHNldCwgZ2V0KSA9PiAoe1xyXG4gICAgaXNPbmxpbmU6IGZhbHNlLFxyXG4gICAgd2F0Y2hJZDogbnVsbCxcclxuICAgIGlzVXBkYXRpbmc6IGZhbHNlLFxyXG4gICAgZXJyb3I6IG51bGwsXHJcbiAgICBsYXN0Q29vcmRzOiBudWxsLFxyXG5cclxuICAgIGdvT25saW5lOiAocGVyZm9ybWVySWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiIHx8ICFuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcclxuICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0JPQtdC+0LvQvtC60LDRhtC40Y8g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINCy0LDRiNC40Lwg0LHRgNCw0YPQt9C10YDQvtC8LlwiIH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQotCw0LnQvNC10YAg0LTQu9GPINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60LggKNC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LQpXHJcbiAgICAgICAgbGV0IHNlbmRJbnRlcnZhbDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGNvbnN0IHdhdGNoSWQgPSBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihcclxuICAgICAgICAgICAgYXN5bmMgKHBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IGxhdGl0dWRlLCBsb25naXR1ZGUgfSA9IHBvc2l0aW9uLmNvb3JkcztcclxuICAgICAgICAgICAgICAgIHNldCh7IGxhc3RDb29yZHM6IHsgbGF0OiBsYXRpdHVkZSwgbG9uOiBsb25naXR1ZGUgfSwgZXJyb3I6IG51bGwgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8g0J7RgtC/0YDQsNCy0LvRj9C10Lwg0L/RgNC4INC/0LXRgNCy0L7QvCDQv9C+0LvRg9GH0LXQvdC40Lgg0LrQvtC+0YDQtNC40L3QsNGCXHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldCh7IGlzVXBkYXRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdXBkYXRlR2VvU3RhdHVzKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWVySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC+0YLQv9GA0LDQstC60Lgg0YHRgtCw0YLRg9GB0LA6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0KHsgZXJyb3I6IFwi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINGB0YLQsNGC0YPRgSDQvdCwINGB0LXRgNCy0LXRgNC1LlwiIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXQoeyBpc1VwZGF0aW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQs9C10L7Qu9C+0LrQsNGG0LjQuDpcIiwgZXJyKTtcclxuICAgICAgICAgICAgICAgIGxldCBlcnJvck1zZyA9IFwi0J7RiNC40LHQutCwINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjRjy5cIjtcclxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gZXJyLlBFUk1JU1NJT05fREVOSUVEKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2cgPSBcItCU0L7RgdGC0YPQvyDQuiDQs9C10L7Qu9C+0LrQsNGG0LjQuCDQt9Cw0L/RgNC10YnRkdC9LiDQoNCw0LfRgNC10YjQuNGC0LUg0LIg0L3QsNGB0YLRgNC+0LnQutCw0YUg0LHRgNCw0YPQt9C10YDQsC5cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNldCh7IGVycm9yOiBlcnJvck1zZyB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbWF4aW11bUFnZTogMTAwMDAsICAgICAvLyDQmtGN0Ygg0L/QvtC30LjRhtC40LggMTAg0YHQtdC6XHJcbiAgICAgICAgICAgICAgICB0aW1lb3V0OiAxNTAwMCwgICAgICAgICAvLyDQotCw0LnQvNCw0YPRgiAxNSDRgdC10LpcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vINCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+OiDQv9C10YDQuNC+0LTQuNGH0LXRgdC60LDRjyDQvtGC0L/RgNCw0LLQutCwINC60LDQttC00YvQtSAxMCDRgdC10LrRg9C90LRcclxuICAgICAgICBzZW5kSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gZ2V0KCk7XHJcbiAgICAgICAgICAgIGlmIChzdGF0ZS5sYXN0Q29vcmRzICYmIHN0YXRlLmlzT25saW5lKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHVwZGF0ZUdlb1N0YXR1cyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogc3RhdGUubGFzdENvb3Jkcy5sb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5BdmFpbGFibGUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiW0dlb10g0J7RiNC40LHQutCwINC/0LXRgNC40L7QtNC40YfQtdGB0LrQvtC5INC+0YLQv9GA0LDQstC60Lg6XCIsIGVycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDAwMCk7XHJcblxyXG4gICAgICAgIC8vINCh0L7RhdGA0LDQvdGP0LXQvCB3YXRjaElkINC4IGludGVydmFsSWQg0LIg0LfQsNC80YvQutCw0L3QuNC4INC00LvRjyDQvtGH0LjRgdGC0LrQuFxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiB0cnVlLCB3YXRjaElkLCBlcnJvcjogbnVsbCB9KTtcclxuXHJcbiAgICAgICAgLy8g0KXRgNCw0L3QuNC8IGludGVydmFsSWQg0LIgd2luZG93INC00LvRjyDQvtGH0LjRgdGC0LrQuCDQv9GA0LggZ29PZmZsaW5lXHJcbiAgICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwgPSBzZW5kSW50ZXJ2YWw7XHJcbiAgICB9LFxyXG5cclxuICAgIGdvT2ZmbGluZTogYXN5bmMgKHBlcmZvcm1lcklkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCB7IHdhdGNoSWQsIGxhc3RDb29yZHMgfSA9IGdldCgpO1xyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDRgdC70LXQttC10L3QuNC1XHJcbiAgICAgICAgaWYgKHdhdGNoSWQgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2god2F0Y2hJZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXQvCDQuNC90YLQtdGA0LLQsNC7XHJcbiAgICAgICAgaWYgKCh3aW5kb3cgYXMgYW55KS5fX2dlb0ludGVydmFsKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoKHdpbmRvdyBhcyBhbnkpLl9fZ2VvSW50ZXJ2YWwpO1xyXG4gICAgICAgICAgICAod2luZG93IGFzIGFueSkuX19nZW9JbnRlcnZhbCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDQntGC0L/RgNCw0LLQu9GP0LXQvCDRgdGC0LDRgtGD0YEgT2ZmbGluZVxyXG4gICAgICAgIGlmIChsYXN0Q29vcmRzKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB1cGRhdGVHZW9TdGF0dXMoe1xyXG4gICAgICAgICAgICAgICAgICAgIHBlcmZvcm1lcklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBsYXN0Q29vcmRzLmxhdCxcclxuICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IGxhc3RDb29yZHMubG9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiBQZXJmb3JtZXJTdGF0ZS5PZmZsaW5lLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltHZW9dINCe0YjQuNCx0LrQsCDQvtGC0L/RgNCw0LLQutC4IE9mZmxpbmU6XCIsIGVycik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldCh7IGlzT25saW5lOiBmYWxzZSwgd2F0Y2hJZDogbnVsbCwgbGFzdENvb3JkczogbnVsbCwgZXJyb3I6IG51bGwgfSk7XHJcbiAgICB9LFxyXG59KSk7XHJcbiJdLCJuYW1lcyI6WyJjcmVhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJQZXJmb3JtZXJTdGF0ZSIsInVzZUdlb1N0b3JlIiwic2V0IiwiZ2V0IiwiaXNPbmxpbmUiLCJ3YXRjaElkIiwiaXNVcGRhdGluZyIsImVycm9yIiwibGFzdENvb3JkcyIsImdvT25saW5lIiwicGVyZm9ybWVySWQiLCJuYXZpZ2F0b3IiLCJnZW9sb2NhdGlvbiIsInNlbmRJbnRlcnZhbCIsIndhdGNoUG9zaXRpb24iLCJwb3NpdGlvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY29vcmRzIiwibGF0IiwibG9uIiwic3RhdGUiLCJBdmFpbGFibGUiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3JNc2ciLCJjb2RlIiwiUEVSTUlTU0lPTl9ERU5JRUQiLCJlbmFibGVIaWdoQWNjdXJhY3kiLCJtYXhpbXVtQWdlIiwidGltZW91dCIsInNldEludGVydmFsIiwid2luZG93IiwiX19nZW9JbnRlcnZhbCIsImdvT2ZmbGluZSIsImNsZWFyV2F0Y2giLCJjbGVhckludGVydmFsIiwiT2ZmbGluZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/features/geo/useGeoStore.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/lib/utils.ts": -/*!**************************!*\ - !*** ./src/lib/utils.ts ***! - \**************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3V0aWxzLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE0QztBQUNKO0FBRWpDLFNBQVNFLEdBQUcsR0FBR0MsTUFBb0I7SUFDdEMsT0FBT0YsdURBQU9BLENBQUNELDBDQUFJQSxDQUFDRztBQUN4QiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcbGliXFx1dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENsYXNzVmFsdWUsIGNsc3ggfSBmcm9tIFwiY2xzeFwiXHJcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tIFwidGFpbHdpbmQtbWVyZ2VcIlxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNuKC4uLmlucHV0czogQ2xhc3NWYWx1ZVtdKSB7XHJcbiAgICByZXR1cm4gdHdNZXJnZShjbHN4KGlucHV0cykpXHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/axios.ts": -/*!*********************************!*\ - !*** ./src/shared/api/axios.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ api: () => (/* binding */ api)\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ \"(ssr)/./node_modules/axios/lib/axios.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookies-next */ \"(ssr)/./node_modules/cookies-next/lib/index.js\");\n/* harmony import */ var cookies_next__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookies_next__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst api = axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create({\n baseURL: \"http://127.0.0.1:5000/api\" || 0,\n headers: {\n \"Content-Type\": \"application/json\"\n }\n});\n// Interceptor for adding Auth token\napi.interceptors.request.use((config)=>{\n const token = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"accessToken\");\n if (token && config.headers) {\n config.headers.Authorization = `Bearer ${token}`;\n }\n console.log(`🚀 Sending request to: ${config.baseURL}${config.url}`);\n return config;\n});\nlet isRefreshing = false;\nlet failedQueue = [];\nconst processQueue = (error, token = null)=>{\n failedQueue.forEach((prom)=>{\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n// Response interceptor for token refresh\napi.interceptors.response.use((response)=>response, async (error)=>{\n const originalRequest = error.config;\n if (error.response?.status === 401 && !originalRequest._retry) {\n if (isRefreshing) {\n return new Promise((resolve, reject)=>{\n failedQueue.push({\n resolve,\n reject\n });\n }).then((token)=>{\n originalRequest.headers.Authorization = `Bearer ${token}`;\n return api(originalRequest);\n }).catch((err)=>Promise.reject(err));\n }\n originalRequest._retry = true;\n isRefreshing = true;\n const refreshToken = (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.getCookie)(\"refreshToken\");\n try {\n const response = await axios__WEBPACK_IMPORTED_MODULE_1__[\"default\"].post(`${\"http://127.0.0.1:5000/api\" || 0}/auth/refresh`, {\n refreshToken\n });\n const { accessToken, refreshToken: newRefreshToken } = response.data;\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"accessToken\", accessToken);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.setCookie)(\"refreshToken\", newRefreshToken);\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${accessToken}`;\n processQueue(null, accessToken);\n return api(originalRequest);\n } catch (refreshError) {\n processQueue(refreshError, null);\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"accessToken\");\n (0,cookies_next__WEBPACK_IMPORTED_MODULE_0__.deleteCookie)(\"refreshToken\");\n if (false) {}\n return Promise.reject(refreshError);\n } finally{\n isRefreshing = false;\n }\n }\n return Promise.reject(error);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9heGlvcy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTBDO0FBQ3dCO0FBRTNELE1BQU1JLE1BQU1KLDZDQUFLQSxDQUFDSyxNQUFNLENBQUM7SUFDNUJDLFNBQVNDLDJCQUErQixJQUFJLENBQTJCO0lBQ3ZFRyxTQUFTO1FBQ0wsZ0JBQWdCO0lBQ3BCO0FBQ0osR0FBRztBQUVILG9DQUFvQztBQUNwQ04sSUFBSU8sWUFBWSxDQUFDQyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxDQUFDQztJQUMxQixNQUFNQyxRQUFRZCx1REFBU0EsQ0FBQztJQUN4QixJQUFJYyxTQUFTRCxPQUFPSixPQUFPLEVBQUU7UUFDekJJLE9BQU9KLE9BQU8sQ0FBQ00sYUFBYSxHQUFHLENBQUMsT0FBTyxFQUFFRCxPQUFPO0lBQ3BEO0lBQ0FFLFFBQVFDLEdBQUcsQ0FBQyxDQUFDLHVCQUF1QixFQUFFSixPQUFPUixPQUFPLEdBQUdRLE9BQU9LLEdBQUcsRUFBRTtJQUNuRSxPQUFPTDtBQUNYO0FBRUEsSUFBSU0sZUFBZTtBQUNuQixJQUFJQyxjQUFxQixFQUFFO0FBRTNCLE1BQU1DLGVBQWUsQ0FBQ0MsT0FBWVIsUUFBdUIsSUFBSTtJQUN6RE0sWUFBWUcsT0FBTyxDQUFDLENBQUNDO1FBQ2pCLElBQUlGLE9BQU87WUFDUEUsS0FBS0MsTUFBTSxDQUFDSDtRQUNoQixPQUFPO1lBQ0hFLEtBQUtFLE9BQU8sQ0FBQ1o7UUFDakI7SUFDSjtJQUNBTSxjQUFjLEVBQUU7QUFDcEI7QUFFQSx5Q0FBeUM7QUFDekNqQixJQUFJTyxZQUFZLENBQUNpQixRQUFRLENBQUNmLEdBQUcsQ0FDekIsQ0FBQ2UsV0FBYUEsVUFDZCxPQUFPTDtJQUNILE1BQU1NLGtCQUF1Qk4sTUFBTVQsTUFBTTtJQUV6QyxJQUFJUyxNQUFNSyxRQUFRLEVBQUVFLFdBQVcsT0FBTyxDQUFDRCxnQkFBZ0JFLE1BQU0sRUFBRTtRQUMzRCxJQUFJWCxjQUFjO1lBQ2QsT0FBTyxJQUFJWSxRQUFRLENBQUNMLFNBQVNEO2dCQUN6QkwsWUFBWVksSUFBSSxDQUFDO29CQUFFTjtvQkFBU0Q7Z0JBQU87WUFDdkMsR0FDS1EsSUFBSSxDQUFDLENBQUNuQjtnQkFDSGMsZ0JBQWdCbkIsT0FBTyxDQUFDTSxhQUFhLEdBQUcsQ0FBQyxPQUFPLEVBQUVELE9BQU87Z0JBQ3pELE9BQU9YLElBQUl5QjtZQUNmLEdBQ0NNLEtBQUssQ0FBQyxDQUFDQyxNQUFRSixRQUFRTixNQUFNLENBQUNVO1FBQ3ZDO1FBRUFQLGdCQUFnQkUsTUFBTSxHQUFHO1FBQ3pCWCxlQUFlO1FBRWYsTUFBTWlCLGVBQWVwQyx1REFBU0EsQ0FBQztRQUUvQixJQUFJO1lBQ0EsTUFBTTJCLFdBQVcsTUFBTTVCLDZDQUFLQSxDQUFDc0MsSUFBSSxDQUM3QixHQUFHL0IsMkJBQStCLElBQUksQ0FBMkIsQ0FBQyxhQUFhLENBQUMsRUFDaEY7Z0JBQUU4QjtZQUFhO1lBR25CLE1BQU0sRUFBRUUsV0FBVyxFQUFFRixjQUFjRyxlQUFlLEVBQUUsR0FBR1osU0FBU2EsSUFBSTtZQUVwRXZDLHVEQUFTQSxDQUFDLGVBQWVxQztZQUN6QnJDLHVEQUFTQSxDQUFDLGdCQUFnQnNDO1lBRTFCcEMsSUFBSXNDLFFBQVEsQ0FBQ2hDLE9BQU8sQ0FBQ2lDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLE9BQU8sRUFBRUosYUFBYTtZQUN0RWpCLGFBQWEsTUFBTWlCO1lBRW5CLE9BQU9uQyxJQUFJeUI7UUFDZixFQUFFLE9BQU9lLGNBQWM7WUFDbkJ0QixhQUFhc0IsY0FBYztZQUMzQnpDLDBEQUFZQSxDQUFDO1lBQ2JBLDBEQUFZQSxDQUFDO1lBQ2IsSUFBSSxLQUE2QixFQUFFLEVBRWxDO1lBQ0QsT0FBTzZCLFFBQVFOLE1BQU0sQ0FBQ2tCO1FBQzFCLFNBQVU7WUFDTnhCLGVBQWU7UUFDbkI7SUFDSjtJQUVBLE9BQU9ZLFFBQVFOLE1BQU0sQ0FBQ0g7QUFDMUIiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxzcmNcXHNoYXJlZFxcYXBpXFxheGlvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MsIHsgQXhpb3NFcnJvciB9IGZyb20gXCJheGlvc1wiO1xyXG5pbXBvcnQgeyBnZXRDb29raWUsIHNldENvb2tpZSwgZGVsZXRlQ29va2llIH0gZnJvbSBcImNvb2tpZXMtbmV4dFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGFwaSA9IGF4aW9zLmNyZWF0ZSh7XHJcbiAgICBiYXNlVVJMOiBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfVVJMIHx8IFwiaHR0cDovL2xvY2FsaG9zdDo1MDAwL2FwaVwiLFxyXG4gICAgaGVhZGVyczoge1xyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgfSxcclxufSk7XHJcblxyXG4vLyBJbnRlcmNlcHRvciBmb3IgYWRkaW5nIEF1dGggdG9rZW5cclxuYXBpLmludGVyY2VwdG9ycy5yZXF1ZXN0LnVzZSgoY29uZmlnKSA9PiB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGdldENvb2tpZShcImFjY2Vzc1Rva2VuXCIpO1xyXG4gICAgaWYgKHRva2VuICYmIGNvbmZpZy5oZWFkZXJzKSB7XHJcbiAgICAgICAgY29uZmlnLmhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHt0b2tlbn1gO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coYPCfmoAgU2VuZGluZyByZXF1ZXN0IHRvOiAke2NvbmZpZy5iYXNlVVJMfSR7Y29uZmlnLnVybH1gKTtcclxuICAgIHJldHVybiBjb25maWc7XHJcbn0pO1xyXG5cclxubGV0IGlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG5sZXQgZmFpbGVkUXVldWU6IGFueVtdID0gW107XHJcblxyXG5jb25zdCBwcm9jZXNzUXVldWUgPSAoZXJyb3I6IGFueSwgdG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICBmYWlsZWRRdWV1ZS5mb3JFYWNoKChwcm9tKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHByb20ucmVqZWN0KGVycm9yKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBwcm9tLnJlc29sdmUodG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZmFpbGVkUXVldWUgPSBbXTtcclxufTtcclxuXHJcbi8vIFJlc3BvbnNlIGludGVyY2VwdG9yIGZvciB0b2tlbiByZWZyZXNoXHJcbmFwaS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKFxyXG4gICAgKHJlc3BvbnNlKSA9PiByZXNwb25zZSxcclxuICAgIGFzeW5jIChlcnJvcjogQXhpb3NFcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUmVxdWVzdDogYW55ID0gZXJyb3IuY29uZmlnO1xyXG5cclxuICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAxICYmICFvcmlnaW5hbFJlcXVlc3QuX3JldHJ5KSB7XHJcbiAgICAgICAgICAgIGlmIChpc1JlZnJlc2hpbmcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkUXVldWUucHVzaCh7IHJlc29sdmUsIHJlamVjdCB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHRva2VuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsUmVxdWVzdC5oZWFkZXJzLkF1dGhvcml6YXRpb24gPSBgQmVhcmVyICR7dG9rZW59YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IFByb21pc2UucmVqZWN0KGVycikpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBvcmlnaW5hbFJlcXVlc3QuX3JldHJ5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IGdldENvb2tpZShcInJlZnJlc2hUb2tlblwiKTtcclxuXHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QoXHJcbiAgICAgICAgICAgICAgICAgICAgYCR7cHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX1VSTCB8fCBcImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC9hcGlcIn0vYXV0aC9yZWZyZXNoYCxcclxuICAgICAgICAgICAgICAgICAgICB7IHJlZnJlc2hUb2tlbiB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgYWNjZXNzVG9rZW4sIHJlZnJlc2hUb2tlbjogbmV3UmVmcmVzaFRva2VuIH0gPSByZXNwb25zZS5kYXRhO1xyXG5cclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcImFjY2Vzc1Rva2VuXCIsIGFjY2Vzc1Rva2VuKTtcclxuICAgICAgICAgICAgICAgIHNldENvb2tpZShcInJlZnJlc2hUb2tlblwiLCBuZXdSZWZyZXNoVG9rZW4pO1xyXG5cclxuICAgICAgICAgICAgICAgIGFwaS5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vbltcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7YWNjZXNzVG9rZW59YDtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShudWxsLCBhY2Nlc3NUb2tlbik7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwaShvcmlnaW5hbFJlcXVlc3QpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChyZWZyZXNoRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NRdWV1ZShyZWZyZXNoRXJyb3IsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlQ29va2llKFwiYWNjZXNzVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBkZWxldGVDb29raWUoXCJyZWZyZXNoVG9rZW5cIik7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gXCIvYXV0aC9sb2dpblwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlZnJlc2hFcnJvcik7XHJcbiAgICAgICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgICAgICBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcclxuICAgIH1cclxuKTtcclxuIl0sIm5hbWVzIjpbImF4aW9zIiwiZ2V0Q29va2llIiwic2V0Q29va2llIiwiZGVsZXRlQ29va2llIiwiYXBpIiwiY3JlYXRlIiwiYmFzZVVSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfVVJMIiwiaGVhZGVycyIsImludGVyY2VwdG9ycyIsInJlcXVlc3QiLCJ1c2UiLCJjb25maWciLCJ0b2tlbiIsIkF1dGhvcml6YXRpb24iLCJjb25zb2xlIiwibG9nIiwidXJsIiwiaXNSZWZyZXNoaW5nIiwiZmFpbGVkUXVldWUiLCJwcm9jZXNzUXVldWUiLCJlcnJvciIsImZvckVhY2giLCJwcm9tIiwicmVqZWN0IiwicmVzb2x2ZSIsInJlc3BvbnNlIiwib3JpZ2luYWxSZXF1ZXN0Iiwic3RhdHVzIiwiX3JldHJ5IiwiUHJvbWlzZSIsInB1c2giLCJ0aGVuIiwiY2F0Y2giLCJlcnIiLCJyZWZyZXNoVG9rZW4iLCJwb3N0IiwiYWNjZXNzVG9rZW4iLCJuZXdSZWZyZXNoVG9rZW4iLCJkYXRhIiwiZGVmYXVsdHMiLCJjb21tb24iLCJyZWZyZXNoRXJyb3IiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/axios.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/geo.ts": -/*!*******************************!*\ - !*** ./src/shared/api/geo.ts ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PerformerState: () => (/* binding */ PerformerState),\n/* harmony export */ searchNearby: () => (/* binding */ searchNearby),\n/* harmony export */ updateGeoStatus: () => (/* binding */ updateGeoStatus)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n// --- Типы ---\n/** Статус исполнителя на карте */ var PerformerState = /*#__PURE__*/ function(PerformerState) {\n PerformerState[PerformerState[\"Offline\"] = 0] = \"Offline\";\n PerformerState[PerformerState[\"Available\"] = 1] = \"Available\";\n PerformerState[PerformerState[\"OnJob\"] = 2] = \"OnJob\";\n return PerformerState;\n}({});\n// --- API-вызовы ---\n/**\r\n * PATCH /api/geo/status — Обновить геопозицию и статус исполнителя.\r\n * Вызывается каждые 10-15 секунд при активном тумблере «На линии».\r\n */ const updateGeoStatus = async (payload)=>{\n await _axios__WEBPACK_IMPORTED_MODULE_0__.api.patch(\"/geo/status\", payload);\n};\n/**\r\n * GET /api/geo/nearby — Поиск доступных исполнителей в радиусе.\r\n * @param lat - Широта центра\r\n * @param lon - Долгота центра\r\n * @param radius - Радиус в метрах\r\n */ const searchNearby = async (lat, lon, radius)=>{\n const response = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/geo/nearby\", {\n params: {\n lat,\n lon,\n radius\n }\n });\n return response.data;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9nZW8udHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4QjtBQUU5QixlQUFlO0FBRWYsZ0NBQWdDLEdBQ3pCLDRDQUFLQzs7OztXQUFBQTtNQUlYO0FBaUJELHFCQUFxQjtBQUVyQjs7O0NBR0MsR0FDTSxNQUFNQyxrQkFBa0IsT0FBT0M7SUFDbEMsTUFBTUgsdUNBQUdBLENBQUNJLEtBQUssQ0FBQyxlQUFlRDtBQUNuQyxFQUFFO0FBRUY7Ozs7O0NBS0MsR0FDTSxNQUFNRSxlQUFlLE9BQ3hCQyxLQUNBQyxLQUNBQztJQUVBLE1BQU1DLFdBQVcsTUFBTVQsdUNBQUdBLENBQUNVLEdBQUcsQ0FBb0IsZUFBZTtRQUM3REMsUUFBUTtZQUFFTDtZQUFLQztZQUFLQztRQUFPO0lBQy9CO0lBQ0EsT0FBT0MsU0FBU0csSUFBSTtBQUN4QixFQUFFIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGFwaVxcZ2VvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCI7XHJcblxyXG4vLyAtLS0g0KLQuNC/0YsgLS0tXHJcblxyXG4vKiog0KHRgtCw0YLRg9GBINC40YHQv9C+0LvQvdC40YLQtdC70Y8g0L3QsCDQutCw0YDRgtC1ICovXHJcbmV4cG9ydCBlbnVtIFBlcmZvcm1lclN0YXRlIHtcclxuICAgIE9mZmxpbmUgPSAwLFxyXG4gICAgQXZhaWxhYmxlID0gMSxcclxuICAgIE9uSm9iID0gMixcclxufVxyXG5cclxuLyoqINCX0LDQv9GA0L7RgSDQvdCwINC+0LHQvdC+0LLQu9C10L3QuNC1INGB0YLQsNGC0YPRgdCwICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlU3RhdHVzUGF5bG9hZCB7XHJcbiAgICBwZXJmb3JtZXJJZDogc3RyaW5nO1xyXG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcclxuICAgIGxvbmdpdHVkZTogbnVtYmVyO1xyXG4gICAgc3RhdGU6IFBlcmZvcm1lclN0YXRlO1xyXG59XHJcblxyXG4vKiog0JHQu9C40LbQsNC50YjQuNC5INC40YHQv9C+0LvQvdC40YLQtdC70YwgKNC+0YLQstC10YIg0L7RgiBBUEkpICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmVhcmJ5UGVyZm9ybWVyIHtcclxuICAgIHBlcmZvcm1lcklkOiBzdHJpbmc7XHJcbiAgICBsYXRpdHVkZTogbnVtYmVyO1xyXG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIC0tLSBBUEkt0LLRi9C30L7QstGLIC0tLVxyXG5cclxuLyoqXHJcbiAqIFBBVENIIC9hcGkvZ2VvL3N0YXR1cyDigJQg0J7QsdC90L7QstC40YLRjCDQs9C10L7Qv9C+0LfQuNGG0LjRjiDQuCDRgdGC0LDRgtGD0YEg0LjRgdC/0L7Qu9C90LjRgtC10LvRjy5cclxuICog0JLRi9C30YvQstCw0LXRgtGB0Y8g0LrQsNC20LTRi9C1IDEwLTE1INGB0LXQutGD0L3QtCDQv9GA0Lgg0LDQutGC0LjQstC90L7QvCDRgtGD0LzQsdC70LXRgNC1IMKr0J3QsCDQu9C40L3QuNC4wrsuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdXBkYXRlR2VvU3RhdHVzID0gYXN5bmMgKHBheWxvYWQ6IFVwZGF0ZVN0YXR1c1BheWxvYWQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICAgIGF3YWl0IGFwaS5wYXRjaChcIi9nZW8vc3RhdHVzXCIsIHBheWxvYWQpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEdFVCAvYXBpL2dlby9uZWFyYnkg4oCUINCf0L7QuNGB0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC40YHQv9C+0LvQvdC40YLQtdC70LXQuSDQsiDRgNCw0LTQuNGD0YHQtS5cclxuICogQHBhcmFtIGxhdCAtINCo0LjRgNC+0YLQsCDRhtC10L3RgtGA0LBcclxuICogQHBhcmFtIGxvbiAtINCU0L7Qu9Cz0L7RgtCwINGG0LXQvdGC0YDQsFxyXG4gKiBAcGFyYW0gcmFkaXVzIC0g0KDQsNC00LjRg9GBINCyINC80LXRgtGA0LDRhVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNlYXJjaE5lYXJieSA9IGFzeW5jIChcclxuICAgIGxhdDogbnVtYmVyLFxyXG4gICAgbG9uOiBudW1iZXIsXHJcbiAgICByYWRpdXM6IG51bWJlclxyXG4pOiBQcm9taXNlPE5lYXJieVBlcmZvcm1lcltdPiA9PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaS5nZXQ8TmVhcmJ5UGVyZm9ybWVyW10+KFwiL2dlby9uZWFyYnlcIiwge1xyXG4gICAgICAgIHBhcmFtczogeyBsYXQsIGxvbiwgcmFkaXVzIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xyXG59O1xyXG4iXSwibmFtZXMiOlsiYXBpIiwiUGVyZm9ybWVyU3RhdGUiLCJ1cGRhdGVHZW9TdGF0dXMiLCJwYXlsb2FkIiwicGF0Y2giLCJzZWFyY2hOZWFyYnkiLCJsYXQiLCJsb24iLCJyYWRpdXMiLCJyZXNwb25zZSIsImdldCIsInBhcmFtcyIsImRhdGEiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/geo.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/api/search.ts": -/*!**********************************!*\ - !*** ./src/shared/api/search.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ globalSearch: () => (/* binding */ globalSearch)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./axios */ \"(ssr)/./src/shared/api/axios.ts\");\n\n/**\r\n * Глобальный поиск мастеров и услуг\r\n */ async function globalSearch(params) {\n const res = await _axios__WEBPACK_IMPORTED_MODULE_0__.api.get(\"/search\", {\n params\n });\n // Формула гаверсинуса: считаем расстояние, если бэкенд не прислал\n const calc = (lat1, lon1, lat2, lon2)=>{\n const R = 6371e3;\n const p1 = lat1 * Math.PI / 180;\n const p2 = lat2 * Math.PI / 180;\n const dp = (lat2 - lat1) * Math.PI / 180;\n const dl = (lon2 - lon1) * Math.PI / 180;\n const a = Math.sin(dp / 2) * Math.sin(dp / 2) + Math.cos(p1) * Math.cos(p2) * Math.sin(dl / 2) * Math.sin(dl / 2);\n return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n };\n return res.data.map((item)=>({\n ...item,\n distance: item.distance ?? calc(params.lat, params.lon, item.latitude, item.longitude)\n }));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2FwaS9zZWFyY2gudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBNkI7QUFtQzdCOztDQUVDLEdBQ00sZUFBZUMsYUFBYUMsTUFBb0I7SUFDbkQsTUFBTUMsTUFBTSxNQUFNSCx1Q0FBR0EsQ0FBQ0ksR0FBRyxDQUFxQixXQUFXO1FBQUVGO0lBQU87SUFFbEUsa0VBQWtFO0lBQ2xFLE1BQU1HLE9BQU8sQ0FBQ0MsTUFBY0MsTUFBY0MsTUFBY0M7UUFDcEQsTUFBTUMsSUFBSTtRQUNWLE1BQU1DLEtBQUtMLE9BQU9NLEtBQUtDLEVBQUUsR0FBRztRQUM1QixNQUFNQyxLQUFLTixPQUFPSSxLQUFLQyxFQUFFLEdBQUc7UUFDNUIsTUFBTUUsS0FBSyxDQUFDUCxPQUFPRixJQUFHLElBQUtNLEtBQUtDLEVBQUUsR0FBRztRQUNyQyxNQUFNRyxLQUFLLENBQUNQLE9BQU9GLElBQUcsSUFBS0ssS0FBS0MsRUFBRSxHQUFHO1FBQ3JDLE1BQU1JLElBQUlMLEtBQUtNLEdBQUcsQ0FBQ0gsS0FBSyxLQUFLSCxLQUFLTSxHQUFHLENBQUNILEtBQUssS0FBS0gsS0FBS08sR0FBRyxDQUFDUixNQUFNQyxLQUFLTyxHQUFHLENBQUNMLE1BQU1GLEtBQUtNLEdBQUcsQ0FBQ0YsS0FBSyxLQUFLSixLQUFLTSxHQUFHLENBQUNGLEtBQUs7UUFDL0csT0FBT04sSUFBSSxJQUFJRSxLQUFLUSxLQUFLLENBQUNSLEtBQUtTLElBQUksQ0FBQ0osSUFBSUwsS0FBS1MsSUFBSSxDQUFDLElBQUlKO0lBQzFEO0lBRUEsT0FBT2QsSUFBSW1CLElBQUksQ0FBQ0MsR0FBRyxDQUFDQyxDQUFBQSxPQUFTO1lBQ3pCLEdBQUdBLElBQUk7WUFDUEMsVUFBVUQsS0FBS0MsUUFBUSxJQUFJcEIsS0FBS0gsT0FBT3dCLEdBQUcsRUFBRXhCLE9BQU95QixHQUFHLEVBQUVILEtBQUtJLFFBQVEsRUFBRUosS0FBS0ssU0FBUztRQUN6RjtBQUNKIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGFwaVxcc2VhcmNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaSB9IGZyb20gXCIuL2F4aW9zXCJcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoT2ZmZXIge1xyXG4gICAgaWQ6IHN0cmluZ1xyXG4gICAgdGl0bGU6IHN0cmluZ1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG4gICAgcHJpY2VBbW91bnQ/OiBudW1iZXJcclxuICAgIHByaWNlQ3VycmVuY3k/OiBzdHJpbmdcclxuICAgIGFtb3VudD86IG51bWJlclxyXG4gICAgY3VycmVuY3k/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXN1bHRJdGVtIHtcclxuICAgIHBlcmZvcm1lcklkOiBzdHJpbmdcclxuICAgIG5hbWU6IHN0cmluZ1xyXG4gICAgYXZhdGFyVXJsOiBzdHJpbmcgfCBudWxsXHJcbiAgICBsYXRpdHVkZTogbnVtYmVyXHJcbiAgICBsb25naXR1ZGU6IG51bWJlclxyXG4gICAgc3RhdHVzOiBcItCT0L7RgtC+0LIg0Log0LfQsNC60LDQt9GDXCIgfCBcItCe0YTQu9Cw0LnQvVwiXHJcbiAgICBkaXN0YW5jZT86IG51bWJlclxyXG4gICAgcm9sZT86IHN0cmluZ1xyXG4gICAgbWF0Y2hlZENvbXBldGVuY2llczogc3RyaW5nW11cclxuICAgIG1hdGNoZWRPZmZlcnM6IFNlYXJjaE9mZmVyW11cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hQYXJhbXMge1xyXG4gICAgcT86IHN0cmluZ1xyXG4gICAgbGF0OiBudW1iZXJcclxuICAgIGxvbjogbnVtYmVyXHJcbiAgICByYWRpdXM/OiBudW1iZXIgLy8g0J7RgiA1MDAg0LTQviA1MDAwMCDQvNC10YLRgNC+0LJcclxuICAgIGluVGl0bGU/OiBib29sZWFuXHJcbiAgICBpbkRlc2M/OiBib29sZWFuXHJcbiAgICBpbkNvbXA/OiBib29sZWFuXHJcbn1cclxuXHJcbi8qKlxyXG4gKiDQk9C70L7QsdCw0LvRjNC90YvQuSDQv9C+0LjRgdC6INC80LDRgdGC0LXRgNC+0LIg0Lgg0YPRgdC70YPQs1xyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdsb2JhbFNlYXJjaChwYXJhbXM6IFNlYXJjaFBhcmFtcyk6IFByb21pc2U8U2VhcmNoUmVzdWx0SXRlbVtdPiB7XHJcbiAgICBjb25zdCByZXMgPSBhd2FpdCBhcGkuZ2V0PFNlYXJjaFJlc3VsdEl0ZW1bXT4oXCIvc2VhcmNoXCIsIHsgcGFyYW1zIH0pXHJcblxyXG4gICAgLy8g0KTQvtGA0LzRg9C70LAg0LPQsNCy0LXRgNGB0LjQvdGD0YHQsDog0YHRh9C40YLQsNC10Lwg0YDQsNGB0YHRgtC+0Y/QvdC40LUsINC10YHQu9C4INCx0Y3QutC10L3QtCDQvdC1INC/0YDQuNGB0LvQsNC7XHJcbiAgICBjb25zdCBjYWxjID0gKGxhdDE6IG51bWJlciwgbG9uMTogbnVtYmVyLCBsYXQyOiBudW1iZXIsIGxvbjI6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IFIgPSA2MzcxZTM7XHJcbiAgICAgICAgY29uc3QgcDEgPSBsYXQxICogTWF0aC5QSSAvIDE4MDtcclxuICAgICAgICBjb25zdCBwMiA9IGxhdDIgKiBNYXRoLlBJIC8gMTgwO1xyXG4gICAgICAgIGNvbnN0IGRwID0gKGxhdDIgLSBsYXQxKSAqIE1hdGguUEkgLyAxODA7XHJcbiAgICAgICAgY29uc3QgZGwgPSAobG9uMiAtIGxvbjEpICogTWF0aC5QSSAvIDE4MDtcclxuICAgICAgICBjb25zdCBhID0gTWF0aC5zaW4oZHAgLyAyKSAqIE1hdGguc2luKGRwIC8gMikgKyBNYXRoLmNvcyhwMSkgKiBNYXRoLmNvcyhwMikgKiBNYXRoLnNpbihkbCAvIDIpICogTWF0aC5zaW4oZGwgLyAyKTtcclxuICAgICAgICByZXR1cm4gUiAqIDIgKiBNYXRoLmF0YW4yKE1hdGguc3FydChhKSwgTWF0aC5zcXJ0KDEgLSBhKSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG4gICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgZGlzdGFuY2U6IGl0ZW0uZGlzdGFuY2UgPz8gY2FsYyhwYXJhbXMubGF0LCBwYXJhbXMubG9uLCBpdGVtLmxhdGl0dWRlLCBpdGVtLmxvbmdpdHVkZSlcclxuICAgIH0pKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJhcGkiLCJnbG9iYWxTZWFyY2giLCJwYXJhbXMiLCJyZXMiLCJnZXQiLCJjYWxjIiwibGF0MSIsImxvbjEiLCJsYXQyIiwibG9uMiIsIlIiLCJwMSIsIk1hdGgiLCJQSSIsInAyIiwiZHAiLCJkbCIsImEiLCJzaW4iLCJjb3MiLCJhdGFuMiIsInNxcnQiLCJkYXRhIiwibWFwIiwiaXRlbSIsImRpc3RhbmNlIiwibGF0IiwibG9uIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/api/search.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/shared/lib/utils.ts": -/*!*********************************!*\ - !*** ./src/shared/lib/utils.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn),\n/* harmony export */ formatPhoneNumber: () => (/* binding */ formatPhoneNumber)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\nfunction formatPhoneNumber(phone) {\n if (!phone) return \"—\";\n // Remove all non-digits\n const cleaned = phone.replace(/\\D/g, \"\");\n // Check if it's a Russian number (+7 or 8)\n if (cleaned.length === 11) {\n const country = cleaned[0] === \"8\" ? \"8\" : \"+7\";\n return `${country} (${cleaned.slice(1, 4)}) ${cleaned.slice(4, 7)}-${cleaned.slice(7, 9)}-${cleaned.slice(9, 11)}`;\n }\n return phone;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvc2hhcmVkL2xpYi91dGlscy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRDO0FBQ0o7QUFFakMsU0FBU0UsR0FBRyxHQUFHQyxNQUFvQjtJQUN0QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3hCO0FBRU8sU0FBU0Msa0JBQWtCQyxLQUF5QjtJQUN2RCxJQUFJLENBQUNBLE9BQU8sT0FBTztJQUVuQix3QkFBd0I7SUFDeEIsTUFBTUMsVUFBVUQsTUFBTUUsT0FBTyxDQUFDLE9BQU87SUFFckMsMkNBQTJDO0lBQzNDLElBQUlELFFBQVFFLE1BQU0sS0FBSyxJQUFJO1FBQ3ZCLE1BQU1DLFVBQVVILE9BQU8sQ0FBQyxFQUFFLEtBQUssTUFBTSxNQUFNO1FBQzNDLE9BQU8sR0FBR0csUUFBUSxFQUFFLEVBQUVILFFBQVFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFSixRQUFRSSxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRUosUUFBUUksS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUVKLFFBQVFJLEtBQUssQ0FBQyxHQUFHLEtBQUs7SUFDdEg7SUFFQSxPQUFPTDtBQUNYIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxzaGFyZWRcXGxpYlxcdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSBcImNsc3hcIlxyXG5pbXBvcnQgeyB0d01lcmdlIH0gZnJvbSBcInRhaWx3aW5kLW1lcmdlXCJcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjbiguLi5pbnB1dHM6IENsYXNzVmFsdWVbXSkge1xyXG4gICAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0UGhvbmVOdW1iZXIocGhvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gXCLigJRcIjtcclxuXHJcbiAgICAvLyBSZW1vdmUgYWxsIG5vbi1kaWdpdHNcclxuICAgIGNvbnN0IGNsZWFuZWQgPSBwaG9uZS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgaXQncyBhIFJ1c3NpYW4gbnVtYmVyICgrNyBvciA4KVxyXG4gICAgaWYgKGNsZWFuZWQubGVuZ3RoID09PSAxMSkge1xyXG4gICAgICAgIGNvbnN0IGNvdW50cnkgPSBjbGVhbmVkWzBdID09PSBcIjhcIiA/IFwiOFwiIDogXCIrN1wiO1xyXG4gICAgICAgIHJldHVybiBgJHtjb3VudHJ5fSAoJHtjbGVhbmVkLnNsaWNlKDEsIDQpfSkgJHtjbGVhbmVkLnNsaWNlKDQsIDcpfS0ke2NsZWFuZWQuc2xpY2UoNywgOSl9LSR7Y2xlYW5lZC5zbGljZSg5LCAxMSl9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGhvbmU7XHJcbn1cclxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiLCJmb3JtYXRQaG9uZU51bWJlciIsInBob25lIiwiY2xlYW5lZCIsInJlcGxhY2UiLCJsZW5ndGgiLCJjb3VudHJ5Iiwic2xpY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/shared/lib/utils.ts\n"); - -/***/ }), - -/***/ "(ssr)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Header: () => (/* binding */ Header)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/theme/mode-toggle */ \"(ssr)/./src/components/theme/mode-toggle.tsx\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/button */ \"(ssr)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_switch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/switch */ \"(ssr)/./src/components/ui/switch.tsx\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/search.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/map-pin.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/briefcase.js\");\n/* harmony import */ var _barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Briefcase,LogOut,MapPin,Search,User!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/log-out.js\");\n/* harmony import */ var _components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/dropdown-menu */ \"(ssr)/./src/components/ui/dropdown-menu.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/entities/session/store */ \"(ssr)/./src/entities/session/store.ts\");\n/* harmony import */ var _features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/features/geo/useGeoStore */ \"(ssr)/./src/features/geo/useGeoStore.ts\");\n/* __next_internal_client_entry_do_not_use__ Header auto */ \n\n\n\n\n\n\n\n\nfunction Header() {\n const { isAuth, user, logout } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_6__.useSessionStore)();\n const { isOnline, isUpdating, error: geoError, goOnline, goOffline } = (0,_features_geo_useGeoStore__WEBPACK_IMPORTED_MODULE_7__.useGeoStore)();\n // Проверяем, является ли пользователь исполнителем или компанией\n const isMasterOrCompany = user?.roles?.includes(\"Candidate\") || user?.roles?.includes(\"Company\") || user?.roles?.includes(\"Master\");\n /** Обработчик переключения тумблера «На линии» */ const handleToggleOnline = (checked)=>{\n if (!user?.id) return;\n if (checked) {\n goOnline(user.id);\n } else {\n goOffline(user.id);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container mx-auto flex h-16 items-center justify-between px-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n className: \"flex items-center space-x-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-2xl font-black tracking-tight text-blue-600 dark:text-blue-500\",\n children: \"Nashel\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 42,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 41,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"hidden md:flex gap-6 items-center text-sm font-medium transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/search\",\n className: \"flex items-center gap-2 hover:text-blue-600\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 51,\n columnNumber: 29\n }, this),\n \"Поиск\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 47,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"hover:text-blue-600\",\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 54,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 46,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 40,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n isAuth && isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden sm:flex items-center gap-2 mr-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: `h-4 w-4 transition-colors ${isOnline ? \"text-green-500\" : \"text-muted-foreground\"}`\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 67,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_switch__WEBPACK_IMPORTED_MODULE_4__.Switch, {\n id: \"geo-online-toggle\",\n checked: isOnline,\n onCheckedChange: handleToggleOnline,\n disabled: isUpdating\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 68,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"geo-online-toggle\",\n className: `text-xs font-medium cursor-pointer select-none transition-colors ${isOnline ? \"text-green-600 dark:text-green-400\" : \"text-muted-foreground\"}`,\n children: isOnline ? \"Готов к заказу\" : \"Офлайн\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 74,\n columnNumber: 29\n }, this),\n geoError && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-red-500 max-w-[120px] truncate\",\n title: geoError,\n children: geoError\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 81,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 66,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_mode_toggle__WEBPACK_IMPORTED_MODULE_2__.ModeToggle, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, this),\n isAuth ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenu, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuTrigger, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n className: \"hidden sm:flex items-center gap-2 focus-visible:ring-0 focus-visible:ring-offset-0 focus:outline-none focus:ring-0 outline-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 93,\n columnNumber: 37\n }, this),\n user?.roles?.includes(\"Company\") && user?.companyName ? user.companyName : user?.firstName && user?.lastName ? `${user.firstName} ${user.lastName}` : \"Профиль\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 92,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 91,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuContent, {\n align: \"end\",\n className: \"w-56\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuLabel, {\n children: \"Мой аккаунт\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 100,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 101,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/profile\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 104,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Профиль\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 105,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 103,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 102,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 110,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 111,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 109,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 108,\n columnNumber: 33\n }, this),\n isMasterOrCompany && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/offers\",\n className: \"cursor-pointer w-full flex items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 117,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Мои услуги\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 118,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 116,\n columnNumber: 41\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 115,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuSeparator, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 122,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_dropdown_menu__WEBPACK_IMPORTED_MODULE_5__.DropdownMenuItem, {\n className: \"text-destructive focus:text-destructive cursor-pointer\",\n onClick: ()=>logout(),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"mr-2 h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 124,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Выйти из аккаунта\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 125,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 123,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 99,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 90,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n variant: \"ghost\",\n asChild: true,\n className: \"hidden sm:flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/auth/login\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Briefcase_LogOut_MapPin_Search_User_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 132,\n columnNumber: 33\n }, this),\n \"Войти\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 131,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 130,\n columnNumber: 25\n }, this),\n isMasterOrCompany ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/orders\",\n children: \"Подобрать заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 139,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 138,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n className: \"bg-blue-600 hover:bg-blue-700 text-white\",\n asChild: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/dashboard/become-performer\",\n children: \"Стать исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 145,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 144,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 63,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 39,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\widgets\\\\Header.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0FDaEUsNEVBQUM1QyxrREFBSUE7Z0NBQUNvQyxNQUFLOzBDQUE4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNyRSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcd2lkZ2V0c1xcSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIlxyXG5cclxuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiXHJcbmltcG9ydCB7IE1vZGVUb2dnbGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL21vZGUtdG9nZ2xlXCJcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9idXR0b25cIlxyXG5pbXBvcnQgeyBTd2l0Y2ggfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3N3aXRjaFwiXHJcbmltcG9ydCB7IFNlYXJjaCwgVXNlciwgTG9nT3V0LCBCcmllZmNhc2UsIE1hcFBpbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxyXG5pbXBvcnQge1xyXG4gICAgRHJvcGRvd25NZW51LFxyXG4gICAgRHJvcGRvd25NZW51Q29udGVudCxcclxuICAgIERyb3Bkb3duTWVudUl0ZW0sXHJcbiAgICBEcm9wZG93bk1lbnVMYWJlbCxcclxuICAgIERyb3Bkb3duTWVudVNlcGFyYXRvcixcclxuICAgIERyb3Bkb3duTWVudVRyaWdnZXIsXHJcbn0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9kcm9wZG93bi1tZW51XCJcclxuXHJcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gXCJAL2VudGl0aWVzL3Nlc3Npb24vc3RvcmVcIlxyXG5pbXBvcnQgeyB1c2VHZW9TdG9yZSB9IGZyb20gXCJAL2ZlYXR1cmVzL2dlby91c2VHZW9TdG9yZVwiXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSGVhZGVyKCkge1xyXG4gICAgY29uc3QgeyBpc0F1dGgsIHVzZXIsIGxvZ291dCB9ID0gdXNlU2Vzc2lvblN0b3JlKClcclxuICAgIGNvbnN0IHsgaXNPbmxpbmUsIGlzVXBkYXRpbmcsIGVycm9yOiBnZW9FcnJvciwgZ29PbmxpbmUsIGdvT2ZmbGluZSB9ID0gdXNlR2VvU3RvcmUoKVxyXG5cclxuICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQuNGB0L/QvtC70L3QuNGC0LXQu9C10Lwg0LjQu9C4INC60L7QvNC/0LDQvdC40LXQuVxyXG4gICAgY29uc3QgaXNNYXN0ZXJPckNvbXBhbnkgPSB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDYW5kaWRhdGVcIikgfHwgdXNlcj8ucm9sZXM/LmluY2x1ZGVzKFwiQ29tcGFueVwiKSB8fCB1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJNYXN0ZXJcIilcclxuXHJcbiAgICAvKiog0J7QsdGA0LDQsdC+0YLRh9C40Log0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINGC0YPQvNCx0LvQtdGA0LAgwqvQndCwINC70LjQvdC40LjCuyAqL1xyXG4gICAgY29uc3QgaGFuZGxlVG9nZ2xlT25saW5lID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoIXVzZXI/LmlkKSByZXR1cm5cclxuICAgICAgICBpZiAoY2hlY2tlZCkge1xyXG4gICAgICAgICAgICBnb09ubGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGdvT2ZmbGluZSh1c2VyLmlkKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwic3RpY2t5IHRvcC0wIHotNTAgdy1mdWxsIGJvcmRlci1iIGJnLWJhY2tncm91bmQvOTUgYmFja2Ryb3AtYmx1ciBzdXBwb3J0cy1bYmFja2Ryb3AtZmlsdGVyXTpiZy1iYWNrZ3JvdW5kLzYwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIG14LWF1dG8gZmxleCBoLTE2IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYmxhY2sgdHJhY2tpbmctdGlnaHQgdGV4dC1ibHVlLTYwMCBkYXJrOnRleHQtYmx1ZS01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hc2hlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuYXYgY2xhc3NOYW1lPVwiaGlkZGVuIG1kOmZsZXggZ2FwLTYgaXRlbXMtY2VudGVyIHRleHQtc20gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1jb2xvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPExpbmtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvc2VhcmNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGhvdmVyOnRleHQtYmx1ZS02MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC40YHQulxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL29yZGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJob3Zlcjp0ZXh0LWJsdWUtNjAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0JzQvtC4INC30LDQutCw0LfRi1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qINCi0YPQvNCx0LvQtdGAIMKr0J3QsCDQu9C40L3QuNC4wrsg4oCUINCy0LjQtNC10L0g0YLQvtC70YzQutC+INC40YHQv9C+0LvQvdC40YLQtdC70Y/QvC/QutC+0LzQv9Cw0L3QuNGP0LwgKi99XHJcbiAgICAgICAgICAgICAgICAgICAge2lzQXV0aCAmJiBpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIHNtOmZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1yLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBQaW4gY2xhc3NOYW1lPXtgaC00IHctNCB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTUwMFwiIDogXCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIn1gfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZ2VvLW9ubGluZS10b2dnbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2lzT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17aGFuZGxlVG9nZ2xlT25saW5lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1VwZGF0aW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9XCJnZW8tb25saW5lLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgdGV4dC14cyBmb250LW1lZGl1bSBjdXJzb3ItcG9pbnRlciBzZWxlY3Qtbm9uZSB0cmFuc2l0aW9uLWNvbG9ycyAke2lzT25saW5lID8gXCJ0ZXh0LWdyZWVuLTYwMCBkYXJrOnRleHQtZ3JlZW4tNDAwXCIgOiBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwifWB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzT25saW5lID8gXCLQk9C+0YLQvtCyINC6INC30LDQutCw0LfRg1wiIDogXCLQntGE0LvQsNC50L1cIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3IgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1yZWQtNTAwIG1heC13LVsxMjBweF0gdHJ1bmNhdGVcIiB0aXRsZT17Z2VvRXJyb3J9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z2VvRXJyb3J9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPE1vZGVUb2dnbGUgLz5cclxuICAgICAgICAgICAgICAgICAgICB7aXNBdXRoID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVRyaWdnZXIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIGNsYXNzTmFtZT1cImhpZGRlbiBzbTpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBmb2N1cy12aXNpYmxlOnJpbmctMCBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMCBvdXRsaW5lLW5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlcz8uaW5jbHVkZXMoXCJDb21wYW55XCIpICYmIHVzZXI/LmNvbXBhbnlOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHVzZXIuY29tcGFueU5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKHVzZXI/LmZpcnN0TmFtZSAmJiB1c2VyPy5sYXN0TmFtZSA/IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YCA6IFwi0J/RgNC+0YTQuNC70YxcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudVRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51Q29udGVudCBhbGlnbj1cImVuZFwiIGNsYXNzTmFtZT1cInctNTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51TGFiZWw+0JzQvtC5INCw0LrQutCw0YPQvdGCPC9Ecm9wZG93bk1lbnVMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd25NZW51U2VwYXJhdG9yIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudUl0ZW0gYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpbmsgaHJlZj1cIi9kYXNoYm9hcmQvcHJvZmlsZVwiIGNsYXNzTmFtZT1cImN1cnNvci1wb2ludGVyIHctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwibXItMiBoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPtCf0YDQvtGE0LjQu9GMPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvb3JkZXJzXCIgY2xhc3NOYW1lPVwiY3Vyc29yLXBvaW50ZXIgdy1mdWxsIGZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QnNC+0Lgg0LfQsNC60LDQt9GLPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc01hc3Rlck9yQ29tcGFueSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL2Rhc2hib2FyZC9vZmZlcnNcIiBjbGFzc05hbWU9XCJjdXJzb3ItcG9pbnRlciB3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnJpZWZjYXNlIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0JzQvtC4INGD0YHQu9GD0LPQuDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bk1lbnVJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTWVudVNlcGFyYXRvciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bk1lbnVJdGVtIGNsYXNzTmFtZT1cInRleHQtZGVzdHJ1Y3RpdmUgZm9jdXM6dGV4dC1kZXN0cnVjdGl2ZSBjdXJzb3ItcG9pbnRlclwiIG9uQ2xpY2s9eygpID0+IGxvZ291dCgpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExvZ091dCBjbGFzc05hbWU9XCJtci0yIGgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QktGL0LnRgtC4INC40Lcg0LDQutC60LDRg9C90YLQsDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duTWVudUNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImdob3N0XCIgYXNDaGlsZCBjbGFzc05hbWU9XCJoaWRkZW4gc206ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvYXV0aC9sb2dpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVc2VyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCS0L7QudGC0LhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICB7aXNNYXN0ZXJPckNvbXBhbnkgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYmctYmx1ZS02MDAgaG92ZXI6YmctYmx1ZS03MDAgdGV4dC13aGl0ZVwiIGFzQ2hpbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGluayBocmVmPVwiL29yZGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNC+0LHRgNCw0YLRjCDQt9Cw0LrQsNC30YtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGluaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlXCIgYXNDaGlsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIGhyZWY9XCIvZGFzaGJvYXJkL2JlY29tZS1wZXJmb3JtZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodGC0LDRgtGMINC40YHQv9C+0LvQvdC40YLQtdC70LXQvFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgKVxyXG59XHJcbiJdLCJuYW1lcyI6WyJMaW5rIiwiTW9kZVRvZ2dsZSIsIkJ1dHRvbiIsIlN3aXRjaCIsIlNlYXJjaCIsIlVzZXIiLCJMb2dPdXQiLCJCcmllZmNhc2UiLCJNYXBQaW4iLCJEcm9wZG93bk1lbnUiLCJEcm9wZG93bk1lbnVDb250ZW50IiwiRHJvcGRvd25NZW51SXRlbSIsIkRyb3Bkb3duTWVudUxhYmVsIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiRHJvcGRvd25NZW51VHJpZ2dlciIsInVzZVNlc3Npb25TdG9yZSIsInVzZUdlb1N0b3JlIiwiSGVhZGVyIiwiaXNBdXRoIiwidXNlciIsImxvZ291dCIsImlzT25saW5lIiwiaXNVcGRhdGluZyIsImVycm9yIiwiZ2VvRXJyb3IiLCJnb09ubGluZSIsImdvT2ZmbGluZSIsImlzTWFzdGVyT3JDb21wYW55Iiwicm9sZXMiLCJpbmNsdWRlcyIsImhhbmRsZVRvZ2dsZU9ubGluZSIsImNoZWNrZWQiLCJpZCIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsImhyZWYiLCJzcGFuIiwibmF2Iiwib25DaGVja2VkQ2hhbmdlIiwiZGlzYWJsZWQiLCJsYWJlbCIsImh0bWxGb3IiLCJ0aXRsZSIsImFzQ2hpbGQiLCJ2YXJpYW50IiwiY29tcGFueU5hbWUiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImFsaWduIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/widgets/Header.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/globals.css": -/*!*****************************!*\ - !*** ./src/app/globals.css ***! - \*****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"96c14632c738\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXGdsb2JhbHMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOTZjMTQ2MzJjNzM4XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/layout.tsx": -/*!****************************!*\ - !*** ./src/app/layout.tsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src\\\\\\\\app\\\\\\\\layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\",\\\"cyrillic\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n/* harmony import */ var leaflet_dist_leaflet_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! leaflet/dist/leaflet.css */ \"(rsc)/./node_modules/leaflet/dist/leaflet.css\");\n/* harmony import */ var _components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/theme/theme-provider */ \"(rsc)/./src/components/theme/theme-provider.tsx\");\n/* harmony import */ var _widgets_Header__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/widgets/Header */ \"(rsc)/./src/widgets/Header.tsx\");\n/* harmony import */ var _components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/sonner */ \"(rsc)/./src/components/ui/sonner.tsx\");\n/* harmony import */ var _components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/auth/AuthProvider */ \"(rsc)/./src/components/auth/AuthProvider.tsx\");\n\n\n\n\n\n\n\n\nconst metadata = {\n title: \"Nashel - Маркетплейс услуг\",\n description: \"Найди мастера за 60 минут\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"ru\",\n suppressHydrationWarning: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: `${(next_font_google_target_css_path_src_app_layout_tsx_import_Inter_arguments_subsets_latin_cyrillic_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default().className)} min-h-screen bg-background text-foreground antialiased`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_theme_theme_provider__WEBPACK_IMPORTED_MODULE_3__.ThemeProvider, {\n attribute: \"class\",\n defaultTheme: \"system\",\n enableSystem: true,\n disableTransitionOnChange: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_auth_AuthProvider__WEBPACK_IMPORTED_MODULE_6__.AuthProvider, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex min-h-screen flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_widgets_Header__WEBPACK_IMPORTED_MODULE_4__.Header, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 34,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 32,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_sonner__WEBPACK_IMPORTED_MODULE_5__.Toaster, {}, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 36,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 31,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 25,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 24,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQVNNQTtBQVBpQjtBQUNXO0FBQ2dDO0FBQ3hCO0FBQ087QUFDYTtBQUl2RCxNQUFNSyxXQUFxQjtJQUM5QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2pCLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQy9CQyxRQUFRLEVBR1Y7SUFDRSxxQkFDSSw4REFBQ0M7UUFBS0MsTUFBSztRQUFLQyx3QkFBd0I7a0JBQ3BDLDRFQUFDQztZQUFLQyxXQUFXLEdBQUdkLHdLQUFlLENBQUMsdURBQXVELENBQUM7c0JBQ3hGLDRFQUFDQywyRUFBYUE7Z0JBQ1ZjLFdBQVU7Z0JBQ1ZDLGNBQWE7Z0JBQ2JDLFlBQVk7Z0JBQ1pDLHlCQUF5QjswQkFFekIsNEVBQUNkLHVFQUFZQTs7c0NBQ1QsOERBQUNlOzRCQUFJTCxXQUFVOzs4Q0FDWCw4REFBQ1osbURBQU1BOzs7Ozs4Q0FDUCw4REFBQ2tCO29DQUFLTixXQUFVOzhDQUFVTDs7Ozs7Ozs7Ozs7O3NDQUU5Qiw4REFBQ04sMERBQU9BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1oQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXHNyY1xcYXBwXFxsYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tIFwibmV4dFwiO1xyXG5pbXBvcnQgeyBJbnRlciB9IGZyb20gXCJuZXh0L2ZvbnQvZ29vZ2xlXCI7XHJcbmltcG9ydCBcIi4vZ2xvYmFscy5jc3NcIjtcclxuaW1wb3J0IFwibGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzXCI7XHJcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3RoZW1lL3RoZW1lLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL3dpZGdldHMvSGVhZGVyXCI7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3Nvbm5lclwiO1xyXG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL2F1dGgvQXV0aFByb3ZpZGVyXCI7XHJcblxyXG5jb25zdCBpbnRlciA9IEludGVyKHsgc3Vic2V0czogW1wibGF0aW5cIiwgXCJjeXJpbGxpY1wiXSB9KTtcclxuXHJcbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XHJcbiAgICB0aXRsZTogXCJOYXNoZWwgLSDQnNCw0YDQutC10YLQv9C70LXQudGBINGD0YHQu9GD0LNcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcItCd0LDQudC00Lgg0LzQsNGB0YLQtdGA0LAg0LfQsCA2MCDQvNC40L3Rg9GCXCIsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSb290TGF5b3V0KHtcclxuICAgIGNoaWxkcmVuLFxyXG59OiBSZWFkb25seTx7XHJcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xyXG59Pikge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8aHRtbCBsYW5nPVwicnVcIiBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc+XHJcbiAgICAgICAgICAgIDxib2R5IGNsYXNzTmFtZT17YCR7aW50ZXIuY2xhc3NOYW1lfSBtaW4taC1zY3JlZW4gYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQgYW50aWFsaWFzZWRgfT5cclxuICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlPVwiY2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRUaGVtZT1cInN5c3RlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlU3lzdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVRyYW5zaXRpb25PbkNoYW5nZVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxBdXRoUHJvdmlkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgZmxleCBtaW4taC1zY3JlZW4gZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxIZWFkZXIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8VG9hc3RlciAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvQXV0aFByb3ZpZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxyXG4gICAgICAgICAgICA8L2JvZHk+XHJcbiAgICAgICAgPC9odG1sPlxyXG4gICAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsiaW50ZXIiLCJUaGVtZVByb3ZpZGVyIiwiSGVhZGVyIiwiVG9hc3RlciIsIkF1dGhQcm92aWRlciIsIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiwiYm9keSIsImNsYXNzTmFtZSIsImF0dHJpYnV0ZSIsImRlZmF1bHRUaGVtZSIsImVuYWJsZVN5c3RlbSIsImRpc2FibGVUcmFuc2l0aW9uT25DaGFuZ2UiLCJkaXYiLCJtYWluIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./src/app/search/page.tsx": -/*!*********************************!*\ - !*** ./src/app/search/page.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call the default export of \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\search\\\\page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx", -"default", -)); - - -/***/ }), - -/***/ "(rsc)/./src/components/auth/AuthProvider.tsx": -/*!**********************************************!*\ - !*** ./src/components/auth/AuthProvider.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const AuthProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx", -"AuthProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/theme/theme-provider.tsx": -/*!*************************************************!*\ - !*** ./src/components/theme/theme-provider.tsx ***! - \*************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ ThemeProvider: () => (/* binding */ ThemeProvider) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const ThemeProvider = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx", -"ThemeProvider", -); - -/***/ }), - -/***/ "(rsc)/./src/components/ui/sonner.tsx": -/*!**************************************!*\ - !*** ./src/components/ui/sonner.tsx ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Toaster: () => (/* binding */ Toaster) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Toaster = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx", -"Toaster", -); - -/***/ }), - -/***/ "(rsc)/./src/widgets/Header.tsx": -/*!********************************!*\ - !*** ./src/widgets/Header.tsx ***! - \********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Header: () => (/* binding */ Header) -/* harmony export */ }); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js"); -/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__); - -const Header = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)( -function() { throw new Error("Attempted to call Header() from the server but Header is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); }, -"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx", -"Header", -); - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@radix-ui","vendor-chunks/axios","vendor-chunks/mime-db","vendor-chunks/@floating-ui","vendor-chunks/tailwind-merge","vendor-chunks/sonner","vendor-chunks/lucide-react","vendor-chunks/cookies-next","vendor-chunks/follow-redirects","vendor-chunks/debug","vendor-chunks/tslib","vendor-chunks/react-remove-scroll","vendor-chunks/form-data","vendor-chunks/get-intrinsic","vendor-chunks/cookie","vendor-chunks/asynckit","vendor-chunks/aria-hidden","vendor-chunks/next-themes","vendor-chunks/react-remove-scroll-bar","vendor-chunks/combined-stream","vendor-chunks/mime-types","vendor-chunks/use-callback-ref","vendor-chunks/proxy-from-env","vendor-chunks/use-sidecar","vendor-chunks/class-variance-authority","vendor-chunks/ms","vendor-chunks/supports-color","vendor-chunks/react-style-singleton","vendor-chunks/has-symbols","vendor-chunks/delayed-stream","vendor-chunks/function-bind","vendor-chunks/@swc","vendor-chunks/zustand","vendor-chunks/es-set-tostringtag","vendor-chunks/get-proto","vendor-chunks/call-bind-apply-helpers","vendor-chunks/dunder-proto","vendor-chunks/math-intrinsics","vendor-chunks/es-errors","vendor-chunks/clsx","vendor-chunks/has-flag","vendor-chunks/gopd","vendor-chunks/get-nonce","vendor-chunks/es-define-property","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/leaflet","vendor-chunks/es-object-atoms"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fsearch%2Fpage&page=%2Fsearch%2Fpage&appPaths=%2Fsearch%2Fpage&pagePath=private-next-app-dir%2Fsearch%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/search/page_client-reference-manifest.js b/.next/server/app/search/page_client-reference-manifest.js deleted file mode 100644 index 7125095..0000000 --- a/.next/server/app/search/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/search/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(ssr)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(ssr)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(ssr)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(ssr)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(ssr)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx":{"id":"(app-pages-browser)/./src/app/search/page.tsx","name":"*","chunks":["app/search/page","static/chunks/app/search/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\app-dir\\link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\features\\auth\\LoginForm.tsx":{"id":"(app-pages-browser)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\[id]\\edit\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\dashboard\\offers\\create\\page.tsx":{"id":"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\home\\PerformerButton.tsx":{"id":"(app-pages-browser)/./src/components/home/PerformerButton.tsx","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":{"id":"(app-pages-browser)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\page":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(rsc)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/app-dir/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/features/auth/LoginForm.tsx":{"*":{"id":"(rsc)/./src/features/auth/LoginForm.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/profile/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/profile/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/[id]/edit/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/[id]/edit/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/dashboard/offers/create/page.tsx":{"*":{"id":"(rsc)/./src/app/dashboard/offers/create/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/home/PerformerButton.tsx":{"*":{"id":"(rsc)/./src/components/home/PerformerButton.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(rsc)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/middleware-react-loadable-manifest.js b/.next/server/middleware-react-loadable-manifest.js index 63f1826..d3eed5d 100644 --- a/.next/server/middleware-react-loadable-manifest.js +++ b/.next/server/middleware-react-loadable-manifest.js @@ -1 +1 @@ -self.__REACT_LOADABLE_MANIFEST="{\"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\components\\\\react-dev-overlay\\\\internal\\\\helpers\\\\use-websocket.js -> @vercel/turbopack-ecmascript-runtime/browser/dev/hmr-client/hmr-client.ts\":{\"id\":\"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\components\\\\react-dev-overlay\\\\internal\\\\helpers\\\\use-websocket.js -> @vercel/turbopack-ecmascript-runtime/browser/dev/hmr-client/hmr-client.ts\",\"files\":[\"static/chunks/_app-pages-browser_node_modules_next_dist_client_dev_noop-turbopack-hmr_js.js\"]},\"app\\\\search\\\\page.tsx -> @/components/map/LiveMap\":{\"id\":\"app\\\\search\\\\page.tsx -> @/components/map/LiveMap\",\"files\":[\"static/chunks/_app-pages-browser_src_components_map_LiveMap_tsx.js\"]}}" \ No newline at end of file +self.__REACT_LOADABLE_MANIFEST="{\"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\components\\\\react-dev-overlay\\\\internal\\\\helpers\\\\use-websocket.js -> @vercel/turbopack-ecmascript-runtime/browser/dev/hmr-client/hmr-client.ts\":{\"id\":\"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\components\\\\react-dev-overlay\\\\internal\\\\helpers\\\\use-websocket.js -> @vercel/turbopack-ecmascript-runtime/browser/dev/hmr-client/hmr-client.ts\",\"files\":[\"static/chunks/_app-pages-browser_node_modules_next_dist_client_dev_noop-turbopack-hmr_js.js\"]}}" \ No newline at end of file diff --git a/.next/server/server-reference-manifest.json b/.next/server/server-reference-manifest.json index 1b8600f..d2817a8 100644 --- a/.next/server/server-reference-manifest.json +++ b/.next/server/server-reference-manifest.json @@ -1,5 +1,5 @@ { "node": {}, "edge": {}, - "encryptionKey": "WZQZME/5C9+NCM2OP0Z7GWY6DzmCSvnkIqpZV29ntNg=" + "encryptionKey": "a0r80MZ8P0Nz8QzusbI7vLzdY0ifxr6srF1mXvOwt+4=" } \ No newline at end of file diff --git a/.next/server/vendor-chunks/@hookform.js b/.next/server/vendor-chunks/@hookform.js deleted file mode 100644 index 9637997..0000000 --- a/.next/server/vendor-chunks/@hookform.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/@hookform"; -exports.ids = ["vendor-chunks/@hookform"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/@hookform/resolvers/dist/resolvers.mjs": -/*!*************************************************************!*\ - !*** ./node_modules/@hookform/resolvers/dist/resolvers.mjs ***! - \*************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ toNestErrors: () => (/* binding */ s),\n/* harmony export */ validateFieldsNatively: () => (/* binding */ o)\n/* harmony export */ });\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\nconst r=(t,r,o)=>{if(t&&\"reportValidity\"in t){const s=(0,react_hook_form__WEBPACK_IMPORTED_MODULE_0__.get)(o,r);t.setCustomValidity(s&&s.message||\"\"),t.reportValidity()}},o=(e,t)=>{for(const o in t.fields){const s=t.fields[o];s&&s.ref&&\"reportValidity\"in s.ref?r(s.ref,o,e):s&&s.refs&&s.refs.forEach(t=>r(t,o,e))}},s=(r,s)=>{s.shouldUseNativeValidation&&o(r,s);const n={};for(const o in r){const f=(0,react_hook_form__WEBPACK_IMPORTED_MODULE_0__.get)(s.fields,o),c=Object.assign(r[o]||{},{ref:f&&f.ref});if(i(s.names||Object.keys(r),o)){const r=Object.assign({},(0,react_hook_form__WEBPACK_IMPORTED_MODULE_0__.get)(n,o));(0,react_hook_form__WEBPACK_IMPORTED_MODULE_0__.set)(r,\"root\",c),(0,react_hook_form__WEBPACK_IMPORTED_MODULE_0__.set)(n,o,r)}else (0,react_hook_form__WEBPACK_IMPORTED_MODULE_0__.set)(n,o,c)}return n},i=(e,t)=>{const r=n(t);return e.some(e=>n(e).match(`^${r}\\\\.\\\\d+`))};function n(e){return e.replace(/\\]|\\[/g,\"\")}\n//# sourceMappingURL=resolvers.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhvb2tmb3JtL3Jlc29sdmVycy9kaXN0L3Jlc29sdmVycy5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStDLGtCQUFrQiw0QkFBNEIsUUFBUSxvREFBQyxNQUFNLDBEQUEwRCxXQUFXLHlCQUF5QixvQkFBb0Isd0ZBQXdGLFdBQVcsb0NBQW9DLFdBQVcsa0JBQWtCLFFBQVEsb0RBQUMscUNBQXFDLEVBQUUsYUFBYSxFQUFFLGlDQUFpQyx3QkFBd0IsQ0FBQyxvREFBQyxPQUFPLG9EQUFDLGFBQWEsb0RBQUMsUUFBUSxLQUFLLG9EQUFDLFFBQVEsU0FBUyxXQUFXLGFBQWEsZ0NBQWdDLEVBQUUsWUFBWSxjQUFjLDhCQUFvRjtBQUN6dEIiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEBob29rZm9ybVxccmVzb2x2ZXJzXFxkaXN0XFxyZXNvbHZlcnMubWpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydHtnZXQgYXMgZSxzZXQgYXMgdH1mcm9tXCJyZWFjdC1ob29rLWZvcm1cIjtjb25zdCByPSh0LHIsbyk9PntpZih0JiZcInJlcG9ydFZhbGlkaXR5XCJpbiB0KXtjb25zdCBzPWUobyxyKTt0LnNldEN1c3RvbVZhbGlkaXR5KHMmJnMubWVzc2FnZXx8XCJcIiksdC5yZXBvcnRWYWxpZGl0eSgpfX0sbz0oZSx0KT0+e2Zvcihjb25zdCBvIGluIHQuZmllbGRzKXtjb25zdCBzPXQuZmllbGRzW29dO3MmJnMucmVmJiZcInJlcG9ydFZhbGlkaXR5XCJpbiBzLnJlZj9yKHMucmVmLG8sZSk6cyYmcy5yZWZzJiZzLnJlZnMuZm9yRWFjaCh0PT5yKHQsbyxlKSl9fSxzPShyLHMpPT57cy5zaG91bGRVc2VOYXRpdmVWYWxpZGF0aW9uJiZvKHIscyk7Y29uc3Qgbj17fTtmb3IoY29uc3QgbyBpbiByKXtjb25zdCBmPWUocy5maWVsZHMsbyksYz1PYmplY3QuYXNzaWduKHJbb118fHt9LHtyZWY6ZiYmZi5yZWZ9KTtpZihpKHMubmFtZXN8fE9iamVjdC5rZXlzKHIpLG8pKXtjb25zdCByPU9iamVjdC5hc3NpZ24oe30sZShuLG8pKTt0KHIsXCJyb290XCIsYyksdChuLG8scil9ZWxzZSB0KG4sbyxjKX1yZXR1cm4gbn0saT0oZSx0KT0+e2NvbnN0IHI9bih0KTtyZXR1cm4gZS5zb21lKGU9Pm4oZSkubWF0Y2goYF4ke3J9XFxcXC5cXFxcZCtgKSl9O2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvXFxdfFxcWy9nLFwiXCIpfWV4cG9ydHtzIGFzIHRvTmVzdEVycm9ycyxvIGFzIHZhbGlkYXRlRmllbGRzTmF0aXZlbHl9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVzb2x2ZXJzLm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@hookform/resolvers/dist/resolvers.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@hookform/resolvers/zod/dist/zod.mjs": -/*!***********************************************************!*\ - !*** ./node_modules/@hookform/resolvers/zod/dist/zod.mjs ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ zodResolver: () => (/* binding */ a)\n/* harmony export */ });\n/* harmony import */ var _hookform_resolvers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @hookform/resolvers */ \"(ssr)/./node_modules/@hookform/resolvers/dist/resolvers.mjs\");\n/* harmony import */ var react_hook_form__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-hook-form */ \"(ssr)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var zod_v4_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zod/v4/core */ \"(ssr)/./node_modules/zod/v4/core/index.js\");\nfunction t(r,e){try{var o=r()}catch(r){return e(r)}return o&&o.then?o.then(void 0,e):o}function s(r,e){for(var n={};r.length;){var t=r[0],s=t.code,i=t.message,a=t.path.join(\".\");if(!n[a])if(\"unionErrors\"in t){var u=t.unionErrors[0].errors[0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:s};if(\"unionErrors\"in t&&t.unionErrors.forEach(function(e){return e.errors.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[t.code];n[a]=(0,react_hook_form__WEBPACK_IMPORTED_MODULE_2__.appendErrors)(a,e,n,s,f?[].concat(f,t.message):t.message)}r.shift()}return n}function i(r,e){for(var n={};r.length;){var t=r[0],s=t.code,i=t.message,a=t.path.join(\".\");if(!n[a])if(\"invalid_union\"===t.code&&t.errors.length>0){var u=t.errors[0][0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:s};if(\"invalid_union\"===t.code&&t.errors.forEach(function(e){return e.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[t.code];n[a]=(0,react_hook_form__WEBPACK_IMPORTED_MODULE_2__.appendErrors)(a,e,n,s,f?[].concat(f,t.message):t.message)}r.shift()}return n}function a(o,a,u){if(void 0===u&&(u={}),function(r){return\"_def\"in r&&\"object\"==typeof r._def&&\"typeName\"in r._def}(o))return function(n,i,c){try{return Promise.resolve(t(function(){return Promise.resolve(o[\"sync\"===u.mode?\"parse\":\"parseAsync\"](n,a)).then(function(e){return c.shouldUseNativeValidation&&(0,_hookform_resolvers__WEBPACK_IMPORTED_MODULE_0__.validateFieldsNatively)({},c),{errors:{},values:u.raw?Object.assign({},n):e}})},function(r){if(function(r){return Array.isArray(null==r?void 0:r.issues)}(r))return{values:{},errors:(0,_hookform_resolvers__WEBPACK_IMPORTED_MODULE_0__.toNestErrors)(s(r.errors,!c.shouldUseNativeValidation&&\"all\"===c.criteriaMode),c)};throw r}))}catch(r){return Promise.reject(r)}};if(function(r){return\"_zod\"in r&&\"object\"==typeof r._zod}(o))return function(s,c,f){try{return Promise.resolve(t(function(){return Promise.resolve((\"sync\"===u.mode?zod_v4_core__WEBPACK_IMPORTED_MODULE_1__.parse:zod_v4_core__WEBPACK_IMPORTED_MODULE_1__.parseAsync)(o,s,a)).then(function(e){return f.shouldUseNativeValidation&&(0,_hookform_resolvers__WEBPACK_IMPORTED_MODULE_0__.validateFieldsNatively)({},f),{errors:{},values:u.raw?Object.assign({},s):e}})},function(r){if(function(r){return r instanceof zod_v4_core__WEBPACK_IMPORTED_MODULE_1__.$ZodError}(r))return{values:{},errors:(0,_hookform_resolvers__WEBPACK_IMPORTED_MODULE_0__.toNestErrors)(i(r.issues,!f.shouldUseNativeValidation&&\"all\"===f.criteriaMode),f)};throw r}))}catch(r){return Promise.reject(r)}};throw new Error(\"Invalid input: not a Zod schema\")}\n//# sourceMappingURL=zod.module.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGhvb2tmb3JtL3Jlc29sdmVycy96b2QvZGlzdC96b2QubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBNEosZ0JBQWdCLElBQUksVUFBVSxTQUFTLFlBQVksb0NBQW9DLGdCQUFnQixhQUFhLFNBQVMsRUFBRSxtREFBbUQsK0JBQStCLGlDQUFpQyxNQUFNLCtCQUErQixXQUFXLGtCQUFrQix3REFBd0Qsb0NBQW9DLGlCQUFpQixFQUFFLEtBQUssZ0NBQWdDLEtBQUssNkRBQUMsNkNBQTZDLFVBQVUsU0FBUyxnQkFBZ0IsYUFBYSxTQUFTLEVBQUUsbURBQW1ELHlEQUF5RCxxQkFBcUIsTUFBTSwrQkFBK0IsV0FBVyxrQkFBa0IsMERBQTBELDZCQUE2QixpQkFBaUIsRUFBRSxLQUFLLGdDQUFnQyxLQUFLLDZEQUFDLDZDQUE2QyxVQUFVLFNBQVMsa0JBQWtCLG9CQUFvQixjQUFjLCtEQUErRCwyQkFBMkIsSUFBSSxvQ0FBb0Msc0ZBQXNGLG9DQUFvQywyRUFBQyxHQUFHLEtBQUssU0FBUyw4QkFBOEIsT0FBTyxFQUFFLGFBQWEsZUFBZSw4Q0FBOEMsV0FBVyxTQUFTLFFBQVEsaUVBQUMsc0VBQXNFLFFBQVEsR0FBRyxTQUFTLDJCQUEyQixlQUFlLDBDQUEwQywyQkFBMkIsSUFBSSxvQ0FBb0Msd0NBQXdDLDhDQUFPLENBQUMsbURBQVksMkJBQTJCLG9DQUFvQywyRUFBQyxHQUFHLEtBQUssU0FBUyw4QkFBOEIsT0FBTyxFQUFFLGFBQWEsZUFBZSxvQkFBb0Isa0RBQVcsQ0FBQyxXQUFXLFNBQVMsUUFBUSxpRUFBQyxzRUFBc0UsUUFBUSxHQUFHLFNBQVMsMkJBQTJCLG1EQUE0RTtBQUN6dkUiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEBob29rZm9ybVxccmVzb2x2ZXJzXFx6b2RcXGRpc3RcXHpvZC5tanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0e3ZhbGlkYXRlRmllbGRzTmF0aXZlbHkgYXMgcix0b05lc3RFcnJvcnMgYXMgZX1mcm9tXCJAaG9va2Zvcm0vcmVzb2x2ZXJzXCI7aW1wb3J0e2FwcGVuZEVycm9ycyBhcyBvfWZyb21cInJlYWN0LWhvb2stZm9ybVwiO2ltcG9ydCphcyBuIGZyb21cInpvZC92NC9jb3JlXCI7ZnVuY3Rpb24gdChyLGUpe3RyeXt2YXIgbz1yKCl9Y2F0Y2gocil7cmV0dXJuIGUocil9cmV0dXJuIG8mJm8udGhlbj9vLnRoZW4odm9pZCAwLGUpOm99ZnVuY3Rpb24gcyhyLGUpe2Zvcih2YXIgbj17fTtyLmxlbmd0aDspe3ZhciB0PXJbMF0scz10LmNvZGUsaT10Lm1lc3NhZ2UsYT10LnBhdGguam9pbihcIi5cIik7aWYoIW5bYV0paWYoXCJ1bmlvbkVycm9yc1wiaW4gdCl7dmFyIHU9dC51bmlvbkVycm9yc1swXS5lcnJvcnNbMF07blthXT17bWVzc2FnZTp1Lm1lc3NhZ2UsdHlwZTp1LmNvZGV9fWVsc2UgblthXT17bWVzc2FnZTppLHR5cGU6c307aWYoXCJ1bmlvbkVycm9yc1wiaW4gdCYmdC51bmlvbkVycm9ycy5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmVycm9ycy5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiByLnB1c2goZSl9KX0pLGUpe3ZhciBjPW5bYV0udHlwZXMsZj1jJiZjW3QuY29kZV07blthXT1vKGEsZSxuLHMsZj9bXS5jb25jYXQoZix0Lm1lc3NhZ2UpOnQubWVzc2FnZSl9ci5zaGlmdCgpfXJldHVybiBufWZ1bmN0aW9uIGkocixlKXtmb3IodmFyIG49e307ci5sZW5ndGg7KXt2YXIgdD1yWzBdLHM9dC5jb2RlLGk9dC5tZXNzYWdlLGE9dC5wYXRoLmpvaW4oXCIuXCIpO2lmKCFuW2FdKWlmKFwiaW52YWxpZF91bmlvblwiPT09dC5jb2RlJiZ0LmVycm9ycy5sZW5ndGg+MCl7dmFyIHU9dC5lcnJvcnNbMF1bMF07blthXT17bWVzc2FnZTp1Lm1lc3NhZ2UsdHlwZTp1LmNvZGV9fWVsc2UgblthXT17bWVzc2FnZTppLHR5cGU6c307aWYoXCJpbnZhbGlkX3VuaW9uXCI9PT10LmNvZGUmJnQuZXJyb3JzLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gci5wdXNoKGUpfSl9KSxlKXt2YXIgYz1uW2FdLnR5cGVzLGY9YyYmY1t0LmNvZGVdO25bYV09byhhLGUsbixzLGY/W10uY29uY2F0KGYsdC5tZXNzYWdlKTp0Lm1lc3NhZ2UpfXIuc2hpZnQoKX1yZXR1cm4gbn1mdW5jdGlvbiBhKG8sYSx1KXtpZih2b2lkIDA9PT11JiYodT17fSksZnVuY3Rpb24ocil7cmV0dXJuXCJfZGVmXCJpbiByJiZcIm9iamVjdFwiPT10eXBlb2Ygci5fZGVmJiZcInR5cGVOYW1lXCJpbiByLl9kZWZ9KG8pKXJldHVybiBmdW5jdGlvbihuLGksYyl7dHJ5e3JldHVybiBQcm9taXNlLnJlc29sdmUodChmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUob1tcInN5bmNcIj09PXUubW9kZT9cInBhcnNlXCI6XCJwYXJzZUFzeW5jXCJdKG4sYSkpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGMuc2hvdWxkVXNlTmF0aXZlVmFsaWRhdGlvbiYmcih7fSxjKSx7ZXJyb3JzOnt9LHZhbHVlczp1LnJhdz9PYmplY3QuYXNzaWduKHt9LG4pOmV9fSl9LGZ1bmN0aW9uKHIpe2lmKGZ1bmN0aW9uKHIpe3JldHVybiBBcnJheS5pc0FycmF5KG51bGw9PXI/dm9pZCAwOnIuaXNzdWVzKX0ocikpcmV0dXJue3ZhbHVlczp7fSxlcnJvcnM6ZShzKHIuZXJyb3JzLCFjLnNob3VsZFVzZU5hdGl2ZVZhbGlkYXRpb24mJlwiYWxsXCI9PT1jLmNyaXRlcmlhTW9kZSksYyl9O3Rocm93IHJ9KSl9Y2F0Y2gocil7cmV0dXJuIFByb21pc2UucmVqZWN0KHIpfX07aWYoZnVuY3Rpb24ocil7cmV0dXJuXCJfem9kXCJpbiByJiZcIm9iamVjdFwiPT10eXBlb2Ygci5fem9kfShvKSlyZXR1cm4gZnVuY3Rpb24ocyxjLGYpe3RyeXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHQoZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKChcInN5bmNcIj09PXUubW9kZT9uLnBhcnNlOm4ucGFyc2VBc3luYykobyxzLGEpKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBmLnNob3VsZFVzZU5hdGl2ZVZhbGlkYXRpb24mJnIoe30sZikse2Vycm9yczp7fSx2YWx1ZXM6dS5yYXc/T2JqZWN0LmFzc2lnbih7fSxzKTplfX0pfSxmdW5jdGlvbihyKXtpZihmdW5jdGlvbihyKXtyZXR1cm4gciBpbnN0YW5jZW9mIG4uJFpvZEVycm9yfShyKSlyZXR1cm57dmFsdWVzOnt9LGVycm9yczplKGkoci5pc3N1ZXMsIWYuc2hvdWxkVXNlTmF0aXZlVmFsaWRhdGlvbiYmXCJhbGxcIj09PWYuY3JpdGVyaWFNb2RlKSxmKX07dGhyb3cgcn0pKX1jYXRjaChyKXtyZXR1cm4gUHJvbWlzZS5yZWplY3Qocil9fTt0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGlucHV0OiBub3QgYSBab2Qgc2NoZW1hXCIpfWV4cG9ydHthIGFzIHpvZFJlc29sdmVyfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXpvZC5tb2R1bGUuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@hookform/resolvers/zod/dist/zod.mjs\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/@radix-ui.js b/.next/server/vendor-chunks/@radix-ui.js index 8d5c9e3..8222569 100644 --- a/.next/server/vendor-chunks/@radix-ui.js +++ b/.next/server/vendor-chunks/@radix-ui.js @@ -11,36 +11,6 @@ exports.id = "vendor-chunks/@radix-ui"; exports.ids = ["vendor-chunks/@radix-ui"]; exports.modules = { -/***/ "(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@radix-ui/react-compose-refs/dist/index.js ***! - \*****************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// packages/react/compose-refs/src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n composeRefs: () => composeRefs,\n useComposedRefs: () => useComposedRefs\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// packages/react/compose-refs/src/compose-refs.tsx\nvar React = __toESM(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\"));\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\n//# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmcy9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixrQ0FBa0M7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qiw0RkFBNEY7QUFDekg7QUFDQTtBQUNBO0FBQ0EsbUdBQW1HO0FBQ25HO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUVBQXlFLDhCQUE4QjtBQUN2RztBQUNBO0FBQ0Esb0RBQW9ELGtCQUFrQixhQUFhOztBQUVuRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBO0FBQ0Esb0JBQW9CLG1CQUFPLENBQUMsaUdBQU87QUFDbkM7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0Esd0JBQXdCLHFCQUFxQjtBQUM3QztBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xcQHJhZGl4LXVpXFxyZWFjdC1jb21wb3NlLXJlZnNcXGRpc3RcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9fY3JlYXRlID0gT2JqZWN0LmNyZWF0ZTtcbnZhciBfX2RlZlByb3AgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG52YXIgX19nZXRPd25Qcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG52YXIgX19nZXRPd25Qcm9wTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcztcbnZhciBfX2dldFByb3RvT2YgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG52YXIgX19oYXNPd25Qcm9wID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBfX2V4cG9ydCA9ICh0YXJnZXQsIGFsbCkgPT4ge1xuICBmb3IgKHZhciBuYW1lIGluIGFsbClcbiAgICBfX2RlZlByb3AodGFyZ2V0LCBuYW1lLCB7IGdldDogYWxsW25hbWVdLCBlbnVtZXJhYmxlOiB0cnVlIH0pO1xufTtcbnZhciBfX2NvcHlQcm9wcyA9ICh0bywgZnJvbSwgZXhjZXB0LCBkZXNjKSA9PiB7XG4gIGlmIChmcm9tICYmIHR5cGVvZiBmcm9tID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBmcm9tID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBmb3IgKGxldCBrZXkgb2YgX19nZXRPd25Qcm9wTmFtZXMoZnJvbSkpXG4gICAgICBpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRvLCBrZXkpICYmIGtleSAhPT0gZXhjZXB0KVxuICAgICAgICBfX2RlZlByb3AodG8sIGtleSwgeyBnZXQ6ICgpID0+IGZyb21ba2V5XSwgZW51bWVyYWJsZTogIShkZXNjID0gX19nZXRPd25Qcm9wRGVzYyhmcm9tLCBrZXkpKSB8fCBkZXNjLmVudW1lcmFibGUgfSk7XG4gIH1cbiAgcmV0dXJuIHRvO1xufTtcbnZhciBfX3RvRVNNID0gKG1vZCwgaXNOb2RlTW9kZSwgdGFyZ2V0KSA9PiAodGFyZ2V0ID0gbW9kICE9IG51bGwgPyBfX2NyZWF0ZShfX2dldFByb3RvT2YobW9kKSkgOiB7fSwgX19jb3B5UHJvcHMoXG4gIC8vIElmIHRoZSBpbXBvcnRlciBpcyBpbiBub2RlIGNvbXBhdGliaWxpdHkgbW9kZSBvciB0aGlzIGlzIG5vdCBhbiBFU01cbiAgLy8gZmlsZSB0aGF0IGhhcyBiZWVuIGNvbnZlcnRlZCB0byBhIENvbW1vbkpTIGZpbGUgdXNpbmcgYSBCYWJlbC1cbiAgLy8gY29tcGF0aWJsZSB0cmFuc2Zvcm0gKGkuZS4gXCJfX2VzTW9kdWxlXCIgaGFzIG5vdCBiZWVuIHNldCksIHRoZW4gc2V0XG4gIC8vIFwiZGVmYXVsdFwiIHRvIHRoZSBDb21tb25KUyBcIm1vZHVsZS5leHBvcnRzXCIgZm9yIG5vZGUgY29tcGF0aWJpbGl0eS5cbiAgaXNOb2RlTW9kZSB8fCAhbW9kIHx8ICFtb2QuX19lc01vZHVsZSA/IF9fZGVmUHJvcCh0YXJnZXQsIFwiZGVmYXVsdFwiLCB7IHZhbHVlOiBtb2QsIGVudW1lcmFibGU6IHRydWUgfSkgOiB0YXJnZXQsXG4gIG1vZFxuKSk7XG52YXIgX190b0NvbW1vbkpTID0gKG1vZCkgPT4gX19jb3B5UHJvcHMoX19kZWZQcm9wKHt9LCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KSwgbW9kKTtcblxuLy8gcGFja2FnZXMvcmVhY3QvY29tcG9zZS1yZWZzL3NyYy9pbmRleC50c1xudmFyIGluZGV4X2V4cG9ydHMgPSB7fTtcbl9fZXhwb3J0KGluZGV4X2V4cG9ydHMsIHtcbiAgY29tcG9zZVJlZnM6ICgpID0+IGNvbXBvc2VSZWZzLFxuICB1c2VDb21wb3NlZFJlZnM6ICgpID0+IHVzZUNvbXBvc2VkUmVmc1xufSk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fdG9Db21tb25KUyhpbmRleF9leHBvcnRzKTtcblxuLy8gcGFja2FnZXMvcmVhY3QvY29tcG9zZS1yZWZzL3NyYy9jb21wb3NlLXJlZnMudHN4XG52YXIgUmVhY3QgPSBfX3RvRVNNKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5mdW5jdGlvbiBzZXRSZWYocmVmLCB2YWx1ZSkge1xuICBpZiAodHlwZW9mIHJlZiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcmV0dXJuIHJlZih2YWx1ZSk7XG4gIH0gZWxzZSBpZiAocmVmICE9PSBudWxsICYmIHJlZiAhPT0gdm9pZCAwKSB7XG4gICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgfVxufVxuZnVuY3Rpb24gY29tcG9zZVJlZnMoLi4ucmVmcykge1xuICByZXR1cm4gKG5vZGUpID0+IHtcbiAgICBsZXQgaGFzQ2xlYW51cCA9IGZhbHNlO1xuICAgIGNvbnN0IGNsZWFudXBzID0gcmVmcy5tYXAoKHJlZikgPT4ge1xuICAgICAgY29uc3QgY2xlYW51cCA9IHNldFJlZihyZWYsIG5vZGUpO1xuICAgICAgaWYgKCFoYXNDbGVhbnVwICYmIHR5cGVvZiBjbGVhbnVwID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBoYXNDbGVhbnVwID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjbGVhbnVwO1xuICAgIH0pO1xuICAgIGlmIChoYXNDbGVhbnVwKSB7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNsZWFudXBzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgY2xlYW51cCA9IGNsZWFudXBzW2ldO1xuICAgICAgICAgIGlmICh0eXBlb2YgY2xlYW51cCA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIGNsZWFudXAoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0UmVmKHJlZnNbaV0sIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH07XG59XG5mdW5jdGlvbiB1c2VDb21wb3NlZFJlZnMoLi4ucmVmcykge1xuICByZXR1cm4gUmVhY3QudXNlQ2FsbGJhY2soY29tcG9zZVJlZnMoLi4ucmVmcyksIHJlZnMpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@radix-ui/react-slot/dist/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/@radix-ui/react-slot/dist/index.js ***! - \*********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n Root: () => Slot,\n Slot: () => Slot,\n Slottable: () => Slottable,\n createSlot: () => createSlot,\n createSlottable: () => createSlottable\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/slot.tsx\nvar React = __toESM(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\"));\nvar import_react_compose_refs = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.js\");\nvar import_jsx_runtime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nvar REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nvar use = React[\" use \".trim().toString()];\nfunction isPromiseLike(value) {\n return typeof value === \"object\" && value !== null && \"then\" in value;\n}\nfunction isLazyComponent(element) {\n return element != null && typeof element === \"object\" && \"$$typeof\" in element && element.$$typeof === REACT_LAZY_TYPE && \"_payload\" in element && isPromiseLike(element._payload);\n}\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n let { children, ...slotProps } = props;\n if (isLazyComponent(children) && typeof use === \"function\") {\n children = use(children._payload);\n }\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n let { children, ...slotProps } = props;\n if (isLazyComponent(children) && typeof use === \"function\") {\n children = use(children._payload);\n }\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? (0, import_react_compose_refs.composeRefs)(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\n//# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNsb3QvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsa0NBQWtDO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsNEZBQTRGO0FBQ3pIO0FBQ0E7QUFDQTtBQUNBLG1HQUFtRztBQUNuRztBQUNBO0FBQ0E7QUFDQTtBQUNBLHlFQUF5RSw4QkFBOEI7QUFDdkc7QUFDQTtBQUNBLG9EQUFvRCxrQkFBa0IsYUFBYTs7QUFFbkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBLG9CQUFvQixtQkFBTyxDQUFDLGlHQUFPO0FBQ25DLGdDQUFnQyxtQkFBTyxDQUFDLHFHQUE4QjtBQUN0RSx5QkFBeUIsbUJBQU8sQ0FBQyx5SEFBbUI7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSx5QkFBeUI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsT0FBTztBQUNQLHNFQUFzRSwwSUFBMEk7QUFDaE47QUFDQSxvRUFBb0UsMkNBQTJDO0FBQy9HLEdBQUc7QUFDSCx5QkFBeUIsVUFBVTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLHlCQUF5QjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsNkJBQTZCLFVBQVU7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixVQUFVO0FBQ2xDLHNGQUFzRixVQUFVO0FBQ2hHO0FBQ0EsOEJBQThCLFVBQVU7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ04sa0NBQWtDO0FBQ2xDLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAcmFkaXgtdWlcXHJlYWN0LXNsb3RcXGRpc3RcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9fY3JlYXRlID0gT2JqZWN0LmNyZWF0ZTtcbnZhciBfX2RlZlByb3AgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG52YXIgX19nZXRPd25Qcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG52YXIgX19nZXRPd25Qcm9wTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcztcbnZhciBfX2dldFByb3RvT2YgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG52YXIgX19oYXNPd25Qcm9wID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBfX2V4cG9ydCA9ICh0YXJnZXQsIGFsbCkgPT4ge1xuICBmb3IgKHZhciBuYW1lIGluIGFsbClcbiAgICBfX2RlZlByb3AodGFyZ2V0LCBuYW1lLCB7IGdldDogYWxsW25hbWVdLCBlbnVtZXJhYmxlOiB0cnVlIH0pO1xufTtcbnZhciBfX2NvcHlQcm9wcyA9ICh0bywgZnJvbSwgZXhjZXB0LCBkZXNjKSA9PiB7XG4gIGlmIChmcm9tICYmIHR5cGVvZiBmcm9tID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBmcm9tID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBmb3IgKGxldCBrZXkgb2YgX19nZXRPd25Qcm9wTmFtZXMoZnJvbSkpXG4gICAgICBpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRvLCBrZXkpICYmIGtleSAhPT0gZXhjZXB0KVxuICAgICAgICBfX2RlZlByb3AodG8sIGtleSwgeyBnZXQ6ICgpID0+IGZyb21ba2V5XSwgZW51bWVyYWJsZTogIShkZXNjID0gX19nZXRPd25Qcm9wRGVzYyhmcm9tLCBrZXkpKSB8fCBkZXNjLmVudW1lcmFibGUgfSk7XG4gIH1cbiAgcmV0dXJuIHRvO1xufTtcbnZhciBfX3RvRVNNID0gKG1vZCwgaXNOb2RlTW9kZSwgdGFyZ2V0KSA9PiAodGFyZ2V0ID0gbW9kICE9IG51bGwgPyBfX2NyZWF0ZShfX2dldFByb3RvT2YobW9kKSkgOiB7fSwgX19jb3B5UHJvcHMoXG4gIC8vIElmIHRoZSBpbXBvcnRlciBpcyBpbiBub2RlIGNvbXBhdGliaWxpdHkgbW9kZSBvciB0aGlzIGlzIG5vdCBhbiBFU01cbiAgLy8gZmlsZSB0aGF0IGhhcyBiZWVuIGNvbnZlcnRlZCB0byBhIENvbW1vbkpTIGZpbGUgdXNpbmcgYSBCYWJlbC1cbiAgLy8gY29tcGF0aWJsZSB0cmFuc2Zvcm0gKGkuZS4gXCJfX2VzTW9kdWxlXCIgaGFzIG5vdCBiZWVuIHNldCksIHRoZW4gc2V0XG4gIC8vIFwiZGVmYXVsdFwiIHRvIHRoZSBDb21tb25KUyBcIm1vZHVsZS5leHBvcnRzXCIgZm9yIG5vZGUgY29tcGF0aWJpbGl0eS5cbiAgaXNOb2RlTW9kZSB8fCAhbW9kIHx8ICFtb2QuX19lc01vZHVsZSA/IF9fZGVmUHJvcCh0YXJnZXQsIFwiZGVmYXVsdFwiLCB7IHZhbHVlOiBtb2QsIGVudW1lcmFibGU6IHRydWUgfSkgOiB0YXJnZXQsXG4gIG1vZFxuKSk7XG52YXIgX190b0NvbW1vbkpTID0gKG1vZCkgPT4gX19jb3B5UHJvcHMoX19kZWZQcm9wKHt9LCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KSwgbW9kKTtcblxuLy8gc3JjL2luZGV4LnRzXG52YXIgaW5kZXhfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoaW5kZXhfZXhwb3J0cywge1xuICBSb290OiAoKSA9PiBTbG90LFxuICBTbG90OiAoKSA9PiBTbG90LFxuICBTbG90dGFibGU6ICgpID0+IFNsb3R0YWJsZSxcbiAgY3JlYXRlU2xvdDogKCkgPT4gY3JlYXRlU2xvdCxcbiAgY3JlYXRlU2xvdHRhYmxlOiAoKSA9PiBjcmVhdGVTbG90dGFibGVcbn0pO1xubW9kdWxlLmV4cG9ydHMgPSBfX3RvQ29tbW9uSlMoaW5kZXhfZXhwb3J0cyk7XG5cbi8vIHNyYy9zbG90LnRzeFxudmFyIFJlYWN0ID0gX190b0VTTShyZXF1aXJlKFwicmVhY3RcIikpO1xudmFyIGltcG9ydF9yZWFjdF9jb21wb3NlX3JlZnMgPSByZXF1aXJlKFwiQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmc1wiKTtcbnZhciBpbXBvcnRfanN4X3J1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmxhenlcIik7XG52YXIgdXNlID0gUmVhY3RbXCIgdXNlIFwiLnRyaW0oKS50b1N0cmluZygpXTtcbmZ1bmN0aW9uIGlzUHJvbWlzZUxpa2UodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZSAhPT0gbnVsbCAmJiBcInRoZW5cIiBpbiB2YWx1ZTtcbn1cbmZ1bmN0aW9uIGlzTGF6eUNvbXBvbmVudChlbGVtZW50KSB7XG4gIHJldHVybiBlbGVtZW50ICE9IG51bGwgJiYgdHlwZW9mIGVsZW1lbnQgPT09IFwib2JqZWN0XCIgJiYgXCIkJHR5cGVvZlwiIGluIGVsZW1lbnQgJiYgZWxlbWVudC4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFICYmIFwiX3BheWxvYWRcIiBpbiBlbGVtZW50ICYmIGlzUHJvbWlzZUxpa2UoZWxlbWVudC5fcGF5bG9hZCk7XG59XG4vLyBAX19OT19TSURFX0VGRkVDVFNfX1xuZnVuY3Rpb24gY3JlYXRlU2xvdChvd25lck5hbWUpIHtcbiAgY29uc3QgU2xvdENsb25lID0gLyogQF9fUFVSRV9fICovIGNyZWF0ZVNsb3RDbG9uZShvd25lck5hbWUpO1xuICBjb25zdCBTbG90MiA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBsZXQgeyBjaGlsZHJlbiwgLi4uc2xvdFByb3BzIH0gPSBwcm9wcztcbiAgICBpZiAoaXNMYXp5Q29tcG9uZW50KGNoaWxkcmVuKSAmJiB0eXBlb2YgdXNlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIGNoaWxkcmVuID0gdXNlKGNoaWxkcmVuLl9wYXlsb2FkKTtcbiAgICB9XG4gICAgY29uc3QgY2hpbGRyZW5BcnJheSA9IFJlYWN0LkNoaWxkcmVuLnRvQXJyYXkoY2hpbGRyZW4pO1xuICAgIGNvbnN0IHNsb3R0YWJsZSA9IGNoaWxkcmVuQXJyYXkuZmluZChpc1Nsb3R0YWJsZSk7XG4gICAgaWYgKHNsb3R0YWJsZSkge1xuICAgICAgY29uc3QgbmV3RWxlbWVudCA9IHNsb3R0YWJsZS5wcm9wcy5jaGlsZHJlbjtcbiAgICAgIGNvbnN0IG5ld0NoaWxkcmVuID0gY2hpbGRyZW5BcnJheS5tYXAoKGNoaWxkKSA9PiB7XG4gICAgICAgIGlmIChjaGlsZCA9PT0gc2xvdHRhYmxlKSB7XG4gICAgICAgICAgaWYgKFJlYWN0LkNoaWxkcmVuLmNvdW50KG5ld0VsZW1lbnQpID4gMSkgcmV0dXJuIFJlYWN0LkNoaWxkcmVuLm9ubHkobnVsbCk7XG4gICAgICAgICAgcmV0dXJuIFJlYWN0LmlzVmFsaWRFbGVtZW50KG5ld0VsZW1lbnQpID8gbmV3RWxlbWVudC5wcm9wcy5jaGlsZHJlbiA6IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gKDAsIGltcG9ydF9qc3hfcnVudGltZS5qc3gpKFNsb3RDbG9uZSwgeyAuLi5zbG90UHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmLCBjaGlsZHJlbjogUmVhY3QuaXNWYWxpZEVsZW1lbnQobmV3RWxlbWVudCkgPyBSZWFjdC5jbG9uZUVsZW1lbnQobmV3RWxlbWVudCwgdm9pZCAwLCBuZXdDaGlsZHJlbikgOiBudWxsIH0pO1xuICAgIH1cbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovICgwLCBpbXBvcnRfanN4X3J1bnRpbWUuanN4KShTbG90Q2xvbmUsIHsgLi4uc2xvdFByb3BzLCByZWY6IGZvcndhcmRlZFJlZiwgY2hpbGRyZW4gfSk7XG4gIH0pO1xuICBTbG90Mi5kaXNwbGF5TmFtZSA9IGAke293bmVyTmFtZX0uU2xvdGA7XG4gIHJldHVybiBTbG90Mjtcbn1cbnZhciBTbG90ID0gLyogQF9fUFVSRV9fICovIGNyZWF0ZVNsb3QoXCJTbG90XCIpO1xuLy8gQF9fTk9fU0lERV9FRkZFQ1RTX19cbmZ1bmN0aW9uIGNyZWF0ZVNsb3RDbG9uZShvd25lck5hbWUpIHtcbiAgY29uc3QgU2xvdENsb25lID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGxldCB7IGNoaWxkcmVuLCAuLi5zbG90UHJvcHMgfSA9IHByb3BzO1xuICAgIGlmIChpc0xhenlDb21wb25lbnQoY2hpbGRyZW4pICYmIHR5cGVvZiB1c2UgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgY2hpbGRyZW4gPSB1c2UoY2hpbGRyZW4uX3BheWxvYWQpO1xuICAgIH1cbiAgICBpZiAoUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGRyZW4pKSB7XG4gICAgICBjb25zdCBjaGlsZHJlblJlZiA9IGdldEVsZW1lbnRSZWYoY2hpbGRyZW4pO1xuICAgICAgY29uc3QgcHJvcHMyID0gbWVyZ2VQcm9wcyhzbG90UHJvcHMsIGNoaWxkcmVuLnByb3BzKTtcbiAgICAgIGlmIChjaGlsZHJlbi50eXBlICE9PSBSZWFjdC5GcmFnbWVudCkge1xuICAgICAgICBwcm9wczIucmVmID0gZm9yd2FyZGVkUmVmID8gKDAsIGltcG9ydF9yZWFjdF9jb21wb3NlX3JlZnMuY29tcG9zZVJlZnMpKGZvcndhcmRlZFJlZiwgY2hpbGRyZW5SZWYpIDogY2hpbGRyZW5SZWY7XG4gICAgICB9XG4gICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkcmVuLCBwcm9wczIpO1xuICAgIH1cbiAgICByZXR1cm4gUmVhY3QuQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMSA/IFJlYWN0LkNoaWxkcmVuLm9ubHkobnVsbCkgOiBudWxsO1xuICB9KTtcbiAgU2xvdENsb25lLmRpc3BsYXlOYW1lID0gYCR7b3duZXJOYW1lfS5TbG90Q2xvbmVgO1xuICByZXR1cm4gU2xvdENsb25lO1xufVxudmFyIFNMT1RUQUJMRV9JREVOVElGSUVSID0gU3ltYm9sKFwicmFkaXguc2xvdHRhYmxlXCIpO1xuLy8gQF9fTk9fU0lERV9FRkZFQ1RTX19cbmZ1bmN0aW9uIGNyZWF0ZVNsb3R0YWJsZShvd25lck5hbWUpIHtcbiAgY29uc3QgU2xvdHRhYmxlMiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovICgwLCBpbXBvcnRfanN4X3J1bnRpbWUuanN4KShpbXBvcnRfanN4X3J1bnRpbWUuRnJhZ21lbnQsIHsgY2hpbGRyZW4gfSk7XG4gIH07XG4gIFNsb3R0YWJsZTIuZGlzcGxheU5hbWUgPSBgJHtvd25lck5hbWV9LlNsb3R0YWJsZWA7XG4gIFNsb3R0YWJsZTIuX19yYWRpeElkID0gU0xPVFRBQkxFX0lERU5USUZJRVI7XG4gIHJldHVybiBTbG90dGFibGUyO1xufVxudmFyIFNsb3R0YWJsZSA9IC8qIEBfX1BVUkVfXyAqLyBjcmVhdGVTbG90dGFibGUoXCJTbG90dGFibGVcIik7XG5mdW5jdGlvbiBpc1Nsb3R0YWJsZShjaGlsZCkge1xuICByZXR1cm4gUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpICYmIHR5cGVvZiBjaGlsZC50eXBlID09PSBcImZ1bmN0aW9uXCIgJiYgXCJfX3JhZGl4SWRcIiBpbiBjaGlsZC50eXBlICYmIGNoaWxkLnR5cGUuX19yYWRpeElkID09PSBTTE9UVEFCTEVfSURFTlRJRklFUjtcbn1cbmZ1bmN0aW9uIG1lcmdlUHJvcHMoc2xvdFByb3BzLCBjaGlsZFByb3BzKSB7XG4gIGNvbnN0IG92ZXJyaWRlUHJvcHMgPSB7IC4uLmNoaWxkUHJvcHMgfTtcbiAgZm9yIChjb25zdCBwcm9wTmFtZSBpbiBjaGlsZFByb3BzKSB7XG4gICAgY29uc3Qgc2xvdFByb3BWYWx1ZSA9IHNsb3RQcm9wc1twcm9wTmFtZV07XG4gICAgY29uc3QgY2hpbGRQcm9wVmFsdWUgPSBjaGlsZFByb3BzW3Byb3BOYW1lXTtcbiAgICBjb25zdCBpc0hhbmRsZXIgPSAvXm9uW0EtWl0vLnRlc3QocHJvcE5hbWUpO1xuICAgIGlmIChpc0hhbmRsZXIpIHtcbiAgICAgIGlmIChzbG90UHJvcFZhbHVlICYmIGNoaWxkUHJvcFZhbHVlKSB7XG4gICAgICAgIG92ZXJyaWRlUHJvcHNbcHJvcE5hbWVdID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBjaGlsZFByb3BWYWx1ZSguLi5hcmdzKTtcbiAgICAgICAgICBzbG90UHJvcFZhbHVlKC4uLmFyZ3MpO1xuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKHNsb3RQcm9wVmFsdWUpIHtcbiAgICAgICAgb3ZlcnJpZGVQcm9wc1twcm9wTmFtZV0gPSBzbG90UHJvcFZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcE5hbWUgPT09IFwic3R5bGVcIikge1xuICAgICAgb3ZlcnJpZGVQcm9wc1twcm9wTmFtZV0gPSB7IC4uLnNsb3RQcm9wVmFsdWUsIC4uLmNoaWxkUHJvcFZhbHVlIH07XG4gICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJjbGFzc05hbWVcIikge1xuICAgICAgb3ZlcnJpZGVQcm9wc1twcm9wTmFtZV0gPSBbc2xvdFByb3BWYWx1ZSwgY2hpbGRQcm9wVmFsdWVdLmZpbHRlcihCb29sZWFuKS5qb2luKFwiIFwiKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgLi4uc2xvdFByb3BzLCAuLi5vdmVycmlkZVByb3BzIH07XG59XG5mdW5jdGlvbiBnZXRFbGVtZW50UmVmKGVsZW1lbnQpIHtcbiAgbGV0IGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZWxlbWVudC5wcm9wcywgXCJyZWZcIik/LmdldDtcbiAgbGV0IG1heVdhcm4gPSBnZXR0ZXIgJiYgXCJpc1JlYWN0V2FybmluZ1wiIGluIGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmc7XG4gIGlmIChtYXlXYXJuKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQucmVmO1xuICB9XG4gIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZWxlbWVudCwgXCJyZWZcIik/LmdldDtcbiAgbWF5V2FybiA9IGdldHRlciAmJiBcImlzUmVhY3RXYXJuaW5nXCIgaW4gZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZztcbiAgaWYgKG1heVdhcm4pIHtcbiAgICByZXR1cm4gZWxlbWVudC5wcm9wcy5yZWY7XG4gIH1cbiAgcmV0dXJuIGVsZW1lbnQucHJvcHMucmVmIHx8IGVsZW1lbnQucmVmO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-slot/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@radix-ui/number/dist/index.mjs": -/*!******************************************************!*\ - !*** ./node_modules/@radix-ui/number/dist/index.mjs ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clamp: () => (/* binding */ clamp)\n/* harmony export */ });\n// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL251bWJlci9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFHRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAcmFkaXgtdWlcXG51bWJlclxcZGlzdFxcaW5kZXgubWpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHBhY2thZ2VzL2NvcmUvbnVtYmVyL3NyYy9udW1iZXIudHNcbmZ1bmN0aW9uIGNsYW1wKHZhbHVlLCBbbWluLCBtYXhdKSB7XG4gIHJldHVybiBNYXRoLm1pbihtYXgsIE1hdGgubWF4KG1pbiwgdmFsdWUpKTtcbn1cbmV4cG9ydCB7XG4gIGNsYW1wXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/number/dist/index.mjs\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs": /*!*********************************************************!*\ !*** ./node_modules/@radix-ui/primitive/dist/index.mjs ***! @@ -61,16 +31,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/@radix-ui/react-checkbox/dist/index.mjs": -/*!**************************************************************!*\ - !*** ./node_modules/@radix-ui/react-checkbox/dist/index.mjs ***! - \**************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Checkbox: () => (/* binding */ Checkbox),\n/* harmony export */ CheckboxIndicator: () => (/* binding */ CheckboxIndicator),\n/* harmony export */ Indicator: () => (/* binding */ CheckboxIndicator),\n/* harmony export */ Root: () => (/* binding */ Checkbox),\n/* harmony export */ createCheckboxScope: () => (/* binding */ createCheckboxScope),\n/* harmony export */ unstable_BubbleInput: () => (/* binding */ CheckboxBubbleInput),\n/* harmony export */ unstable_CheckboxBubbleInput: () => (/* binding */ CheckboxBubbleInput),\n/* harmony export */ unstable_CheckboxProvider: () => (/* binding */ CheckboxProvider),\n/* harmony export */ unstable_CheckboxTrigger: () => (/* binding */ CheckboxTrigger),\n/* harmony export */ unstable_Provider: () => (/* binding */ CheckboxProvider),\n/* harmony export */ unstable_Trigger: () => (/* binding */ CheckboxTrigger)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-use-controllable-state */ \"(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @radix-ui/react-use-previous */ \"(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_size__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @radix-ui/react-use-size */ \"(ssr)/./node_modules/@radix-ui/react-use-size/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/react-presence */ \"(ssr)/./node_modules/@radix-ui/react-presence/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Checkbox,CheckboxIndicator,Indicator,Root,createCheckboxScope,unstable_BubbleInput,unstable_CheckboxBubbleInput,unstable_CheckboxProvider,unstable_CheckboxTrigger,unstable_Provider,unstable_Trigger auto */ // src/checkbox.tsx\n\n\n\n\n\n\n\n\n\n\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__.createContextScope)(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n const { __scopeCheckbox, checked: checkedProp, children, defaultChecked, disabled, form, name, onCheckedChange, required, value = \"on\", // @ts-expect-error\n internal_do_not_use_render } = props;\n const [checked, setChecked] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_3__.useControllableState)({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [bubbleInput, setBubbleInput] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const hasConsumerStoppedPropagationRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const isFormControl = control ? !!form || !!control.closest(\"form\") : // We set this to true by default so that events bubble to forms without JS (SSR)\n true;\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(CheckboxProviderImpl, {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n });\n}\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef)=>{\n const { control, value, disabled, checked, required, setControl, setChecked, hasConsumerStoppedPropagationRef, isFormControl, bubbleInput } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_4__.useComposedRefs)(forwardedRef, setControl);\n const initialCheckedStateRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(checked);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"CheckboxTrigger.useEffect\": ()=>{\n const form = control?.form;\n if (form) {\n const reset = {\n \"CheckboxTrigger.useEffect.reset\": ()=>setChecked(initialCheckedStateRef.current)\n }[\"CheckboxTrigger.useEffect.reset\"];\n form.addEventListener(\"reset\", reset);\n return ({\n \"CheckboxTrigger.useEffect\": ()=>form.removeEventListener(\"reset\", reset)\n })[\"CheckboxTrigger.useEffect\"];\n }\n }\n }[\"CheckboxTrigger.useEffect\"], [\n control,\n setChecked\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__.Primitive.button, {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(onKeyDown, (event)=>{\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(onClick, (event)=>{\n setChecked((prevChecked)=>isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n });\n});\nCheckboxTrigger.displayName = TRIGGER_NAME;\nvar Checkbox = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeCheckbox, name, checked, defaultChecked, required, disabled, value, onCheckedChange, form, ...checkboxProps } = props;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(CheckboxProvider, {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl })=>/* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, {\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(CheckboxTrigger, {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }),\n isFormControl && /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(CheckboxBubbleInput, {\n __scopeCheckbox\n })\n ]\n })\n });\n});\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_7__.Presence, {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__.Primitive.span, {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: {\n pointerEvents: \"none\",\n ...props.style\n }\n })\n });\n});\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(({ __scopeCheckbox, ...props }, forwardedRef)=>{\n const { control, hasConsumerStoppedPropagationRef, checked, defaultChecked, required, disabled, name, value, form, bubbleInput, setBubbleInput } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_4__.useComposedRefs)(forwardedRef, setBubbleInput);\n const prevChecked = (0,_radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_8__.usePrevious)(checked);\n const controlSize = (0,_radix_ui_react_use_size__WEBPACK_IMPORTED_MODULE_9__.useSize)(control);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"CheckboxBubbleInput.useEffect\": ()=>{\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"checked\");\n const setChecked = descriptor.set;\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", {\n bubbles\n });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }\n }[\"CheckboxBubbleInput.useEffect\"], [\n bubbleInput,\n prevChecked,\n checked,\n hasConsumerStoppedPropagationRef\n ]);\n const defaultCheckedRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__.Primitive.input, {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n });\n});\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWNoZWNrYm94L2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdUI7QUFDUztBQUNHO0FBQ0U7QUFDQTtBQUNUO0FBQ0o7QUFDQztBQUNDO0FBaUd0QjtBQTdGSixJQUFNLGdCQUFnQjtBQUd0QixJQUFNLENBQUMsdUJBQXVCLG1CQUFtQixJQUFJLDJFQUFrQixDQUFDLGFBQWE7QUFxQnJGLElBQU0sQ0FBQyxzQkFBc0Isa0JBQWtCLElBQzdDLHNCQUE0QyxhQUFhO0FBa0IzRCxTQUFTLGlCQUNQLE9BQ0E7SUFDQSxNQUFNLEVBQ0osaUJBQ0EsU0FBUyxhQUNULFVBQ0EsZ0JBQ0EsVUFDQSxNQUNBLE1BQ0EsaUJBQ0EsVUFDQSxRQUFRO0lBRVIsNEJBQ0YsR0FBSTtJQUVKLE1BQU0sQ0FBQyxTQUFTLFVBQVUsSUFBSSw0RkFBb0IsQ0FBQztRQUNqRCxNQUFNO1FBQ04sYUFBYSxrQkFBa0I7UUFDL0IsVUFBVTtRQUNWLFFBQVE7SUFDVixDQUFDO0lBQ0QsTUFBTSxDQUFDLFNBQVMsVUFBVSxJQUFVLDRDQUFtQyxJQUFJO0lBQzNFLE1BQU0sQ0FBQyxhQUFhLGNBQWMsSUFBVSw0Q0FBa0MsSUFBSTtJQUNsRixNQUFNLG1DQUF5QywwQ0FBTyxLQUFLO0lBQzNELE1BQU0sZ0JBQWdCLFVBQ2xCLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLFFBQVEsTUFBTTtJQUVsQztJQUVKLE1BQU0sVUFBdUM7UUFDM0M7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQSxnQkFBZ0IsZ0JBQWdCLGNBQWMsSUFBSSxRQUFRO1FBQzFEO1FBQ0E7UUFDQTtJQUNGO0lBRUEsT0FDRSx1RUFBQztRQUNDLE9BQU87UUFDTixHQUFJO1FBRUoscUJBQVcsMEJBQTBCLElBQUksMkJBQTJCLE9BQU8sSUFBSTtJQUFBO0FBR3RGO0FB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UyxTQUF1QjtJQUN2QyxPQUFPLGdCQUFnQixPQUFPLElBQUksa0JBQWtCLFVBQVUsWUFBWTtBQUM1RSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxzcmNcXGNoZWNrYm94LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb250ZXh0JztcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSAnQHJhZGl4LXVpL3ByaW1pdGl2ZSc7XG5pbXBvcnQgeyB1c2VDb250cm9sbGFibGVTdGF0ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtY29udHJvbGxhYmxlLXN0YXRlJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1wcmV2aW91cyc7XG5pbXBvcnQgeyB1c2VTaXplIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1zaXplJztcbmltcG9ydCB7IFByZXNlbmNlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXByZXNlbmNlJztcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1wcmltaXRpdmUnO1xuXG5pbXBvcnQgdHlwZSB7IFNjb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbnRleHQnO1xuXG5jb25zdCBDSEVDS0JPWF9OQU1FID0gJ0NoZWNrYm94JztcblxudHlwZSBTY29wZWRQcm9wczxQPiA9IFAgJiB7IF9fc2NvcGVDaGVja2JveD86IFNjb3BlIH07XG5jb25zdCBbY3JlYXRlQ2hlY2tib3hDb250ZXh0LCBjcmVhdGVDaGVja2JveFNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShDSEVDS0JPWF9OQU1FKTtcblxudHlwZSBDaGVja2VkU3RhdGUgPSBib29sZWFuIHwgJ2luZGV0ZXJtaW5hdGUnO1xuXG50eXBlIENoZWNrYm94Q29udGV4dFZhbHVlPFN0YXRlIGV4dGVuZHMgQ2hlY2tlZFN0YXRlIHwgYm9vbGVhbiA9IENoZWNrZWRTdGF0ZT4gPSB7XG4gIGNoZWNrZWQ6IFN0YXRlIHwgYm9vbGVhbjtcbiAgc2V0Q2hlY2tlZDogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248U3RhdGUgfCBib29sZWFuPj47XG4gIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBjb250cm9sOiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGw7XG4gIHNldENvbnRyb2w6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbD4+O1xuICBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGZvcm06IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHJlYWRvbmx5IHN0cmluZ1tdO1xuICBoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZjogUmVhY3QuUmVmT2JqZWN0PGJvb2xlYW4+O1xuICByZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgZGVmYXVsdENoZWNrZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIGlzRm9ybUNvbnRyb2w6IGJvb2xlYW47XG4gIGJ1YmJsZUlucHV0OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbDtcbiAgc2V0QnViYmxlSW5wdXQ6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsPj47XG59O1xuXG5jb25zdCBbQ2hlY2tib3hQcm92aWRlckltcGwsIHVzZUNoZWNrYm94Q29udGV4dF0gPVxuICBjcmVhdGVDaGVja2JveENvbnRleHQ8Q2hlY2tib3hDb250ZXh0VmFsdWU+KENIRUNLQk9YX05BTUUpO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDaGVja2JveFByb3ZpZGVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmludGVyZmFjZSBDaGVja2JveFByb3ZpZGVyUHJvcHM8U3RhdGUgZXh0ZW5kcyBDaGVja2VkU3RhdGUgPSBDaGVja2VkU3RhdGU+IHtcbiAgY2hlY2tlZD86IFN0YXRlIHwgYm9vbGVhbjtcbiAgZGVmYXVsdENoZWNrZWQ/OiBTdGF0ZSB8IGJvb2xlYW47XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgb25DaGVja2VkQ2hhbmdlPyhjaGVja2VkOiBTdGF0ZSB8IGJvb2xlYW4pOiB2b2lkO1xuICBuYW1lPzogc3RyaW5nO1xuICBmb3JtPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyIHwgcmVhZG9ubHkgc3RyaW5nW107XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5mdW5jdGlvbiBDaGVja2JveFByb3ZpZGVyPFN0YXRlIGV4dGVuZHMgQ2hlY2tlZFN0YXRlID0gQ2hlY2tlZFN0YXRlPihcbiAgcHJvcHM6IFNjb3BlZFByb3BzPENoZWNrYm94UHJvdmlkZXJQcm9wczxTdGF0ZT4+XG4pIHtcbiAgY29uc3Qge1xuICAgIF9fc2NvcGVDaGVja2JveCxcbiAgICBjaGVja2VkOiBjaGVja2VkUHJvcCxcbiAgICBjaGlsZHJlbixcbiAgICBkZWZhdWx0Q2hlY2tlZCxcbiAgICBkaXNhYmxlZCxcbiAgICBmb3JtLFxuICAgIG5hbWUsXG4gICAgb25DaGVja2VkQ2hhbmdlLFxuICAgIHJlcXVpcmVkLFxuICAgIHZhbHVlID0gJ29uJyxcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgaW50ZXJuYWxfZG9fbm90X3VzZV9yZW5kZXIsXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCBbY2hlY2tlZCwgc2V0Q2hlY2tlZF0gPSB1c2VDb250cm9sbGFibGVTdGF0ZSh7XG4gICAgcHJvcDogY2hlY2tlZFByb3AsXG4gICAgZGVmYXVsdFByb3A6IGRlZmF1bHRDaGVja2VkID8/IGZhbHNlLFxuICAgIG9uQ2hhbmdlOiBvbkNoZWNrZWRDaGFuZ2UsXG4gICAgY2FsbGVyOiBDSEVDS0JPWF9OQU1FLFxuICB9KTtcbiAgY29uc3QgW2NvbnRyb2wsIHNldENvbnRyb2xdID0gUmVhY3QudXNlU3RhdGU8SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2J1YmJsZUlucHV0LCBzZXRCdWJibGVJbnB1dF0gPSBSZWFjdC51c2VTdGF0ZTxIVE1MSW5wdXRFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgaXNGb3JtQ29udHJvbCA9IGNvbnRyb2xcbiAgICA/ICEhZm9ybSB8fCAhIWNvbnRyb2wuY2xvc2VzdCgnZm9ybScpXG4gICAgOiAvLyBXZSBzZXQgdGhpcyB0byB0cnVlIGJ5IGRlZmF1bHQgc28gdGhhdCBldmVudHMgYnViYmxlIHRvIGZvcm1zIHdpdGhvdXQgSlMgKFNTUilcbiAgICAgIHRydWU7XG5cbiAgY29uc3QgY29udGV4dDogQ2hlY2tib3hDb250ZXh0VmFsdWU8U3RhdGU+ID0ge1xuICAgIGNoZWNrZWQ6IGNoZWNrZWQsXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxuICAgIHNldENoZWNrZWQ6IHNldENoZWNrZWQsXG4gICAgY29udHJvbDogY29udHJvbCxcbiAgICBzZXRDb250cm9sOiBzZXRDb250cm9sLFxuICAgIG5hbWU6IG5hbWUsXG4gICAgZm9ybTogZm9ybSxcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgaGFzQ29uc3VtZXJTdG9wcGVkUHJvcGFnYXRpb25SZWY6IGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmLFxuICAgIHJlcXVpcmVkOiByZXF1aXJlZCxcbiAgICBkZWZhdWx0Q2hlY2tlZDogaXNJbmRldGVybWluYXRlKGRlZmF1bHRDaGVja2VkKSA/IGZhbHNlIDogZGVmYXVsdENoZWNrZWQsXG4gICAgaXNGb3JtQ29udHJvbDogaXNGb3JtQ29udHJvbCxcbiAgICBidWJibGVJbnB1dCxcbiAgICBzZXRCdWJibGVJbnB1dCxcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxDaGVja2JveFByb3ZpZGVySW1wbFxuICAgICAgc2NvcGU9e19fc2NvcGVDaGVja2JveH1cbiAgICAgIHsuLi4oY29udGV4dCBhcyB1bmtub3duIGFzIENoZWNrYm94Q29udGV4dFZhbHVlPENoZWNrZWRTdGF0ZT4pfVxuICAgID5cbiAgICAgIHtpc0Z1bmN0aW9uKGludGVybmFsX2RvX25vdF91c2VfcmVuZGVyKSA/IGludGVybmFsX2RvX25vdF91c2VfcmVuZGVyKGNvbnRleHQpIDogY2hpbGRyZW59XG4gICAgPC9DaGVja2JveFByb3ZpZGVySW1wbD5cbiAgKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2hlY2tib3hUcmlnZ2VyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFRSSUdHRVJfTkFNRSA9ICdDaGVja2JveFRyaWdnZXInO1xuXG5pbnRlcmZhY2UgQ2hlY2tib3hUcmlnZ2VyUHJvcHNcbiAgZXh0ZW5kcyBPbWl0PFxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLmJ1dHRvbj4sXG4gICAga2V5b2YgQ2hlY2tib3hQcm92aWRlclByb3BzXG4gID4ge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuY29uc3QgQ2hlY2tib3hUcmlnZ2VyID0gUmVhY3QuZm9yd2FyZFJlZjxIVE1MQnV0dG9uRWxlbWVudCwgQ2hlY2tib3hUcmlnZ2VyUHJvcHM+KFxuICAoXG4gICAgeyBfX3Njb3BlQ2hlY2tib3gsIG9uS2V5RG93biwgb25DbGljaywgLi4uY2hlY2tib3hQcm9wcyB9OiBTY29wZWRQcm9wczxDaGVja2JveFRyaWdnZXJQcm9wcz4sXG4gICAgZm9yd2FyZGVkUmVmXG4gICkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGNvbnRyb2wsXG4gICAgICB2YWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgY2hlY2tlZCxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgc2V0Q29udHJvbCxcbiAgICAgIHNldENoZWNrZWQsXG4gICAgICBoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZixcbiAgICAgIGlzRm9ybUNvbnRyb2wsXG4gICAgICBidWJibGVJbnB1dCxcbiAgICB9ID0gdXNlQ2hlY2tib3hDb250ZXh0KFRSSUdHRVJfTkFNRSwgX19zY29wZUNoZWNrYm94KTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBzZXRDb250cm9sKTtcblxuICAgIGNvbnN0IGluaXRpYWxDaGVja2VkU3RhdGVSZWYgPSBSZWFjdC51c2VSZWYoY2hlY2tlZCk7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGZvcm0gPSBjb250cm9sPy5mb3JtO1xuICAgICAgaWYgKGZvcm0pIHtcbiAgICAgICAgY29uc3QgcmVzZXQgPSAoKSA9PiBzZXRDaGVja2VkKGluaXRpYWxDaGVja2VkU3RhdGVSZWYuY3VycmVudCk7XG4gICAgICAgIGZvcm0uYWRkRXZlbnRMaXN0ZW5lcigncmVzZXQnLCByZXNldCk7XG4gICAgICAgIHJldHVybiAoKSA9PiBmb3JtLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2V0JywgcmVzZXQpO1xuICAgICAgfVxuICAgIH0sIFtjb250cm9sLCBzZXRDaGVja2VkXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFByaW1pdGl2ZS5idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIHJvbGU9XCJjaGVja2JveFwiXG4gICAgICAgIGFyaWEtY2hlY2tlZD17aXNJbmRldGVybWluYXRlKGNoZWNrZWQpID8gJ21peGVkJyA6IGNoZWNrZWR9XG4gICAgICAgIGFyaWEtcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICBkYXRhLXN0YXRlPXtnZXRTdGF0ZShjaGVja2VkKX1cbiAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWQgPyAnJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIHsuLi5jaGVja2JveFByb3BzfVxuICAgICAgICByZWY9e2NvbXBvc2VkUmVmc31cbiAgICAgICAgb25LZXlEb3duPXtjb21wb3NlRXZlbnRIYW5kbGVycyhvbktleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgIC8vIEFjY29yZGluZyB0byBXQUkgQVJJQSwgQ2hlY2tib3hlcyBkb24ndCBhY3RpdmF0ZSBvbiBlbnRlciBrZXlwcmVzc1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0pfVxuICAgICAgICBvbkNsaWNrPXtjb21wb3NlRXZlbnRIYW5kbGVycyhvbkNsaWNrLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBzZXRDaGVja2VkKChwcmV2Q2hlY2tlZCkgPT4gKGlzSW5kZXRlcm1pbmF0ZShwcmV2Q2hlY2tlZCkgPyB0cnVlIDogIXByZXZDaGVja2VkKSk7XG4gICAgICAgICAgaWYgKGJ1YmJsZUlucHV0ICYmIGlzRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgIGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmLmN1cnJlbnQgPSBldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpO1xuICAgICAgICAgICAgLy8gaWYgY2hlY2tib3ggaGFzIGEgYnViYmxlIGlucHV0IGFuZCBpcyBhIGZvcm0gY29udHJvbCwgc3RvcFxuICAgICAgICAgICAgLy8gcHJvcGFnYXRpb24gZnJvbSB0aGUgYnV0dG9uIHNvIHRoYXQgd2Ugb25seSBwcm9wYWdhdGUgb25lIGNsaWNrXG4gICAgICAgICAgICAvLyBldmVudCAoZnJvbSB0aGUgaW5wdXQpLiBXZSBwcm9wYWdhdGUgY2hhbmdlcyBmcm9tIGFuIGlucHV0IHNvXG4gICAgICAgICAgICAvLyB0aGF0IG5hdGl2ZSBmb3JtIHZhbGlkYXRpb24gd29ya3MgYW5kIGZvcm0gZXZlbnRzIHJlZmxlY3RcbiAgICAgICAgICAgIC8vIGNoZWNrYm94IHVwZGF0ZXMuXG4gICAgICAgICAgICBpZiAoIWhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmLmN1cnJlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSl9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbik7XG5cbkNoZWNrYm94VHJpZ2dlci5kaXNwbGF5TmFtZSA9IFRSSUdHRVJfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2hlY2tib3hcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxudHlwZSBDaGVja2JveEVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5idXR0b24+O1xudHlwZSBQcmltaXRpdmVCdXR0b25Qcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLmJ1dHRvbj47XG5pbnRlcmZhY2UgQ2hlY2tib3hQcm9wcyBleHRlbmRzIE9taXQ8UHJpbWl0aXZlQnV0dG9uUHJvcHMsICdjaGVja2VkJyB8ICdkZWZhdWx0Q2hlY2tlZCc+IHtcbiAgY2hlY2tlZD86IENoZWNrZWRTdGF0ZTtcbiAgZGVmYXVsdENoZWNrZWQ/OiBDaGVja2VkU3RhdGU7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgb25DaGVja2VkQ2hhbmdlPyhjaGVja2VkOiBDaGVja2VkU3RhdGUpOiB2b2lkO1xufVxuXG5jb25zdCBDaGVja2JveCA9IFJlYWN0LmZvcndhcmRSZWY8Q2hlY2tib3hFbGVtZW50LCBDaGVja2JveFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxDaGVja2JveFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgX19zY29wZUNoZWNrYm94LFxuICAgICAgbmFtZSxcbiAgICAgIGNoZWNrZWQsXG4gICAgICBkZWZhdWx0Q2hlY2tlZCxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICB2YWx1ZSxcbiAgICAgIG9uQ2hlY2tlZENoYW5nZSxcbiAgICAgIGZvcm0sXG4gICAgICAuLi5jaGVja2JveFByb3BzXG4gICAgfSA9IHByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDaGVja2JveFByb3ZpZGVyXG4gICAgICAgIF9fc2NvcGVDaGVja2JveD17X19zY29wZUNoZWNrYm94fVxuICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICBvbkNoZWNrZWRDaGFuZ2U9e29uQ2hlY2tlZENoYW5nZX1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgZm9ybT17Zm9ybX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIGludGVybmFsX2RvX25vdF91c2VfcmVuZGVyPXsoeyBpc0Zvcm1Db250cm9sIH06IENoZWNrYm94Q29udGV4dFZhbHVlKSA9PiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxDaGVja2JveFRyaWdnZXJcbiAgICAgICAgICAgICAgey4uLmNoZWNrYm94UHJvcHN9XG4gICAgICAgICAgICAgIHJlZj17Zm9yd2FyZGVkUmVmfVxuICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgIF9fc2NvcGVDaGVja2JveD17X19zY29wZUNoZWNrYm94fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtpc0Zvcm1Db250cm9sICYmIChcbiAgICAgICAgICAgICAgPENoZWNrYm94QnViYmxlSW5wdXRcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgICAgX19zY29wZUNoZWNrYm94PXtfX3Njb3BlQ2hlY2tib3h9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgLz5cbiAgICApO1xuICB9XG4pO1xuXG5DaGVja2JveC5kaXNwbGF5TmFtZSA9IENIRUNLQk9YX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENoZWNrYm94SW5kaWNhdG9yXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IElORElDQVRPUl9OQU1FID0gJ0NoZWNrYm94SW5kaWNhdG9yJztcblxudHlwZSBDaGVja2JveEluZGljYXRvckVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5zcGFuPjtcbnR5cGUgUHJpbWl0aXZlU3BhblByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuc3Bhbj47XG5pbnRlcmZhY2UgQ2hlY2tib3hJbmRpY2F0b3JQcm9wcyBleHRlbmRzIFByaW1pdGl2ZVNwYW5Qcm9wcyB7XG4gIC8qKlxuICAgKiBVc2VkIHRvIGZvcmNlIG1vdW50aW5nIHdoZW4gbW9yZSBjb250cm9sIGlzIG5lZWRlZC4gVXNlZnVsIHdoZW5cbiAgICogY29udHJvbGxpbmcgYW5pbWF0aW9uIHdpdGggUmVhY3QgYW5pbWF0aW9uIGxpYnJhcmllcy5cbiAgICovXG4gIGZvcmNlTW91bnQ/OiB0cnVlO1xufVxuXG5jb25zdCBDaGVja2JveEluZGljYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8Q2hlY2tib3hJbmRpY2F0b3JFbGVtZW50LCBDaGVja2JveEluZGljYXRvclByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxDaGVja2JveEluZGljYXRvclByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQ2hlY2tib3gsIGZvcmNlTW91bnQsIC4uLmluZGljYXRvclByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlQ2hlY2tib3hDb250ZXh0KElORElDQVRPUl9OQU1FLCBfX3Njb3BlQ2hlY2tib3gpO1xuICAgIHJldHVybiAoXG4gICAgICA8UHJlc2VuY2VcbiAgICAgICAgcHJlc2VudD17Zm9yY2VNb3VudCB8fCBpc0luZGV0ZXJtaW5hdGUoY29udGV4dC5jaGVja2VkKSB8fCBjb250ZXh0LmNoZWNrZWQgPT09IHRydWV9XG4gICAgICA+XG4gICAgICAgIDxQcmltaXRpdmUuc3BhblxuICAgICAgICAgIGRhdGEtc3RhdGU9e2dldFN0YXRlKGNvbnRleHQuY2hlY2tlZCl9XG4gICAgICAgICAgZGF0YS1kaXNhYmxlZD17Y29udGV4dC5kaXNhYmxlZCA/ICcnIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHsuLi5pbmRpY2F0b3JQcm9wc31cbiAgICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgICBzdHlsZT17eyBwb2ludGVyRXZlbnRzOiAnbm9uZScsIC4uLnByb3BzLnN0eWxlIH19XG4gICAgICAgIC8+XG4gICAgICA8L1ByZXNlbmNlPlxuICAgICk7XG4gIH1cbik7XG5cbkNoZWNrYm94SW5kaWNhdG9yLmRpc3BsYXlOYW1lID0gSU5ESUNBVE9SX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENoZWNrYm94QnViYmxlSW5wdXRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgQlVCQkxFX0lOUFVUX05BTUUgPSAnQ2hlY2tib3hCdWJibGVJbnB1dCc7XG5cbnR5cGUgSW5wdXRQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLmlucHV0PjtcbmludGVyZmFjZSBDaGVja2JveEJ1YmJsZUlucHV0UHJvcHMgZXh0ZW5kcyBPbWl0PElucHV0UHJvcHMsICdjaGVja2VkJz4ge31cblxuY29uc3QgQ2hlY2tib3hCdWJibGVJbnB1dCA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgQ2hlY2tib3hCdWJibGVJbnB1dFByb3BzPihcbiAgKHsgX19zY29wZUNoZWNrYm94LCAuLi5wcm9wcyB9OiBTY29wZWRQcm9wczxDaGVja2JveEJ1YmJsZUlucHV0UHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBjb250cm9sLFxuICAgICAgaGFzQ29uc3VtZXJTdG9wcGVkUHJvcGFnYXRpb25SZWYsXG4gICAgICBjaGVja2VkLFxuICAgICAgZGVmYXVsdENoZWNrZWQsXG4gICAgICByZXF1aXJlZCxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgbmFtZSxcbiAgICAgIHZhbHVlLFxuICAgICAgZm9ybSxcbiAgICAgIGJ1YmJsZUlucHV0LFxuICAgICAgc2V0QnViYmxlSW5wdXQsXG4gICAgfSA9IHVzZUNoZWNrYm94Q29udGV4dChCVUJCTEVfSU5QVVRfTkFNRSwgX19zY29wZUNoZWNrYm94KTtcblxuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIHNldEJ1YmJsZUlucHV0KTtcbiAgICBjb25zdCBwcmV2Q2hlY2tlZCA9IHVzZVByZXZpb3VzKGNoZWNrZWQpO1xuICAgIGNvbnN0IGNvbnRyb2xTaXplID0gdXNlU2l6ZShjb250cm9sKTtcblxuICAgIC8vIEJ1YmJsZSBjaGVja2VkIGNoYW5nZSB0byBwYXJlbnRzIChlLmcgZm9ybSBjaGFuZ2UgZXZlbnQpXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGlucHV0ID0gYnViYmxlSW5wdXQ7XG4gICAgICBpZiAoIWlucHV0KSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGlucHV0UHJvdG8gPSB3aW5kb3cuSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGU7XG4gICAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICAgICAgaW5wdXRQcm90byxcbiAgICAgICAgJ2NoZWNrZWQnXG4gICAgICApIGFzIFByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICAgIGNvbnN0IHNldENoZWNrZWQgPSBkZXNjcmlwdG9yLnNldDtcblxuICAgICAgY29uc3QgYnViYmxlcyA9ICFoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZi5jdXJyZW50O1xuICAgICAgaWYgKHByZXZDaGVja2VkICE9PSBjaGVja2VkICYmIHNldENoZWNrZWQpIHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoJ2NsaWNrJywgeyBidWJibGVzIH0pO1xuICAgICAgICBpbnB1dC5pbmRldGVybWluYXRlID0gaXNJbmRldGVybWluYXRlKGNoZWNrZWQpO1xuICAgICAgICBzZXRDaGVja2VkLmNhbGwoaW5wdXQsIGlzSW5kZXRlcm1pbmF0ZShjaGVja2VkKSA/IGZhbHNlIDogY2hlY2tlZCk7XG4gICAgICAgIGlucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgfVxuICAgIH0sIFtidWJibGVJbnB1dCwgcHJldkNoZWNrZWQsIGNoZWNrZWQsIGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmXSk7XG5cbiAgICBjb25zdCBkZWZhdWx0Q2hlY2tlZFJlZiA9IFJlYWN0LnVzZVJlZihpc0luZGV0ZXJtaW5hdGUoY2hlY2tlZCkgPyBmYWxzZSA6IGNoZWNrZWQpO1xuICAgIHJldHVybiAoXG4gICAgICA8UHJpbWl0aXZlLmlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIGFyaWEtaGlkZGVuXG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZCA/PyBkZWZhdWx0Q2hlY2tlZFJlZi5jdXJyZW50fVxuICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBmb3JtPXtmb3JtfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgLi4ucHJvcHMuc3R5bGUsXG4gICAgICAgICAgLi4uY29udHJvbFNpemUsXG4gICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgbWFyZ2luOiAwLFxuICAgICAgICAgIC8vIFdlIHRyYW5zZm9ybSBiZWNhdXNlIHRoZSBpbnB1dCBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgYnV0IHdlIGhhdmVcbiAgICAgICAgICAvLyByZW5kZXJlZCBpdCAqKmFmdGVyKiogdGhlIGJ1dHRvbi4gVGhpcyBwdWxscyBpdCBiYWNrIHRvIHNpdCBvbiB0b3BcbiAgICAgICAgICAvLyBvZiB0aGUgYnV0dG9uLlxuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuKTtcblxuQ2hlY2tib3hCdWJibGVJbnB1dC5kaXNwbGF5TmFtZSA9IEJVQkJMRV9JTlBVVF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyAoLi4uYXJnczogYW55W10pID0+IGFueSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbic7XG59XG5cbmZ1bmN0aW9uIGlzSW5kZXRlcm1pbmF0ZShjaGVja2VkPzogQ2hlY2tlZFN0YXRlKTogY2hlY2tlZCBpcyAnaW5kZXRlcm1pbmF0ZScge1xuICByZXR1cm4gY2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnO1xufVxuXG5mdW5jdGlvbiBnZXRTdGF0ZShjaGVja2VkOiBDaGVja2VkU3RhdGUpIHtcbiAgcmV0dXJuIGlzSW5kZXRlcm1pbmF0ZShjaGVja2VkKSA/ICdpbmRldGVybWluYXRlJyA6IGNoZWNrZWQgPyAnY2hlY2tlZCcgOiAndW5jaGVja2VkJztcbn1cblxuZXhwb3J0IHtcbiAgY3JlYXRlQ2hlY2tib3hTY29wZSxcbiAgLy9cbiAgQ2hlY2tib3gsXG4gIENoZWNrYm94UHJvdmlkZXIsXG4gIENoZWNrYm94VHJpZ2dlcixcbiAgQ2hlY2tib3hJbmRpY2F0b3IsXG4gIENoZWNrYm94QnViYmxlSW5wdXQsXG4gIC8vXG4gIENoZWNrYm94IGFzIFJvb3QsXG4gIENoZWNrYm94UHJvdmlkZXIgYXMgUHJvdmlkZXIsXG4gIENoZWNrYm94VHJpZ2dlciBhcyBUcmlnZ2VyLFxuICBDaGVja2JveEluZGljYXRvciBhcyBJbmRpY2F0b3IsXG4gIENoZWNrYm94QnViYmxlSW5wdXQgYXMgQnViYmxlSW5wdXQsXG59O1xuZXhwb3J0IHR5cGUge1xuICBDaGVja2JveFByb3BzLFxuICBDaGVja2JveFByb3ZpZGVyUHJvcHMsXG4gIENoZWNrYm94VHJpZ2dlclByb3BzLFxuICBDaGVja2JveEluZGljYXRvclByb3BzLFxuICBDaGVja2JveEJ1YmJsZUlucHV0UHJvcHMsXG4gIENoZWNrZWRTdGF0ZSxcbn07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-checkbox/dist/index.mjs\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/@radix-ui/react-collection/dist/index.mjs": /*!****************************************************************!*\ !*** ./node_modules/@radix-ui/react-collection/dist/index.mjs ***! @@ -171,26 +131,6 @@ eval("var react__WEBPACK_IMPORTED_MODULE_0___namespace_cache;\n__webpack_require /***/ }), -/***/ "(ssr)/./node_modules/@radix-ui/react-label/dist/index.mjs": -/*!***********************************************************!*\ - !*** ./node_modules/@radix-ui/react-label/dist/index.mjs ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Label: () => (/* binding */ Label),\n/* harmony export */ Root: () => (/* binding */ Root)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Label,Root auto */ // src/label.tsx\n\n\n\nvar NAME = \"Label\";\nvar Label = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_2__.Primitive.label, {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event)=>{\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n });\n});\nLabel.displayName = NAME;\nvar Root = Label;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWxhYmVsL2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF1QjtBQUNHO0FBY3RCO0FBUkosSUFBTSxPQUFPO0FBTWIsSUFBTSxzQkFBYyw4Q0FBcUMsQ0FBQyxPQUFPO0lBQy9ELE9BQ0UsdUVBQUMsZ0VBQVMsQ0FBQyxPQUFWO1FBQ0UsR0FBRztRQUNKLEtBQUs7UUFDTCxhQUFhLENBQUM7WUFFWixNQUFNLFNBQVMsTUFBTTtZQUNyQixJQUFJLE9BQU8sUUFBUSxpQ0FBaUMsRUFBRztZQUV2RCxNQUFNLGNBQWMsS0FBSztZQUV6QixJQUFJLENBQUMsTUFBTSxvQkFBb0IsTUFBTSxTQUFTLEVBQUcsT0FBTSxlQUFlO1FBQ3hFO0lBQUE7QUFHTixDQUFDO0FBRUQsTUFBTSxjQUFjO0FBSXBCLElBQU0sT0FBTyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxzcmNcXGxhYmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlJztcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogTGFiZWxcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgTkFNRSA9ICdMYWJlbCc7XG5cbnR5cGUgTGFiZWxFbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQcmltaXRpdmUubGFiZWw+O1xudHlwZSBQcmltaXRpdmVMYWJlbFByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUubGFiZWw+O1xuaW50ZXJmYWNlIExhYmVsUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVMYWJlbFByb3BzIHt9XG5cbmNvbnN0IExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxMYWJlbEVsZW1lbnQsIExhYmVsUHJvcHM+KChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFByaW1pdGl2ZS5sYWJlbFxuICAgICAgey4uLnByb3BzfVxuICAgICAgcmVmPXtmb3J3YXJkZWRSZWZ9XG4gICAgICBvbk1vdXNlRG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgIC8vIG9ubHkgcHJldmVudCB0ZXh0IHNlbGVjdGlvbiBpZiBjbGlja2luZyBpbnNpZGUgdGhlIGxhYmVsIGl0c2VsZlxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmICh0YXJnZXQuY2xvc2VzdCgnYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYScpKSByZXR1cm47XG5cbiAgICAgICAgcHJvcHMub25Nb3VzZURvd24/LihldmVudCk7XG4gICAgICAgIC8vIHByZXZlbnQgdGV4dCBzZWxlY3Rpb24gd2hlbiBkb3VibGUgY2xpY2tpbmcgbGFiZWxcbiAgICAgICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkICYmIGV2ZW50LmRldGFpbCA+IDEpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9fVxuICAgIC8+XG4gICk7XG59KTtcblxuTGFiZWwuZGlzcGxheU5hbWUgPSBOQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFJvb3QgPSBMYWJlbDtcblxuZXhwb3J0IHtcbiAgTGFiZWwsXG4gIC8vXG4gIFJvb3QsXG59O1xuZXhwb3J0IHR5cGUgeyBMYWJlbFByb3BzIH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-label/dist/index.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive/dist/index.mjs": -/*!**************************************************************************************************!*\ - !*** ./node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive/dist/index.mjs ***! - \**************************************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Primitive: () => (/* binding */ Primitive),\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ dispatchDiscreteCustomEvent: () => (/* binding */ dispatchDiscreteCustomEvent)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js\");\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n// src/primitive.tsx\n\n\n\n\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = (0,_radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_3__.createSlot)(`Primitive.${node}`);\n const Node = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) react_dom__WEBPACK_IMPORTED_MODULE_1__.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWxhYmVsL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlL2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtBQUMrQjtBQUNPO0FBQ1k7QUFDVjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxnRUFBVSxjQUFjLEtBQUs7QUFDNUMsZUFBZSw2Q0FBZ0I7QUFDL0IsWUFBWSw2QkFBNkI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsc0RBQUcsU0FBUyxzQ0FBc0M7QUFDN0UsR0FBRztBQUNILGtDQUFrQyxLQUFLO0FBQ3ZDLFdBQVc7QUFDWCxDQUFDLElBQUk7QUFDTDtBQUNBLGNBQWMsZ0RBQWtCO0FBQ2hDO0FBQ0E7QUFLRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAcmFkaXgtdWlcXHJlYWN0LWxhYmVsXFxub2RlX21vZHVsZXNcXEByYWRpeC11aVxccmVhY3QtcHJpbWl0aXZlXFxkaXN0XFxpbmRleC5tanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL3ByaW1pdGl2ZS50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IHsgY3JlYXRlU2xvdCB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3Qtc2xvdFwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgTk9ERVMgPSBbXG4gIFwiYVwiLFxuICBcImJ1dHRvblwiLFxuICBcImRpdlwiLFxuICBcImZvcm1cIixcbiAgXCJoMlwiLFxuICBcImgzXCIsXG4gIFwiaW1nXCIsXG4gIFwiaW5wdXRcIixcbiAgXCJsYWJlbFwiLFxuICBcImxpXCIsXG4gIFwibmF2XCIsXG4gIFwib2xcIixcbiAgXCJwXCIsXG4gIFwic2VsZWN0XCIsXG4gIFwic3BhblwiLFxuICBcInN2Z1wiLFxuICBcInVsXCJcbl07XG52YXIgUHJpbWl0aXZlID0gTk9ERVMucmVkdWNlKChwcmltaXRpdmUsIG5vZGUpID0+IHtcbiAgY29uc3QgU2xvdCA9IGNyZWF0ZVNsb3QoYFByaW1pdGl2ZS4ke25vZGV9YCk7XG4gIGNvbnN0IE5vZGUgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBhc0NoaWxkLCAuLi5wcmltaXRpdmVQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgQ29tcCA9IGFzQ2hpbGQgPyBTbG90IDogbm9kZTtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgd2luZG93W1N5bWJvbC5mb3IoXCJyYWRpeC11aVwiKV0gPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChDb21wLCB7IC4uLnByaW1pdGl2ZVByb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KTtcbiAgfSk7XG4gIE5vZGUuZGlzcGxheU5hbWUgPSBgUHJpbWl0aXZlLiR7bm9kZX1gO1xuICByZXR1cm4geyAuLi5wcmltaXRpdmUsIFtub2RlXTogTm9kZSB9O1xufSwge30pO1xuZnVuY3Rpb24gZGlzcGF0Y2hEaXNjcmV0ZUN1c3RvbUV2ZW50KHRhcmdldCwgZXZlbnQpIHtcbiAgaWYgKHRhcmdldCkgUmVhY3RET00uZmx1c2hTeW5jKCgpID0+IHRhcmdldC5kaXNwYXRjaEV2ZW50KGV2ZW50KSk7XG59XG52YXIgUm9vdCA9IFByaW1pdGl2ZTtcbmV4cG9ydCB7XG4gIFByaW1pdGl2ZSxcbiAgUm9vdCxcbiAgZGlzcGF0Y2hEaXNjcmV0ZUN1c3RvbUV2ZW50XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive/dist/index.mjs\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/@radix-ui/react-menu/dist/index.mjs": /*!**********************************************************!*\ !*** ./node_modules/@radix-ui/react-menu/dist/index.mjs ***! @@ -271,36 +211,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/@radix-ui/react-select/dist/index.mjs": -/*!************************************************************!*\ - !*** ./node_modules/@radix-ui/react-select/dist/index.mjs ***! - \************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Arrow: () => (/* binding */ Arrow2),\n/* harmony export */ Content: () => (/* binding */ Content2),\n/* harmony export */ Group: () => (/* binding */ Group),\n/* harmony export */ Icon: () => (/* binding */ Icon),\n/* harmony export */ Item: () => (/* binding */ Item),\n/* harmony export */ ItemIndicator: () => (/* binding */ ItemIndicator),\n/* harmony export */ ItemText: () => (/* binding */ ItemText),\n/* harmony export */ Label: () => (/* binding */ Label),\n/* harmony export */ Portal: () => (/* binding */ Portal),\n/* harmony export */ Root: () => (/* binding */ Root2),\n/* harmony export */ ScrollDownButton: () => (/* binding */ ScrollDownButton),\n/* harmony export */ ScrollUpButton: () => (/* binding */ ScrollUpButton),\n/* harmony export */ Select: () => (/* binding */ Select),\n/* harmony export */ SelectArrow: () => (/* binding */ SelectArrow),\n/* harmony export */ SelectContent: () => (/* binding */ SelectContent),\n/* harmony export */ SelectGroup: () => (/* binding */ SelectGroup),\n/* harmony export */ SelectIcon: () => (/* binding */ SelectIcon),\n/* harmony export */ SelectItem: () => (/* binding */ SelectItem),\n/* harmony export */ SelectItemIndicator: () => (/* binding */ SelectItemIndicator),\n/* harmony export */ SelectItemText: () => (/* binding */ SelectItemText),\n/* harmony export */ SelectLabel: () => (/* binding */ SelectLabel),\n/* harmony export */ SelectPortal: () => (/* binding */ SelectPortal),\n/* harmony export */ SelectScrollDownButton: () => (/* binding */ SelectScrollDownButton),\n/* harmony export */ SelectScrollUpButton: () => (/* binding */ SelectScrollUpButton),\n/* harmony export */ SelectSeparator: () => (/* binding */ SelectSeparator),\n/* harmony export */ SelectTrigger: () => (/* binding */ SelectTrigger),\n/* harmony export */ SelectValue: () => (/* binding */ SelectValue),\n/* harmony export */ SelectViewport: () => (/* binding */ SelectViewport),\n/* harmony export */ Separator: () => (/* binding */ Separator),\n/* harmony export */ Trigger: () => (/* binding */ Trigger),\n/* harmony export */ Value: () => (/* binding */ Value),\n/* harmony export */ Viewport: () => (/* binding */ Viewport),\n/* harmony export */ createSelectScope: () => (/* binding */ createSelectScope)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js\");\n/* harmony import */ var _radix_ui_number__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @radix-ui/number */ \"(ssr)/./node_modules/@radix-ui/number/dist/index.mjs\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-collection */ \"(ssr)/./node_modules/@radix-ui/react-collection/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/react-direction */ \"(ssr)/./node_modules/@radix-ui/react-direction/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_dismissable_layer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @radix-ui/react-dismissable-layer */ \"(ssr)/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_focus_guards__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @radix-ui/react-focus-guards */ \"(ssr)/./node_modules/@radix-ui/react-focus-guards/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_focus_scope__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @radix-ui/react-focus-scope */ \"(ssr)/./node_modules/@radix-ui/react-focus-scope/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_id__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @radix-ui/react-id */ \"(ssr)/./node_modules/@radix-ui/react-id/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-popper */ \"(ssr)/./node_modules/@radix-ui/react-popper/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_portal__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @radix-ui/react-portal */ \"(ssr)/./node_modules/@radix-ui/react-portal/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @radix-ui/react-use-callback-ref */ \"(ssr)/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/react-use-controllable-state */ \"(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @radix-ui/react-use-layout-effect */ \"(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @radix-ui/react-use-previous */ \"(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_visually_hidden__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @radix-ui/react-visually-hidden */ \"(ssr)/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs\");\n/* harmony import */ var aria_hidden__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! aria-hidden */ \"(ssr)/./node_modules/aria-hidden/dist/es2015/index.js\");\n/* harmony import */ var react_remove_scroll__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! react-remove-scroll */ \"(ssr)/./node_modules/react-remove-scroll/dist/es2015/Combination.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Arrow,Content,Group,Icon,Item,ItemIndicator,ItemText,Label,Portal,Root,ScrollDownButton,ScrollUpButton,Select,SelectArrow,SelectContent,SelectGroup,SelectIcon,SelectItem,SelectItemIndicator,SelectItemText,SelectLabel,SelectPortal,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue,SelectViewport,Separator,Trigger,Value,Viewport,createSelectScope auto */ // src/select.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar OPEN_KEYS = [\n \" \",\n \"Enter\",\n \"ArrowUp\",\n \"ArrowDown\"\n];\nvar SELECTION_KEYS = [\n \" \",\n \"Enter\"\n];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = (0,_radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_3__.createCollection)(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_4__.createContextScope)(SELECT_NAME, [\n createCollectionScope,\n _radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.createPopperScope\n]);\nvar usePopperScope = (0,_radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.createPopperScope)();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props)=>{\n const { __scopeSelect, children, open: openProp, defaultOpen, onOpenChange, value: valueProp, defaultValue, onValueChange, dir, name, autoComplete, disabled, required, form } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [valueNode, setValueNode] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n const direction = (0,_radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_6__.useDirection)(dir);\n const [open, setOpen] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_7__.useControllableState)({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_7__.useControllableState)({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = react__WEBPACK_IMPORTED_MODULE_0__.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option)=>option.props.value).join(\";\");\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.Root, {\n ...popperScope,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(SelectProvider, {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_8__.useId)(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Collection.Provider, {\n scope: __scopeSelect,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectNativeOptionsProvider, {\n scope: props.__scopeSelect,\n onNativeOptionAdd: react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"Select.useCallback\": (option)=>{\n setNativeOptionsSet({\n \"Select.useCallback\": (prev)=>new Set(prev).add(option)\n }[\"Select.useCallback\"]);\n }\n }[\"Select.useCallback\"], []),\n onNativeOptionRemove: react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"Select.useCallback\": (option)=>{\n setNativeOptionsSet({\n \"Select.useCallback\": (prev)=>{\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n }\n }[\"Select.useCallback\"]);\n }\n }[\"Select.useCallback\"], []),\n children\n })\n }),\n isFormControl ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(SelectBubbleInput, {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event)=>setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"option\", {\n value: \"\"\n }) : null,\n Array.from(nativeOptionsSet)\n ]\n }, nativeSelectKey) : null\n ]\n })\n });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch({\n \"SelectTrigger.useTypeaheadSearch\": (search)=>{\n const enabledItems = getItems().filter({\n \"SelectTrigger.useTypeaheadSearch.enabledItems\": (item)=>!item.disabled\n }[\"SelectTrigger.useTypeaheadSearch.enabledItems\"]);\n const currentItem = enabledItems.find({\n \"SelectTrigger.useTypeaheadSearch.currentItem\": (item)=>item.value === context.value\n }[\"SelectTrigger.useTypeaheadSearch.currentItem\"]);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n }\n }[\"SelectTrigger.useTypeaheadSearch\"]);\n const handleOpen = (pointerEvent)=>{\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.Anchor, {\n asChild: true,\n ...popperScope,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.button, {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(triggerProps.onClick, (event)=>{\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(triggerProps.onPointerDown, (event)=>{\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(triggerProps.onKeyDown, (event)=>{\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n })\n });\n});\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, context.onValueNodeChange);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectValue.useLayoutEffect\": ()=>{\n onValueNodeHasChildrenChange(hasChildren);\n }\n }[\"SelectValue.useLayoutEffect\"], [\n onValueNodeHasChildrenChange,\n hasChildren\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.span, {\n ...valueProps,\n ref: composedRefs,\n style: {\n pointerEvents: \"none\"\n },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n children: placeholder\n }) : children\n });\n});\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.span, {\n \"aria-hidden\": true,\n ...iconProps,\n ref: forwardedRef,\n children: children || \"\\u25BC\"\n });\n});\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props)=>{\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_portal__WEBPACK_IMPORTED_MODULE_13__.Portal, {\n asChild: true,\n ...props\n });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = react__WEBPACK_IMPORTED_MODULE_0__.useState();\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectContent.useLayoutEffect\": ()=>{\n setFragment(new DocumentFragment());\n }\n }[\"SelectContent.useLayoutEffect\"], []);\n if (!context.open) {\n const frag = fragment;\n return frag ? /*#__PURE__*/ react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal(/* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectContentProvider, {\n scope: props.__scopeSelect,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Collection.Slot, {\n scope: props.__scopeSelect,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"div\", {\n children: props.children\n })\n })\n }), frag) : null;\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectContentImpl, {\n ...props,\n ref: forwardedRef\n });\n});\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = (0,_radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_14__.createSlot)(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, position = \"item-aligned\", onCloseAutoFocus, onEscapeKeyDown, onPointerDownOutside, //\n // PopperContent props\n side, sideOffset, align, alignOffset, arrowPadding, collisionBoundary, collisionPadding, sticky, hideWhenDetached, avoidCollisions, //\n ...contentProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [viewport, setViewport] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, {\n \"SelectContentImpl.useComposedRefs[composedRefs]\": (node)=>setContent(node)\n }[\"SelectContentImpl.useComposedRefs[composedRefs]\"]);\n const [selectedItem, setSelectedItem] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [selectedItemText, setSelectedItemText] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n const firstValidItemFoundRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectContentImpl.useEffect\": ()=>{\n if (content) return (0,aria_hidden__WEBPACK_IMPORTED_MODULE_15__.hideOthers)(content);\n }\n }[\"SelectContentImpl.useEffect\"], [\n content\n ]);\n (0,_radix_ui_react_focus_guards__WEBPACK_IMPORTED_MODULE_16__.useFocusGuards)();\n const focusFirst = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectContentImpl.useCallback[focusFirst]\": (candidates)=>{\n const [firstItem, ...restItems] = getItems().map({\n \"SelectContentImpl.useCallback[focusFirst]\": (item)=>item.ref.current\n }[\"SelectContentImpl.useCallback[focusFirst]\"]);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates){\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({\n block: \"nearest\"\n });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n }\n }[\"SelectContentImpl.useCallback[focusFirst]\"], [\n getItems,\n viewport\n ]);\n const focusSelectedItem = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectContentImpl.useCallback[focusSelectedItem]\": ()=>focusFirst([\n selectedItem,\n content\n ])\n }[\"SelectContentImpl.useCallback[focusSelectedItem]\"], [\n focusFirst,\n selectedItem,\n content\n ]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectContentImpl.useEffect\": ()=>{\n if (isPositioned) {\n focusSelectedItem();\n }\n }\n }[\"SelectContentImpl.useEffect\"], [\n isPositioned,\n focusSelectedItem\n ]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectContentImpl.useEffect\": ()=>{\n if (content) {\n let pointerMoveDelta = {\n x: 0,\n y: 0\n };\n const handlePointerMove = {\n \"SelectContentImpl.useEffect.handlePointerMove\": (event)=>{\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n }\n }[\"SelectContentImpl.useEffect.handlePointerMove\"];\n const handlePointerUp = {\n \"SelectContentImpl.useEffect.handlePointerUp\": (event)=>{\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n }\n }[\"SelectContentImpl.useEffect.handlePointerUp\"];\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, {\n capture: true,\n once: true\n });\n }\n return ({\n \"SelectContentImpl.useEffect\": ()=>{\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, {\n capture: true\n });\n }\n })[\"SelectContentImpl.useEffect\"];\n }\n }\n }[\"SelectContentImpl.useEffect\"], [\n content,\n onOpenChange,\n triggerPointerDownPosRef\n ]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectContentImpl.useEffect\": ()=>{\n const close = {\n \"SelectContentImpl.useEffect.close\": ()=>onOpenChange(false)\n }[\"SelectContentImpl.useEffect.close\"];\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return ({\n \"SelectContentImpl.useEffect\": ()=>{\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n }\n })[\"SelectContentImpl.useEffect\"];\n }\n }[\"SelectContentImpl.useEffect\"], [\n onOpenChange\n ]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch({\n \"SelectContentImpl.useTypeaheadSearch\": (search)=>{\n const enabledItems = getItems().filter({\n \"SelectContentImpl.useTypeaheadSearch.enabledItems\": (item)=>!item.disabled\n }[\"SelectContentImpl.useTypeaheadSearch.enabledItems\"]);\n const currentItem = enabledItems.find({\n \"SelectContentImpl.useTypeaheadSearch.currentItem\": (item)=>item.ref.current === document.activeElement\n }[\"SelectContentImpl.useTypeaheadSearch.currentItem\"]);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout({\n \"SelectContentImpl.useTypeaheadSearch\": ()=>nextItem.ref.current.focus()\n }[\"SelectContentImpl.useTypeaheadSearch\"]);\n }\n }\n }[\"SelectContentImpl.useTypeaheadSearch\"]);\n const itemRefCallback = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectContentImpl.useCallback[itemRefCallback]\": (node, value, disabled)=>{\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n }\n }[\"SelectContentImpl.useCallback[itemRefCallback]\"], [\n context.value\n ]);\n const handleItemLeave = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectContentImpl.useCallback[handleItemLeave]\": ()=>content?.focus()\n }[\"SelectContentImpl.useCallback[handleItemLeave]\"], [\n content\n ]);\n const itemTextRefCallback = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectContentImpl.useCallback[itemTextRefCallback]\": (node, value, disabled)=>{\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n }\n }[\"SelectContentImpl.useCallback[itemTextRefCallback]\"], [\n context.value\n ]);\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectContentProvider, {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_remove_scroll__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n as: Slot,\n allowPinchZoom: true,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_focus_scope__WEBPACK_IMPORTED_MODULE_18__.FocusScope, {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event)=>{\n event.preventDefault();\n },\n onUnmountAutoFocus: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(onCloseAutoFocus, (event)=>{\n context.trigger?.focus({\n preventScroll: true\n });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_dismissable_layer__WEBPACK_IMPORTED_MODULE_19__.DismissableLayer, {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event)=>event.preventDefault(),\n onDismiss: ()=>context.onOpenChange(false),\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectPosition, {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event)=>event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: ()=>setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(contentProps.onKeyDown, (event)=>{\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\"\n ].includes(event.key)) {\n const items = getItems().filter((item)=>!item.disabled);\n let candidateNodes = items.map((item)=>item.ref.current);\n if ([\n \"ArrowUp\",\n \"End\"\n ].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\n \"ArrowUp\",\n \"ArrowDown\"\n ].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(()=>focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n })\n })\n })\n })\n });\n});\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [content, setContent] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, {\n \"SelectItemAlignedPosition.useComposedRefs[composedRefs]\": (node)=>setContent(node)\n }[\"SelectItemAlignedPosition.useComposedRefs[composedRefs]\"]);\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const shouldRepositionRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectItemAlignedPosition.useCallback[position]\": ()=>{\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = (0,_radix_ui_number__WEBPACK_IMPORTED_MODULE_20__.clamp)(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = (0,_radix_ui_number__WEBPACK_IMPORTED_MODULE_20__.clamp)(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(triggerMiddleToBottomEdge, selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth);\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(topEdgeToTriggerMiddle, contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight);\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame({\n \"SelectItemAlignedPosition.useCallback[position]\": ()=>shouldExpandOnScrollRef.current = true\n }[\"SelectItemAlignedPosition.useCallback[position]\"]);\n }\n }\n }[\"SelectItemAlignedPosition.useCallback[position]\"], [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectItemAlignedPosition.useLayoutEffect\": ()=>position()\n }[\"SelectItemAlignedPosition.useLayoutEffect\"], [\n position\n ]);\n const [contentZIndex, setContentZIndex] = react__WEBPACK_IMPORTED_MODULE_0__.useState();\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectItemAlignedPosition.useLayoutEffect\": ()=>{\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }\n }[\"SelectItemAlignedPosition.useLayoutEffect\"], [\n content\n ]);\n const handleScrollButtonChange = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectItemAlignedPosition.useCallback[handleScrollButtonChange]\": (node)=>{\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n }\n }[\"SelectItemAlignedPosition.useCallback[handleScrollButtonChange]\"], [\n position,\n focusSelectedItem\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectViewportProvider, {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"div\", {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n })\n })\n });\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, align = \"start\", collisionPadding = CONTENT_MARGIN, ...popperProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.Content, {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n });\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }),\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Collection.Slot, {\n scope: __scopeSelect,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(viewportProps.onScroll, (event)=>{\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n })\n })\n ]\n });\n});\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, ...groupProps } = props;\n const groupId = (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_8__.useId)();\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectGroupContextProvider, {\n scope: __scopeSelect,\n id: groupId,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n role: \"group\",\n \"aria-labelledby\": groupId,\n ...groupProps,\n ref: forwardedRef\n })\n });\n});\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n id: groupContext.id,\n ...labelProps,\n ref: forwardedRef\n });\n});\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, value, disabled = false, textValue: textValueProp, ...itemProps } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = react__WEBPACK_IMPORTED_MODULE_0__.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, {\n \"SelectItem.useComposedRefs[composedRefs]\": (node)=>contentContext.itemRefCallback?.(node, value, disabled)\n }[\"SelectItem.useComposedRefs[composedRefs]\"]);\n const textId = (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_8__.useId)();\n const pointerTypeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(\"touch\");\n const handleSelect = ()=>{\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\"A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\");\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectItemContextProvider, {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectItem.useCallback\": (node)=>{\n setTextValue({\n \"SelectItem.useCallback\": (prevTextValue)=>prevTextValue || (node?.textContent ?? \"\").trim()\n }[\"SelectItem.useCallback\"]);\n }\n }[\"SelectItem.useCallback\"], []),\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Collection.ItemSlot, {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onFocus, ()=>setIsFocused(true)),\n onBlur: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onBlur, ()=>setIsFocused(false)),\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onClick, ()=>{\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onPointerUp, ()=>{\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onPointerDown, (event)=>{\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onPointerMove, (event)=>{\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({\n preventScroll: true\n });\n }\n }),\n onPointerLeave: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onPointerLeave, (event)=>{\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onKeyDown, (event)=>{\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n })\n })\n });\n});\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, {\n \"SelectItemText.useComposedRefs[composedRefs]\": (node)=>setItemTextNode(node)\n }[\"SelectItemText.useComposedRefs[composedRefs]\"], itemContext.onItemTextChange, {\n \"SelectItemText.useComposedRefs[composedRefs]\": (node)=>contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n }[\"SelectItemText.useComposedRefs[composedRefs]\"]);\n const textContent = itemTextNode?.textContent;\n const nativeOption = react__WEBPACK_IMPORTED_MODULE_0__.useMemo({\n \"SelectItemText.useMemo[nativeOption]\": ()=>/* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"option\", {\n value: itemContext.value,\n disabled: itemContext.disabled,\n children: textContent\n }, itemContext.value)\n }[\"SelectItemText.useMemo[nativeOption]\"], [\n itemContext.disabled,\n itemContext.value,\n textContent\n ]);\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectItemText.useLayoutEffect\": ()=>{\n onNativeOptionAdd(nativeOption);\n return ({\n \"SelectItemText.useLayoutEffect\": ()=>onNativeOptionRemove(nativeOption)\n })[\"SelectItemText.useLayoutEffect\"];\n }\n }[\"SelectItemText.useLayoutEffect\"], [\n onNativeOptionAdd,\n onNativeOptionRemove,\n nativeOption\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.span, {\n id: itemContext.textId,\n ...itemTextProps,\n ref: composedRefs\n }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? /*#__PURE__*/ react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal(itemTextProps.children, context.valueNode) : null\n ]\n });\n});\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.span, {\n \"aria-hidden\": true,\n ...itemIndicatorProps,\n ref: forwardedRef\n }) : null;\n});\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, viewportContext.onScrollButtonChange);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectScrollUpButton.useLayoutEffect\": ()=>{\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = {\n \"SelectScrollUpButton.useLayoutEffect.handleScroll2\": function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n }\n }[\"SelectScrollUpButton.useLayoutEffect.handleScroll2\"];\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return ({\n \"SelectScrollUpButton.useLayoutEffect\": ()=>viewport.removeEventListener(\"scroll\", handleScroll2)\n })[\"SelectScrollUpButton.useLayoutEffect\"];\n }\n }\n }[\"SelectScrollUpButton.useLayoutEffect\"], [\n contentContext.viewport,\n contentContext.isPositioned\n ]);\n return canScrollUp ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectScrollButtonImpl, {\n ...props,\n ref: composedRefs,\n onAutoScroll: ()=>{\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, viewportContext.onScrollButtonChange);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectScrollDownButton.useLayoutEffect\": ()=>{\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = {\n \"SelectScrollDownButton.useLayoutEffect.handleScroll2\": function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n }\n }[\"SelectScrollDownButton.useLayoutEffect.handleScroll2\"];\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return ({\n \"SelectScrollDownButton.useLayoutEffect\": ()=>viewport.removeEventListener(\"scroll\", handleScroll2)\n })[\"SelectScrollDownButton.useLayoutEffect\"];\n }\n }\n }[\"SelectScrollDownButton.useLayoutEffect\"], [\n contentContext.viewport,\n contentContext.isPositioned\n ]);\n return canScrollDown ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectScrollButtonImpl, {\n ...props,\n ref: composedRefs,\n onAutoScroll: ()=>{\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectScrollButtonImpl.useCallback[clearAutoScrollTimer]\": ()=>{\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }\n }[\"SelectScrollButtonImpl.useCallback[clearAutoScrollTimer]\"], []);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectScrollButtonImpl.useEffect\": ()=>{\n return ({\n \"SelectScrollButtonImpl.useEffect\": ()=>clearAutoScrollTimer()\n })[\"SelectScrollButtonImpl.useEffect\"];\n }\n }[\"SelectScrollButtonImpl.useEffect\"], [\n clearAutoScrollTimer\n ]);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectScrollButtonImpl.useLayoutEffect\": ()=>{\n const activeItem = getItems().find({\n \"SelectScrollButtonImpl.useLayoutEffect.activeItem\": (item)=>item.ref.current === document.activeElement\n }[\"SelectScrollButtonImpl.useLayoutEffect.activeItem\"]);\n activeItem?.ref.current?.scrollIntoView({\n block: \"nearest\"\n });\n }\n }[\"SelectScrollButtonImpl.useLayoutEffect\"], [\n getItems\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: {\n flexShrink: 0,\n ...scrollIndicatorProps.style\n },\n onPointerDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(scrollIndicatorProps.onPointerDown, ()=>{\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(scrollIndicatorProps.onPointerMove, ()=>{\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(scrollIndicatorProps.onPointerLeave, ()=>{\n clearAutoScrollTimer();\n })\n });\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n \"aria-hidden\": true,\n ...separatorProps,\n ref: forwardedRef\n });\n});\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.Arrow, {\n ...popperScope,\n ...arrowProps,\n ref: forwardedRef\n }) : null;\n});\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(({ __scopeSelect, value, ...props }, forwardedRef)=>{\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, ref);\n const prevValue = (0,_radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_21__.usePrevious)(value);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectBubbleInput.useEffect\": ()=>{\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(selectProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", {\n bubbles: true\n });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }\n }[\"SelectBubbleInput.useEffect\"], [\n prevValue,\n value\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.select, {\n ...props,\n style: {\n ..._radix_ui_react_visually_hidden__WEBPACK_IMPORTED_MODULE_22__.VISUALLY_HIDDEN_STYLES,\n ...props.style\n },\n ref: composedRefs,\n defaultValue: value\n });\n});\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_23__.useCallbackRef)(onSearchChange);\n const searchRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(\"\");\n const timerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n const handleTypeaheadSearch = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"useTypeaheadSearch.useCallback[handleTypeaheadSearch]\": (key)=>{\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout({\n \"useTypeaheadSearch.useCallback[handleTypeaheadSearch].updateSearch\": ()=>updateSearch(\"\")\n }[\"useTypeaheadSearch.useCallback[handleTypeaheadSearch].updateSearch\"], 1e3);\n })(search);\n }\n }[\"useTypeaheadSearch.useCallback[handleTypeaheadSearch]\"], [\n handleSearchChange\n ]);\n const resetTypeahead = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"useTypeaheadSearch.useCallback[resetTypeahead]\": ()=>{\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }\n }[\"useTypeaheadSearch.useCallback[resetTypeahead]\"], []);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"useTypeaheadSearch.useEffect\": ()=>{\n return ({\n \"useTypeaheadSearch.useEffect\": ()=>window.clearTimeout(timerRef.current)\n })[\"useTypeaheadSearch.useEffect\"];\n }\n }[\"useTypeaheadSearch.useEffect\"], []);\n return [\n searchRef,\n handleTypeaheadSearch,\n resetTypeahead\n ];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char)=>char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v)=>v !== currentItem);\n const nextItem = wrappedItems.find((item)=>item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase()));\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index)=>array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNlbGVjdC9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXVCO0FBQ0c7QUFDSjtBQUNlO0FBQ0o7QUFDRDtBQUNHO0FBQ047QUFDSTtBQUNGO0FBQ0o7QUFDTDtBQUNXO0FBQ0M7QUFDUTtBQUNoQjtBQUNDO0FBQ0k7QUFDTTtBQUNMO0FBQ0o7QUFDVztBQUNaO0FBQ0U7QUFpTG5CO0FBM0tWLElBQU0sWUFBWTtJQUFDO0lBQUs7SUFBUztJQUFXLFdBQVc7Q0FBQTtBQUN2RCxJQUFNLGlCQUFpQjtJQUFDO0lBQUssT0FBTztDQUFBO0FBTXBDLElBQU0sY0FBYztBQUdwQixJQUFNLENBQUMsWUFBWSxlQUFlLHFCQUFxQixJQUFJLDRFQUFnQixDQUd6RSxXQUFXO0FBR2IsSUFBTSxDQUFDLHFCQUFxQixpQkFBaUIsSUFBSSwyRUFBa0IsQ0FBQyxhQUFhO0lBQy9FO0lBQ0EscUVBQWlCO0NBQ2xCO0FBQ0QsSUFBTSxpQkFBaUIseUVBQWlCLENBQUM7QUFvQnpDLElBQU0sQ0FBQyxnQkFBZ0IsZ0JBQWdCLElBQUksb0JBQXdDLFdBQVc7QUFROUYsSUFBTSxDQUFDLDZCQUE2Qiw2QkFBNkIsSUFDL0Qsb0JBQXFELFdBQVc7QUFvRGxFLElBQU0sU0FBZ0MsQ0FBQztJQUNyQyxNQUFNLEVBQ0osZUFDQSxVQUNBLE1BQU0sVUFDTixhQUNBLGNBQ0EsT0FBTyxXQUNQLGNBQ0EsZUFDQSxLQUNBLE1BQ0EsY0FDQSxVQUNBLFVBQ0EsTUFDRixHQUFJO0lBQ0osTUFBTSxjQUFjLGVBQWUsYUFBYTtJQUNoRCxNQUFNLENBQUMsU0FBUyxVQUFVLElBQVUsNENBQXNDLElBQUk7SUFDOUUsTUFBTSxDQUFDLFdBQVcsWUFBWSxJQUFVLDRDQUFvQyxJQUFJO0lBQ2hGLE1BQU0sQ0FBQyxzQkFBc0IsdUJB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InNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxzcmNcXHNlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IGNsYW1wIH0gZnJvbSAnQHJhZGl4LXVpL251bWJlcic7XG5pbXBvcnQgeyBjb21wb3NlRXZlbnRIYW5kbGVycyB9IGZyb20gJ0ByYWRpeC11aS9wcmltaXRpdmUnO1xuaW1wb3J0IHsgY3JlYXRlQ29sbGVjdGlvbiB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb2xsZWN0aW9uJztcbmltcG9ydCB7IHVzZUNvbXBvc2VkUmVmcyB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnMnO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dFNjb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbnRleHQnO1xuaW1wb3J0IHsgdXNlRGlyZWN0aW9uIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWRpcmVjdGlvbic7XG5pbXBvcnQgeyBEaXNtaXNzYWJsZUxheWVyIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWRpc21pc3NhYmxlLWxheWVyJztcbmltcG9ydCB7IHVzZUZvY3VzR3VhcmRzIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWZvY3VzLWd1YXJkcyc7XG5pbXBvcnQgeyBGb2N1c1Njb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWZvY3VzLXNjb3BlJztcbmltcG9ydCB7IHVzZUlkIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWlkJztcbmltcG9ydCAqIGFzIFBvcHBlclByaW1pdGl2ZSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtcG9wcGVyJztcbmltcG9ydCB7IGNyZWF0ZVBvcHBlclNjb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXBvcHBlcic7XG5pbXBvcnQgeyBQb3J0YWwgYXMgUG9ydGFsUHJpbWl0aXZlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXBvcnRhbCc7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlJztcbmltcG9ydCB7IGNyZWF0ZVNsb3QgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3Qtc2xvdCc7XG5pbXBvcnQgeyB1c2VDYWxsYmFja1JlZiB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtY2FsbGJhY2stcmVmJztcbmltcG9ydCB7IHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGUnO1xuaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0IH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1sYXlvdXQtZWZmZWN0JztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1wcmV2aW91cyc7XG5pbXBvcnQgeyBWSVNVQUxMWV9ISURERU5fU1RZTEVTIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXZpc3VhbGx5LWhpZGRlbic7XG5pbXBvcnQgeyBoaWRlT3RoZXJzIH0gZnJvbSAnYXJpYS1oaWRkZW4nO1xuaW1wb3J0IHsgUmVtb3ZlU2Nyb2xsIH0gZnJvbSAncmVhY3QtcmVtb3ZlLXNjcm9sbCc7XG5cbmltcG9ydCB0eXBlIHsgU2NvcGUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29udGV4dCc7XG5cbnR5cGUgRGlyZWN0aW9uID0gJ2x0cicgfCAncnRsJztcblxuY29uc3QgT1BFTl9LRVlTID0gWycgJywgJ0VudGVyJywgJ0Fycm93VXAnLCAnQXJyb3dEb3duJ107XG5jb25zdCBTRUxFQ1RJT05fS0VZUyA9IFsnICcsICdFbnRlciddO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgU0VMRUNUX05BTUUgPSAnU2VsZWN0JztcblxudHlwZSBJdGVtRGF0YSA9IHsgdmFsdWU6IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW47IHRleHRWYWx1ZTogc3RyaW5nIH07XG5jb25zdCBbQ29sbGVjdGlvbiwgdXNlQ29sbGVjdGlvbiwgY3JlYXRlQ29sbGVjdGlvblNjb3BlXSA9IGNyZWF0ZUNvbGxlY3Rpb248XG4gIFNlbGVjdEl0ZW1FbGVtZW50LFxuICBJdGVtRGF0YVxuPihTRUxFQ1RfTkFNRSk7XG5cbnR5cGUgU2NvcGVkUHJvcHM8UD4gPSBQICYgeyBfX3Njb3BlU2VsZWN0PzogU2NvcGUgfTtcbmNvbnN0IFtjcmVhdGVTZWxlY3RDb250ZXh0LCBjcmVhdGVTZWxlY3RTY29wZV0gPSBjcmVhdGVDb250ZXh0U2NvcGUoU0VMRUNUX05BTUUsIFtcbiAgY3JlYXRlQ29sbGVjdGlvblNjb3BlLFxuICBjcmVhdGVQb3BwZXJTY29wZSxcbl0pO1xuY29uc3QgdXNlUG9wcGVyU2NvcGUgPSBjcmVhdGVQb3BwZXJTY29wZSgpO1xuXG50eXBlIFNlbGVjdENvbnRleHRWYWx1ZSA9IHtcbiAgdHJpZ2dlcjogU2VsZWN0VHJpZ2dlckVsZW1lbnQgfCBudWxsO1xuICBvblRyaWdnZXJDaGFuZ2Uobm9kZTogU2VsZWN0VHJpZ2dlckVsZW1lbnQgfCBudWxsKTogdm9pZDtcbiAgdmFsdWVOb2RlOiBTZWxlY3RWYWx1ZUVsZW1lbnQgfCBudWxsO1xuICBvblZhbHVlTm9kZUNoYW5nZShub2RlOiBTZWxlY3RWYWx1ZUVsZW1lbnQpOiB2b2lkO1xuICB2YWx1ZU5vZGVIYXNDaGlsZHJlbjogYm9vbGVhbjtcbiAgb25WYWx1ZU5vZGVIYXNDaGlsZHJlbkNoYW5nZShoYXNDaGlsZHJlbjogYm9vbGVhbik6IHZvaWQ7XG4gIGNvbnRlbnRJZDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xuICBvcGVuOiBib29sZWFuO1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZDtcbiAgZGlyOiBTZWxlY3RQcm9wc1snZGlyJ107XG4gIHRyaWdnZXJQb2ludGVyRG93blBvc1JlZjogUmVhY3QuTXV0YWJsZVJlZk9iamVjdDx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gfCBudWxsPjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufTtcblxuY29uc3QgW1NlbGVjdFByb3ZpZGVyLCB1c2VTZWxlY3RDb250ZXh0XSA9IGNyZWF0ZVNlbGVjdENvbnRleHQ8U2VsZWN0Q29udGV4dFZhbHVlPihTRUxFQ1RfTkFNRSk7XG5cbnR5cGUgTmF0aXZlT3B0aW9uID0gUmVhY3QuUmVhY3RFbGVtZW50PFJlYWN0LkNvbXBvbmVudFByb3BzPCdvcHRpb24nPj47XG5cbnR5cGUgU2VsZWN0TmF0aXZlT3B0aW9uc0NvbnRleHRWYWx1ZSA9IHtcbiAgb25OYXRpdmVPcHRpb25BZGQob3B0aW9uOiBOYXRpdmVPcHRpb24pOiB2b2lkO1xuICBvbk5hdGl2ZU9wdGlvblJlbW92ZShvcHRpb246IE5hdGl2ZU9wdGlvbik6IHZvaWQ7XG59O1xuY29uc3QgW1NlbGVjdE5hdGl2ZU9wdGlvbnNQcm92aWRlciwgdXNlU2VsZWN0TmF0aXZlT3B0aW9uc0NvbnRleHRdID1cbiAgY3JlYXRlU2VsZWN0Q29udGV4dDxTZWxlY3ROYXRpdmVPcHRpb25zQ29udGV4dFZhbHVlPihTRUxFQ1RfTkFNRSk7XG5cbmludGVyZmFjZSBDb250cm9sbGVkQ2xlYXJhYmxlU2VsZWN0UHJvcHMge1xuICB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBkZWZhdWx0VmFsdWU/OiBuZXZlcjtcbiAgb25WYWx1ZUNoYW5nZTogKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBDb250cm9sbGVkVW5jbGVhcmFibGVTZWxlY3RQcm9wcyB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRlZmF1bHRWYWx1ZT86IG5ldmVyO1xuICBvblZhbHVlQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuaW50ZXJmYWNlIFVuY29udHJvbGxlZFNlbGVjdFByb3BzIHtcbiAgdmFsdWU/OiBuZXZlcjtcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICBvblZhbHVlQ2hhbmdlPzoge1xuICAgICh2YWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgICAodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQ7XG4gIH07XG59XG5cbnR5cGUgU2VsZWN0Q29udHJvbFByb3BzID1cbiAgfCBDb250cm9sbGVkQ2xlYXJhYmxlU2VsZWN0UHJvcHNcbiAgfCBDb250cm9sbGVkVW5jbGVhcmFibGVTZWxlY3RQcm9wc1xuICB8IFVuY29udHJvbGxlZFNlbGVjdFByb3BzO1xuXG5pbnRlcmZhY2UgU2VsZWN0U2hhcmVkUHJvcHMge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgb3Blbj86IGJvb2xlYW47XG4gIGRlZmF1bHRPcGVuPzogYm9vbGVhbjtcbiAgb25PcGVuQ2hhbmdlPyhvcGVuOiBib29sZWFuKTogdm9pZDtcbiAgZGlyPzogRGlyZWN0aW9uO1xuICBuYW1lPzogc3RyaW5nO1xuICBhdXRvQ29tcGxldGU/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBmb3JtPzogc3RyaW5nO1xufVxuXG4vLyBUT0RPOiBTaG91bGQgaW1wcm92ZSB0eXBpbmcgc29tZXdoYXQsIGJ1dCB0aGlzIHdvdWxkIGJlIGEgYnJlYWtpbmcgY2hhbmdlLlxuLy8gQ29uc2lkZXIgdXNpbmcgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiAoYWxvbmcgd2l0aCBzb21lIHRlc3RpbmcgdG8gYmUgc3VyZVxuLy8gaXQgd29ya3MgYXMgZXhwZWN0ZWQgYW5kIGRvZXNuJ3QgY2F1c2UgcHJvYmxlbXMpXG50eXBlIF9GdXR1cmVTZWxlY3RQcm9wcyA9IFNlbGVjdFNoYXJlZFByb3BzICYgU2VsZWN0Q29udHJvbFByb3BzO1xuXG50eXBlIFNlbGVjdFByb3BzID0gU2VsZWN0U2hhcmVkUHJvcHMgJiB7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gIG9uVmFsdWVDaGFuZ2U/KHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xufTtcblxuY29uc3QgU2VsZWN0OiBSZWFjdC5GQzxTZWxlY3RQcm9wcz4gPSAocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdFByb3BzPikgPT4ge1xuICBjb25zdCB7XG4gICAgX19zY29wZVNlbGVjdCxcbiAgICBjaGlsZHJlbixcbiAgICBvcGVuOiBvcGVuUHJvcCxcbiAgICBkZWZhdWx0T3BlbixcbiAgICBvbk9wZW5DaGFuZ2UsXG4gICAgdmFsdWU6IHZhbHVlUHJvcCxcbiAgICBkZWZhdWx0VmFsdWUsXG4gICAgb25WYWx1ZUNoYW5nZSxcbiAgICBkaXIsXG4gICAgbmFtZSxcbiAgICBhdXRvQ29tcGxldGUsXG4gICAgZGlzYWJsZWQsXG4gICAgcmVxdWlyZWQsXG4gICAgZm9ybSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBwb3BwZXJTY29wZSA9IHVzZVBvcHBlclNjb3BlKF9fc2NvcGVTZWxlY3QpO1xuICBjb25zdCBbdHJpZ2dlciwgc2V0VHJpZ2dlcl0gPSBSZWFjdC51c2VTdGF0ZTxTZWxlY3RUcmlnZ2VyRWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbdmFsdWVOb2RlLCBzZXRWYWx1ZU5vZGVdID0gUmVhY3QudXNlU3RhdGU8U2VsZWN0VmFsdWVFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFt2YWx1ZU5vZGVIYXNDaGlsZHJlbiwgc2V0VmFsdWVOb2RlSGFzQ2hpbGRyZW5dID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBkaXJlY3Rpb24gPSB1c2VEaXJlY3Rpb24oZGlyKTtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlQ29udHJvbGxhYmxlU3RhdGUoe1xuICAgIHByb3A6IG9wZW5Qcm9wLFxuICAgIGRlZmF1bHRQcm9wOiBkZWZhdWx0T3BlbiA/PyBmYWxzZSxcbiAgICBvbkNoYW5nZTogb25PcGVuQ2hhbmdlLFxuICAgIGNhbGxlcjogU0VMRUNUX05BTUUsXG4gIH0pO1xuICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IHVzZUNvbnRyb2xsYWJsZVN0YXRlKHtcbiAgICBwcm9wOiB2YWx1ZVByb3AsXG4gICAgZGVmYXVsdFByb3A6IGRlZmF1bHRWYWx1ZSxcbiAgICBvbkNoYW5nZTogb25WYWx1ZUNoYW5nZSBhcyBhbnksXG4gICAgY2FsbGVyOiBTRUxFQ1RfTkFNRSxcbiAgfSk7XG4gIGNvbnN0IHRyaWdnZXJQb2ludGVyRG93blBvc1JlZiA9IFJlYWN0LnVzZVJlZjx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gfCBudWxsPihudWxsKTtcblxuICAvLyBXZSBzZXQgdGhpcyB0byB0cnVlIGJ5IGRlZmF1bHQgc28gdGhhdCBldmVudHMgYnViYmxlIHRvIGZvcm1zIHdpdGhvdXQgSlMgKFNTUilcbiAgY29uc3QgaXNGb3JtQ29udHJvbCA9IHRyaWdnZXIgPyBmb3JtIHx8ICEhdHJpZ2dlci5jbG9zZXN0KCdmb3JtJykgOiB0cnVlO1xuICBjb25zdCBbbmF0aXZlT3B0aW9uc1NldCwgc2V0TmF0aXZlT3B0aW9uc1NldF0gPSBSZWFjdC51c2VTdGF0ZShuZXcgU2V0PE5hdGl2ZU9wdGlvbj4oKSk7XG5cbiAgLy8gVGhlIG5hdGl2ZSBgc2VsZWN0YCBvbmx5IGFzc29jaWF0ZXMgdGhlIGNvcnJlY3QgZGVmYXVsdCB2YWx1ZSBpZiB0aGUgY29ycmVzcG9uZGluZ1xuICAvLyBgb3B0aW9uYCBpcyByZW5kZXJlZCBhcyBhIGNoaWxkICoqYXQgdGhlIHNhbWUgdGltZSoqIGFzIGl0c2VsZi5cbiAgLy8gQmVjYXVzZSBpdCBtaWdodCB0YWtlIGEgZmV3IHJlbmRlcnMgZm9yIG91ciBpdGVtcyB0byBnYXRoZXIgdGhlIGluZm9ybWF0aW9uIHRvIGJ1aWxkXG4gIC8vIHRoZSBuYXRpdmUgYG9wdGlvbmAocyksIHdlIGdlbmVyYXRlIGEga2V5IG9uIHRoZSBgc2VsZWN0YCB0byBtYWtlIHN1cmUgUmVhY3QgcmUtYnVpbGRzIGl0XG4gIC8vIGVhY2ggdGltZSB0aGUgb3B0aW9ucyBjaGFuZ2UuXG4gIGNvbnN0IG5hdGl2ZVNlbGVjdEtleSA9IEFycmF5LmZyb20obmF0aXZlT3B0aW9uc1NldClcbiAgICAubWFwKChvcHRpb24pID0+IG9wdGlvbi5wcm9wcy52YWx1ZSlcbiAgICAuam9pbignOycpO1xuXG4gIHJldHVybiAoXG4gICAgPFBvcHBlclByaW1pdGl2ZS5Sb290IHsuLi5wb3BwZXJTY29wZX0+XG4gICAgICA8U2VsZWN0UHJvdmlkZXJcbiAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICBzY29wZT17X19zY29wZVNlbGVjdH1cbiAgICAgICAgdHJpZ2dlcj17dHJpZ2dlcn1cbiAgICAgICAgb25UcmlnZ2VyQ2hhbmdlPXtzZXRUcmlnZ2VyfVxuICAgICAgICB2YWx1ZU5vZGU9e3ZhbHVlTm9kZX1cbiAgICAgICAgb25WYWx1ZU5vZGVDaGFuZ2U9e3NldFZhbHVlTm9kZX1cbiAgICAgICAgdmFsdWVOb2RlSGFzQ2hpbGRyZW49e3ZhbHVlTm9kZUhhc0NoaWxkcmVufVxuICAgICAgICBvblZhbHVlTm9kZUhhc0NoaWxkcmVuQ2hhbmdlPXtzZXRWYWx1ZU5vZGVIYXNDaGlsZHJlbn1cbiAgICAgICAgY29udGVudElkPXt1c2VJZCgpfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIG9uVmFsdWVDaGFuZ2U9e3NldFZhbHVlfVxuICAgICAgICBvcGVuPXtvcGVufVxuICAgICAgICBvbk9wZW5DaGFuZ2U9e3NldE9wZW59XG4gICAgICAgIGRpcj17ZGlyZWN0aW9ufVxuICAgICAgICB0cmlnZ2VyUG9pbnRlckRvd25Qb3NSZWY9e3RyaWdnZXJQb2ludGVyRG93blBvc1JlZn1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgPlxuICAgICAgICA8Q29sbGVjdGlvbi5Qcm92aWRlciBzY29wZT17X19zY29wZVNlbGVjdH0+XG4gICAgICAgICAgPFNlbGVjdE5hdGl2ZU9wdGlvbnNQcm92aWRlclxuICAgICAgICAgICAgc2NvcGU9e3Byb3BzLl9fc2NvcGVTZWxlY3R9XG4gICAgICAgICAgICBvbk5hdGl2ZU9wdGlvbkFkZD17UmVhY3QudXNlQ2FsbGJhY2soKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICBzZXROYXRpdmVPcHRpb25zU2V0KChwcmV2KSA9PiBuZXcgU2V0KHByZXYpLmFkZChvcHRpb24pKTtcbiAgICAgICAgICAgIH0sIFtdKX1cbiAgICAgICAgICAgIG9uTmF0aXZlT3B0aW9uUmVtb3ZlPXtSZWFjdC51c2VDYWxsYmFjaygob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIHNldE5hdGl2ZU9wdGlvbnNTZXQoKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zU2V0ID0gbmV3IFNldChwcmV2KTtcbiAgICAgICAgICAgICAgICBvcHRpb25zU2V0LmRlbGV0ZShvcHRpb24pO1xuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zU2V0O1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sIFtdKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9TZWxlY3ROYXRpdmVPcHRpb25zUHJvdmlkZXI+XG4gICAgICAgIDwvQ29sbGVjdGlvbi5Qcm92aWRlcj5cblxuICAgICAgICB7aXNGb3JtQ29udHJvbCA/IChcbiAgICAgICAgICA8U2VsZWN0QnViYmxlSW5wdXRcbiAgICAgICAgICAgIGtleT17bmF0aXZlU2VsZWN0S2V5fVxuICAgICAgICAgICAgYXJpYS1oaWRkZW5cbiAgICAgICAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIC8vIGVuYWJsZSBmb3JtIGF1dG9maWxsXG4gICAgICAgICAgICBvbkNoYW5nZT17KGV2ZW50KSA9PiBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgZm9ybT17Zm9ybX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dmFsdWUgPT09IHVuZGVmaW5lZCA/IDxvcHRpb24gdmFsdWU9XCJcIiAvPiA6IG51bGx9XG4gICAgICAgICAgICB7QXJyYXkuZnJvbShuYXRpdmVPcHRpb25zU2V0KX1cbiAgICAgICAgICA8L1NlbGVjdEJ1YmJsZUlucHV0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU2VsZWN0UHJvdmlkZXI+XG4gICAgPC9Qb3BwZXJQcmltaXRpdmUuUm9vdD5cbiAgKTtcbn07XG5cblNlbGVjdC5kaXNwbGF5TmFtZSA9IFNFTEVDVF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RUcmlnZ2VyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFRSSUdHRVJfTkFNRSA9ICdTZWxlY3RUcmlnZ2VyJztcblxudHlwZSBTZWxlY3RUcmlnZ2VyRWxlbWVudCA9IFJlYWN0LkNvbXBvbmVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmJ1dHRvbj47XG50eXBlIFByaW1pdGl2ZUJ1dHRvblByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuYnV0dG9uPjtcbmludGVyZmFjZSBTZWxlY3RUcmlnZ2VyUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVCdXR0b25Qcm9wcyB7fVxuXG5jb25zdCBTZWxlY3RUcmlnZ2VyID0gUmVhY3QuZm9yd2FyZFJlZjxTZWxlY3RUcmlnZ2VyRWxlbWVudCwgU2VsZWN0VHJpZ2dlclByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RUcmlnZ2VyUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIGRpc2FibGVkID0gZmFsc2UsIC4uLnRyaWdnZXJQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgcG9wcGVyU2NvcGUgPSB1c2VQb3BwZXJTY29wZShfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlU2VsZWN0Q29udGV4dChUUklHR0VSX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBjb250ZXh0LmRpc2FibGVkIHx8IGRpc2FibGVkO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIGNvbnRleHQub25UcmlnZ2VyQ2hhbmdlKTtcbiAgICBjb25zdCBnZXRJdGVtcyA9IHVzZUNvbGxlY3Rpb24oX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgcG9pbnRlclR5cGVSZWYgPSBSZWFjdC51c2VSZWY8UmVhY3QuUG9pbnRlckV2ZW50Wydwb2ludGVyVHlwZSddPigndG91Y2gnKTtcblxuICAgIGNvbnN0IFtzZWFyY2hSZWYsIGhhbmRsZVR5cGVhaGVhZFNlYXJjaCwgcmVzZXRUeXBlYWhlYWRdID0gdXNlVHlwZWFoZWFkU2VhcmNoKChzZWFyY2gpID0+IHtcbiAgICAgIGNvbnN0IGVuYWJsZWRJdGVtcyA9IGdldEl0ZW1zKCkuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCk7XG4gICAgICBjb25zdCBjdXJyZW50SXRlbSA9IGVuYWJsZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSBjb250ZXh0LnZhbHVlKTtcbiAgICAgIGNvbnN0IG5leHRJdGVtID0gZmluZE5leHRJdGVtKGVuYWJsZWRJdGVtcywgc2VhcmNoLCBjdXJyZW50SXRlbSk7XG4gICAgICBpZiAobmV4dEl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb250ZXh0Lm9uVmFsdWVDaGFuZ2UobmV4dEl0ZW0udmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgaGFuZGxlT3BlbiA9IChwb2ludGVyRXZlbnQ/OiBSZWFjdC5Nb3VzZUV2ZW50IHwgUmVhY3QuUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWlzRGlzYWJsZWQpIHtcbiAgICAgICAgY29udGV4dC5vbk9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgIC8vIHJlc2V0IHR5cGVhaGVhZCB3aGVuIHdlIG9wZW5cbiAgICAgICAgcmVzZXRUeXBlYWhlYWQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHBvaW50ZXJFdmVudCkge1xuICAgICAgICBjb250ZXh0LnRyaWdnZXJQb2ludGVyRG93blBvc1JlZi5jdXJyZW50ID0ge1xuICAgICAgICAgIHg6IE1hdGgucm91bmQocG9pbnRlckV2ZW50LnBhZ2VYKSxcbiAgICAgICAgICB5OiBNYXRoLnJvdW5kKHBvaW50ZXJFdmVudC5wYWdlWSksXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8UG9wcGVyUHJpbWl0aXZlLkFuY2hvciBhc0NoaWxkIHsuLi5wb3BwZXJTY29wZX0+XG4gICAgICAgIDxQcmltaXRpdmUuYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgICAgICBhcmlhLWNvbnRyb2xzPXtjb250ZXh0LmNvbnRlbnRJZH1cbiAgICAgICAgICBhcmlhLWV4cGFuZGVkPXtjb250ZXh0Lm9wZW59XG4gICAgICAgICAgYXJpYS1yZXF1aXJlZD17Y29udGV4dC5yZXF1aXJlZH1cbiAgICAgICAgICBhcmlhLWF1dG9jb21wbGV0ZT1cIm5vbmVcIlxuICAgICAgICAgIGRpcj17Y29udGV4dC5kaXJ9XG4gICAgICAgICAgZGF0YS1zdGF0ZT17Y29udGV4dC5vcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCd9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgZGF0YS1kaXNhYmxlZD17aXNEaXNhYmxlZCA/ICcnIDogdW5kZWZpbmVkfVxuICAgICAgICAgIGRhdGEtcGxhY2Vob2xkZXI9e3Nob3VsZFNob3dQbGFjZWhvbGRlcihjb250ZXh0LnZhbHVlKSA/ICcnIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHsuLi50cmlnZ2VyUHJvcHN9XG4gICAgICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICAgICAgLy8gRW5hYmxlIGNvbXBhdGliaWxpdHkgd2l0aCBuYXRpdmUgbGFiZWwgb3IgY3VzdG9tIGBMYWJlbGAgXCJjbGlja1wiIGZvciBTYWZhcmk6XG4gICAgICAgICAgb25DbGljaz17Y29tcG9zZUV2ZW50SGFuZGxlcnModHJpZ2dlclByb3BzLm9uQ2xpY2ssIChldmVudCkgPT4ge1xuICAgICAgICAgICAgLy8gV2hpbHN0IGJyb3dzZXJzIGdlbmVyYWxseSBoYXZlIG5vIGlzc3VlIGZvY3VzaW5nIHRoZSB0cmlnZ2VyIHdoZW4gY2xpY2tpbmdcbiAgICAgICAgICAgIC8vIG9uIGEgbGFiZWwsIFNhZmFyaSBzZWVtcyB0byBzdHJ1Z2dsZSB3aXRoIHRoZSBmYWN0IHRoYXQgdGhlcmUncyBubyBgb25DbGlja2AuXG4gICAgICAgICAgICAvLyBXZSBmb3JjZSBgZm9jdXNgIGluIHRoaXMgY2FzZS4gTm90ZTogdGhpcyBkb2Vzbid0IGNyZWF0ZSBhbnkgb3RoZXIgc2lkZS1lZmZlY3RcbiAgICAgICAgICAgIC8vIGJlY2F1c2Ugd2UgYXJlIHByZXZlbnRpbmcgZGVmYXVsdCBpbiBgb25Qb2ludGVyRG93bmAgc28gZWZmZWN0aXZlbHlcbiAgICAgICAgICAgIC8vIHRoaXMgb25seSBydW5zIGZvciBhIGxhYmVsIFwiY2xpY2tcIlxuICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5mb2N1cygpO1xuXG4gICAgICAgICAgICAvLyBPcGVuIG9uIGNsaWNrIHdoZW4gdXNpbmcgYSB0b3VjaCBvciBwZW4gZGV2aWNlXG4gICAgICAgICAgICBpZiAocG9pbnRlclR5cGVSZWYuY3VycmVudCAhPT0gJ21vdXNlJykge1xuICAgICAgICAgICAgICBoYW5kbGVPcGVuKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KX1cbiAgICAgICAgICBvblBvaW50ZXJEb3duPXtjb21wb3NlRXZlbnRIYW5kbGVycyh0cmlnZ2VyUHJvcHMub25Qb2ludGVyRG93biwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBwb2ludGVyVHlwZVJlZi5jdXJyZW50ID0gZXZlbnQucG9pbnRlclR5cGU7XG5cbiAgICAgICAgICAgIC8vIHByZXZlbnQgaW1wbGljaXQgcG9pbnRlciBjYXB0dXJlXG4gICAgICAgICAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvcG9pbnRlcmV2ZW50czMvI2ltcGxpY2l0LXBvaW50ZXItY2FwdHVyZVxuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgaWYgKHRhcmdldC5oYXNQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpKSB7XG4gICAgICAgICAgICAgIHRhcmdldC5yZWxlYXNlUG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gb25seSBjYWxsIGhhbmRsZXIgaWYgaXQncyB0aGUgbGVmdCBidXR0b24gKG1vdXNlZG93biBnZXRzIHRyaWdnZXJlZCBieSBhbGwgbW91c2UgYnV0dG9ucylcbiAgICAgICAgICAgIC8vIGJ1dCBub3Qgd2hlbiB0aGUgY29udHJvbCBrZXkgaXMgcHJlc3NlZCAoYXZvaWRpbmcgTWFjT1MgcmlnaHQgY2xpY2spOyBhbHNvIG5vdCBmb3IgdG91Y2hcbiAgICAgICAgICAgIC8vIGRldmljZXMgYmVjYXVzZSB0aGF0IHdvdWxkIG9wZW4gdGhlIG1lbnUgb24gc2Nyb2xsLiAocGVuIGRldmljZXMgYmVoYXZlIGFzIHRvdWNoIG9uIGlPUykuXG4gICAgICAgICAgICBpZiAoZXZlbnQuYnV0dG9uID09PSAwICYmIGV2ZW50LmN0cmxLZXkgPT09IGZhbHNlICYmIGV2ZW50LnBvaW50ZXJUeXBlID09PSAnbW91c2UnKSB7XG4gICAgICAgICAgICAgIGhhbmRsZU9wZW4oZXZlbnQpO1xuICAgICAgICAgICAgICAvLyBwcmV2ZW50IHRyaWdnZXIgZnJvbSBzdGVhbGluZyBmb2N1cyBmcm9tIHRoZSBhY3RpdmUgaXRlbSBhZnRlciBvcGVuaW5nLlxuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIG9uS2V5RG93bj17Y29tcG9zZUV2ZW50SGFuZGxlcnModHJpZ2dlclByb3BzLm9uS2V5RG93biwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc1R5cGluZ0FoZWFkID0gc2VhcmNoUmVmLmN1cnJlbnQgIT09ICcnO1xuICAgICAgICAgICAgY29uc3QgaXNNb2RpZmllcktleSA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQuYWx0S2V5IHx8IGV2ZW50Lm1ldGFLZXk7XG4gICAgICAgICAgICBpZiAoIWlzTW9kaWZpZXJLZXkgJiYgZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSkgaGFuZGxlVHlwZWFoZWFkU2VhcmNoKGV2ZW50LmtleSk7XG4gICAgICAgICAgICBpZiAoaXNUeXBpbmdBaGVhZCAmJiBldmVudC5rZXkgPT09ICcgJykgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKE9QRU5fS0VZUy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICAgIGhhbmRsZU9wZW4oKTtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KX1cbiAgICAgICAgLz5cbiAgICAgIDwvUG9wcGVyUHJpbWl0aXZlLkFuY2hvcj5cbiAgICApO1xuICB9XG4pO1xuXG5TZWxlY3RUcmlnZ2VyLmRpc3BsYXlOYW1lID0gVFJJR0dFUl9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RWYWx1ZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBWQUxVRV9OQU1FID0gJ1NlbGVjdFZhbHVlJztcblxudHlwZSBTZWxlY3RWYWx1ZUVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5zcGFuPjtcbnR5cGUgUHJpbWl0aXZlU3BhblByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuc3Bhbj47XG5pbnRlcmZhY2UgU2VsZWN0VmFsdWVQcm9wcyBleHRlbmRzIE9taXQ8UHJpbWl0aXZlU3BhblByb3BzLCAncGxhY2Vob2xkZXInPiB7XG4gIHBsYWNlaG9sZGVyPzogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5jb25zdCBTZWxlY3RWYWx1ZSA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0VmFsdWVFbGVtZW50LCBTZWxlY3RWYWx1ZVByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RWYWx1ZVByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgLy8gV2UgaWdub3JlIGBjbGFzc05hbWVgIGFuZCBgc3R5bGVgIGFzIHRoaXMgcGFydCBzaG91bGRuJ3QgYmUgc3R5bGVkLlxuICAgIGNvbnN0IHsgX19zY29wZVNlbGVjdCwgY2xhc3NOYW1lLCBzdHlsZSwgY2hpbGRyZW4sIHBsYWNlaG9sZGVyID0gJycsIC4uLnZhbHVlUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTZWxlY3RDb250ZXh0KFZBTFVFX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIGNvbnN0IHsgb25WYWx1ZU5vZGVIYXNDaGlsZHJlbkNoYW5nZSB9ID0gY29udGV4dDtcbiAgICBjb25zdCBoYXNDaGlsZHJlbiA9IGNoaWxkcmVuICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgY29udGV4dC5vblZhbHVlTm9kZUNoYW5nZSk7XG5cbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgb25WYWx1ZU5vZGVIYXNDaGlsZHJlbkNoYW5nZShoYXNDaGlsZHJlbik7XG4gICAgfSwgW29uVmFsdWVOb2RlSGFzQ2hpbGRyZW5DaGFuZ2UsIGhhc0NoaWxkcmVuXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFByaW1pdGl2ZS5zcGFuXG4gICAgICAgIHsuLi52YWx1ZVByb3BzfVxuICAgICAgICByZWY9e2NvbXBvc2VkUmVmc31cbiAgICAgICAgLy8gd2UgZG9uJ3Qgd2FudCBldmVudHMgZnJvbSB0aGUgcG9ydGFsbGVkIGBTZWxlY3RWYWx1ZWAgY2hpbGRyZW4gdG8gYnViYmxlXG4gICAgICAgIC8vIHRocm91Z2ggdGhlIGl0ZW0gdGhleSBjYW1lIGZyb21cbiAgICAgICAgc3R5bGU9e3sgcG9pbnRlckV2ZW50czogJ25vbmUnIH19XG4gICAgICA+XG4gICAgICAgIHtzaG91bGRTaG93UGxhY2Vob2xkZXIoY29udGV4dC52YWx1ZSkgPyA8PntwbGFjZWhvbGRlcn08Lz4gOiBjaGlsZHJlbn1cbiAgICAgIDwvUHJpbWl0aXZlLnNwYW4+XG4gICAgKTtcbiAgfVxuKTtcblxuU2VsZWN0VmFsdWUuZGlzcGxheU5hbWUgPSBWQUxVRV9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RJY29uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IElDT05fTkFNRSA9ICdTZWxlY3RJY29uJztcblxudHlwZSBTZWxlY3RJY29uRWxlbWVudCA9IFJlYWN0LkNvbXBvbmVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLnNwYW4+O1xuaW50ZXJmYWNlIFNlbGVjdEljb25Qcm9wcyBleHRlbmRzIFByaW1pdGl2ZVNwYW5Qcm9wcyB7fVxuXG5jb25zdCBTZWxlY3RJY29uID0gUmVhY3QuZm9yd2FyZFJlZjxTZWxlY3RJY29uRWxlbWVudCwgU2VsZWN0SWNvblByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RJY29uUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIGNoaWxkcmVuLCAuLi5pY29uUHJvcHMgfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8UHJpbWl0aXZlLnNwYW4gYXJpYS1oaWRkZW4gey4uLmljb25Qcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9PlxuICAgICAgICB7Y2hpbGRyZW4gfHwgJ+KWvCd9XG4gICAgICA8L1ByaW1pdGl2ZS5zcGFuPlxuICAgICk7XG4gIH1cbik7XG5cblNlbGVjdEljb24uZGlzcGxheU5hbWUgPSBJQ09OX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNlbGVjdFBvcnRhbFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBQT1JUQUxfTkFNRSA9ICdTZWxlY3RQb3J0YWwnO1xuXG50eXBlIFBvcnRhbFByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQb3J0YWxQcmltaXRpdmU+O1xuaW50ZXJmYWNlIFNlbGVjdFBvcnRhbFByb3BzIHtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBTcGVjaWZ5IGEgY29udGFpbmVyIGVsZW1lbnQgdG8gcG9ydGFsIHRoZSBjb250ZW50IGludG8uXG4gICAqL1xuICBjb250YWluZXI/OiBQb3J0YWxQcm9wc1snY29udGFpbmVyJ107XG59XG5cbmNvbnN0IFNlbGVjdFBvcnRhbDogUmVhY3QuRkM8U2VsZWN0UG9ydGFsUHJvcHM+ID0gKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RQb3J0YWxQcm9wcz4pID0+IHtcbiAgcmV0dXJuIDxQb3J0YWxQcmltaXRpdmUgYXNDaGlsZCB7Li4ucHJvcHN9IC8+O1xufTtcblxuU2VsZWN0UG9ydGFsLmRpc3BsYXlOYW1lID0gUE9SVEFMX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNlbGVjdENvbnRlbnRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgQ09OVEVOVF9OQU1FID0gJ1NlbGVjdENvbnRlbnQnO1xuXG50eXBlIFNlbGVjdENvbnRlbnRFbGVtZW50ID0gU2VsZWN0Q29udGVudEltcGxFbGVtZW50O1xuaW50ZXJmYWNlIFNlbGVjdENvbnRlbnRQcm9wcyBleHRlbmRzIFNlbGVjdENvbnRlbnRJbXBsUHJvcHMge31cblxuY29uc3QgU2VsZWN0Q29udGVudCA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0Q29udGVudEVsZW1lbnQsIFNlbGVjdENvbnRlbnRQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8U2VsZWN0Q29udGVudFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNlbGVjdENvbnRleHQoQ09OVEVOVF9OQU1FLCBwcm9wcy5fX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBbZnJhZ21lbnQsIHNldEZyYWdtZW50XSA9IFJlYWN0LnVzZVN0YXRlPERvY3VtZW50RnJhZ21lbnQ+KCk7XG5cbiAgICAvLyBzZXR0aW5nIHRoZSBmcmFnbWVudCBpbiBgdXNlTGF5b3V0RWZmZWN0YCBhcyBgRG9jdW1lbnRGcmFnbWVudGAgZG9lc24ndCBleGlzdCBvbiB0aGUgc2VydmVyXG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgIHNldEZyYWdtZW50KG5ldyBEb2N1bWVudEZyYWdtZW50KCkpO1xuICAgIH0sIFtdKTtcblxuICAgIGlmICghY29udGV4dC5vcGVuKSB7XG4gICAgICBjb25zdCBmcmFnID0gZnJhZ21lbnQgYXMgRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBmcmFnXG4gICAgICAgID8gUmVhY3RET00uY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgPFNlbGVjdENvbnRlbnRQcm92aWRlciBzY29wZT17cHJvcHMuX19zY29wZVNlbGVjdH0+XG4gICAgICAgICAgICAgIDxDb2xsZWN0aW9uLlNsb3Qgc2NvcGU9e3Byb3BzLl9fc2NvcGVTZWxlY3R9PlxuICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgICAgICAgICAgICA8L0NvbGxlY3Rpb24uU2xvdD5cbiAgICAgICAgICAgIDwvU2VsZWN0Q29udGVudFByb3ZpZGVyPixcbiAgICAgICAgICAgIGZyYWdcbiAgICAgICAgICApXG4gICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gPFNlbGVjdENvbnRlbnRJbXBsIHsuLi5wcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9IC8+O1xuICB9XG4pO1xuXG5TZWxlY3RDb250ZW50LmRpc3BsYXlOYW1lID0gQ09OVEVOVF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RDb250ZW50SW1wbFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBDT05URU5UX01BUkdJTiA9IDEwO1xuXG50eXBlIFNlbGVjdENvbnRlbnRDb250ZXh0VmFsdWUgPSB7XG4gIGNvbnRlbnQ/OiBTZWxlY3RDb250ZW50RWxlbWVudCB8IG51bGw7XG4gIHZpZXdwb3J0PzogU2VsZWN0Vmlld3BvcnRFbGVtZW50IHwgbnVsbDtcbiAgb25WaWV3cG9ydENoYW5nZT86IChub2RlOiBTZWxlY3RWaWV3cG9ydEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICBpdGVtUmVmQ2FsbGJhY2s/OiAobm9kZTogU2VsZWN0SXRlbUVsZW1lbnQgfCBudWxsLCB2YWx1ZTogc3RyaW5nLCBkaXNhYmxlZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgc2VsZWN0ZWRJdGVtPzogU2VsZWN0SXRlbUVsZW1lbnQgfCBudWxsO1xuICBvbkl0ZW1MZWF2ZT86ICgpID0+IHZvaWQ7XG4gIGl0ZW1UZXh0UmVmQ2FsbGJhY2s/OiAoXG4gICAgbm9kZTogU2VsZWN0SXRlbVRleHRFbGVtZW50IHwgbnVsbCxcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIGRpc2FibGVkOiBib29sZWFuXG4gICkgPT4gdm9pZDtcbiAgZm9jdXNTZWxlY3RlZEl0ZW0/OiAoKSA9PiB2b2lkO1xuICBzZWxlY3RlZEl0ZW1UZXh0PzogU2VsZWN0SXRlbVRleHRFbGVtZW50IHwgbnVsbDtcbiAgcG9zaXRpb24/OiBTZWxlY3RDb250ZW50UHJvcHNbJ3Bvc2l0aW9uJ107XG4gIGlzUG9zaXRpb25lZD86IGJvb2xlYW47XG4gIHNlYXJjaFJlZj86IFJlYWN0LlJlZk9iamVjdDxzdHJpbmc+O1xufTtcblxuY29uc3QgW1NlbGVjdENvbnRlbnRQcm92aWRlciwgdXNlU2VsZWN0Q29udGVudENvbnRleHRdID1cbiAgY3JlYXRlU2VsZWN0Q29udGV4dDxTZWxlY3RDb250ZW50Q29udGV4dFZhbHVlPihDT05URU5UX05BTUUpO1xuXG5jb25zdCBDT05URU5UX0lNUExfTkFNRSA9ICdTZWxlY3RDb250ZW50SW1wbCc7XG5cbnR5cGUgU2VsZWN0Q29udGVudEltcGxFbGVtZW50ID0gU2VsZWN0UG9wcGVyUG9zaXRpb25FbGVtZW50IHwgU2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbkVsZW1lbnQ7XG50eXBlIERpc21pc3NhYmxlTGF5ZXJQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRGlzbWlzc2FibGVMYXllcj47XG50eXBlIEZvY3VzU2NvcGVQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRm9jdXNTY29wZT47XG5cbnR5cGUgU2VsZWN0UG9wcGVyUHJpdmF0ZVByb3BzID0geyBvblBsYWNlZD86IFBvcHBlckNvbnRlbnRQcm9wc1snb25QbGFjZWQnXSB9O1xuXG5pbnRlcmZhY2UgU2VsZWN0Q29udGVudEltcGxQcm9wc1xuICBleHRlbmRzIE9taXQ8U2VsZWN0UG9wcGVyUG9zaXRpb25Qcm9wcywga2V5b2YgU2VsZWN0UG9wcGVyUHJpdmF0ZVByb3BzPixcbiAgICBPbWl0PFNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb25Qcm9wcywga2V5b2YgU2VsZWN0UG9wcGVyUHJpdmF0ZVByb3BzPiB7XG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIGF1dG8tZm9jdXNpbmcgb24gY2xvc2UuXG4gICAqIENhbiBiZSBwcmV2ZW50ZWQuXG4gICAqL1xuICBvbkNsb3NlQXV0b0ZvY3VzPzogRm9jdXNTY29wZVByb3BzWydvblVubW91bnRBdXRvRm9jdXMnXTtcbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIGVzY2FwZSBrZXkgaXMgZG93bi5cbiAgICogQ2FuIGJlIHByZXZlbnRlZC5cbiAgICovXG4gIG9uRXNjYXBlS2V5RG93bj86IERpc21pc3NhYmxlTGF5ZXJQcm9wc1snb25Fc2NhcGVLZXlEb3duJ107XG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSBhIGBwb2ludGVyZG93bmAgZXZlbnQgaGFwcGVucyBvdXRzaWRlIG9mIHRoZSBgRGlzbWlzc2FibGVMYXllcmAuXG4gICAqIENhbiBiZSBwcmV2ZW50ZWQuXG4gICAqL1xuICBvblBvaW50ZXJEb3duT3V0c2lkZT86IERpc21pc3NhYmxlTGF5ZXJQcm9wc1snb25Qb2ludGVyRG93bk91dHNpZGUnXTtcblxuICBwb3NpdGlvbj86ICdpdGVtLWFsaWduZWQnIHwgJ3BvcHBlcic7XG59XG5cbmNvbnN0IFNsb3QgPSBjcmVhdGVTbG90KCdTZWxlY3RDb250ZW50LlJlbW92ZVNjcm9sbCcpO1xuXG5jb25zdCBTZWxlY3RDb250ZW50SW1wbCA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0Q29udGVudEltcGxFbGVtZW50LCBTZWxlY3RDb250ZW50SW1wbFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RDb250ZW50SW1wbFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgX19zY29wZVNlbGVjdCxcbiAgICAgIHBvc2l0aW9uID0gJ2l0ZW0tYWxpZ25lZCcsXG4gICAgICBvbkNsb3NlQXV0b0ZvY3VzLFxuICAgICAgb25Fc2NhcGVLZXlEb3duLFxuICAgICAgb25Qb2ludGVyRG93bk91dHNpZGUsXG4gICAgICAvL1xuICAgICAgLy8gUG9wcGVyQ29udGVudCBwcm9wc1xuICAgICAgc2lkZSxcbiAgICAgIHNpZGVPZmZzZXQsXG4gICAgICBhbGlnbixcbiAgICAgIGFsaWduT2Zmc2V0LFxuICAgICAgYXJyb3dQYWRkaW5nLFxuICAgICAgY29sbGlzaW9uQm91bmRhcnksXG4gICAgICBjb2xsaXNpb25QYWRkaW5nLFxuICAgICAgc3RpY2t5LFxuICAgICAgaGlkZVdoZW5EZXRhY2hlZCxcbiAgICAgIGF2b2lkQ29sbGlzaW9ucyxcbiAgICAgIC8vXG4gICAgICAuLi5jb250ZW50UHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNlbGVjdENvbnRleHQoQ09OVEVOVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBbY29udGVudCwgc2V0Q29udGVudF0gPSBSZWFjdC51c2VTdGF0ZTxTZWxlY3RDb250ZW50SW1wbEVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBbdmlld3BvcnQsIHNldFZpZXdwb3J0XSA9IFJlYWN0LnVzZVN0YXRlPFNlbGVjdFZpZXdwb3J0RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXRDb250ZW50KG5vZGUpKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJdGVtLCBzZXRTZWxlY3RlZEl0ZW1dID0gUmVhY3QudXNlU3RhdGU8U2VsZWN0SXRlbUVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJdGVtVGV4dCwgc2V0U2VsZWN0ZWRJdGVtVGV4dF0gPSBSZWFjdC51c2VTdGF0ZTxTZWxlY3RJdGVtVGV4dEVsZW1lbnQgfCBudWxsPihcbiAgICAgIG51bGxcbiAgICApO1xuICAgIGNvbnN0IGdldEl0ZW1zID0gdXNlQ29sbGVjdGlvbihfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBbaXNQb3NpdGlvbmVkLCBzZXRJc1Bvc2l0aW9uZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGZpcnN0VmFsaWRJdGVtRm91bmRSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuXG4gICAgLy8gYXJpYS1oaWRlIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBjb250ZW50IChiZXR0ZXIgc3VwcG9ydGVkIGVxdWl2YWxlbnQgdG8gc2V0dGluZyBhcmlhLW1vZGFsKVxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoY29udGVudCkgcmV0dXJuIGhpZGVPdGhlcnMoY29udGVudCk7XG4gICAgfSwgW2NvbnRlbnRdKTtcblxuICAgIC8vIE1ha2Ugc3VyZSB0aGUgd2hvbGUgdHJlZSBoYXMgZm9jdXMgZ3VhcmRzIGFzIG91ciBgU2VsZWN0YCBtYXkgYmVcbiAgICAvLyB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBET00gKGJlY2F1c2Ugb2YgdGhlIGBQb3J0YWxgKVxuICAgIHVzZUZvY3VzR3VhcmRzKCk7XG5cbiAgICBjb25zdCBmb2N1c0ZpcnN0ID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgICAoY2FuZGlkYXRlczogQXJyYXk8SFRNTEVsZW1lbnQgfCBudWxsPikgPT4ge1xuICAgICAgICBjb25zdCBbZmlyc3RJdGVtLCAuLi5yZXN0SXRlbXNdID0gZ2V0SXRlbXMoKS5tYXAoKGl0ZW0pID0+IGl0ZW0ucmVmLmN1cnJlbnQpO1xuICAgICAgICBjb25zdCBbbGFzdEl0ZW1dID0gcmVzdEl0ZW1zLnNsaWNlKC0xKTtcblxuICAgICAgICBjb25zdCBQUkVWSU9VU0xZX0ZPQ1VTRURfRUxFTUVOVCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgICAgICAvLyBpZiBmb2N1cyBpcyBhbHJlYWR5IHdoZXJlIHdlIHdhbnQgdG8gZ28sIHdlIGRvbid0IHdhbnQgdG8ga2VlcCBnb2luZyB0aHJvdWdoIHRoZSBjYW5kaWRhdGVzXG4gICAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PT0gUFJFVklPVVNMWV9GT0NVU0VEX0VMRU1FTlQpIHJldHVybjtcbiAgICAgICAgICBjYW5kaWRhdGU/LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcbiAgICAgICAgICAvLyB2aWV3cG9ydCBtaWdodCBoYXZlIHBhZGRpbmcgc28gc2Nyb2xsIHRvIGl0cyBlZGdlcyB3aGVuIGZvY3VzaW5nIGZpcnN0L2xhc3QgaXRlbXMuXG4gICAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PT0gZmlyc3RJdGVtICYmIHZpZXdwb3J0KSB2aWV3cG9ydC5zY3JvbGxUb3AgPSAwO1xuICAgICAgICAgIGlmIChjYW5kaWRhdGUgPT09IGxhc3RJdGVtICYmIHZpZXdwb3J0KSB2aWV3cG9ydC5zY3JvbGxUb3AgPSB2aWV3cG9ydC5zY3JvbGxIZWlnaHQ7XG4gICAgICAgICAgY2FuZGlkYXRlPy5mb2N1cygpO1xuICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBQUkVWSU9VU0xZX0ZPQ1VTRURfRUxFTUVOVCkgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2dldEl0ZW1zLCB2aWV3cG9ydF1cbiAgICApO1xuXG4gICAgY29uc3QgZm9jdXNTZWxlY3RlZEl0ZW0gPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAgICgpID0+IGZvY3VzRmlyc3QoW3NlbGVjdGVkSXRlbSwgY29udGVudF0pLFxuICAgICAgW2ZvY3VzRmlyc3QsIHNlbGVjdGVkSXRlbSwgY29udGVudF1cbiAgICApO1xuXG4gICAgLy8gU2luY2UgdGhpcyBpcyBub3QgZGVwZW5kZW50IG9uIGxheW91dCwgd2Ugd2FudCB0byBlbnN1cmUgdGhpcyBydW5zIGF0IHRoZSBzYW1lIHRpbWUgYXNcbiAgICAvLyBvdGhlciBlZmZlY3RzIGFjcm9zcyBjb21wb25lbnRzLiBIZW5jZSB3aHkgd2UgZG9uJ3QgY2FsbCBgZm9jdXNTZWxlY3RlZEl0ZW1gIGluc2lkZSBgcG9zaXRpb25gLlxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNQb3NpdGlvbmVkKSB7XG4gICAgICAgIGZvY3VzU2VsZWN0ZWRJdGVtKCk7XG4gICAgICB9XG4gICAgfSwgW2lzUG9zaXRpb25lZCwgZm9jdXNTZWxlY3RlZEl0ZW1dKTtcblxuICAgIC8vIHByZXZlbnQgc2VsZWN0aW5nIGl0ZW1zIG9uIGBwb2ludGVydXBgIGluIHNvbWUgY2FzZXMgYWZ0ZXIgb3BlbmluZyBmcm9tIGBwb2ludGVyZG93bmBcbiAgICAvLyBhbmQgY2xvc2Ugb24gYHBvaW50ZXJ1cGAgb3V0c2lkZS5cbiAgICBjb25zdCB7IG9uT3BlbkNoYW5nZSwgdHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmIH0gPSBjb250ZXh0O1xuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoY29udGVudCkge1xuICAgICAgICBsZXQgcG9pbnRlck1vdmVEZWx0YSA9IHsgeDogMCwgeTogMCB9O1xuXG4gICAgICAgIGNvbnN0IGhhbmRsZVBvaW50ZXJNb3ZlID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgICBwb2ludGVyTW92ZURlbHRhID0ge1xuICAgICAgICAgICAgeDogTWF0aC5hYnMoTWF0aC5yb3VuZChldmVudC5wYWdlWCkgLSAodHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmLmN1cnJlbnQ/LnggPz8gMCkpLFxuICAgICAgICAgICAgeTogTWF0aC5hYnMoTWF0aC5yb3VuZChldmVudC5wYWdlWSkgLSAodHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmLmN1cnJlbnQ/LnkgPz8gMCkpLFxuICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGhhbmRsZVBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gSWYgdGhlIHBvaW50ZXIgaGFzbid0IG1vdmVkIGJ5IGEgY2VydGFpbiB0aHJlc2hvbGQgdGhlbiB3ZSBwcmV2ZW50IHNlbGVjdGluZyBpdGVtIG9uIGBwb2ludGVydXBgLlxuICAgICAgICAgIGlmIChwb2ludGVyTW92ZURlbHRhLnggPD0gMTAgJiYgcG9pbnRlck1vdmVEZWx0YS55IDw9IDEwKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBvdGhlcndpc2UsIGlmIHRoZSBldmVudCB3YXMgb3V0c2lkZSB0aGUgY29udGVudCwgY2xvc2UuXG4gICAgICAgICAgICBpZiAoIWNvbnRlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVybW92ZScsIGhhbmRsZVBvaW50ZXJNb3ZlKTtcbiAgICAgICAgICB0cmlnZ2VyUG9pbnRlckRvd25Qb3NSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHRyaWdnZXJQb2ludGVyRG93blBvc1JlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcm1vdmUnLCBoYW5kbGVQb2ludGVyTW92ZSk7XG4gICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgaGFuZGxlUG9pbnRlclVwLCB7IGNhcHR1cmU6IHRydWUsIG9uY2U6IHRydWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgaGFuZGxlUG9pbnRlck1vdmUpO1xuICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIGhhbmRsZVBvaW50ZXJVcCwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0sIFtjb250ZW50LCBvbk9wZW5DaGFuZ2UsIHRyaWdnZXJQb2ludGVyRG93blBvc1JlZl0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGNsb3NlID0gKCkgPT4gb25PcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgY2xvc2UpO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGNsb3NlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgY2xvc2UpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgY2xvc2UpO1xuICAgICAgfTtcbiAgICB9LCBbb25PcGVuQ2hhbmdlXSk7XG5cbiAgICBjb25zdCBbc2VhcmNoUmVmLCBoYW5kbGVUeXBlYWhlYWRTZWFyY2hdID0gdXNlVHlwZWFoZWFkU2VhcmNoKChzZWFyY2gpID0+IHtcbiAgICAgIGNvbnN0IGVuYWJsZWRJdGVtcyA9IGdldEl0ZW1zKCkuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCk7XG4gICAgICBjb25zdCBjdXJyZW50SXRlbSA9IGVuYWJsZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnJlZi5jdXJyZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtcbiAgICAgIGNvbnN0IG5leHRJdGVtID0gZmluZE5leHRJdGVtKGVuYWJsZWRJdGVtcywgc2VhcmNoLCBjdXJyZW50SXRlbSk7XG4gICAgICBpZiAobmV4dEl0ZW0pIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEltcGVyYXRpdmUgZm9jdXMgZHVyaW5nIGtleWRvd24gaXMgcmlza3kgc28gd2UgcHJldmVudCBSZWFjdCdzIGJhdGNoaW5nIHVwZGF0ZXNcbiAgICAgICAgICogdG8gYXZvaWQgcG90ZW50aWFsIGJ1Z3MuIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8yMDMzMlxuICAgICAgICAgKi9cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiAobmV4dEl0ZW0ucmVmLmN1cnJlbnQgYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgaXRlbVJlZkNhbGxiYWNrID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgICAobm9kZTogU2VsZWN0SXRlbUVsZW1lbnQgfCBudWxsLCB2YWx1ZTogc3RyaW5nLCBkaXNhYmxlZDogYm9vbGVhbikgPT4ge1xuICAgICAgICBjb25zdCBpc0ZpcnN0VmFsaWRJdGVtID0gIWZpcnN0VmFsaWRJdGVtRm91bmRSZWYuY3VycmVudCAmJiAhZGlzYWJsZWQ7XG4gICAgICAgIGNvbnN0IGlzU2VsZWN0ZWRJdGVtID0gY29udGV4dC52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIGNvbnRleHQudmFsdWUgPT09IHZhbHVlO1xuICAgICAgICBpZiAoaXNTZWxlY3RlZEl0ZW0gfHwgaXNGaXJzdFZhbGlkSXRlbSkge1xuICAgICAgICAgIHNldFNlbGVjdGVkSXRlbShub2RlKTtcbiAgICAgICAgICBpZiAoaXNGaXJzdFZhbGlkSXRlbSkgZmlyc3RWYWxpZEl0ZW1Gb3VuZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtjb250ZXh0LnZhbHVlXVxuICAgICk7XG4gICAgY29uc3QgaGFuZGxlSXRlbUxlYXZlID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4gY29udGVudD8uZm9jdXMoKSwgW2NvbnRlbnRdKTtcbiAgICBjb25zdCBpdGVtVGV4dFJlZkNhbGxiYWNrID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgICAobm9kZTogU2VsZWN0SXRlbVRleHRFbGVtZW50IHwgbnVsbCwgdmFsdWU6IHN0cmluZywgZGlzYWJsZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgY29uc3QgaXNGaXJzdFZhbGlkSXRlbSA9ICFmaXJzdFZhbGlkSXRlbUZvdW5kUmVmLmN1cnJlbnQgJiYgIWRpc2FibGVkO1xuICAgICAgICBjb25zdCBpc1NlbGVjdGVkSXRlbSA9IGNvbnRleHQudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBjb250ZXh0LnZhbHVlID09PSB2YWx1ZTtcbiAgICAgICAgaWYgKGlzU2VsZWN0ZWRJdGVtIHx8IGlzRmlyc3RWYWxpZEl0ZW0pIHtcbiAgICAgICAgICBzZXRTZWxlY3RlZEl0ZW1UZXh0KG5vZGUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2NvbnRleHQudmFsdWVdXG4gICAgKTtcblxuICAgIGNvbnN0IFNlbGVjdFBvc2l0aW9uID0gcG9zaXRpb24gPT09ICdwb3BwZXInID8gU2VsZWN0UG9wcGVyUG9zaXRpb24gOiBTZWxlY3RJdGVtQWxpZ25lZFBvc2l0aW9uO1xuXG4gICAgLy8gU2lsZW50bHkgaWdub3JlIHByb3BzIHRoYXQgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgYFNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb25gXG4gICAgY29uc3QgcG9wcGVyQ29udGVudFByb3BzID1cbiAgICAgIFNlbGVjdFBvc2l0aW9uID09PSBTZWxlY3RQb3BwZXJQb3NpdGlvblxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHNpZGUsXG4gICAgICAgICAgICBzaWRlT2Zmc2V0LFxuICAgICAgICAgICAgYWxpZ24sXG4gICAgICAgICAgICBhbGlnbk9mZnNldCxcbiAgICAgICAgICAgIGFycm93UGFkZGluZyxcbiAgICAgICAgICAgIGNvbGxpc2lvbkJvdW5kYXJ5LFxuICAgICAgICAgICAgY29sbGlzaW9uUGFkZGluZyxcbiAgICAgICAgICAgIHN0aWNreSxcbiAgICAgICAgICAgIGhpZGVXaGVuRGV0YWNoZWQsXG4gICAgICAgICAgICBhdm9pZENvbGxpc2lvbnMsXG4gICAgICAgICAgfVxuICAgICAgICA6IHt9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTZWxlY3RDb250ZW50UHJvdmlkZXJcbiAgICAgICAgc2NvcGU9e19fc2NvcGVTZWxlY3R9XG4gICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XG4gICAgICAgIHZpZXdwb3J0PXt2aWV3cG9ydH1cbiAgICAgICAgb25WaWV3cG9ydENoYW5nZT17c2V0Vmlld3BvcnR9XG4gICAgICAgIGl0ZW1SZWZDYWxsYmFjaz17aXRlbVJlZkNhbGxiYWNrfVxuICAgICAgICBzZWxlY3RlZEl0ZW09e3NlbGVjdGVkSXRlbX1cbiAgICAgICAgb25JdGVtTGVhdmU9e2hhbmRsZUl0ZW1MZWF2ZX1cbiAgICAgICAgaXRlbVRleHRSZWZDYWxsYmFjaz17aXRlbVRleHRSZWZDYWxsYmFja31cbiAgICAgICAgZm9jdXNTZWxlY3RlZEl0ZW09e2ZvY3VzU2VsZWN0ZWRJdGVtfVxuICAgICAgICBzZWxlY3RlZEl0ZW1UZXh0PXtzZWxlY3RlZEl0ZW1UZXh0fVxuICAgICAgICBwb3NpdGlvbj17cG9zaXRpb259XG4gICAgICAgIGlzUG9zaXRpb25lZD17aXNQb3NpdGlvbmVkfVxuICAgICAgICBzZWFyY2hSZWY9e3NlYXJjaFJlZn1cbiAgICAgID5cbiAgICAgICAgPFJlbW92ZVNjcm9sbCBhcz17U2xvdH0gYWxsb3dQaW5jaFpvb20+XG4gICAgICAgICAgPEZvY3VzU2NvcGVcbiAgICAgICAgICAgIGFzQ2hpbGRcbiAgICAgICAgICAgIC8vIHdlIG1ha2Ugc3VyZSB3ZSdyZSBub3QgdHJhcHBpbmcgb25jZSBpdCdzIGJlZW4gY2xvc2VkXG4gICAgICAgICAgICAvLyAoY2xvc2VkICE9PSB1bm1vdW50ZWQgd2hlbiBhbmltYXRpbmcgb3V0KVxuICAgICAgICAgICAgdHJhcHBlZD17Y29udGV4dC5vcGVufVxuICAgICAgICAgICAgb25Nb3VudEF1dG9Gb2N1cz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8vIHdlIHByZXZlbnQgb3BlbiBhdXRvZm9jdXMgYmVjYXVzZSB3ZSBtYW51YWxseSBmb2N1cyB0aGUgc2VsZWN0ZWQgaXRlbVxuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uVW5tb3VudEF1dG9Gb2N1cz17Y29tcG9zZUV2ZW50SGFuZGxlcnMob25DbG9zZUF1dG9Gb2N1cywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnRleHQudHJpZ2dlcj8uZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPERpc21pc3NhYmxlTGF5ZXJcbiAgICAgICAgICAgICAgYXNDaGlsZFxuICAgICAgICAgICAgICBkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHNcbiAgICAgICAgICAgICAgb25Fc2NhcGVLZXlEb3duPXtvbkVzY2FwZUtleURvd259XG4gICAgICAgICAgICAgIG9uUG9pbnRlckRvd25PdXRzaWRlPXtvblBvaW50ZXJEb3duT3V0c2lkZX1cbiAgICAgICAgICAgICAgLy8gV2hlbiBmb2N1cyBpcyB0cmFwcGVkLCBhIGZvY3Vzb3V0IGV2ZW50IG1heSBzdGlsbCBoYXBwZW4uXG4gICAgICAgICAgICAgIC8vIFdlIG1ha2Ugc3VyZSB3ZSBkb24ndCB0cmlnZ2VyIG91ciBgb25EaXNtaXNzYCBpbiBzdWNoIGNhc2UuXG4gICAgICAgICAgICAgIG9uRm9jdXNPdXRzaWRlPXsoZXZlbnQpID0+IGV2ZW50LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgICAgICAgIG9uRGlzbWlzcz17KCkgPT4gY29udGV4dC5vbk9wZW5DaGFuZ2UoZmFsc2UpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U2VsZWN0UG9zaXRpb25cbiAgICAgICAgICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgICAgICAgICAgaWQ9e2NvbnRleHQuY29udGVudElkfVxuICAgICAgICAgICAgICAgIGRhdGEtc3RhdGU9e2NvbnRleHQub3BlbiA/ICdvcGVuJyA6ICdjbG9zZWQnfVxuICAgICAgICAgICAgICAgIGRpcj17Y29udGV4dC5kaXJ9XG4gICAgICAgICAgICAgICAgb25Db250ZXh0TWVudT17KGV2ZW50KSA9PiBldmVudC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICAgICAgICAgIHsuLi5jb250ZW50UHJvcHN9XG4gICAgICAgICAgICAgICAgey4uLnBvcHBlckNvbnRlbnRQcm9wc31cbiAgICAgICAgICAgICAgICBvblBsYWNlZD17KCkgPT4gc2V0SXNQb3NpdGlvbmVkKHRydWUpfVxuICAgICAgICAgICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAvLyBmbGV4IGxheW91dCBzbyB3ZSBjYW4gcGxhY2UgdGhlIHNjcm9sbCBidXR0b25zIHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICAgICAgICAgIC8vIHJlc2V0IHRoZSBvdXRsaW5lIGJ5IGRlZmF1bHQgYXMgdGhlIGNvbnRlbnQgTUFZIGdldCBmb2N1c2VkXG4gICAgICAgICAgICAgICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICAuLi5jb250ZW50UHJvcHMuc3R5bGUsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBvbktleURvd249e2NvbXBvc2VFdmVudEhhbmRsZXJzKGNvbnRlbnRQcm9wcy5vbktleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgaXNNb2RpZmllcktleSA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQuYWx0S2V5IHx8IGV2ZW50Lm1ldGFLZXk7XG5cbiAgICAgICAgICAgICAgICAgIC8vIHNlbGVjdCBzaG91bGQgbm90IGJlIG5hdmlnYXRlZCB1c2luZyB0YWIga2V5IHNvIHdlIHByZXZlbnQgaXRcbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInKSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgICBpZiAoIWlzTW9kaWZpZXJLZXkgJiYgZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSkgaGFuZGxlVHlwZWFoZWFkU2VhcmNoKGV2ZW50LmtleSk7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChbJ0Fycm93VXAnLCAnQXJyb3dEb3duJywgJ0hvbWUnLCAnRW5kJ10uaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IGdldEl0ZW1zKCkuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjYW5kaWRhdGVOb2RlcyA9IGl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5yZWYuY3VycmVudCEpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChbJ0Fycm93VXAnLCAnRW5kJ10uaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgIGNhbmRpZGF0ZU5vZGVzID0gY2FuZGlkYXRlTm9kZXMuc2xpY2UoKS5yZXZlcnNlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKFsnQXJyb3dVcCcsICdBcnJvd0Rvd24nXS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudEVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgU2VsZWN0SXRlbUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gY2FuZGlkYXRlTm9kZXMuaW5kZXhPZihjdXJyZW50RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlTm9kZXMgPSBjYW5kaWRhdGVOb2Rlcy5zbGljZShjdXJyZW50SW5kZXggKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgKiBJbXBlcmF0aXZlIGZvY3VzIGR1cmluZyBrZXlkb3duIGlzIHJpc2t5IHNvIHdlIHByZXZlbnQgUmVhY3QncyBiYXRjaGluZyB1cGRhdGVzXG4gICAgICAgICAgICAgICAgICAgICAqIHRvIGF2b2lkIHBvdGVudGlhbCBidWdzLiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMjAzMzJcbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZm9jdXNGaXJzdChjYW5kaWRhdGVOb2RlcykpO1xuXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0Rpc21pc3NhYmxlTGF5ZXI+XG4gICAgICAgICAgPC9Gb2N1c1Njb3BlPlxuICAgICAgICA8L1JlbW92ZVNjcm9sbD5cbiAgICAgIDwvU2VsZWN0Q29udGVudFByb3ZpZGVyPlxuICAgICk7XG4gIH1cbik7XG5cblNlbGVjdENvbnRlbnRJbXBsLmRpc3BsYXlOYW1lID0gQ09OVEVOVF9JTVBMX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgSVRFTV9BTElHTkVEX1BPU0lUSU9OX05BTUUgPSAnU2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbic7XG5cbnR5cGUgU2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbkVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xuaW50ZXJmYWNlIFNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb25Qcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzLCBTZWxlY3RQb3BwZXJQcml2YXRlUHJvcHMge31cblxuY29uc3QgU2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbiA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb25FbGVtZW50LFxuICBTZWxlY3RJdGVtQWxpZ25lZFBvc2l0aW9uUHJvcHNcbj4oKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RJdGVtQWxpZ25lZFBvc2l0aW9uUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCBvblBsYWNlZCwgLi4ucG9wcGVyUHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCBjb250ZXh0ID0gdXNlU2VsZWN0Q29udGV4dChDT05URU5UX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZVNlbGVjdENvbnRlbnRDb250ZXh0KENPTlRFTlRfTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gIGNvbnN0IFtjb250ZW50V3JhcHBlciwgc2V0Q29udGVudFdyYXBwZXJdID0gUmVhY3QudXNlU3RhdGU8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2NvbnRlbnQsIHNldENvbnRlbnRdID0gUmVhY3QudXNlU3RhdGU8U2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgKG5vZGUpID0+IHNldENvbnRlbnQobm9kZSkpO1xuICBjb25zdCBnZXRJdGVtcyA9IHVzZUNvbGxlY3Rpb24oX19zY29wZVNlbGVjdCk7XG4gIGNvbnN0IHNob3VsZEV4cGFuZE9uU2Nyb2xsUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3Qgc2hvdWxkUmVwb3NpdGlvblJlZiA9IFJlYWN0LnVzZVJlZih0cnVlKTtcblxuICBjb25zdCB7IHZpZXdwb3J0LCBzZWxlY3RlZEl0ZW0sIHNlbGVjdGVkSXRlbVRleHQsIGZvY3VzU2VsZWN0ZWRJdGVtIH0gPSBjb250ZW50Q29udGV4dDtcbiAgY29uc3QgcG9zaXRpb24gPSBSZWFjdC51c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgY29udGV4dC50cmlnZ2VyICYmXG4gICAgICBjb250ZXh0LnZhbHVlTm9kZSAmJlxuICAgICAgY29udGVudFdyYXBwZXIgJiZcbiAgICAgIGNvbnRlbnQgJiZcbiAgICAgIHZpZXdwb3J0ICYmXG4gICAgICBzZWxlY3RlZEl0ZW0gJiZcbiAgICAgIHNlbGVjdGVkSXRlbVRleHRcbiAgICApIHtcbiAgICAgIGNvbnN0IHRyaWdnZXJSZWN0ID0gY29udGV4dC50cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLy8gIEhvcml6b250YWwgcG9zaXRpb25pbmdcbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBjb25zdCBjb250ZW50UmVjdCA9IGNvbnRlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCB2YWx1ZU5vZGVSZWN0ID0gY29udGV4dC52YWx1ZU5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBpdGVtVGV4dFJlY3QgPSBzZWxlY3RlZEl0ZW1UZXh0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBpZiAoY29udGV4dC5kaXIgIT09ICdydGwnKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1UZXh0T2Zmc2V0ID0gaXRlbVRleHRSZWN0LmxlZnQgLSBjb250ZW50UmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCBsZWZ0ID0gdmFsdWVOb2RlUmVjdC5sZWZ0IC0gaXRlbVRleHRPZmZzZXQ7XG4gICAgICAgIGNvbnN0IGxlZnREZWx0YSA9IHRyaWdnZXJSZWN0LmxlZnQgLSBsZWZ0O1xuICAgICAgICBjb25zdCBtaW5Db250ZW50V2lkdGggPSB0cmlnZ2VyUmVjdC53aWR0aCArIGxlZnREZWx0YTtcbiAgICAgICAgY29uc3QgY29udGVudFdpZHRoID0gTWF0aC5tYXgobWluQ29udGVudFdpZHRoLCBjb250ZW50UmVjdC53aWR0aCk7XG4gICAgICAgIGNvbnN0IHJpZ2h0RWRnZSA9IHdpbmRvdy5pbm5lcldpZHRoIC0gQ09OVEVOVF9NQVJHSU47XG4gICAgICAgIGNvbnN0IGNsYW1wZWRMZWZ0ID0gY2xhbXAobGVmdCwgW1xuICAgICAgICAgIENPTlRFTlRfTUFSR0lOLFxuICAgICAgICAgIC8vIFByZXZlbnRzIHRoZSBjb250ZW50IGZyb20gZ29pbmcgb2ZmIHRoZSBzdGFydGluZyBlZGdlIG9mIHRoZVxuICAgICAgICAgIC8vIHZpZXdwb3J0LiBJdCBtYXkgc3RpbGwgZ28gb2ZmIHRoZSBlbmRpbmcgZWRnZSwgYnV0IHRoaXMgY2FuIGJlXG4gICAgICAgICAgLy8gY29udHJvbGxlZCBieSB0aGUgdXNlciBzaW5jZSB0aGV5IG1heSB3YW50IHRvIG1hbmFnZSBvdmVyZmxvdyBpbiBhXG4gICAgICAgICAgLy8gc3BlY2lmaWMgd2F5LlxuICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yYWRpeC11aS9wcmltaXRpdmVzL2lzc3Vlcy8yMDQ5XG4gICAgICAgICAgTWF0aC5tYXgoQ09OVEVOVF9NQVJHSU4sIHJpZ2h0RWRnZSAtIGNvbnRlbnRXaWR0aCksXG4gICAgICAgIF0pO1xuXG4gICAgICAgIGNvbnRlbnRXcmFwcGVyLnN0eWxlLm1pbldpZHRoID0gbWluQ29udGVudFdpZHRoICsgJ3B4JztcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUubGVmdCA9IGNsYW1wZWRMZWZ0ICsgJ3B4JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGl0ZW1UZXh0T2Zmc2V0ID0gY29udGVudFJlY3QucmlnaHQgLSBpdGVtVGV4dFJlY3QucmlnaHQ7XG4gICAgICAgIGNvbnN0IHJpZ2h0ID0gd2luZG93LmlubmVyV2lkdGggLSB2YWx1ZU5vZGVSZWN0LnJpZ2h0IC0gaXRlbVRleHRPZmZzZXQ7XG4gICAgICAgIGNvbnN0IHJpZ2h0RGVsdGEgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRyaWdnZXJSZWN0LnJpZ2h0IC0gcmlnaHQ7XG4gICAgICAgIGNvbnN0IG1pbkNvbnRlbnRXaWR0aCA9IHRyaWdnZXJSZWN0LndpZHRoICsgcmlnaHREZWx0YTtcbiAgICAgICAgY29uc3QgY29udGVudFdpZHRoID0gTWF0aC5tYXgobWluQ29udGVudFdpZHRoLCBjb250ZW50UmVjdC53aWR0aCk7XG4gICAgICAgIGNvbnN0IGxlZnRFZGdlID0gd2luZG93LmlubmVyV2lkdGggLSBDT05URU5UX01BUkdJTjtcbiAgICAgICAgY29uc3QgY2xhbXBlZFJpZ2h0ID0gY2xhbXAocmlnaHQsIFtcbiAgICAgICAgICBDT05URU5UX01BUkdJTixcbiAgICAgICAgICBNYXRoLm1heChDT05URU5UX01BUkdJTiwgbGVmdEVkZ2UgLSBjb250ZW50V2lkdGgpLFxuICAgICAgICBdKTtcblxuICAgICAgICBjb250ZW50V3JhcHBlci5zdHlsZS5taW5XaWR0aCA9IG1pbkNvbnRlbnRXaWR0aCArICdweCc7XG4gICAgICAgIGNvbnRlbnRXcmFwcGVyLnN0eWxlLnJpZ2h0ID0gY2xhbXBlZFJpZ2h0ICsgJ3B4JztcbiAgICAgIH1cblxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIC8vIFZlcnRpY2FsIHBvc2l0aW9uaW5nXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgY29uc3QgaXRlbXMgPSBnZXRJdGVtcygpO1xuICAgICAgY29uc3QgYXZhaWxhYmxlSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gQ09OVEVOVF9NQVJHSU4gKiAyO1xuICAgICAgY29uc3QgaXRlbXNIZWlnaHQgPSB2aWV3cG9ydC5zY3JvbGxIZWlnaHQ7XG5cbiAgICAgIGNvbnN0IGNvbnRlbnRTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjb250ZW50KTtcbiAgICAgIGNvbnN0IGNvbnRlbnRCb3JkZXJUb3BXaWR0aCA9IHBhcnNlSW50KGNvbnRlbnRTdHlsZXMuYm9yZGVyVG9wV2lkdGgsIDEwKTtcbiAgICAgIGNvbnN0IGNvbnRlbnRQYWRkaW5nVG9wID0gcGFyc2VJbnQoY29udGVudFN0eWxlcy5wYWRkaW5nVG9wLCAxMCk7XG4gICAgICBjb25zdCBjb250ZW50Qm9yZGVyQm90dG9tV2lkdGggPSBwYXJzZUludChjb250ZW50U3R5bGVzLmJvcmRlckJvdHRvbVdpZHRoLCAxMCk7XG4gICAgICBjb25zdCBjb250ZW50UGFkZGluZ0JvdHRvbSA9IHBhcnNlSW50KGNvbnRlbnRTdHlsZXMucGFkZGluZ0JvdHRvbSwgMTApO1xuICAgICAgY29uc3QgZnVsbENvbnRlbnRIZWlnaHQgPSBjb250ZW50Qm9yZGVyVG9wV2lkdGggKyBjb250ZW50UGFkZGluZ1RvcCArIGl0ZW1zSGVpZ2h0ICsgY29udGVudFBhZGRpbmdCb3R0b20gKyBjb250ZW50Qm9yZGVyQm90dG9tV2lkdGg7IC8vIHByZXR0aWVyLWlnbm9yZVxuICAgICAgY29uc3QgbWluQ29udGVudEhlaWdodCA9IE1hdGgubWluKHNlbGVjdGVkSXRlbS5vZmZzZXRIZWlnaHQgKiA1LCBmdWxsQ29udGVudEhlaWdodCk7XG5cbiAgICAgIGNvbnN0IHZpZXdwb3J0U3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodmlld3BvcnQpO1xuICAgICAgY29uc3Qgdmlld3BvcnRQYWRkaW5nVG9wID0gcGFyc2VJbnQodmlld3BvcnRTdHlsZXMucGFkZGluZ1RvcCwgMTApO1xuICAgICAgY29uc3Qgdmlld3BvcnRQYWRkaW5nQm90dG9tID0gcGFyc2VJbnQodmlld3BvcnRTdHlsZXMucGFkZGluZ0JvdHRvbSwgMTApO1xuXG4gICAgICBjb25zdCB0b3BFZGdlVG9UcmlnZ2VyTWlkZGxlID0gdHJpZ2dlclJlY3QudG9wICsgdHJpZ2dlclJlY3QuaGVpZ2h0IC8gMiAtIENPTlRFTlRfTUFSR0lOO1xuICAgICAgY29uc3QgdHJpZ2dlck1pZGRsZVRvQm90dG9tRWRnZSA9IGF2YWlsYWJsZUhlaWdodCAtIHRvcEVkZ2VUb1RyaWdnZXJNaWRkbGU7XG5cbiAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbUhhbGZIZWlnaHQgPSBzZWxlY3RlZEl0ZW0ub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgIGNvbnN0IGl0ZW1PZmZzZXRNaWRkbGUgPSBzZWxlY3RlZEl0ZW0ub2Zmc2V0VG9wICsgc2VsZWN0ZWRJdGVtSGFsZkhlaWdodDtcbiAgICAgIGNvbnN0IGNvbnRlbnRUb3BUb0l0ZW1NaWRkbGUgPSBjb250ZW50Qm9yZGVyVG9wV2lkdGggKyBjb250ZW50UGFkZGluZ1RvcCArIGl0ZW1PZmZzZXRNaWRkbGU7XG4gICAgICBjb25zdCBpdGVtTWlkZGxlVG9Db250ZW50Qm90dG9tID0gZnVsbENvbnRlbnRIZWlnaHQgLSBjb250ZW50VG9wVG9JdGVtTWlkZGxlO1xuXG4gICAgICBjb25zdCB3aWxsQWxpZ25XaXRob3V0VG9wT3ZlcmZsb3cgPSBjb250ZW50VG9wVG9JdGVtTWlkZGxlIDw9IHRvcEVkZ2VUb1RyaWdnZXJNaWRkbGU7XG5cbiAgICAgIGlmICh3aWxsQWxpZ25XaXRob3V0VG9wT3ZlcmZsb3cpIHtcbiAgICAgICAgY29uc3QgaXNMYXN0SXRlbSA9XG4gICAgICAgICAgaXRlbXMubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEl0ZW0gPT09IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdIS5yZWYuY3VycmVudDtcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuYm90dG9tID0gMCArICdweCc7XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0T2Zmc2V0Qm90dG9tID1cbiAgICAgICAgICBjb250ZW50LmNsaWVudEhlaWdodCAtIHZpZXdwb3J0Lm9mZnNldFRvcCAtIHZpZXdwb3J0Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3QgY2xhbXBlZFRyaWdnZXJNaWRkbGVUb0JvdHRvbUVkZ2UgPSBNYXRoLm1heChcbiAgICAgICAgICB0cmlnZ2VyTWlkZGxlVG9Cb3R0b21FZGdlLFxuICAgICAgICAgIHNlbGVjdGVkSXRlbUhhbGZIZWlnaHQgK1xuICAgICAgICAgICAgLy8gdmlld3BvcnQgbWlnaHQgaGF2ZSBwYWRkaW5nIGJvdHRvbSwgaW5jbHVkZSBpdCB0byBhdm9pZCBhIHNjcm9sbGFibGUgdmlld3BvcnRcbiAgICAgICAgICAgIChpc0xhc3RJdGVtID8gdmlld3BvcnRQYWRkaW5nQm90dG9tIDogMCkgK1xuICAgICAgICAgICAgdmlld3BvcnRPZmZzZXRCb3R0b20gK1xuICAgICAgICAgICAgY29udGVudEJvcmRlckJvdHRvbVdpZHRoXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IGNvbnRlbnRUb3BUb0l0ZW1NaWRkbGUgKyBjbGFtcGVkVHJpZ2dlck1pZGRsZVRvQm90dG9tRWRnZTtcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGlzRmlyc3RJdGVtID0gaXRlbXMubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEl0ZW0gPT09IGl0ZW1zWzBdIS5yZWYuY3VycmVudDtcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUudG9wID0gMCArICdweCc7XG4gICAgICAgIGNvbnN0IGNsYW1wZWRUb3BFZGdlVG9UcmlnZ2VyTWlkZGxlID0gTWF0aC5tYXgoXG4gICAgICAgICAgdG9wRWRnZVRvVHJpZ2dlck1pZGRsZSxcbiAgICAgICAgICBjb250ZW50Qm9yZGVyVG9wV2lkdGggK1xuICAgICAgICAgICAgdmlld3BvcnQub2Zmc2V0VG9wICtcbiAgICAgICAgICAgIC8vIHZpZXdwb3J0IG1pZ2h0IGhhdmUgcGFkZGluZyB0b3AsIGluY2x1ZGUgaXQgdG8gYXZvaWQgYSBzY3JvbGxhYmxlIHZpZXdwb3J0XG4gICAgICAgICAgICAoaXNGaXJzdEl0ZW0gPyB2aWV3cG9ydFBhZGRpbmdUb3AgOiAwKSArXG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1IYWxmSGVpZ2h0XG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IGNsYW1wZWRUb3BFZGdlVG9UcmlnZ2VyTWlkZGxlICsgaXRlbU1pZGRsZVRvQ29udGVudEJvdHRvbTtcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4JztcbiAgICAgICAgdmlld3BvcnQuc2Nyb2xsVG9wID0gY29udGVudFRvcFRvSXRlbU1pZGRsZSAtIHRvcEVkZ2VUb1RyaWdnZXJNaWRkbGUgKyB2aWV3cG9ydC5vZmZzZXRUb3A7XG4gICAgICB9XG5cbiAgICAgIGNvbnRlbnRXcmFwcGVyLnN0eWxlLm1hcmdpbiA9IGAke0NPTlRFTlRfTUFSR0lOfXB4IDBgO1xuICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUubWluSGVpZ2h0ID0gbWluQ29udGVudEhlaWdodCArICdweCc7XG4gICAgICBjb250ZW50V3JhcHBlci5zdHlsZS5tYXhIZWlnaHQgPSBhdmFpbGFibGVIZWlnaHQgKyAncHgnO1xuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgICAgb25QbGFjZWQ/LigpO1xuXG4gICAgICAvLyB3ZSBkb24ndCB3YW50IHRoZSBpbml0aWFsIHNjcm9sbCBwb3NpdGlvbiBhZGp1c3RtZW50IHRvIHRyaWdnZXIgXCJleHBhbmQgb24gc2Nyb2xsXCJcbiAgICAgIC8vIHNvIHdlIGV4cGxpY2l0bHkgdHVybiBpdCBvbiBvbmx5IGFmdGVyIHRoZXkndmUgcmVnaXN0ZXJlZC5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiAoc2hvdWxkRXhwYW5kT25TY3JvbGxSZWYuY3VycmVudCA9IHRydWUpKTtcbiAgICB9XG4gIH0sIFtcbiAgICBnZXRJdGVtcyxcbiAgICBjb250ZXh0LnRyaWdnZXIsXG4gICAgY29udGV4dC52YWx1ZU5vZGUsXG4gICAgY29udGVudFdyYXBwZXIsXG4gICAgY29udGVudCxcbiAgICB2aWV3cG9ydCxcbiAgICBzZWxlY3RlZEl0ZW0sXG4gICAgc2VsZWN0ZWRJdGVtVGV4dCxcbiAgICBjb250ZXh0LmRpcixcbiAgICBvblBsYWNlZCxcbiAgXSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHBvc2l0aW9uKCksIFtwb3NpdGlvbl0pO1xuXG4gIC8vIGNvcHkgei1pbmRleCBmcm9tIGNvbnRlbnQgdG8gd3JhcHBlclxuICBjb25zdCBbY29udGVudFpJbmRleCwgc2V0Q29udGVudFpJbmRleF0gPSBSZWFjdC51c2VTdGF0ZTxzdHJpbmc+KCk7XG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNvbnRlbnQpIHNldENvbnRlbnRaSW5kZXgod2luZG93LmdldENvbXB1dGVkU3R5bGUoY29udGVudCkuekluZGV4KTtcbiAgfSwgW2NvbnRlbnRdKTtcblxuICAvLyBXaGVuIHRoZSB2aWV3cG9ydCBiZWNvbWVzIHNjcm9sbGFibGUgYXQgdGhlIHRvcCwgdGhlIHNjcm9sbCB1cCBidXR0b24gd2lsbCBtb3VudC5cbiAgLy8gQmVjYXVzZSBpdCBpcyBwYXJ0IG9mIHRoZSBub3JtYWwgZmxvdywgaXQgd2lsbCBwdXNoIGRvd24gdGhlIHZpZXdwb3J0LCB0aHVzIHRocm93aW5nIG91clxuICAvLyB0cmlnZ2VyID0+IHNlbGVjdGVkSXRlbSBhbGlnbm1lbnQgb2ZmIGJ5IHRoZSBhbW91bnQgdGhlIHZpZXdwb3J0IHdhcyBwdXNoZWQgZG93bi5cbiAgLy8gV2Ugd2FpdCBmb3IgdGhpcyB0byBoYXBwZW4gYW5kIHRoZW4gcmUtcnVuIHRoZSBwb3NpdGluaW5nIGxvZ2ljIG9uZSBtb3JlIHRpbWUgdG8gYWNjb3VudCBmb3IgaXQuXG4gIGNvbnN0IGhhbmRsZVNjcm9sbEJ1dHRvbkNoYW5nZSA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChub2RlOiBTZWxlY3RTY3JvbGxCdXR0b25JbXBsRWxlbWVudCB8IG51bGwpID0+IHtcbiAgICAgIGlmIChub2RlICYmIHNob3VsZFJlcG9zaXRpb25SZWYuY3VycmVudCA9PT0gdHJ1ZSkge1xuICAgICAgICBwb3NpdGlvbigpO1xuICAgICAgICBmb2N1c1NlbGVjdGVkSXRlbT8uKCk7XG4gICAgICAgIHNob3VsZFJlcG9zaXRpb25SZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3Bvc2l0aW9uLCBmb2N1c1NlbGVjdGVkSXRlbV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTZWxlY3RWaWV3cG9ydFByb3ZpZGVyXG4gICAgICBzY29wZT17X19zY29wZVNlbGVjdH1cbiAgICAgIGNvbnRlbnRXcmFwcGVyPXtjb250ZW50V3JhcHBlcn1cbiAgICAgIHNob3VsZEV4cGFuZE9uU2Nyb2xsUmVmPXtzaG91bGRFeHBhbmRPblNjcm9sbFJlZn1cbiAgICAgIG9uU2Nyb2xsQnV0dG9uQ2hhbmdlPXtoYW5kbGVTY3JvbGxCdXR0b25DaGFuZ2V9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICByZWY9e3NldENvbnRlbnRXcmFwcGVyfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICB6SW5kZXg6IGNvbnRlbnRaSW5kZXgsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxQcmltaXRpdmUuZGl2XG4gICAgICAgICAgey4uLnBvcHBlclByb3BzfVxuICAgICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGdldCB0aGUgaGVpZ2h0IG9mIHRoZSBjb250ZW50LCBpdCBpbmNsdWRlcyBib3JkZXJzLiBJZiB3ZSB3ZXJlIHRvIHNldFxuICAgICAgICAgICAgLy8gdGhlIGhlaWdodCB3aXRob3V0IGhhdmluZyBgYm94U2l6aW5nOiAnYm9yZGVyLWJveCdgIGl0IHdvdWxkIGJlIHRvbyBiaWcuXG4gICAgICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZW5zdXJlIHRoZSBjb250ZW50IGRvZXNuJ3QgZ2V0IHRhbGxlciB0aGFuIHRoZSB3cmFwcGVyXG4gICAgICAgICAgICBtYXhIZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgIC4uLnBvcHBlclByb3BzLnN0eWxlLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L1NlbGVjdFZpZXdwb3J0UHJvdmlkZXI+XG4gICk7XG59KTtcblxuU2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbi5kaXNwbGF5TmFtZSA9IElURU1fQUxJR05FRF9QT1NJVElPTl9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RQb3BwZXJQb3NpdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBQT1BQRVJfUE9TSVRJT05fTkFNRSA9ICdTZWxlY3RQb3BwZXJQb3NpdGlvbic7XG5cbnR5cGUgU2VsZWN0UG9wcGVyUG9zaXRpb25FbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQb3BwZXJQcmltaXRpdmUuQ29udGVudD47XG50eXBlIFBvcHBlckNvbnRlbnRQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUG9wcGVyUHJpbWl0aXZlLkNvbnRlbnQ+O1xuaW50ZXJmYWNlIFNlbGVjdFBvcHBlclBvc2l0aW9uUHJvcHMgZXh0ZW5kcyBQb3BwZXJDb250ZW50UHJvcHMsIFNlbGVjdFBvcHBlclByaXZhdGVQcm9wcyB7fVxuXG5jb25zdCBTZWxlY3RQb3BwZXJQb3NpdGlvbiA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFNlbGVjdFBvcHBlclBvc2l0aW9uRWxlbWVudCxcbiAgU2VsZWN0UG9wcGVyUG9zaXRpb25Qcm9wc1xuPigocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdFBvcHBlclBvc2l0aW9uUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3Qge1xuICAgIF9fc2NvcGVTZWxlY3QsXG4gICAgYWxpZ24gPSAnc3RhcnQnLFxuICAgIGNvbGxpc2lvblBhZGRpbmcgPSBDT05URU5UX01BUkdJTixcbiAgICAuLi5wb3BwZXJQcm9wc1xuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvcHBlclNjb3BlID0gdXNlUG9wcGVyU2NvcGUoX19zY29wZVNlbGVjdCk7XG5cbiAgcmV0dXJuIChcbiAgICA8UG9wcGVyUHJpbWl0aXZlLkNvbnRlbnRcbiAgICAgIHsuLi5wb3BwZXJTY29wZX1cbiAgICAgIHsuLi5wb3BwZXJQcm9wc31cbiAgICAgIHJlZj17Zm9yd2FyZGVkUmVmfVxuICAgICAgYWxpZ249e2FsaWdufVxuICAgICAgY29sbGlzaW9uUGFkZGluZz17Y29sbGlzaW9uUGFkZGluZ31cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIC8vIEVuc3VyZSBib3JkZXItYm94IGZvciBmbG9hdGluZy11aSBjYWxjdWxhdGlvbnNcbiAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgIC4uLnBvcHBlclByb3BzLnN0eWxlLFxuICAgICAgICAvLyByZS1uYW1lc3BhY2UgZXhwb3NlZCBjb250ZW50IGN1c3RvbSBwcm9wZXJ0aWVzXG4gICAgICAgIC4uLntcbiAgICAgICAgICAnLS1yYWRpeC1zZWxlY3QtY29udGVudC10cmFuc2Zvcm0tb3JpZ2luJzogJ3ZhcigtLXJhZGl4LXBvcHBlci10cmFuc2Zvcm0tb3JpZ2luKScsXG4gICAgICAgICAgJy0tcmFkaXgtc2VsZWN0LWNvbnRlbnQtYXZhaWxhYmxlLXdpZHRoJzogJ3ZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtd2lkdGgpJyxcbiAgICAgICAgICAnLS1yYWRpeC1zZWxlY3QtY29udGVudC1hdmFpbGFibGUtaGVpZ2h0JzogJ3ZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtaGVpZ2h0KScsXG4gICAgICAgICAgJy0tcmFkaXgtc2VsZWN0LXRyaWdnZXItd2lkdGgnOiAndmFyKC0tcmFkaXgtcG9wcGVyLWFuY2hvci13aWR0aCknLFxuICAgICAgICAgICctLXJhZGl4LXNlbGVjdC10cmlnZ2VyLWhlaWdodCc6ICd2YXIoLS1yYWRpeC1wb3BwZXItYW5jaG9yLWhlaWdodCknLFxuICAgICAgICB9LFxuICAgICAgfX1cbiAgICAvPlxuICApO1xufSk7XG5cblNlbGVjdFBvcHBlclBvc2l0aW9uLmRpc3BsYXlOYW1lID0gUE9QUEVSX1BPU0lUSU9OX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNlbGVjdFZpZXdwb3J0XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnR5cGUgU2VsZWN0Vmlld3BvcnRDb250ZXh0VmFsdWUgPSB7XG4gIGNvbnRlbnRXcmFwcGVyPzogSFRNTERpdkVsZW1lbnQgfCBudWxsO1xuICBzaG91bGRFeHBhbmRPblNjcm9sbFJlZj86IFJlYWN0LlJlZk9iamVjdDxib29sZWFuPjtcbiAgb25TY3JvbGxCdXR0b25DaGFuZ2U/OiAobm9kZTogU2VsZWN0U2Nyb2xsQnV0dG9uSW1wbEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xufTtcblxuY29uc3QgW1NlbGVjdFZpZXdwb3J0UHJvdmlkZXIsIHVzZVNlbGVjdFZpZXdwb3J0Q29udGV4dF0gPVxuICBjcmVhdGVTZWxlY3RDb250ZXh0PFNlbGVjdFZpZXdwb3J0Q29udGV4dFZhbHVlPihDT05URU5UX05BTUUsIHt9KTtcblxuY29uc3QgVklFV1BPUlRfTkFNRSA9ICdTZWxlY3RWaWV3cG9ydCc7XG5cbnR5cGUgU2VsZWN0Vmlld3BvcnRFbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuZGl2PjtcbnR5cGUgUHJpbWl0aXZlRGl2UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xuaW50ZXJmYWNlIFNlbGVjdFZpZXdwb3J0UHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVEaXZQcm9wcyB7XG4gIG5vbmNlPzogc3RyaW5nO1xufVxuXG5jb25zdCBTZWxlY3RWaWV3cG9ydCA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0Vmlld3BvcnRFbGVtZW50LCBTZWxlY3RWaWV3cG9ydFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RWaWV3cG9ydFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCBub25jZSwgLi4udmlld3BvcnRQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dChWSUVXUE9SVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCB2aWV3cG9ydENvbnRleHQgPSB1c2VTZWxlY3RWaWV3cG9ydENvbnRleHQoVklFV1BPUlRfTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgY29udGVudENvbnRleHQub25WaWV3cG9ydENoYW5nZSk7XG4gICAgY29uc3QgcHJldlNjcm9sbFRvcFJlZiA9IFJlYWN0LnVzZVJlZigwKTtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgey8qIEhpZGUgc2Nyb2xsYmFycyBjcm9zcy1icm93c2VyIGFuZCBlbmFibGUgbW9tZW50dW0gc2Nyb2xsIGZvciB0b3VjaCBkZXZpY2VzICovfVxuICAgICAgICA8c3R5bGVcbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgX19odG1sOiBgW2RhdGEtcmFkaXgtc2VsZWN0LXZpZXdwb3J0XXtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDt9W2RhdGEtcmFkaXgtc2VsZWN0LXZpZXdwb3J0XTo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfWAsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBub25jZT17bm9uY2V9XG4gICAgICAgIC8+XG4gICAgICAgIDxDb2xsZWN0aW9uLlNsb3Qgc2NvcGU9e19fc2NvcGVTZWxlY3R9PlxuICAgICAgICAgIDxQcmltaXRpdmUuZGl2XG4gICAgICAgICAgICBkYXRhLXJhZGl4LXNlbGVjdC12aWV3cG9ydD1cIlwiXG4gICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgIHsuLi52aWV3cG9ydFByb3BzfVxuICAgICAgICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAvLyB3ZSB1c2UgcG9zaXRpb246ICdyZWxhdGl2ZScgaGVyZSBvbiB0aGUgYHZpZXdwb3J0YCBzbyB0aGF0IHdoZW4gd2UgY2FsbFxuICAgICAgICAgICAgICAvLyBgc2VsZWN0ZWRJdGVtLm9mZnNldFRvcGAgaW4gY2FsY3VsYXRpb25zLCB0aGUgb2Zmc2V0IGlzIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydFxuICAgICAgICAgICAgICAvLyAoaW5kZXBlbmRlbnQgb2YgdGhlIHNjcm9sbFVwQnV0dG9uKS5cbiAgICAgICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICAgIC8vIFZpZXdwb3J0IHNob3VsZCBvbmx5IGJlIHNjcm9sbGFibGUgaW4gdGhlIHZlcnRpY2FsIGRpcmVjdGlvbi5cbiAgICAgICAgICAgICAgLy8gVGhpcyB3b24ndCB3b3JrIGluIHZlcnRpY2FsIHdyaXRpbmcgbW9kZXMsIHNvIHdlJ2xsIG5lZWQgdG9cbiAgICAgICAgICAgICAgLy8gcmV2aXNpdCB0aGlzIGlmL3doZW4gdGhhdCBpcyBzdXBwb3J0ZWRcbiAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9ibG9nL3ZlcnRpY2FsLWZvcm0tY29udHJvbHNcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4gYXV0bycsXG4gICAgICAgICAgICAgIC4uLnZpZXdwb3J0UHJvcHMuc3R5bGUsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25TY3JvbGw9e2NvbXBvc2VFdmVudEhhbmRsZXJzKHZpZXdwb3J0UHJvcHMub25TY3JvbGwsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB2aWV3cG9ydCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgICAgICAgIGNvbnN0IHsgY29udGVudFdyYXBwZXIsIHNob3VsZEV4cGFuZE9uU2Nyb2xsUmVmIH0gPSB2aWV3cG9ydENvbnRleHQ7XG4gICAgICAgICAgICAgIGlmIChzaG91bGRFeHBhbmRPblNjcm9sbFJlZj8uY3VycmVudCAmJiBjb250ZW50V3JhcHBlcikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVkQnkgPSBNYXRoLmFicyhwcmV2U2Nyb2xsVG9wUmVmLmN1cnJlbnQgLSB2aWV3cG9ydC5zY3JvbGxUb3ApO1xuICAgICAgICAgICAgICAgIGlmIChzY3JvbGxlZEJ5ID4gMCkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgYXZhaWxhYmxlSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gQ09OVEVOVF9NQVJHSU4gKiAyO1xuICAgICAgICAgICAgICAgICAgY29uc3QgY3NzTWluSGVpZ2h0ID0gcGFyc2VGbG9hdChjb250ZW50V3JhcHBlci5zdHlsZS5taW5IZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgY3NzSGVpZ2h0ID0gcGFyc2VGbG9hdChjb250ZW50V3JhcHBlci5zdHlsZS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgcHJldkhlaWdodCA9IE1hdGgubWF4KGNzc01pbkhlaWdodCwgY3NzSGVpZ2h0KTtcblxuICAgICAgICAgICAgICAgICAgaWYgKHByZXZIZWlnaHQgPCBhdmFpbGFibGVIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV4dEhlaWdodCA9IHByZXZIZWlnaHQgKyBzY3JvbGxlZEJ5O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGFtcGVkTmV4dEhlaWdodCA9IE1hdGgubWluKGF2YWlsYWJsZUhlaWdodCwgbmV4dEhlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodERpZmYgPSBuZXh0SGVpZ2h0IC0gY2xhbXBlZE5leHRIZWlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuaGVpZ2h0ID0gY2xhbXBlZE5leHRIZWlnaHQgKyAncHgnO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29udGVudFdyYXBwZXIuc3R5bGUuYm90dG9tID09PSAnMHB4Jykge1xuICAgICAgICAgICAgICAgICAgICAgIHZpZXdwb3J0LnNjcm9sbFRvcCA9IGhlaWdodERpZmYgPiAwID8gaGVpZ2h0RGlmZiA6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gZW5zdXJlIHRoZSBjb250ZW50IHN0YXlzIHBpbm5lZCB0byB0aGUgYm90dG9tXG4gICAgICAgICAgICAgICAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuanVzdGlmeUNvbnRlbnQgPSAnZmxleC1lbmQnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHByZXZTY3JvbGxUb3BSZWYuY3VycmVudCA9IHZpZXdwb3J0LnNjcm9sbFRvcDtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29sbGVjdGlvbi5TbG90PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuKTtcblxuU2VsZWN0Vmlld3BvcnQuZGlzcGxheU5hbWUgPSBWSUVXUE9SVF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RHcm91cFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBHUk9VUF9OQU1FID0gJ1NlbGVjdEdyb3VwJztcblxudHlwZSBTZWxlY3RHcm91cENvbnRleHRWYWx1ZSA9IHsgaWQ6IHN0cmluZyB9O1xuXG5jb25zdCBbU2VsZWN0R3JvdXBDb250ZXh0UHJvdmlkZXIsIHVzZVNlbGVjdEdyb3VwQ29udGV4dF0gPVxuICBjcmVhdGVTZWxlY3RDb250ZXh0PFNlbGVjdEdyb3VwQ29udGV4dFZhbHVlPihHUk9VUF9OQU1FKTtcblxudHlwZSBTZWxlY3RHcm91cEVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xuaW50ZXJmYWNlIFNlbGVjdEdyb3VwUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVEaXZQcm9wcyB7fVxuXG5jb25zdCBTZWxlY3RHcm91cCA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0R3JvdXBFbGVtZW50LCBTZWxlY3RHcm91cFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RHcm91cFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCAuLi5ncm91cFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBncm91cElkID0gdXNlSWQoKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFNlbGVjdEdyb3VwQ29udGV4dFByb3ZpZGVyIHNjb3BlPXtfX3Njb3BlU2VsZWN0fSBpZD17Z3JvdXBJZH0+XG4gICAgICAgIDxQcmltaXRpdmUuZGl2IHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWxsZWRieT17Z3JvdXBJZH0gey4uLmdyb3VwUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPlxuICAgICAgPC9TZWxlY3RHcm91cENvbnRleHRQcm92aWRlcj5cbiAgICApO1xuICB9XG4pO1xuXG5TZWxlY3RHcm91cC5kaXNwbGF5TmFtZSA9IEdST1VQX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNlbGVjdExhYmVsXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IExBQkVMX05BTUUgPSAnU2VsZWN0TGFiZWwnO1xuXG50eXBlIFNlbGVjdExhYmVsRWxlbWVudCA9IFJlYWN0LkNvbXBvbmVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmRpdj47XG5pbnRlcmZhY2UgU2VsZWN0TGFiZWxQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHt9XG5cbmNvbnN0IFNlbGVjdExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxTZWxlY3RMYWJlbEVsZW1lbnQsIFNlbGVjdExhYmVsUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdExhYmVsUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIC4uLmxhYmVsUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGdyb3VwQ29udGV4dCA9IHVzZVNlbGVjdEdyb3VwQ29udGV4dChMQUJFTF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICByZXR1cm4gPFByaW1pdGl2ZS5kaXYgaWQ9e2dyb3VwQ29udGV4dC5pZH0gey4uLmxhYmVsUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPjtcbiAgfVxuKTtcblxuU2VsZWN0TGFiZWwuZGlzcGxheU5hbWUgPSBMQUJFTF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RJdGVtXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IElURU1fTkFNRSA9ICdTZWxlY3RJdGVtJztcblxudHlwZSBTZWxlY3RJdGVtQ29udGV4dFZhbHVlID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgdGV4dElkOiBzdHJpbmc7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIG9uSXRlbVRleHRDaGFuZ2Uobm9kZTogU2VsZWN0SXRlbVRleHRFbGVtZW50IHwgbnVsbCk6IHZvaWQ7XG59O1xuXG5jb25zdCBbU2VsZWN0SXRlbUNvbnRleHRQcm92aWRlciwgdXNlU2VsZWN0SXRlbUNvbnRleHRdID1cbiAgY3JlYXRlU2VsZWN0Q29udGV4dDxTZWxlY3RJdGVtQ29udGV4dFZhbHVlPihJVEVNX05BTUUpO1xuXG50eXBlIFNlbGVjdEl0ZW1FbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuZGl2PjtcbmludGVyZmFjZSBTZWxlY3RJdGVtUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVEaXZQcm9wcyB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdGV4dFZhbHVlPzogc3RyaW5nO1xufVxuXG5jb25zdCBTZWxlY3RJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxTZWxlY3RJdGVtRWxlbWVudCwgU2VsZWN0SXRlbVByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RJdGVtUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBfX3Njb3BlU2VsZWN0LFxuICAgICAgdmFsdWUsXG4gICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgdGV4dFZhbHVlOiB0ZXh0VmFsdWVQcm9wLFxuICAgICAgLi4uaXRlbVByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTZWxlY3RDb250ZXh0KElURU1fTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dChJVEVNX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBjb250ZXh0LnZhbHVlID09PSB2YWx1ZTtcbiAgICBjb25zdCBbdGV4dFZhbHVlLCBzZXRUZXh0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUodGV4dFZhbHVlUHJvcCA/PyAnJyk7XG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCAobm9kZSkgPT5cbiAgICAgIGNvbnRlbnRDb250ZXh0Lml0ZW1SZWZDYWxsYmFjaz8uKG5vZGUsIHZhbHVlLCBkaXNhYmxlZClcbiAgICApO1xuICAgIGNvbnN0IHRleHRJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgcG9pbnRlclR5cGVSZWYgPSBSZWFjdC51c2VSZWY8UmVhY3QuUG9pbnRlckV2ZW50Wydwb2ludGVyVHlwZSddPigndG91Y2gnKTtcblxuICAgIGNvbnN0IGhhbmRsZVNlbGVjdCA9ICgpID0+IHtcbiAgICAgIGlmICghZGlzYWJsZWQpIHtcbiAgICAgICAgY29udGV4dC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgY29udGV4dC5vbk9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdBIDxTZWxlY3QuSXRlbSAvPiBtdXN0IGhhdmUgYSB2YWx1ZSBwcm9wIHRoYXQgaXMgbm90IGFuIGVtcHR5IHN0cmluZy4gVGhpcyBpcyBiZWNhdXNlIHRoZSBTZWxlY3QgdmFsdWUgY2FuIGJlIHNldCB0byBhbiBlbXB0eSBzdHJpbmcgdG8gY2xlYXIgdGhlIHNlbGVjdGlvbiBhbmQgc2hvdyB0aGUgcGxhY2Vob2xkZXIuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNlbGVjdEl0ZW1Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgc2NvcGU9e19fc2NvcGVTZWxlY3R9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICB0ZXh0SWQ9e3RleHRJZH1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgICAgb25JdGVtVGV4dENoYW5nZT17UmVhY3QudXNlQ2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgICBzZXRUZXh0VmFsdWUoKHByZXZUZXh0VmFsdWUpID0+IHByZXZUZXh0VmFsdWUgfHwgKG5vZGU/LnRleHRDb250ZW50ID8/ICcnKS50cmltKCkpO1xuICAgICAgICB9LCBbXSl9XG4gICAgICA+XG4gICAgICAgIDxDb2xsZWN0aW9uLkl0ZW1TbG90XG4gICAgICAgICAgc2NvcGU9e19fc2NvcGVTZWxlY3R9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICB0ZXh0VmFsdWU9e3RleHRWYWx1ZX1cbiAgICAgICAgPlxuICAgICAgICAgIDxQcmltaXRpdmUuZGl2XG4gICAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17dGV4dElkfVxuICAgICAgICAgICAgZGF0YS1oaWdobGlnaHRlZD17aXNGb2N1c2VkID8gJycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAvLyBgaXNGb2N1c2VkYCBjYXZlYXQgZml4ZXMgc3R1dHRlcmluZyBpbiBWb2ljZU92ZXJcbiAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzU2VsZWN0ZWQgJiYgaXNGb2N1c2VkfVxuICAgICAgICAgICAgZGF0YS1zdGF0ZT17aXNTZWxlY3RlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnfVxuICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD17ZGlzYWJsZWQgfHwgdW5kZWZpbmVkfVxuICAgICAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWQgPyAnJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIHRhYkluZGV4PXtkaXNhYmxlZCA/IHVuZGVmaW5lZCA6IC0xfVxuICAgICAgICAgICAgey4uLml0ZW1Qcm9wc31cbiAgICAgICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICAgICAgb25Gb2N1cz17Y29tcG9zZUV2ZW50SGFuZGxlcnMoaXRlbVByb3BzLm9uRm9jdXMsICgpID0+IHNldElzRm9jdXNlZCh0cnVlKSl9XG4gICAgICAgICAgICBvbkJsdXI9e2NvbXBvc2VFdmVudEhhbmRsZXJzKGl0ZW1Qcm9wcy5vbkJsdXIsICgpID0+IHNldElzRm9jdXNlZChmYWxzZSkpfVxuICAgICAgICAgICAgb25DbGljaz17Y29tcG9zZUV2ZW50SGFuZGxlcnMoaXRlbVByb3BzLm9uQ2xpY2ssICgpID0+IHtcbiAgICAgICAgICAgICAgLy8gT3BlbiBvbiBjbGljayB3aGVuIHVzaW5nIGEgdG91Y2ggb3IgcGVuIGRldmljZVxuICAgICAgICAgICAgICBpZiAocG9pbnRlclR5cGVSZWYuY3VycmVudCAhPT0gJ21vdXNlJykgaGFuZGxlU2VsZWN0KCk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIG9uUG9pbnRlclVwPXtjb21wb3NlRXZlbnRIYW5kbGVycyhpdGVtUHJvcHMub25Qb2ludGVyVXAsICgpID0+IHtcbiAgICAgICAgICAgICAgLy8gVXNpbmcgYSBtb3VzZSB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gZG8gcG9pbnRlciBkb3duLCBtb3ZlIHRocm91Z2hcbiAgICAgICAgICAgICAgLy8gdGhlIGxpc3QsIGFuZCByZWxlYXNlIHRoZSBwb2ludGVyIG92ZXIgdGhlIGl0ZW0gdG8gc2VsZWN0IGl0LlxuICAgICAgICAgICAgICBpZiAocG9pbnRlclR5cGVSZWYuY3VycmVudCA9PT0gJ21vdXNlJykgaGFuZGxlU2VsZWN0KCk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIG9uUG9pbnRlckRvd249e2NvbXBvc2VFdmVudEhhbmRsZXJzKGl0ZW1Qcm9wcy5vblBvaW50ZXJEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgcG9pbnRlclR5cGVSZWYuY3VycmVudCA9IGV2ZW50LnBvaW50ZXJUeXBlO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICBvblBvaW50ZXJNb3ZlPXtjb21wb3NlRXZlbnRIYW5kbGVycyhpdGVtUHJvcHMub25Qb2ludGVyTW92ZSwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8vIFJlbWVtYmVyIHBvaW50ZXIgdHlwZSB3aGVuIHNsaWRpbmcgb3ZlciB0byB0aGlzIGl0ZW0gZnJvbSBhbm90aGVyIG9uZVxuICAgICAgICAgICAgICBwb2ludGVyVHlwZVJlZi5jdXJyZW50ID0gZXZlbnQucG9pbnRlclR5cGU7XG4gICAgICAgICAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnRDb250ZXh0Lm9uSXRlbUxlYXZlPy4oKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChwb2ludGVyVHlwZVJlZi5jdXJyZW50ID09PSAnbW91c2UnKSB7XG4gICAgICAgICAgICAgICAgLy8gZXZlbiB0aG91Z2ggc2FmYXJpIGRvZXNuJ3Qgc3VwcG9ydCB0aGlzIG9wdGlvbiwgaXQncyBhY2NlcHRhYmxlXG4gICAgICAgICAgICAgICAgLy8gYXMgaXQgb25seSBtZWFucyBpdCBtaWdodCBzY3JvbGwgYSBmZXcgcGl4ZWxzIHdoZW4gdXNpbmcgdGhlIHBvaW50ZXIuXG4gICAgICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgb25Qb2ludGVyTGVhdmU9e2NvbXBvc2VFdmVudEhhbmRsZXJzKGl0ZW1Qcm9wcy5vblBvaW50ZXJMZWF2ZSwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChldmVudC5jdXJyZW50VGFyZ2V0ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29udGVudENvbnRleHQub25JdGVtTGVhdmU/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIG9uS2V5RG93bj17Y29tcG9zZUV2ZW50SGFuZGxlcnMoaXRlbVByb3BzLm9uS2V5RG93biwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGlzVHlwaW5nQWhlYWQgPSBjb250ZW50Q29udGV4dC5zZWFyY2hSZWY/LmN1cnJlbnQgIT09ICcnO1xuICAgICAgICAgICAgICBpZiAoaXNUeXBpbmdBaGVhZCAmJiBldmVudC5rZXkgPT09ICcgJykgcmV0dXJuO1xuICAgICAgICAgICAgICBpZiAoU0VMRUNUSU9OX0tFWVMuaW5jbHVkZXMoZXZlbnQua2V5KSkgaGFuZGxlU2VsZWN0KCk7XG4gICAgICAgICAgICAgIC8vIHByZXZlbnQgcGFnZSBzY3JvbGwgaWYgdXNpbmcgdGhlIHNwYWNlIGtleSB0byBzZWxlY3QgYW4gaXRlbVxuICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnICcpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0NvbGxlY3Rpb24uSXRlbVNsb3Q+XG4gICAgICA8L1NlbGVjdEl0ZW1Db250ZXh0UHJvdmlkZXI+XG4gICAgKTtcbiAgfVxuKTtcblxuU2VsZWN0SXRlbS5kaXNwbGF5TmFtZSA9IElURU1fTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2VsZWN0SXRlbVRleHRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgSVRFTV9URVhUX05BTUUgPSAnU2VsZWN0SXRlbVRleHQnO1xuXG50eXBlIFNlbGVjdEl0ZW1UZXh0RWxlbWVudCA9IFJlYWN0LkNvbXBvbmVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLnNwYW4+O1xuaW50ZXJmYWNlIFNlbGVjdEl0ZW1UZXh0UHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVTcGFuUHJvcHMge31cblxuY29uc3QgU2VsZWN0SXRlbVRleHQgPSBSZWFjdC5mb3J3YXJkUmVmPFNlbGVjdEl0ZW1UZXh0RWxlbWVudCwgU2VsZWN0SXRlbVRleHRQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8U2VsZWN0SXRlbVRleHRQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIC8vIFdlIGlnbm9yZSBgY2xhc3NOYW1lYCBhbmQgYHN0eWxlYCBhcyB0aGlzIHBhcnQgc2hvdWxkbid0IGJlIHN0eWxlZC5cbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIGNsYXNzTmFtZSwgc3R5bGUsIC4uLml0ZW1UZXh0UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTZWxlY3RDb250ZXh0KElURU1fVEVYVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZVNlbGVjdENvbnRlbnRDb250ZXh0KElURU1fVEVYVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBpdGVtQ29udGV4dCA9IHVzZVNlbGVjdEl0ZW1Db250ZXh0KElURU1fVEVYVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBuYXRpdmVPcHRpb25zQ29udGV4dCA9IHVzZVNlbGVjdE5hdGl2ZU9wdGlvbnNDb250ZXh0KElURU1fVEVYVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBbaXRlbVRleHROb2RlLCBzZXRJdGVtVGV4dE5vZGVdID0gUmVhY3QudXNlU3RhdGU8U2VsZWN0SXRlbVRleHRFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKFxuICAgICAgZm9yd2FyZGVkUmVmLFxuICAgICAgKG5vZGUpID0+IHNldEl0ZW1UZXh0Tm9kZShub2RlKSxcbiAgICAgIGl0ZW1Db250ZXh0Lm9uSXRlbVRleHRDaGFuZ2UsXG4gICAgICAobm9kZSkgPT4gY29udGVudENvbnRleHQuaXRlbVRleHRSZWZDYWxsYmFjaz8uKG5vZGUsIGl0ZW1Db250ZXh0LnZhbHVlLCBpdGVtQ29udGV4dC5kaXNhYmxlZClcbiAgICApO1xuXG4gICAgY29uc3QgdGV4dENvbnRlbnQgPSBpdGVtVGV4dE5vZGU/LnRleHRDb250ZW50O1xuICAgIGNvbnN0IG5hdGl2ZU9wdGlvbiA9IFJlYWN0LnVzZU1lbW8oXG4gICAgICAoKSA9PiAoXG4gICAgICAgIDxvcHRpb24ga2V5PXtpdGVtQ29udGV4dC52YWx1ZX0gdmFsdWU9e2l0ZW1Db250ZXh0LnZhbHVlfSBkaXNhYmxlZD17aXRlbUNvbnRleHQuZGlzYWJsZWR9PlxuICAgICAgICAgIHt0ZXh0Q29udGVudH1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICApLFxuICAgICAgW2l0ZW1Db250ZXh0LmRpc2FibGVkLCBpdGVtQ29udGV4dC52YWx1ZSwgdGV4dENvbnRlbnRdXG4gICAgKTtcblxuICAgIGNvbnN0IHsgb25OYXRpdmVPcHRpb25BZGQsIG9uTmF0aXZlT3B0aW9uUmVtb3ZlIH0gPSBuYXRpdmVPcHRpb25zQ29udGV4dDtcbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgb25OYXRpdmVPcHRpb25BZGQobmF0aXZlT3B0aW9uKTtcbiAgICAgIHJldHVybiAoKSA9PiBvbk5hdGl2ZU9wdGlvblJlbW92ZShuYXRpdmVPcHRpb24pO1xuICAgIH0sIFtvbk5hdGl2ZU9wdGlvbkFkZCwgb25OYXRpdmVPcHRpb25SZW1vdmUsIG5hdGl2ZU9wdGlvbl0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxQcmltaXRpdmUuc3BhbiBpZD17aXRlbUNvbnRleHQudGV4dElkfSB7Li4uaXRlbVRleHRQcm9wc30gcmVmPXtjb21wb3NlZFJlZnN9IC8+XG5cbiAgICAgICAgey8qIFBvcnRhbCB0aGUgc2VsZWN0IGl0ZW0gdGV4dCBpbnRvIHRoZSB0cmlnZ2VyIHZhbHVlIG5vZGUgKi99XG4gICAgICAgIHtpdGVtQ29udGV4dC5pc1NlbGVjdGVkICYmIGNvbnRleHQudmFsdWVOb2RlICYmICFjb250ZXh0LnZhbHVlTm9kZUhhc0NoaWxkcmVuXG4gICAgICAgICAgPyBSZWFjdERPTS5jcmVhdGVQb3J0YWwoaXRlbVRleHRQcm9wcy5jaGlsZHJlbiwgY29udGV4dC52YWx1ZU5vZGUpXG4gICAgICAgICAgOiBudWxsfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuKTtcblxuU2VsZWN0SXRlbVRleHQuZGlzcGxheU5hbWUgPSBJVEVNX1RFWFRfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2VsZWN0SXRlbUluZGljYXRvclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBJVEVNX0lORElDQVRPUl9OQU1FID0gJ1NlbGVjdEl0ZW1JbmRpY2F0b3InO1xuXG50eXBlIFNlbGVjdEl0ZW1JbmRpY2F0b3JFbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuc3Bhbj47XG5pbnRlcmZhY2UgU2VsZWN0SXRlbUluZGljYXRvclByb3BzIGV4dGVuZHMgUHJpbWl0aXZlU3BhblByb3BzIHt9XG5cbmNvbnN0IFNlbGVjdEl0ZW1JbmRpY2F0b3IgPSBSZWFjdC5mb3J3YXJkUmVmPFNlbGVjdEl0ZW1JbmRpY2F0b3JFbGVtZW50LCBTZWxlY3RJdGVtSW5kaWNhdG9yUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdEl0ZW1JbmRpY2F0b3JQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVNlbGVjdCwgLi4uaXRlbUluZGljYXRvclByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBpdGVtQ29udGV4dCA9IHVzZVNlbGVjdEl0ZW1Db250ZXh0KElURU1fSU5ESUNBVE9SX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIHJldHVybiBpdGVtQ29udGV4dC5pc1NlbGVjdGVkID8gKFxuICAgICAgPFByaW1pdGl2ZS5zcGFuIGFyaWEtaGlkZGVuIHsuLi5pdGVtSW5kaWNhdG9yUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPlxuICAgICkgOiBudWxsO1xuICB9XG4pO1xuXG5TZWxlY3RJdGVtSW5kaWNhdG9yLmRpc3BsYXlOYW1lID0gSVRFTV9JTkRJQ0FUT1JfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2VsZWN0U2Nyb2xsVXBCdXR0b25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgU0NST0xMX1VQX0JVVFRPTl9OQU1FID0gJ1NlbGVjdFNjcm9sbFVwQnV0dG9uJztcblxudHlwZSBTZWxlY3RTY3JvbGxVcEJ1dHRvbkVsZW1lbnQgPSBTZWxlY3RTY3JvbGxCdXR0b25JbXBsRWxlbWVudDtcbmludGVyZmFjZSBTZWxlY3RTY3JvbGxVcEJ1dHRvblByb3BzIGV4dGVuZHMgT21pdDxTZWxlY3RTY3JvbGxCdXR0b25JbXBsUHJvcHMsICdvbkF1dG9TY3JvbGwnPiB7fVxuXG5jb25zdCBTZWxlY3RTY3JvbGxVcEJ1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFNlbGVjdFNjcm9sbFVwQnV0dG9uRWxlbWVudCxcbiAgU2VsZWN0U2Nyb2xsVXBCdXR0b25Qcm9wc1xuPigocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdFNjcm9sbFVwQnV0dG9uUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dChTQ1JPTExfVVBfQlVUVE9OX05BTUUsIHByb3BzLl9fc2NvcGVTZWxlY3QpO1xuICBjb25zdCB2aWV3cG9ydENvbnRleHQgPSB1c2VTZWxlY3RWaWV3cG9ydENvbnRleHQoU0NST0xMX1VQX0JVVFRPTl9OQU1FLCBwcm9wcy5fX3Njb3BlU2VsZWN0KTtcbiAgY29uc3QgW2NhblNjcm9sbFVwLCBzZXRDYW5TY3JvbGxVcF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIHZpZXdwb3J0Q29udGV4dC5vblNjcm9sbEJ1dHRvbkNoYW5nZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY29udGVudENvbnRleHQudmlld3BvcnQgJiYgY29udGVudENvbnRleHQuaXNQb3NpdGlvbmVkKSB7XG4gICAgICBjb25zdCB2aWV3cG9ydCA9IGNvbnRlbnRDb250ZXh0LnZpZXdwb3J0O1xuICAgICAgZnVuY3Rpb24gaGFuZGxlU2Nyb2xsKCkge1xuICAgICAgICBjb25zdCBjYW5TY3JvbGxVcCA9IHZpZXdwb3J0LnNjcm9sbFRvcCA+IDA7XG4gICAgICAgIHNldENhblNjcm9sbFVwKGNhblNjcm9sbFVwKTtcbiAgICAgIH1cbiAgICAgIGhhbmRsZVNjcm9sbCgpO1xuICAgICAgdmlld3BvcnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgIHJldHVybiAoKSA9PiB2aWV3cG9ydC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICAgIH1cbiAgfSwgW2NvbnRlbnRDb250ZXh0LnZpZXdwb3J0LCBjb250ZW50Q29udGV4dC5pc1Bvc2l0aW9uZWRdKTtcblxuICByZXR1cm4gY2FuU2Nyb2xsVXAgPyAoXG4gICAgPFNlbGVjdFNjcm9sbEJ1dHRvbkltcGxcbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgb25BdXRvU2Nyb2xsPXsoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdmlld3BvcnQsIHNlbGVjdGVkSXRlbSB9ID0gY29udGVudENvbnRleHQ7XG4gICAgICAgIGlmICh2aWV3cG9ydCAmJiBzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICB2aWV3cG9ydC5zY3JvbGxUb3AgPSB2aWV3cG9ydC5zY3JvbGxUb3AgLSBzZWxlY3RlZEl0ZW0ub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9fVxuICAgIC8+XG4gICkgOiBudWxsO1xufSk7XG5cblNlbGVjdFNjcm9sbFVwQnV0dG9uLmRpc3BsYXlOYW1lID0gU0NST0xMX1VQX0JVVFRPTl9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RTY3JvbGxEb3duQnV0dG9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFNDUk9MTF9ET1dOX0JVVFRPTl9OQU1FID0gJ1NlbGVjdFNjcm9sbERvd25CdXR0b24nO1xuXG50eXBlIFNlbGVjdFNjcm9sbERvd25CdXR0b25FbGVtZW50ID0gU2VsZWN0U2Nyb2xsQnV0dG9uSW1wbEVsZW1lbnQ7XG5pbnRlcmZhY2UgU2VsZWN0U2Nyb2xsRG93bkJ1dHRvblByb3BzIGV4dGVuZHMgT21pdDxTZWxlY3RTY3JvbGxCdXR0b25JbXBsUHJvcHMsICdvbkF1dG9TY3JvbGwnPiB7fVxuXG5jb25zdCBTZWxlY3RTY3JvbGxEb3duQnV0dG9uID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgU2VsZWN0U2Nyb2xsRG93bkJ1dHRvbkVsZW1lbnQsXG4gIFNlbGVjdFNjcm9sbERvd25CdXR0b25Qcm9wc1xuPigocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdFNjcm9sbERvd25CdXR0b25Qcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZVNlbGVjdENvbnRlbnRDb250ZXh0KFNDUk9MTF9ET1dOX0JVVFRPTl9OQU1FLCBwcm9wcy5fX3Njb3BlU2VsZWN0KTtcbiAgY29uc3Qgdmlld3BvcnRDb250ZXh0ID0gdXNlU2VsZWN0Vmlld3BvcnRDb250ZXh0KFNDUk9MTF9ET1dOX0JVVFRPTl9OQU1FLCBwcm9wcy5fX3Njb3BlU2VsZWN0KTtcbiAgY29uc3QgW2NhblNjcm9sbERvd24sIHNldENhblNjcm9sbERvd25dID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCB2aWV3cG9ydENvbnRleHQub25TY3JvbGxCdXR0b25DaGFuZ2UpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNvbnRlbnRDb250ZXh0LnZpZXdwb3J0ICYmIGNvbnRlbnRDb250ZXh0LmlzUG9zaXRpb25lZCkge1xuICAgICAgY29uc3Qgdmlld3BvcnQgPSBjb250ZW50Q29udGV4dC52aWV3cG9ydDtcbiAgICAgIGZ1bmN0aW9uIGhhbmRsZVNjcm9sbCgpIHtcbiAgICAgICAgY29uc3QgbWF4U2Nyb2xsID0gdmlld3BvcnQuc2Nyb2xsSGVpZ2h0IC0gdmlld3BvcnQuY2xpZW50SGVpZ2h0O1xuICAgICAgICAvLyB3ZSB1c2UgTWF0aC5jZWlsIGhlcmUgYmVjYXVzZSBpZiB0aGUgVUkgaXMgem9vbWVkLWluXG4gICAgICAgIC8vIGBzY3JvbGxUb3BgIGlzIG5vdCBhbHdheXMgcmVwb3J0ZWQgYXMgYW4gaW50ZWdlclxuICAgICAgICBjb25zdCBjYW5TY3JvbGxEb3duID0gTWF0aC5jZWlsKHZpZXdwb3J0LnNjcm9sbFRvcCkgPCBtYXhTY3JvbGw7XG4gICAgICAgIHNldENhblNjcm9sbERvd24oY2FuU2Nyb2xsRG93bik7XG4gICAgICB9XG4gICAgICBoYW5kbGVTY3JvbGwoKTtcbiAgICAgIHZpZXdwb3J0LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gICAgICByZXR1cm4gKCkgPT4gdmlld3BvcnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICB9XG4gIH0sIFtjb250ZW50Q29udGV4dC52aWV3cG9ydCwgY29udGVudENvbnRleHQuaXNQb3NpdGlvbmVkXSk7XG5cbiAgcmV0dXJuIGNhblNjcm9sbERvd24gPyAoXG4gICAgPFNlbGVjdFNjcm9sbEJ1dHRvbkltcGxcbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgb25BdXRvU2Nyb2xsPXsoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdmlld3BvcnQsIHNlbGVjdGVkSXRlbSB9ID0gY29udGVudENvbnRleHQ7XG4gICAgICAgIGlmICh2aWV3cG9ydCAmJiBzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICB2aWV3cG9ydC5zY3JvbGxUb3AgPSB2aWV3cG9ydC5zY3JvbGxUb3AgKyBzZWxlY3RlZEl0ZW0ub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9fVxuICAgIC8+XG4gICkgOiBudWxsO1xufSk7XG5cblNlbGVjdFNjcm9sbERvd25CdXR0b24uZGlzcGxheU5hbWUgPSBTQ1JPTExfRE9XTl9CVVRUT05fTkFNRTtcblxudHlwZSBTZWxlY3RTY3JvbGxCdXR0b25JbXBsRWxlbWVudCA9IFJlYWN0LkNvbXBvbmVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmRpdj47XG5pbnRlcmZhY2UgU2VsZWN0U2Nyb2xsQnV0dG9uSW1wbFByb3BzIGV4dGVuZHMgUHJpbWl0aXZlRGl2UHJvcHMge1xuICBvbkF1dG9TY3JvbGwoKTogdm9pZDtcbn1cblxuY29uc3QgU2VsZWN0U2Nyb2xsQnV0dG9uSW1wbCA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFNlbGVjdFNjcm9sbEJ1dHRvbkltcGxFbGVtZW50LFxuICBTZWxlY3RTY3JvbGxCdXR0b25JbXBsUHJvcHNcbj4oKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RTY3JvbGxCdXR0b25JbXBsUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCBvbkF1dG9TY3JvbGwsIC4uLnNjcm9sbEluZGljYXRvclByb3BzIH0gPSBwcm9wcztcbiAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dCgnU2VsZWN0U2Nyb2xsQnV0dG9uJywgX19zY29wZVNlbGVjdCk7XG4gIGNvbnN0IGF1dG9TY3JvbGxUaW1lclJlZiA9IFJlYWN0LnVzZVJlZjxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgZ2V0SXRlbXMgPSB1c2VDb2xsZWN0aW9uKF9fc2NvcGVTZWxlY3QpO1xuXG4gIGNvbnN0IGNsZWFyQXV0b1Njcm9sbFRpbWVyID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChhdXRvU2Nyb2xsVGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoYXV0b1Njcm9sbFRpbWVyUmVmLmN1cnJlbnQpO1xuICAgICAgYXV0b1Njcm9sbFRpbWVyUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IGNsZWFyQXV0b1Njcm9sbFRpbWVyKCk7XG4gIH0sIFtjbGVhckF1dG9TY3JvbGxUaW1lcl0pO1xuXG4gIC8vIFdoZW4gdGhlIHZpZXdwb3J0IGJlY29tZXMgc2Nyb2xsYWJsZSBvbiBlaXRoZXIgc2lkZSwgdGhlIHJlbGV2YW50IHNjcm9sbCBidXR0b24gd2lsbCBtb3VudC5cbiAgLy8gQmVjYXVzZSBpdCBpcyBwYXJ0IG9mIHRoZSBub3JtYWwgZmxvdywgaXQgd2lsbCBwdXNoIGRvd24gKHRvcCBidXR0b24pIG9yIHNocmluayAoYm90dG9tIGJ1dHRvbilcbiAgLy8gdGhlIHZpZXdwb3J0LCBwb3RlbnRpYWxseSBjYXVzaW5nIHRoZSBhY3RpdmUgaXRlbSB0byBub3cgYmUgcGFydGlhbGx5IG91dCBvZiB2aWV3LlxuICAvLyBXZSByZS1ydW4gdGhlIGBzY3JvbGxJbnRvVmlld2AgbG9naWMgdG8gbWFrZSBzdXJlIGl0IHN0YXlzIHdpdGhpbiB0aGUgdmlld3BvcnQuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgYWN0aXZlSXRlbSA9IGdldEl0ZW1zKCkuZmluZCgoaXRlbSkgPT4gaXRlbS5yZWYuY3VycmVudCA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XG4gICAgYWN0aXZlSXRlbT8ucmVmLmN1cnJlbnQ/LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcbiAgfSwgW2dldEl0ZW1zXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UHJpbWl0aXZlLmRpdlxuICAgICAgYXJpYS1oaWRkZW5cbiAgICAgIHsuLi5zY3JvbGxJbmRpY2F0b3JQcm9wc31cbiAgICAgIHJlZj17Zm9yd2FyZGVkUmVmfVxuICAgICAgc3R5bGU9e3sgZmxleFNocmluazogMCwgLi4uc2Nyb2xsSW5kaWNhdG9yUHJvcHMuc3R5bGUgfX1cbiAgICAgIG9uUG9pbnRlckRvd249e2NvbXBvc2VFdmVudEhhbmRsZXJzKHNjcm9sbEluZGljYXRvclByb3BzLm9uUG9pbnRlckRvd24sICgpID0+IHtcbiAgICAgICAgaWYgKGF1dG9TY3JvbGxUaW1lclJlZi5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgYXV0b1Njcm9sbFRpbWVyUmVmLmN1cnJlbnQgPSB3aW5kb3cuc2V0SW50ZXJ2YWwob25BdXRvU2Nyb2xsLCA1MCk7XG4gICAgICAgIH1cbiAgICAgIH0pfVxuICAgICAgb25Qb2ludGVyTW92ZT17Y29tcG9zZUV2ZW50SGFuZGxlcnMoc2Nyb2xsSW5kaWNhdG9yUHJvcHMub25Qb2ludGVyTW92ZSwgKCkgPT4ge1xuICAgICAgICBjb250ZW50Q29udGV4dC5vbkl0ZW1MZWF2ZT8uKCk7XG4gICAgICAgIGlmIChhdXRvU2Nyb2xsVGltZXJSZWYuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICAgIGF1dG9TY3JvbGxUaW1lclJlZi5jdXJyZW50ID0gd2luZG93LnNldEludGVydmFsKG9uQXV0b1Njcm9sbCwgNTApO1xuICAgICAgICB9XG4gICAgICB9KX1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXtjb21wb3NlRXZlbnRIYW5kbGVycyhzY3JvbGxJbmRpY2F0b3JQcm9wcy5vblBvaW50ZXJMZWF2ZSwgKCkgPT4ge1xuICAgICAgICBjbGVhckF1dG9TY3JvbGxUaW1lcigpO1xuICAgICAgfSl9XG4gICAgLz5cbiAgKTtcbn0pO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RTZXBhcmF0b3JcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgU0VQQVJBVE9SX05BTUUgPSAnU2VsZWN0U2VwYXJhdG9yJztcblxudHlwZSBTZWxlY3RTZXBhcmF0b3JFbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuZGl2PjtcbmludGVyZmFjZSBTZWxlY3RTZXBhcmF0b3JQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHt9XG5cbmNvbnN0IFNlbGVjdFNlcGFyYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0U2VwYXJhdG9yRWxlbWVudCwgU2VsZWN0U2VwYXJhdG9yUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdFNlcGFyYXRvclByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCAuLi5zZXBhcmF0b3JQcm9wcyB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIDxQcmltaXRpdmUuZGl2IGFyaWEtaGlkZGVuIHsuLi5zZXBhcmF0b3JQcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9IC8+O1xuICB9XG4pO1xuXG5TZWxlY3RTZXBhcmF0b3IuZGlzcGxheU5hbWUgPSBTRVBBUkFUT1JfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2VsZWN0QXJyb3dcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgQVJST1dfTkFNRSA9ICdTZWxlY3RBcnJvdyc7XG5cbnR5cGUgU2VsZWN0QXJyb3dFbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQb3BwZXJQcmltaXRpdmUuQXJyb3c+O1xudHlwZSBQb3BwZXJBcnJvd1Byb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQb3BwZXJQcmltaXRpdmUuQXJyb3c+O1xuaW50ZXJmYWNlIFNlbGVjdEFycm93UHJvcHMgZXh0ZW5kcyBQb3BwZXJBcnJvd1Byb3BzIHt9XG5cbmNvbnN0IFNlbGVjdEFycm93ID0gUmVhY3QuZm9yd2FyZFJlZjxTZWxlY3RBcnJvd0VsZW1lbnQsIFNlbGVjdEFycm93UHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdEFycm93UHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIC4uLmFycm93UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IHBvcHBlclNjb3BlID0gdXNlUG9wcGVyU2NvcGUoX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNlbGVjdENvbnRleHQoQVJST1dfTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dChBUlJPV19OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICByZXR1cm4gY29udGV4dC5vcGVuICYmIGNvbnRlbnRDb250ZXh0LnBvc2l0aW9uID09PSAncG9wcGVyJyA/IChcbiAgICAgIDxQb3BwZXJQcmltaXRpdmUuQXJyb3cgey4uLnBvcHBlclNjb3BlfSB7Li4uYXJyb3dQcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9IC8+XG4gICAgKSA6IG51bGw7XG4gIH1cbik7XG5cblNlbGVjdEFycm93LmRpc3BsYXlOYW1lID0gQVJST1dfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2VsZWN0QnViYmxlSW5wdXRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgQlVCQkxFX0lOUFVUX05BTUUgPSAnU2VsZWN0QnViYmxlSW5wdXQnO1xuXG50eXBlIElucHV0UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5zZWxlY3Q+O1xuaW50ZXJmYWNlIFN3aXRjaEJ1YmJsZUlucHV0UHJvcHMgZXh0ZW5kcyBJbnB1dFByb3BzIHt9XG5cbmNvbnN0IFNlbGVjdEJ1YmJsZUlucHV0ID0gUmVhY3QuZm9yd2FyZFJlZjxIVE1MU2VsZWN0RWxlbWVudCwgU3dpdGNoQnViYmxlSW5wdXRQcm9wcz4oXG4gICh7IF9fc2NvcGVTZWxlY3QsIHZhbHVlLCAuLi5wcm9wcyB9OiBTY29wZWRQcm9wczxTd2l0Y2hCdWJibGVJbnB1dFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmPEhUTUxTZWxlY3RFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCByZWYpO1xuICAgIGNvbnN0IHByZXZWYWx1ZSA9IHVzZVByZXZpb3VzKHZhbHVlKTtcblxuICAgIC8vIEJ1YmJsZSB2YWx1ZSBjaGFuZ2UgdG8gcGFyZW50cyAoZS5nIGZvcm0gY2hhbmdlIGV2ZW50KVxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3QgPSByZWYuY3VycmVudDtcbiAgICAgIGlmICghc2VsZWN0KSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHNlbGVjdFByb3RvID0gd2luZG93LkhUTUxTZWxlY3RFbGVtZW50LnByb3RvdHlwZTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFxuICAgICAgICBzZWxlY3RQcm90byxcbiAgICAgICAgJ3ZhbHVlJ1xuICAgICAgKSBhcyBQcm9wZXJ0eURlc2NyaXB0b3I7XG4gICAgICBjb25zdCBzZXRWYWx1ZSA9IGRlc2NyaXB0b3Iuc2V0O1xuICAgICAgaWYgKHByZXZWYWx1ZSAhPT0gdmFsdWUgJiYgc2V0VmFsdWUpIHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoJ2NoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KTtcbiAgICAgICAgc2V0VmFsdWUuY2FsbChzZWxlY3QsIHZhbHVlKTtcbiAgICAgICAgc2VsZWN0LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgfVxuICAgIH0sIFtwcmV2VmFsdWUsIHZhbHVlXSk7XG5cbiAgICAvKipcbiAgICAgKiBXZSBwdXJwb3NlZnVsbHkgdXNlIGEgYHNlbGVjdGAgaGVyZSB0byBzdXBwb3J0IGZvcm0gYXV0b2ZpbGwgYXMgbXVjaCBhc1xuICAgICAqIHBvc3NpYmxlLlxuICAgICAqXG4gICAgICogV2UgcHVycG9zZWZ1bGx5IGRvIG5vdCBhZGQgdGhlIGB2YWx1ZWAgYXR0cmlidXRlIGhlcmUgdG8gYWxsb3cgdGhlIHZhbHVlXG4gICAgICogdG8gYmUgc2V0IHByb2dyYW1tYXRpY2FsbHkgYW5kIGJ1YmJsZSB0byBhbnkgcGFyZW50IGZvcm0gYG9uQ2hhbmdlYFxuICAgICAqIGV2ZW50LiBBZGRpbmcgdGhlIGB2YWx1ZWAgd2lsbCBjYXVzZSBSZWFjdCB0byBjb25zaWRlciB0aGUgcHJvZ3JhbW1hdGljXG4gICAgICogZGlzcGF0Y2ggYSBkdXBsaWNhdGUgYW5kIGl0IHdpbGwgZ2V0IHN3YWxsb3dlZC5cbiAgICAgKlxuICAgICAqIFdlIHVzZSB2aXN1YWxseSBoaWRkZW4gc3R5bGVzIHJhdGhlciB0aGFuIGBkaXNwbGF5OiBcIm5vbmVcImAgYmVjYXVzZVxuICAgICAqIFNhZmFyaSBhdXRvZmlsbCB3b24ndCB3b3JrIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICByZXR1cm4gKFxuICAgICAgPFByaW1pdGl2ZS5zZWxlY3RcbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBzdHlsZT17eyAuLi5WSVNVQUxMWV9ISURERU5fU1RZTEVTLCAuLi5wcm9wcy5zdHlsZSB9fVxuICAgICAgICByZWY9e2NvbXBvc2VkUmVmc31cbiAgICAgICAgZGVmYXVsdFZhbHVlPXt2YWx1ZX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuKTtcblxuU2VsZWN0QnViYmxlSW5wdXQuZGlzcGxheU5hbWUgPSBCVUJCTEVfSU5QVVRfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5mdW5jdGlvbiBzaG91bGRTaG93UGxhY2Vob2xkZXIodmFsdWU/OiBzdHJpbmcpIHtcbiAgcmV0dXJuIHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB1c2VUeXBlYWhlYWRTZWFyY2gob25TZWFyY2hDaGFuZ2U6IChzZWFyY2g6IHN0cmluZykgPT4gdm9pZCkge1xuICBjb25zdCBoYW5kbGVTZWFyY2hDaGFuZ2UgPSB1c2VDYWxsYmFja1JlZihvblNlYXJjaENoYW5nZSk7XG4gIGNvbnN0IHNlYXJjaFJlZiA9IFJlYWN0LnVzZVJlZignJyk7XG4gIGNvbnN0IHRpbWVyUmVmID0gUmVhY3QudXNlUmVmKDApO1xuXG4gIGNvbnN0IGhhbmRsZVR5cGVhaGVhZFNlYXJjaCA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgc2VhcmNoID0gc2VhcmNoUmVmLmN1cnJlbnQgKyBrZXk7XG4gICAgICBoYW5kbGVTZWFyY2hDaGFuZ2Uoc2VhcmNoKTtcblxuICAgICAgKGZ1bmN0aW9uIHVwZGF0ZVNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHNlYXJjaFJlZi5jdXJyZW50ID0gdmFsdWU7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZXJSZWYuY3VycmVudCk7XG4gICAgICAgIC8vIFJlc2V0IGBzZWFyY2hSZWZgIDEgc2Vjb25kIGFmdGVyIGl0IHdhcyBsYXN0IHVwZGF0ZWRcbiAgICAgICAgaWYgKHZhbHVlICE9PSAnJykgdGltZXJSZWYuY3VycmVudCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHVwZGF0ZVNlYXJjaCgnJyksIDEwMDApO1xuICAgICAgfSkoc2VhcmNoKTtcbiAgICB9LFxuICAgIFtoYW5kbGVTZWFyY2hDaGFuZ2VdXG4gICk7XG5cbiAgY29uc3QgcmVzZXRUeXBlYWhlYWQgPSBSZWFjdC51c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2VhcmNoUmVmLmN1cnJlbnQgPSAnJztcbiAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVyUmVmLmN1cnJlbnQpO1xuICB9LCBbXSk7XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4gd2luZG93LmNsZWFyVGltZW91dCh0aW1lclJlZi5jdXJyZW50KTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiBbc2VhcmNoUmVmLCBoYW5kbGVUeXBlYWhlYWRTZWFyY2gsIHJlc2V0VHlwZWFoZWFkXSBhcyBjb25zdDtcbn1cblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBcIm1lYXRcIiBvZiB0aGUgdHlwZWFoZWFkIG1hdGNoaW5nIGxvZ2ljLiBJdCB0YWtlcyBpbiBhIGxpc3Qgb2YgaXRlbXMsXG4gKiB0aGUgc2VhcmNoIGFuZCB0aGUgY3VycmVudCBpdGVtLCBhbmQgcmV0dXJucyB0aGUgbmV4dCBpdGVtIChvciBgdW5kZWZpbmVkYCkuXG4gKlxuICogV2Ugbm9ybWFsaXplIHRoZSBzZWFyY2ggYmVjYXVzZSBpZiBhIHVzZXIgaGFzIHJlcGVhdGVkbHkgcHJlc3NlZCBhIGNoYXJhY3RlcixcbiAqIHdlIHdhbnQgdGhlIGV4YWN0IHNhbWUgYmVoYXZpb3IgYXMgaWYgd2Ugb25seSBoYWQgdGhhdCBvbmUgY2hhcmFjdGVyXG4gKiAoaWUuIGN5Y2xlIHRocm91Z2ggaXRlbXMgc3RhcnRpbmcgd2l0aCB0aGF0IGNoYXJhY3RlcilcbiAqXG4gKiBXZSBhbHNvIHJlb3JkZXIgdGhlIGl0ZW1zIGJ5IHdyYXBwaW5nIHRoZSBhcnJheSBhcm91bmQgdGhlIGN1cnJlbnQgaXRlbS5cbiAqIFRoaXMgaXMgc28gd2UgYWx3YXlzIGxvb2sgZm9yd2FyZCBmcm9tIHRoZSBjdXJyZW50IGl0ZW0sIGFuZCBwaWNraW5nIHRoZSBmaXJzdFxuICogaXRlbSB3aWxsIGFsd2F5cyBiZSB0aGUgY29ycmVjdCBvbmUuXG4gKlxuICogRmluYWxseSwgaWYgdGhlIG5vcm1hbGl6ZWQgc2VhcmNoIGlzIGV4YWN0bHkgb25lIGNoYXJhY3Rlciwgd2UgZXhjbHVkZSB0aGVcbiAqIGN1cnJlbnQgaXRlbSBmcm9tIHRoZSB2YWx1ZXMgYmVjYXVzZSBvdGhlcndpc2UgaXQgd291bGQgYmUgdGhlIGZpcnN0IHRvIG1hdGNoIGFsd2F5c1xuICogYW5kIGZvY3VzIHdvdWxkIG5ldmVyIG1vdmUuIFRoaXMgaXMgYXMgb3Bwb3NlZCB0byB0aGUgcmVndWxhciBjYXNlLCB3aGVyZSB3ZVxuICogZG9uJ3Qgd2FudCBmb2N1cyB0byBtb3ZlIGlmIHRoZSBjdXJyZW50IGl0ZW0gc3RpbGwgbWF0Y2hlcy5cbiAqL1xuZnVuY3Rpb24gZmluZE5leHRJdGVtPFQgZXh0ZW5kcyB7IHRleHRWYWx1ZTogc3RyaW5nIH0+KFxuICBpdGVtczogVFtdLFxuICBzZWFyY2g6IHN0cmluZyxcbiAgY3VycmVudEl0ZW0/OiBUXG4pIHtcbiAgY29uc3QgaXNSZXBlYXRlZCA9IHNlYXJjaC5sZW5ndGggPiAxICYmIEFycmF5LmZyb20oc2VhcmNoKS5ldmVyeSgoY2hhcikgPT4gY2hhciA9PT0gc2VhcmNoWzBdKTtcbiAgY29uc3Qgbm9ybWFsaXplZFNlYXJjaCA9IGlzUmVwZWF0ZWQgPyBzZWFyY2hbMF0hIDogc2VhcmNoO1xuICBjb25zdCBjdXJyZW50SXRlbUluZGV4ID0gY3VycmVudEl0ZW0gPyBpdGVtcy5pbmRleE9mKGN1cnJlbnRJdGVtKSA6IC0xO1xuICBsZXQgd3JhcHBlZEl0ZW1zID0gd3JhcEFycmF5KGl0ZW1zLCBNYXRoLm1heChjdXJyZW50SXRlbUluZGV4LCAwKSk7XG4gIGNvbnN0IGV4Y2x1ZGVDdXJyZW50SXRlbSA9IG5vcm1hbGl6ZWRTZWFyY2gubGVuZ3RoID09PSAxO1xuICBpZiAoZXhjbHVkZUN1cnJlbnRJdGVtKSB3cmFwcGVkSXRlbXMgPSB3cmFwcGVkSXRlbXMuZmlsdGVyKCh2KSA9PiB2ICE9PSBjdXJyZW50SXRlbSk7XG4gIGNvbnN0IG5leHRJdGVtID0gd3JhcHBlZEl0ZW1zLmZpbmQoKGl0ZW0pID0+XG4gICAgaXRlbS50ZXh0VmFsdWUudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKG5vcm1hbGl6ZWRTZWFyY2gudG9Mb3dlckNhc2UoKSlcbiAgKTtcbiAgcmV0dXJuIG5leHRJdGVtICE9PSBjdXJyZW50SXRlbSA/IG5leHRJdGVtIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFdyYXBzIGFuIGFycmF5IGFyb3VuZCBpdHNlbGYgYXQgYSBnaXZlbiBzdGFydCBpbmRleFxuICogRXhhbXBsZTogYHdyYXBBcnJheShbJ2EnLCAnYicsICdjJywgJ2QnXSwgMikgPT09IFsnYycsICdkJywgJ2EnLCAnYiddYFxuICovXG5mdW5jdGlvbiB3cmFwQXJyYXk8VD4oYXJyYXk6IFRbXSwgc3RhcnRJbmRleDogbnVtYmVyKSB7XG4gIHJldHVybiBhcnJheS5tYXA8VD4oKF8sIGluZGV4KSA9PiBhcnJheVsoc3RhcnRJbmRleCArIGluZGV4KSAlIGFycmF5Lmxlbmd0aF0hKTtcbn1cblxuY29uc3QgUm9vdCA9IFNlbGVjdDtcbmNvbnN0IFRyaWdnZXIgPSBTZWxlY3RUcmlnZ2VyO1xuY29uc3QgVmFsdWUgPSBTZWxlY3RWYWx1ZTtcbmNvbnN0IEljb24gPSBTZWxlY3RJY29uO1xuY29uc3QgUG9ydGFsID0gU2VsZWN0UG9ydGFsO1xuY29uc3QgQ29udGVudCA9IFNlbGVjdENvbnRlbnQ7XG5jb25zdCBWaWV3cG9ydCA9IFNlbGVjdFZpZXdwb3J0O1xuY29uc3QgR3JvdXAgPSBTZWxlY3RHcm91cDtcbmNvbnN0IExhYmVsID0gU2VsZWN0TGFiZWw7XG5jb25zdCBJdGVtID0gU2VsZWN0SXRlbTtcbmNvbnN0IEl0ZW1UZXh0ID0gU2VsZWN0SXRlbVRleHQ7XG5jb25zdCBJdGVtSW5kaWNhdG9yID0gU2VsZWN0SXRlbUluZGljYXRvcjtcbmNvbnN0IFNjcm9sbFVwQnV0dG9uID0gU2VsZWN0U2Nyb2xsVXBCdXR0b247XG5jb25zdCBTY3JvbGxEb3duQnV0dG9uID0gU2VsZWN0U2Nyb2xsRG93bkJ1dHRvbjtcbmNvbnN0IFNlcGFyYXRvciA9IFNlbGVjdFNlcGFyYXRvcjtcbmNvbnN0IEFycm93ID0gU2VsZWN0QXJyb3c7XG5cbmV4cG9ydCB7XG4gIGNyZWF0ZVNlbGVjdFNjb3BlLFxuICAvL1xuICBTZWxlY3QsXG4gIFNlbGVjdFRyaWdnZXIsXG4gIFNlbGVjdFZhbHVlLFxuICBTZWxlY3RJY29uLFxuICBTZWxlY3RQb3J0YWwsXG4gIFNlbGVjdENvbnRlbnQsXG4gIFNlbGVjdFZpZXdwb3J0LFxuICBTZWxlY3RHcm91cCxcbiAgU2VsZWN0TGFiZWwsXG4gIFNlbGVjdEl0ZW0sXG4gIFNlbGVjdEl0ZW1UZXh0LFxuICBTZWxlY3RJdGVtSW5kaWNhdG9yLFxuICBTZWxlY3RTY3JvbGxVcEJ1dHRvbixcbiAgU2VsZWN0U2Nyb2xsRG93bkJ1dHRvbixcbiAgU2VsZWN0U2VwYXJhdG9yLFxuICBTZWxlY3RBcnJvdyxcbiAgLy9cbiAgUm9vdCxcbiAgVHJpZ2dlcixcbiAgVmFsdWUsXG4gIEljb24sXG4gIFBvcnRhbCxcbiAgQ29udGVudCxcbiAgVmlld3BvcnQsXG4gIEdyb3VwLFxuICBMYWJlbCxcbiAgSXRlbSxcbiAgSXRlbVRleHQsXG4gIEl0ZW1JbmRpY2F0b3IsXG4gIFNjcm9sbFVwQnV0dG9uLFxuICBTY3JvbGxEb3duQnV0dG9uLFxuICBTZXBhcmF0b3IsXG4gIEFycm93LFxufTtcbmV4cG9ydCB0eXBlIHtcbiAgU2VsZWN0UHJvcHMsXG4gIFNlbGVjdFRyaWdnZXJQcm9wcyxcbiAgU2VsZWN0VmFsdWVQcm9wcyxcbiAgU2VsZWN0SWNvblByb3BzLFxuICBTZWxlY3RQb3J0YWxQcm9wcyxcbiAgU2VsZWN0Q29udGVudFByb3BzLFxuICBTZWxlY3RWaWV3cG9ydFByb3BzLFxuICBTZWxlY3RHcm91cFByb3BzLFxuICBTZWxlY3RMYWJlbFByb3BzLFxuICBTZWxlY3RJdGVtUHJvcHMsXG4gIFNlbGVjdEl0ZW1UZXh0UHJvcHMsXG4gIFNlbGVjdEl0ZW1JbmRpY2F0b3JQcm9wcyxcbiAgU2VsZWN0U2Nyb2xsVXBCdXR0b25Qcm9wcyxcbiAgU2VsZWN0U2Nyb2xsRG93bkJ1dHRvblByb3BzLFxuICBTZWxlY3RTZXBhcmF0b3JQcm9wcyxcbiAgU2VsZWN0QXJyb3dQcm9wcyxcbn07XG4iXSwibmFtZXMiOlsiaGFuZGxlU2Nyb2xsIiwiY2FuU2Nyb2xsVXAiLCJjYW5TY3JvbGxEb3duIiwiUm9vdCIsIkNvbnRlbnQiLCJBcnJvdyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-select/dist/index.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs": -/*!**********************************************************************************************!*\ - !*** ./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs ***! - \**********************************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Root: () => (/* binding */ Slot),\n/* harmony export */ Slot: () => (/* binding */ Slot),\n/* harmony export */ Slottable: () => (/* binding */ Slottable),\n/* harmony export */ createSlot: () => (/* binding */ createSlot),\n/* harmony export */ createSlottable: () => (/* binding */ createSlottable)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n// src/slot.tsx\n\n\n\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = react__WEBPACK_IMPORTED_MODULE_0__.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (react__WEBPACK_IMPORTED_MODULE_0__.Children.count(newElement) > 1) return react__WEBPACK_IMPORTED_MODULE_0__.Children.only(null);\n return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(newElement) ? react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== react__WEBPACK_IMPORTED_MODULE_0__.Fragment) {\n props2.ref = forwardedRef ? (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_2__.composeRefs)(forwardedRef, childrenRef) : childrenRef;\n }\n return react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(children, props2);\n }\n return react__WEBPACK_IMPORTED_MODULE_0__.Children.count(children) > 1 ? react__WEBPACK_IMPORTED_MODULE_0__.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNlbGVjdC9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNsb3QvZGlzdC9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUMrQjtBQUM0QjtBQUNJO0FBQy9EO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiw2Q0FBZ0I7QUFDaEMsWUFBWSx5QkFBeUI7QUFDckMsMEJBQTBCLDJDQUFjO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLDJDQUFjLCtCQUErQiwyQ0FBYztBQUN6RSxpQkFBaUIsaURBQW9CO0FBQ3JDLFVBQVU7QUFDVjtBQUNBO0FBQ0EsT0FBTztBQUNQLDZCQUE2QixzREFBRyxjQUFjLDJDQUEyQyxpREFBb0IsZUFBZSwrQ0FBa0IsMENBQTBDO0FBQ3hMO0FBQ0EsMkJBQTJCLHNEQUFHLGNBQWMsMkNBQTJDO0FBQ3ZGLEdBQUc7QUFDSCx5QkFBeUIsVUFBVTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDZDQUFnQjtBQUNwQyxZQUFZLHlCQUF5QjtBQUNyQyxRQUFRLGlEQUFvQjtBQUM1QjtBQUNBO0FBQ0EsNEJBQTRCLDJDQUFjO0FBQzFDLG9DQUFvQyx5RUFBVztBQUMvQztBQUNBLGFBQWEsK0NBQWtCO0FBQy9CO0FBQ0EsV0FBVywyQ0FBYyx1QkFBdUIsMkNBQWM7QUFDOUQsR0FBRztBQUNILDZCQUE2QixVQUFVO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsVUFBVTtBQUNsQywyQkFBMkIsc0RBQUcsQ0FBQyx1REFBUyxJQUFJLFVBQVU7QUFDdEQ7QUFDQSw4QkFBOEIsVUFBVTtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxpREFBb0I7QUFDN0I7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ04sa0NBQWtDO0FBQ2xDLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9FO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEByYWRpeC11aVxccmVhY3Qtc2VsZWN0XFxub2RlX21vZHVsZXNcXEByYWRpeC11aVxccmVhY3Qtc2xvdFxcZGlzdFxcaW5kZXgubWpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9zbG90LnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjb21wb3NlUmVmcyB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzXCI7XG5pbXBvcnQgeyBGcmFnbWVudCBhcyBGcmFnbWVudDIsIGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuLy8gQF9fTk9fU0lERV9FRkZFQ1RTX19cbmZ1bmN0aW9uIGNyZWF0ZVNsb3Qob3duZXJOYW1lKSB7XG4gIGNvbnN0IFNsb3RDbG9uZSA9IC8qIEBfX1BVUkVfXyAqLyBjcmVhdGVTbG90Q2xvbmUob3duZXJOYW1lKTtcbiAgY29uc3QgU2xvdDIgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiwgLi4uc2xvdFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbik7XG4gICAgY29uc3Qgc2xvdHRhYmxlID0gY2hpbGRyZW5BcnJheS5maW5kKGlzU2xvdHRhYmxlKTtcbiAgICBpZiAoc2xvdHRhYmxlKSB7XG4gICAgICBjb25zdCBuZXdFbGVtZW50ID0gc2xvdHRhYmxlLnByb3BzLmNoaWxkcmVuO1xuICAgICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBjaGlsZHJlbkFycmF5Lm1hcCgoY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKGNoaWxkID09PSBzbG90dGFibGUpIHtcbiAgICAgICAgICBpZiAoUmVhY3QuQ2hpbGRyZW4uY291bnQobmV3RWxlbWVudCkgPiAxKSByZXR1cm4gUmVhY3QuQ2hpbGRyZW4ub25seShudWxsKTtcbiAgICAgICAgICByZXR1cm4gUmVhY3QuaXNWYWxpZEVsZW1lbnQobmV3RWxlbWVudCkgPyBuZXdFbGVtZW50LnByb3BzLmNoaWxkcmVuIDogbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU2xvdENsb25lLCB7IC4uLnNsb3RQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYsIGNoaWxkcmVuOiBSZWFjdC5pc1ZhbGlkRWxlbWVudChuZXdFbGVtZW50KSA/IFJlYWN0LmNsb25lRWxlbWVudChuZXdFbGVtZW50LCB2b2lkIDAsIG5ld0NoaWxkcmVuKSA6IG51bGwgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFNsb3RDbG9uZSwgeyAuLi5zbG90UHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmLCBjaGlsZHJlbiB9KTtcbiAgfSk7XG4gIFNsb3QyLmRpc3BsYXlOYW1lID0gYCR7b3duZXJOYW1lfS5TbG90YDtcbiAgcmV0dXJuIFNsb3QyO1xufVxudmFyIFNsb3QgPSAvKiBAX19QVVJFX18gKi8gY3JlYXRlU2xvdChcIlNsb3RcIik7XG4vLyBAX19OT19TSURFX0VGRkVDVFNfX1xuZnVuY3Rpb24gY3JlYXRlU2xvdENsb25lKG93bmVyTmFtZSkge1xuICBjb25zdCBTbG90Q2xvbmUgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiwgLi4uc2xvdFByb3BzIH0gPSBwcm9wcztcbiAgICBpZiAoUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGRyZW4pKSB7XG4gICAgICBjb25zdCBjaGlsZHJlblJlZiA9IGdldEVsZW1lbnRSZWYoY2hpbGRyZW4pO1xuICAgICAgY29uc3QgcHJvcHMyID0gbWVyZ2VQcm9wcyhzbG90UHJvcHMsIGNoaWxkcmVuLnByb3BzKTtcbiAgICAgIGlmIChjaGlsZHJlbi50eXBlICE9PSBSZWFjdC5GcmFnbWVudCkge1xuICAgICAgICBwcm9wczIucmVmID0gZm9yd2FyZGVkUmVmID8gY29tcG9zZVJlZnMoZm9yd2FyZGVkUmVmLCBjaGlsZHJlblJlZikgOiBjaGlsZHJlblJlZjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIHByb3BzMik7XG4gICAgfVxuICAgIHJldHVybiBSZWFjdC5DaGlsZHJlbi5jb3VudChjaGlsZHJlbikgPiAxID8gUmVhY3QuQ2hpbGRyZW4ub25seShudWxsKSA6IG51bGw7XG4gIH0pO1xuICBTbG90Q2xvbmUuZGlzcGxheU5hbWUgPSBgJHtvd25lck5hbWV9LlNsb3RDbG9uZWA7XG4gIHJldHVybiBTbG90Q2xvbmU7XG59XG52YXIgU0xPVFRBQkxFX0lERU5USUZJRVIgPSBTeW1ib2woXCJyYWRpeC5zbG90dGFibGVcIik7XG4vLyBAX19OT19TSURFX0VGRkVDVFNfX1xuZnVuY3Rpb24gY3JlYXRlU2xvdHRhYmxlKG93bmVyTmFtZSkge1xuICBjb25zdCBTbG90dGFibGUyID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEZyYWdtZW50MiwgeyBjaGlsZHJlbiB9KTtcbiAgfTtcbiAgU2xvdHRhYmxlMi5kaXNwbGF5TmFtZSA9IGAke293bmVyTmFtZX0uU2xvdHRhYmxlYDtcbiAgU2xvdHRhYmxlMi5fX3JhZGl4SWQgPSBTTE9UVEFCTEVfSURFTlRJRklFUjtcbiAgcmV0dXJuIFNsb3R0YWJsZTI7XG59XG52YXIgU2xvdHRhYmxlID0gLyogQF9fUFVSRV9fICovIGNyZWF0ZVNsb3R0YWJsZShcIlNsb3R0YWJsZVwiKTtcbmZ1bmN0aW9uIGlzU2xvdHRhYmxlKGNoaWxkKSB7XG4gIHJldHVybiBSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZCkgJiYgdHlwZW9mIGNoaWxkLnR5cGUgPT09IFwiZnVuY3Rpb25cIiAmJiBcIl9fcmFkaXhJZFwiIGluIGNoaWxkLnR5cGUgJiYgY2hpbGQudHlwZS5fX3JhZGl4SWQgPT09IFNMT1RUQUJMRV9JREVOVElGSUVSO1xufVxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzbG90UHJvcHMsIGNoaWxkUHJvcHMpIHtcbiAgY29uc3Qgb3ZlcnJpZGVQcm9wcyA9IHsgLi4uY2hpbGRQcm9wcyB9O1xuICBmb3IgKGNvbnN0IHByb3BOYW1lIGluIGNoaWxkUHJvcHMpIHtcbiAgICBjb25zdCBzbG90UHJvcFZhbHVlID0gc2xvdFByb3BzW3Byb3BOYW1lXTtcbiAgICBjb25zdCBjaGlsZFByb3BWYWx1ZSA9IGNoaWxkUHJvcHNbcHJvcE5hbWVdO1xuICAgIGNvbnN0IGlzSGFuZGxlciA9IC9eb25bQS1aXS8udGVzdChwcm9wTmFtZSk7XG4gICAgaWYgKGlzSGFuZGxlcikge1xuICAgICAgaWYgKHNsb3RQcm9wVmFsdWUgJiYgY2hpbGRQcm9wVmFsdWUpIHtcbiAgICAgICAgb3ZlcnJpZGVQcm9wc1twcm9wTmFtZV0gPSAoLi4uYXJncykgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGNoaWxkUHJvcFZhbHVlKC4uLmFyZ3MpO1xuICAgICAgICAgIHNsb3RQcm9wVmFsdWUoLi4uYXJncyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoc2xvdFByb3BWYWx1ZSkge1xuICAgICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IHNsb3RQcm9wVmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJzdHlsZVwiKSB7XG4gICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IHsgLi4uc2xvdFByb3BWYWx1ZSwgLi4uY2hpbGRQcm9wVmFsdWUgfTtcbiAgICB9IGVsc2UgaWYgKHByb3BOYW1lID09PSBcImNsYXNzTmFtZVwiKSB7XG4gICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IFtzbG90UHJvcFZhbHVlLCBjaGlsZFByb3BWYWx1ZV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIgXCIpO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyAuLi5zbG90UHJvcHMsIC4uLm92ZXJyaWRlUHJvcHMgfTtcbn1cbmZ1bmN0aW9uIGdldEVsZW1lbnRSZWYoZWxlbWVudCkge1xuICBsZXQgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlbGVtZW50LnByb3BzLCBcInJlZlwiKT8uZ2V0O1xuICBsZXQgbWF5V2FybiA9IGdldHRlciAmJiBcImlzUmVhY3RXYXJuaW5nXCIgaW4gZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZztcbiAgaWYgKG1heVdhcm4pIHtcbiAgICByZXR1cm4gZWxlbWVudC5yZWY7XG4gIH1cbiAgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlbGVtZW50LCBcInJlZlwiKT8uZ2V0O1xuICBtYXlXYXJuID0gZ2V0dGVyICYmIFwiaXNSZWFjdFdhcm5pbmdcIiBpbiBnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nO1xuICBpZiAobWF5V2Fybikge1xuICAgIHJldHVybiBlbGVtZW50LnByb3BzLnJlZjtcbiAgfVxuICByZXR1cm4gZWxlbWVudC5wcm9wcy5yZWYgfHwgZWxlbWVudC5yZWY7XG59XG5leHBvcnQge1xuICBTbG90IGFzIFJvb3QsXG4gIFNsb3QsXG4gIFNsb3R0YWJsZSxcbiAgY3JlYXRlU2xvdCxcbiAgY3JlYXRlU2xvdHRhYmxlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@radix-ui/react-slider/dist/index.mjs": -/*!************************************************************!*\ - !*** ./node_modules/@radix-ui/react-slider/dist/index.mjs ***! - \************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Range: () => (/* binding */ Range),\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ Slider: () => (/* binding */ Slider),\n/* harmony export */ SliderRange: () => (/* binding */ SliderRange),\n/* harmony export */ SliderThumb: () => (/* binding */ SliderThumb),\n/* harmony export */ SliderTrack: () => (/* binding */ SliderTrack),\n/* harmony export */ Thumb: () => (/* binding */ Thumb),\n/* harmony export */ Track: () => (/* binding */ Track),\n/* harmony export */ createSliderScope: () => (/* binding */ createSliderScope)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_number__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/number */ \"(ssr)/./node_modules/@radix-ui/number/dist/index.mjs\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-use-controllable-state */ \"(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @radix-ui/react-direction */ \"(ssr)/./node_modules/@radix-ui/react-direction/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @radix-ui/react-use-previous */ \"(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_size__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @radix-ui/react-use-size */ \"(ssr)/./node_modules/@radix-ui/react-use-size/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-collection */ \"(ssr)/./node_modules/@radix-ui/react-collection/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Range,Root,Slider,SliderRange,SliderThumb,SliderTrack,Thumb,Track,createSliderScope auto */ // src/slider.tsx\n\n\n\n\n\n\n\n\n\n\n\n\nvar PAGE_KEYS = [\n \"PageUp\",\n \"PageDown\"\n];\nvar ARROW_KEYS = [\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\"\n];\nvar BACK_KEYS = {\n \"from-left\": [\n \"Home\",\n \"PageDown\",\n \"ArrowDown\",\n \"ArrowLeft\"\n ],\n \"from-right\": [\n \"Home\",\n \"PageDown\",\n \"ArrowDown\",\n \"ArrowRight\"\n ],\n \"from-bottom\": [\n \"Home\",\n \"PageDown\",\n \"ArrowDown\",\n \"ArrowLeft\"\n ],\n \"from-top\": [\n \"Home\",\n \"PageDown\",\n \"ArrowUp\",\n \"ArrowLeft\"\n ]\n};\nvar SLIDER_NAME = \"Slider\";\nvar [Collection, useCollection, createCollectionScope] = (0,_radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_2__.createCollection)(SLIDER_NAME);\nvar [createSliderContext, createSliderScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_3__.createContextScope)(SLIDER_NAME, [\n createCollectionScope\n]);\nvar [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\nvar Slider = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { name, min = 0, max = 100, step = 1, orientation = \"horizontal\", disabled = false, minStepsBetweenThumbs = 0, defaultValue = [\n min\n ], value, onValueChange = ()=>{}, onValueCommit = ()=>{}, inverted = false, form, ...sliderProps } = props;\n const thumbRefs = react__WEBPACK_IMPORTED_MODULE_0__.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_4__.useControllableState)({\n prop: value,\n defaultProp: defaultValue,\n onChange: {\n \"Slider.useControllableState\": (value2)=>{\n const thumbs = [\n ...thumbRefs.current\n ];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n }[\"Slider.useControllableState\"]\n });\n const valuesBeforeSlideStartRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = {\n commit: false\n }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);\n const nextValue = (0,_radix_ui_number__WEBPACK_IMPORTED_MODULE_5__.clamp)(snapToStep, [\n min,\n max\n ]);\n setValues((prevValues = [])=>{\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderProvider, {\n scope: props.__scopeSlider,\n name,\n disabled,\n min,\n max,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Collection.Provider, {\n scope: props.__scopeSlider,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Collection.Slot, {\n scope: props.__scopeSlider,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderOrientation, {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(sliderProps.onPointerDown, ()=>{\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min,\n max,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: ()=>!disabled && updateValues(min, 0, {\n commit: true\n }),\n onEndKeyDown: ()=>!disabled && updateValues(max, values.length - 1, {\n commit: true\n }),\n onStepKeyDown: ({ event, direction: stepDirection })=>{\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, {\n commit: true\n });\n }\n }\n })\n })\n })\n });\n});\nSlider.displayName = SLIDER_NAME;\nvar [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n});\nvar SliderHorizontal = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { min, max, dir, inverted, onSlideStart, onSlideMove, onSlideEnd, onStepKeyDown, ...sliderProps } = props;\n const [slider, setSlider] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__.useComposedRefs)(forwardedRef, {\n \"SliderHorizontal.useComposedRefs[composedRefs]\": (node)=>setSlider(node)\n }[\"SliderHorizontal.useComposedRefs[composedRefs]\"]);\n const rectRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(void 0);\n const direction = (0,_radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_8__.useDirection)(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input = [\n 0,\n rect.width\n ];\n const output = isSlidingFromLeft ? [\n min,\n max\n ] : [\n max,\n min\n ];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderOrientationProvider, {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderImpl, {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event)=>{\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event)=>{\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: ()=>{\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event)=>{\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({\n event,\n direction: isBackKey ? -1 : 1\n });\n }\n })\n });\n});\nvar SliderVertical = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { min, max, inverted, onSlideStart, onSlideMove, onSlideEnd, onStepKeyDown, ...sliderProps } = props;\n const sliderRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const ref = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__.useComposedRefs)(forwardedRef, sliderRef);\n const rectRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input = [\n 0,\n rect.height\n ];\n const output = isSlidingFromBottom ? [\n max,\n min\n ] : [\n min,\n max\n ];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderOrientationProvider, {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderImpl, {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event)=>{\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event)=>{\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: ()=>{\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event)=>{\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({\n event,\n direction: isBackKey ? -1 : 1\n });\n }\n })\n });\n});\nvar SliderImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSlider, onSlideStart, onSlideMove, onSlideEnd, onHomeKeyDown, onEndKeyDown, onStepKeyDown, ...sliderProps } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__.Primitive.span, {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onKeyDown, (event)=>{\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onPointerDown, (event)=>{\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onPointerMove, (event)=>{\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onPointerUp, (event)=>{\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n });\n});\nvar TRACK_NAME = \"SliderTrack\";\nvar SliderTrack = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__.Primitive.span, {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n });\n});\nSliderTrack.displayName = TRACK_NAME;\nvar RANGE_NAME = \"SliderRange\";\nvar SliderRange = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__.useComposedRefs)(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map((value)=>convertValueToPercentage(value, context.min, context.max));\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__.Primitive.span, {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n });\n});\nSliderRange.displayName = RANGE_NAME;\nvar THUMB_NAME = \"SliderThumb\";\nvar SliderThumb = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const getItems = useCollection(props.__scopeSlider);\n const [thumb, setThumb] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__.useComposedRefs)(forwardedRef, {\n \"SliderThumb.useComposedRefs[composedRefs]\": (node)=>setThumb(node)\n }[\"SliderThumb.useComposedRefs[composedRefs]\"]);\n const index = react__WEBPACK_IMPORTED_MODULE_0__.useMemo({\n \"SliderThumb.useMemo[index]\": ()=>thumb ? getItems().findIndex({\n \"SliderThumb.useMemo[index]\": (item)=>item.ref.current === thumb\n }[\"SliderThumb.useMemo[index]\"]) : -1\n }[\"SliderThumb.useMemo[index]\"], [\n getItems,\n thumb\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderThumbImpl, {\n ...props,\n ref: composedRefs,\n index\n });\n});\nvar SliderThumbImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSlider, index, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);\n const [thumb, setThumb] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__.useComposedRefs)(forwardedRef, {\n \"SliderThumbImpl.useComposedRefs[composedRefs]\": (node)=>setThumb(node)\n }[\"SliderThumbImpl.useComposedRefs[composedRefs]\"]);\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size = (0,_radix_ui_react_use_size__WEBPACK_IMPORTED_MODULE_10__.useSize)(thumb);\n const value = context.values[index];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index, context.values.length);\n const orientationSize = size?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SliderThumbImpl.useEffect\": ()=>{\n if (thumb) {\n context.thumbs.add(thumb);\n return ({\n \"SliderThumbImpl.useEffect\": ()=>{\n context.thumbs.delete(thumb);\n }\n })[\"SliderThumbImpl.useEffect\"];\n }\n }\n }[\"SliderThumbImpl.useEffect\"], [\n thumb,\n context.thumbs\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(\"span\", {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Collection.ItemSlot, {\n scope: props.__scopeSlider,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__.Primitive.span, {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? {\n display: \"none\"\n } : props.style,\n onFocus: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(props.onFocus, ()=>{\n context.valueIndexToChangeRef.current = index;\n })\n })\n }),\n isFormControl && /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SliderBubbleInput, {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n }, index)\n ]\n });\n});\nSliderThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar SliderBubbleInput = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(({ __scopeSlider, value, ...props }, forwardedRef)=>{\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_7__.useComposedRefs)(ref, forwardedRef);\n const prevValue = (0,_radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_11__.usePrevious)(value);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SliderBubbleInput.useEffect\": ()=>{\n const input = ref.current;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", {\n bubbles: true\n });\n setValue.call(input, value);\n input.dispatchEvent(event);\n }\n }\n }[\"SliderBubbleInput.useEffect\"], [\n prevValue,\n value\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_9__.Primitive.input, {\n style: {\n display: \"none\"\n },\n ...props,\n ref: composedRefs,\n defaultValue: value\n });\n});\nSliderBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [\n ...prevValues\n ];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b)=>a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return (0,_radix_ui_number__WEBPACK_IMPORTED_MODULE_5__.clamp)(percentage, [\n 0,\n 100\n ]);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\n \"Minimum\",\n \"Maximum\"\n ][index];\n } else {\n return void 0;\n }\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value)=>Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([\n 0,\n halfPercent\n ], [\n 0,\n halfWidth\n ]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index)=>values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\nfunction linearScale(input, output) {\n return (value)=>{\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n}\nvar Root = Slider;\nvar Track = SliderTrack;\nvar Range = SliderRange;\nvar Thumb = SliderThumb;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNsaWRlci9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXVCO0FBQ0Q7QUFDZTtBQUNMO0FBQ0c7QUFDRTtBQUNSO0FBQ0Q7QUFDSjtBQUNFO0FBQ087QUFzSnJCO0FBaEpaLElBQU0sWUFBWTtJQUFDO0lBQVUsVUFBVTtDQUFBO0FBQ3ZDLElBQU0sYUFBYTtJQUFDO0lBQVc7SUFBYTtJQUFhLFlBQVk7Q0FBQTtBQUdyRSxJQUFNLFlBQThDO0lBQ2xELGFBQWE7UUFBQztRQUFRO1FBQVk7UUFBYSxXQUFXO0tBQUE7SUFDMUQsY0FBYztRQUFDO1FBQVE7UUFBWTtRQUFhLFlBQVk7S0FBQTtJQUM1RCxlQUFlO1FBQUM7UUFBUTtRQUFZO1FBQWEsV0FBVztLQUFBO0lBQzVELFlBQVk7UUFBQztRQUFRO1FBQVk7UUFBVyxXQUFXO0tBQUE7QUFDekQ7QUFNQSxJQUFNLGNBQWM7QUFFcEIsSUFBTSxDQUFDLFlBQVksZUFBZSxxQkFBcUIsSUFDckQsNEVBQWdCLENBQXFCLFdBQVc7QUFHbEQsSUFBTSxDQUFDLHFCQUFxQixpQkFBaUIsSUFBSSwyRUFBa0IsQ0FBQyxhQUFhO0lBQy9FO0NBQ0Q7QUFjRCxJQUFNLENBQUMsZ0JBQWdCLGdCQUFnQixJQUFJLG9CQUF3QyxXQUFXO0FBd0I5RixJQUFNLHVCQUFlLDhDQUNuQixDQUFDLE9BQWlDO0lBQ2hDLE1BQU0sRUFDSixNQUNBLE1BQU0sR0FDTixNQUFNLEtBQ04sT0FBTyxHQUNQLGNBQWMsY0FDZCxXQUFXLE9BQ1gsd0JBQXdCLEdBQ3hCLGVBQWU7UUFBQyxHQUFHO0tBQUEsRUFDbkIsT0FDQSxnQkFBZ0IsS0FBTyxDQUFELEVBQ3RCLGdCQUFnQixLQUFPLENBQUQsRUFDdEIsV0FBVyxPQUNYLE1BQ0EsR0FBRyxhQUNMLEdBQUk7SUFDSixNQUFNLFlBQWtCLDBDQUFxQyxvQkFBSSxJQUFJLENBQUM7SUFDdEUsTUFBTSx3QkFBOEIsMENBQWUsQ0FBQztJQUNwRCxNQUFNLGVBQWUsZ0JBQWdCO0lBQ3JDLE1BQU0sb0JBQW9CLGVBQWUsbUJBQW1CO0lBRTVELE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLElBQUksNEZBQW9CLENBQUM7UUFDcEQsTUFBTTtRQUNOLGFBQWE7UUFDYjsyQ0FBVSxDQUFDQTtnQkFDVCxNQUFNLFNBQVMsQ0FBQzt1QkFBRyxVQUFVLE9BQU87aUJBQUE7Z0JBQ3BDLE9BQU8sc0JBQXNCLE9BQU8sR0FBRyxNQUFNO2dCQUM3QyxjQUFjQSxNQUFLO1lBQ3JCOztJQUNGLENBQUM7SUFDRCxNQUFNLDRCQUFrQywwQ0FBTyxNQUFNO0lBRXJELFNBQVMsaUJBQWlCQSxNQUFBQSxFQUFlO1FBQ3ZDLE1BQU0sZUFBZSxxQkFBcUIsUUFBUUEsTUFBSztRQUN2RCxhQUFhQSxRQUFPLFlBQVk7SUFDbEM7SUFFQSxTQUFTLGdCQUFnQkEsTUFBQUEsRUFBZTtRQUN0QyxhQUFhQSxRQUFPLHNCQUFzQixPQUFPO0lBQ25EO0lBRUEsU0FBUyxpQkFBaUI7UUFDeEIsTUFBTSxZQUFZLDBCQUEwQixRQUFRLHNCQUFzQixPQUFPO1FBQ2pGLE1BQU0sWUFBWSxPQUFPLHNCQUFzQixPQUFPO1FBQ3RELE1BQU0sYUFBYSxjQUFjO1FBQ2pDLElBQUksV0FBWSxlQUFjLE1BQU07SUFDdEM7SUFFQSxTQUFTLGFBQWFBLE1BQUFBLEVBQWUsU0FBaUIsRUFBRSxPQUFPLElBQUk7UUFBRSxRQUFRO0lBQU0sR0FBRztRQUNwRixNQUFNLGVBQWUsZ0JBQWdCLElBQUk7UUFDekMsTUFBTSxhQUFhLFdBQVcsS0FBSyxPQUFPQSxTQUFRLE9BQU8sSUFBSSxJQUFJLE9BQU8sS0FBSyxZQUFZO1FBQ3pGLE1BQU0sWUFBWSx1REFBSyxDQUFDLFlBQVk7WUFBQztZQUFLLEdBQUc7U0FBQztRQUU5QyxVQUFVLENBQUMsYUFBYSxDQUFDO1lBQ3ZCLE1BQU0sYUFBYSxvQkFBb0IsWUFBWSxXQUFXLE9BQU87WUFDckUsSUFBSSx5QkFBeUIsWUFBWSx3QkFBd0IsSUFBSSxHQUFHO2dCQUN0RSxzQkFBc0IsVUFBVSxXQUFXLFFBQVEsU0FBUztnQkFDNUQsTUFBTSxhQUFhLE9BQU8sVUFBVSxNQUFNLE9BQU8sVUFBVTtnQkFDM0QsSUFBSSxjQUFjLE9BQVEsZUFBYyxVQUFVO2dCQUNsRCxPQUFPLGFBQWEsYUFBYTtZQUNuQyxPQUFPO2dCQUNMLE9BQU87WUFDVDtRQUNGLENBQUM7SUFDSDtJQUVBLE9BQ0UsdUVBQUM7UUFDQyxPQUFPLE1BQU07UUFDYjtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0EsUUFBUSxVQUFVO1FBQ2xCO1FBQ0E7UUFDQTtRQUVBLGlGQUFDLFdBQVcsVUFBWDtZQUFvQixPQUFPLE1BQU07WUFDaEMsaUZBQUMsV0FBVyxNQUFYO2dCQUFnQixPQUFPLE1BQU07Z0JBQzVCLGlGQUFDO29CQUNDLGlCQUFlO29CQUNmLGlCQUFlLFdBQVcsS0FBSztvQkFDOUIsR0FBRztvQkFDSixLQUFLO29CQUNMLGVBQWUseUVBQW9CLENBQUMsWUFBWSxlQUFlO3dCQUM3RCxJQUFJLENBQUMsU0FBVSwyQkFBMEIsVUFBVTtvQkFDckQsQ0FBQztvQkFDRDtvQkFDQTtvQkFDQTtvQkFDQSxjQUFjLFdBQVcsU0FBWTtvQkFDckMsYUFBYSxXQUFXLFNBQVk7b0JBQ3BDLFlBQVksV0FBVyxTQUFZO29CQUNuQyxlQUFlLElBQU0sQ0FBQyxZQUFZLGFBQWEsS0FBSyxHQUFHOzRCQUFFLFFBQVE7d0JBQUssQ0FBQztvQkFDdkUsY0FBYyxJQUNaLENBQUMsWUFBWSxhQUFhLEtBQUssT0FBTyxTQUFTLEdBQUc7NEJBQUUsUUFBUTt3QkFBSyxDQUFDO29CQUVwRSxlQUFlLENBQUMsRUFBRSxPQUFPLFdBQVcsY0FBYzt3QkFDaEQsSUFBSSxDQUFDLFVBQVU7NEJBQ2IsTUFBTSxZQUFZLFVBQVUsU0FBUyxNQUFNLEdBQUc7NEJBQzlDLE1BQU0sWUFBWSxhQUFjLE1BQU0sWUFBWSxXQUFXLFNBQVMsTUFBTSxHQUFHOzRCQUMvRSxNQUFNLGFBQWEsWUFBWSxLQUFLOzRCQUNwQyxNQUFNLFVBQVUsc0JBQXNCOzRCQUN0QyxNQUFNQSxTQUFRLE9BQU8sT0FBTzs0QkFDNUIsTUFBTSxrQkFBa0IsT0FBTyxhQUFhOzRCQUM1QyxhQUFhQSxTQUFRLGlCQUFpQixTQUFTO2dDQUFFLFFBQVE7NEJBQUssQ0FBQzt3QkFDakU7b0JBQ0Y7Z0JBQUE7WUFDRixDQUNGO1FBQUEsQ0FDRjtJQUFBO0FBR047QUFHRixPQUFPLGNBQWM7QUFRckIsSUFBTSxDQUFDLDJCQUEyQiwyQkFBMkIsSUFBSSxvQkFLOUQsYUFBYTtJQUNkLFdBQVc7SUFDWCxTQUFTO0lBQ1QsTUFBTTtJQUNOLFdBQVc7QUFDYixDQUFDO0FBc0JELElBQU0saUNBQXlCLDhDQUM3QixDQUFDLE9BQTJDO0lBQzFDLE1BQU0sRUFDSixLQUNBLEtBQ0EsS0FDQSxVQUNBLGNBQ0EsYUFDQSxZQUNBLGVBQ0EsR0FBRyxhQUNMLEdBQUk7SUFDSixNQUFNLENBQUMsUUFBUSxTQUFTLElBQVUsNENBQW1DLElBQUk7SUFDekUsTUFBTSxlQUFlLDZFQUFlLENBQUM7MERBQWMsQ0FBQyxPQUFTLFVBQVUsSUFBSSxDQUFDOztJQUM1RSxNQUFNLFVBQWdCLDBDQUFnQixNQUFTO0lBQy9DLE1BQU0sWUFBWSx1RUFBWSxDQUFDLEdBQUc7SUFDbEMsTUFBTSxpQkFBaUIsY0FBYztJQUNyQyxNQUFNLG9CQUFxQixrQkFBa0IsQ0FBQyxZQUFjLENBQUMsa0JBQWtCO0lBRS9FLFNBQVMsb0JBQW9CLGlCQUF5QjtRQUNwRCxNQUFNLE9BQU8sUUFBUSxXQUFXLE9BQVEsc0JBQXNCO1FBQzlELE1BQU0sUUFBMEI7WUFBQztZQUFHLEtBQUssS0FBSztTQUFBO1FBQzlDLE1BQU0sU0FBMkIsb0JBQW9CO1lBQUM7WUFBSyxHQUFHO1NBQUEsR0FBSTtZQUFDO1lBQUssR0FBRztTQUFBO1FBQzNFLE1BQU0sUUFBUSxZQUFZLE9BQU8sTUFBTTtRQUV2QyxRQUFRLFVBQVU7UUFDbEIsT0FBTyxNQUFNLGtCQUFrQixLQUFLLElBQUk7SUFDMUM7SUFFQSxPQUNFLHVFQUFDO1FBQ0MsT0FBTyxNQUFNO1FBQ2IsV0FBVyxvQkFBb0IsU0FBUztRQUN4QyxTQUFTLG9CQUFvQixVQUFVO1FBQ3ZDLFdBQVcsb0JBQW9CLElBQUk7UUFDbkMsTUFBSztRQUVMLGlGQUFDO1lBQ0MsS0FBSztZQUNMLG9CQUFpQjtZQUNoQixHQUFHO1lBQ0osS0FBSztZQUNMLE9BQU87Z0JBQ0wsR0FBRyxZQUFZO2dCQUNmLENBQUMsZ0NBQXVDLEdBQUc7WUFDN0M7WUFDQSxjQUFjLENBQUM7Z0JBQ2IsTUFBTSxRQUFRLG9CQUFvQixNQUFNLE9BQU87Z0JBQy9DLGVBQWUsS0FBSztZQUN0QjtZQUNBLGFBQWEsQ0FBQztnQkFDWixNQUFNLFFBQVEsb0JBQW9CLE1BQU0sT0FBTztnQkFDL0MsY0FBYyxLQUFLO1lBQ3JCO1lBQ0EsWUFBWTtnQkFDVixRQUFRLFVBQVU7Z0JBQ2xCLGFBQWE7WUFDZjtZQUNBLGVBQWUsQ0FBQztnQkFDZCxNQUFNLGlCQUFpQixvQkFBb0IsY0FBYztnQkFDekQsTUFBTSxZQUFZLFVBQVUsY0FBYyxFQUFFLFNBQVMsTUFBTSxHQUFHO2dCQUM5RCxnQkFBZ0I7b0JBQUU7b0JBQU8sV0FBVyxZQUFZLEtBQUs7Z0JBQUUsQ0FBQztZQUMxRDtRQUFBO0lBQ0Y7QUFHTjtBQVVGLElBQU0sK0JBQXVCLDhDQUMzQixDQUFDLE9BQXlDO0lBQ3hDLE1BQU0sRUFDSixLQUNBLEtBQ0EsVUFDQSxjQUNBLGFBQ0EsWUFDQSxlQUNBLEdBQUcsYUFDTCxHQUFJO0lBQ0osTUFBTSxZQUFrQiwwQ0FBMEIsSUFBSTtJQUN0RCxNQUFNLE1BQU0sNkVBQWUsQ0FBQyxjQUFjLFNBQVM7SUFDbkQsTUFBTSxVQUFnQiwwQ0FBZ0IsTUFBUztJQUMvQyxNQUFNLHNCQUFzQixDQUFDO0lBRTdCLFNBQVMsb0JBQW9CLGlCQUF5QjtRQUNwRCxNQUFNLE9BQU8sUUFBUSxXQUFXLFVBQVUsUUFBUyxzQkFBc0I7UUFDekUsTUFBTSxRQUEwQjtZQUFDO1lBQUcsS0FBSyxNQUFNO1NBQUE7UUFDL0MsTUFBTSxTQUEyQixzQkFBc0I7WUFBQztZQUFLLEdBQUc7U0FBQSxHQUFJO1lBQUM7WUFBSyxHQUFHO1NBQUE7UUFDN0UsTUFBTSxRQUFRLFlBQVksT0FBTyxNQUFNO1FBRXZDLFFBQVEsVUFBVTtRQUNsQixPQUFPLE1BQU0sa0JBQWtCLEtBQUssR0FBRztJQUN6QztJQUVBLE9BQ0UsdUVBQUM7UUFDQyxPQUFPLE1BQU07UUFDYixXQUFXLHNCQUFzQixXQUFXO1FBQzVDLFNBQVMsc0JBQXNCLFFBQVE7UUFDdkMsTUFBSztRQUNMLFdBQVcsc0JBQXNCLElBQUk7UUFFckMsaUZBQUM7WUFDQyxvQkFBaUI7WUFDaEIsR0FBRztZQUNKO1lBQ0EsT0FBTztnQkFDTCxHQUFHLFlBQVk7Z0JBQ2YsQ0FBQyxnQ0FBdUMsR0FBRztZQUM3QztZQUNBLGNBQWMsQ0FBQztnQkFDYixNQUFNLFFBQVEsb0JBQW9CLE1BQU0sT0FBTztnQkFDL0MsZUFBZSxLQUFLO1lBQ3RCO1lBQ0EsYUFBYSxDQUFDO2dCQUNaLE1BQU0sUUFBUSxvQkFBb0IsTUFBTSxPQUFPO2dCQUMvQyxjQUFjLEtBQUs7WUFDckI7WUFDQSxZQUFZO2dCQUNWLFFBQVEsVUFBVTtnQkFDbEIsYUFBYTtZQUNmO1lBQ0EsZUFBZSxDQUFDO2dCQUNkLE1BQU0saUJBQWlCLHNCQUFzQixnQkFBZ0I7Z0JBQzdELE1BQU0sWUFBWSxVQUFVLGNBQWMsRUFBRSxTQUFTLE1BQU0sR0FBRztnQkFDOUQsZ0JBQWdCO29CQUFFO29CQUFPLFdBQVcsWUFBWSxLQUFLO2dCQUFFLENBQUM7WUFDMUQ7UUFBQTtJQUNGO0FBR047QUFtQkYsSUFBTSwyQkFBbUIsOENBQ3ZCLENBQUMsT0FBcUM7SUFDcEMsTUFBTSxFQUNKLGVBQ0EsY0FDQSxhQUNBLFlBQ0EsZUFDQSxjQUNBLGVBQ0EsR0FBRyxhQUNMLEdBQUk7SUFDSixNQUFNLFVBQVUsaUJBQWlCLGFBQWEsYUFBYTtJQUUzRCxPQUNFLHVFQUFDLGdFQUFTLENBQUMsTUFBVjtRQUNFLEdBQUc7UUFDSixLQUFLO1FBQ0wsV0FBVyx5RUFBb0IsQ0FBQyxNQUFNLFdBQVcsQ0FBQztZQUNoRCxJQUFJLE1BQU0sUUFBUSxRQUFRO2dCQUN4QixjQUFjLEtBQUs7Z0JBRW5CLE1BQU0sZUFBZTtZQUN2QixXQUFXLE1BQU0sUUFBUSxPQUFPO2dCQUM5QixhQUFhLEtBQUs7Z0JBRWxCLE1BQU0sZUFBZTtZQUN2QixXQUFXLFVBQVUsT0FBTyxVQUFVLEVBQUUsU0FBUyxNQUFNLEdBQUcsR0FBRztnQkFDM0QsY0FBYyxLQUFLO2dCQUVuQixNQUFNLGVBQWU7WUFDdkI7UUFDRixDQUFDO1FBQ0QsZUFBZSx5RUFBb0IsQ0FBQyxNQUFNLGVBQWUsQ0FBQztZQUN4RCxNQUFNLFNBQVMsTUFBTTtZQUNyQixPQUFPLGtCQUFrQixNQUFNLFNBQVM7WUFFeEMsTUFBTSxlQUFlO1lBR3JCLElBQUksUUFBUSxPQUFPLElBQUksTUFBTSxHQUFHO2dCQUM5QixPQUFPLE1BQU07WUFDZixPQUFPO2dCQUNMLGFBQWEsS0FBSztZQUNwQjtRQUNGLENBQUM7UUFDRCxlQUFlLHlFQUFvQixDQUFDLE1BQU0sZUFBZSxDQUFDO1lBQ3hELE1BQU0sU0FBUyxNQUFNO1lBQ3JCLElBQUksT0FBTyxrQkFBa0IsTUFBTSxTQUFTLEVBQUcsYUFBWSxLQUFLO1FBQ2xFLENBQUM7UUFDRCxhQUFhLHlFQUFvQixDQUFDLE1BQU0sYUFBYSxDQUFDO1lBQ3BELE1BQU0sU0FBUyxNQUFNO1lBQ3JCLElBQUksT0FBTyxrQkFBa0IsTUFBTSxTQUFTLEdBQUc7Z0JBQzdDLE9BQU8sc0JBQXNCLE1BQU0sU0FBUztnQkFDNUMsV0FBVyxLQUFLO1lBQ2xCO1FBQ0YsQ0FBQztJQUFBO0FBR1A7QUFPRixJQUFNLGFBQWE7QUFNbkIsSUFBTSw0QkFBb0IsOENBQ3hCLENBQUMsT0FBc0M7SUFDckMsTUFBTSxFQUFFLGVBQWUsR0FBRyxXQUFXLElBQUk7SUFDekMsTUFBTSxVQUFVLGlCQUFpQixZQUFZLGFBQWE7SUFDMUQsT0FDRSx1RUFBQyxnRUFBUyxDQUFDLE1BQVY7UUFDQyxpQkFBZSxRQUFRLFdBQVcsS0FBSztRQUN2QyxvQkFBa0IsUUFBUTtRQUN6QixHQUFHO1FBQ0osS0FBSztJQUFBO0FBR1g7QUFHRixZQUFZLGNBQWM7QUFNMUIsSUFBTSxhQUFhO0FBS25CLElBQU0sNEJBQW9CLDhDQUN4QixDQUFDLE9BQXNDO0lBQ3JDLE1BQU0sRUFBRSxlQUFlLEdBQUcsV0FBVyxJQUFJO0lBQ3pDLE1BQU0sVUFBVSxpQkFBaUIsWUFBWSxhQUFhO0lBQzFELE1BQU0sY0FBYyw0QkFBNEIsWUFBWSxhQUFhO0lBQ3pFLE1BQU0sTUFBWSwwQ0FBd0IsSUFBSTtJQUM5QyxNQUFNLGVBQWUsNkVBQWUsQ0FBQyxjQUFjLEdBQUc7SUFDdEQsTUFBTSxjQUFjLFFBQVEsT0FBTztJQUNuQyxNQUFNLGNBQWMsUUFBUSxPQUFPLElBQUksQ0FBQyxRQUN0Qyx5QkFBeUIsT0FBTyxRQUFRLEtBQUssUUFBUSxHQUFHO0lBRTFELE1BQU0sY0FBYyxjQUFjLElBQUksS0FBSyxJQUFJLEdBQUcsV0FBVyxJQUFJO0lBQ2pFLE1BQU0sWUFBWSxNQUFNLEtBQUssSUFBSSxHQUFHLFdBQVc7SUFFL0MsT0FDRSx1RUFBQyxnRUFBUyxDQUFDLE1BQVY7UUFDQyxvQkFBa0IsUUFBUTtRQUMxQixpQkFBZSxRQUFRLFdBQVcsS0FBSztRQUN0QyxHQUFHO1FBQ0osS0FBSztRQUNMLE9BQU87WUFDTCxHQUFHLE1BQU07WUFDVCxDQUFDLFlBQVksU0FBUyxHQUFHLGNBQWM7WUFDdkMsQ0FBQyxZQUFZLE9BQU8sR0FBRyxZQUFZO1FBQ3JDO0lBQUE7QUFHTjtBQUdGLFlBQVksY0FBYztBQU0xQixJQUFNLGFBQWE7QUFLbkIsSUFBTSw0QkFBb0IsOENBQ3hCLENBQUMsT0FBc0M7SUFDckMsTUFBTSxXQUFXLGNBQWMsTUFBTSxhQUFhO0lBQ2xELE1BQU0sQ0FBQyxPQUFPLFFBQVEsSUFBVSw0Q0FBd0MsSUFBSTtJQUM1RSxNQUFNLGVBQWUsNkVBQWUsQ0FBQztxREFBYyxDQUFDLE9BQVMsU0FBUyxJQUFJLENBQUM7O0lBQzNFLE1BQU0sUUFBYztzQ0FDbEIsSUFBTyxRQUFRLFNBQVMsRUFBRTs4Q0FBVSxDQUFDLE9BQVMsS0FBSyxJQUFJLFlBQVksS0FBSzsrQ0FBSTtxQ0FDNUU7UUFBQztRQUFVLEtBQUs7S0FBQTtJQUVsQixPQUFPLHVFQUFDO1FBQWlCLEdBQUc7UUFBTyxLQUFLO1FBQWM7SUFBQSxDQUFjO0FBQ3RFO0FBU0YsSUFBTSxnQ0FBd0IsOENBQzVCLENBQUMsT0FBMEM7SUFDekMsTUFBTSxFQUFFLGVBQWUsT0FBTyxNQUFNLEdBQUcsV0FBVyxJQUFJO0lBQ3RELE1BQU0sVUFBVSxpQkFBaUIsWUFBWSxhQUFhO0lBQzFELE1BQU0sY0FBYyw0QkFBNEIsWUFBWSxhQUFhO0lBQ3pFLE1BQU0sQ0FBQyxPQUFPLFFBQVEsSUFBVSw0Q0FBaUMsSUFBSTtJQUNyRSxNQUFNLGVBQWUsNkVBQWUsQ0FBQzt5REFBYyxDQUFDLE9BQVMsU0FBUyxJQUFJLENBQUM7O0lBRTNFLE1BQU0sZ0JBQWdCLFFBQVEsUUFBUSxRQUFRLENBQUMsQ0FBQyxNQUFNLFFBQVEsTUFBTSxJQUFJO0lBQ3hFLE1BQU0sT0FBTyxrRUFBTyxDQUFDLEtBQUs7SUFFMUIsTUFBTSxRQUFRLFFBQVEsT0FBTyxLQUFLO0lBQ2xDLE1BQU0sVUFDSixVQUFVLFNBQVksSUFBSSx5QkFBeUIsT0FBTyxRQUFRLEtBQUssUUFBUSxHQUFHO0lBQ3BGLE1BQU0sUUFBUSxTQUFTLE9BQU8sUUFBUSxPQUFPLE1BQU07SUFDbkQsTUFBTSxrQkFBa0IsT0FBTyxZQUFZLElBQUk7SUFDL0MsTUFBTSxzQkFBc0Isa0JBQ3hCLHVCQUF1QixpQkFBaUIsU0FBUyxZQUFZLFNBQVMsSUFDdEU7SUFFRTtxQ0FBVTtZQUNkLElBQUksT0FBTztnQkFDVCxRQUFRLE9BQU8sSUFBSSxLQUFLO2dCQUN4QjtpREFBTzt3QkFDTCxRQUFRLE9BQU8sT0FBTyxLQUFLO29CQUM3Qjs7WUFDRjtRQUNGO29DQUFHO1FBQUM7UUFBTyxRQUFRLE1BQU07S0FBQztJQUUxQixPQUNFLHdFQUFDO1FBQ0MsT0FBTztZQUNMLFdBQVc7WUFDWCxVQUFVO1lBQ1YsQ0FBQyxZQUFZLFNBQVMsR0FBRyxRQUFRLE9BQU8sT0FBTyxtQkFBbUI7UUFDcEU7UUFFQTtZQUFBLHVFQUFDLFdBQVcsVUFBWDtnQkFBb0IsT0FBTyxNQUFNO2dCQUNoQyxpRkFBQyxnRUFBUyxDQUFDLE1BQVY7b0JBQ0MsTUFBSztvQkFDTCxjQUFZLE1BQU0sWUFBWSxLQUFLO29CQUNuQyxpQkFBZSxRQUFRO29CQUN2QixpQkFBZTtvQkFDZixpQkFBZSxRQUFRO29CQUN2QixvQkFBa0IsUUFBUTtvQkFDMUIsb0JBQWtCLFFBQVE7b0JBQzFCLGlCQUFlLFFBQVEsV0FBVyxLQUFLO29CQUN2QyxVQUFVLFFBQVEsV0FBVyxTQUFZO29CQUN4QyxHQUFHO29CQUNKLEtBQUs7b0JBT0wsT0FBTyxVQUFVLFNBQVk7d0JBQUUsU0FBUztvQkFBTyxJQUFJLE1BQU07b0JBQ3pELFNBQVMseUVBQW9CLENBQUMsTUFBTSxTQUFTO3dCQUMzQyxRQUFRLHNCQUFzQixVQUFVO29CQUMxQyxDQUFDO2dCQUFBO1lBQ0gsQ0FDRjtZQUVDLGlCQUNDLHVFQUFDO2dCQUVDLE1BQ0UsU0FDQyxRQUFRLE9BQU8sUUFBUSxRQUFRLFFBQVEsT0FBTyxTQUFTLElBQUksT0FBTyxNQUFNO2dCQUUzRSxNQUFNLFFBQVE7Z0JBQ2Q7WUFBQSxHQU5LO1NBT1A7SUFBQTtBQUlSO0FBR0YsWUFBWSxjQUFjO0FBTTFCLElBQU0sb0JBQW9CO0FBSzFCLElBQU0sa0NBQTBCLDhDQUM5QixDQUFDLEVBQUUsZUFBZSxPQUFPLEdBQUcsTUFBTSxHQUF3QztJQUN4RSxNQUFNLE1BQVksMENBQXlCLElBQUk7SUFDL0MsTUFBTSxlQUFlLDZFQUFlLENBQUMsS0FBSyxZQUFZO0lBQ3RELE1BQU0sWUFBWSwwRUFBVyxDQUFDLEtBQUs7SUFHN0I7dUNBQVU7WUFDZCxNQUFNLFFBQVEsSUFBSTtZQUNsQixJQUFJLENBQUMsTUFBTztZQUVaLE1BQU0sYUFBYSxPQUFPLGlCQUFpQjtZQUMzQyxNQUFNLGFBQWEsT0FBTyx5QkFBeUIsWUFBWSxPQUFPO1lBQ3RFLE1BQU0sV0FBVyxXQUFXO1lBQzVCLElBQUksY0FBYyxTQUFTLFVBQVU7Z0JBQ25DLE1BQU0sUUFBUSxJQUFJLE1BQU0sU0FBUztvQkFBRSxTQUFTO2dCQUFLLENBQUM7Z0JBQ2xELFNBQVMsS0FBSyxPQUFPLEtBQUs7Z0JBQzFCLE1BQU0sY0FBYyxLQUFLO1lBQzNCO1FBQ0Y7c0NBQUc7UUFBQztRQUFXLEtBQUs7S0FBQztJQVdyQixPQUNFLHVFQUFDLGdFQUFTLENBQUMsT0FBVjtRQUNDLE9BQU87WUFBRSxTQUFTO1FBQU87UUFDeEIsR0FBRztRQUNKLEtBQUs7UUFDTCxjQUFjO0lBQUE7QUFHcEI7QUFHRixrQkFBa0IsY0FBYztBQUloQyxTQUFTLG9CQUFvQixhQUF1QixDQUFDLEdBQUcsV0FBbUIsU0FBaUI7SUFDMUYsTUFBTSxhQUFhLENBQUM7V0FBRyxVQUFVO0tBQUE7SUFDakMsV0FBVyxPQUFPLElBQUk7SUFDdEIsT0FBTyxXQUFXLEtBQUssQ0FBQyxHQUFHLElBQU0sSUFBSSxDQUFDO0FBQ3hDO0FBRUEsU0FBUyx5QkFBeUIsT0FBZSxLQUFhLEtBQWE7SUFDekUsTUFBTSxXQUFXLE1BQU07SUFDdkIsTUFBTSxpQkFBaUIsTUFBTTtJQUM3QixNQUFNLGFBQWEsa0JBQWtCLFFBQVE7SUFDN0MsT0FBTyx1REFBSyxDQUFDLFlBQVk7UUFBQztRQUFHLEdBQUc7S0FBQztBQUNuQztBQUtBLFNBQVMsU0FBUyxPQUFlLGFBQXFCO0lBQ3BELElBQUksY0FBYyxHQUFHO1FBQ25CLE9BQU8sU0FBUyxRQUFRLENBQUMsT0FBTyxXQUFXO0lBQzdDLFdBQVcsZ0JBQWdCLEdBQUc7UUFDNUIsT0FBTztZQUFDO1lBQVcsU0FBUztTQUFBLENBQUUsS0FBSztJQUNyQyxPQUFPO1FBQ0wsT0FBTztJQUNUO0FBQ0Y7QUFVQSxTQUFTLHFCQUFxQixRQUFrQixXQUFtQjtJQUNqRSxJQUFJLE9BQU8sV0FBVyxFQUFHLFFBQU87SUFDaEMsTUFBTSxZQUFZLE9BQU8sSUFBSSxDQUFDLFFBQVUsS0FBSyxJQUFJLFFBQVEsU0FBUyxDQUFDO0lBQ25FLE1BQU0sa0JBQWtCLEtBQUssSUFBSSxHQUFHLFNBQVM7SUFDN0MsT0FBTyxVQUFVLFFBQVEsZUFBZTtBQUMxQztBQU1BLFNBQVMsdUJBQXVCLE9BQWUsTUFBYyxXQUFtQjtJQUM5RSxNQUFNLFlBQVksUUFBUTtJQUMxQixNQUFNLGNBQWM7SUFDcEIsTUFBTSxTQUFTLFlBQVk7UUFBQztRQUFHLFdBQVc7S0FBQSxFQUFHO1FBQUM7UUFBRyxTQUFTO0tBQUM7SUFDM0QsUUFBUSxZQUFZLE9BQU8sSUFBSSxJQUFJLGFBQWE7QUFDbEQ7QUFTQSxTQUFTLHNCQUFzQixRQUFrQjtJQUMvQyxPQUFPLE9BQU8sTUFBTSxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxRQUFVLE9BQU8sUUFBUSxDQUFDLElBQUssS0FBSztBQUM3RTtBQWNBLFNBQVMseUJBQXlCLFFBQWtCLHVCQUErQjtJQUNqRixJQUFJLHdCQUF3QixHQUFHO1FBQzdCLE1BQU0scUJBQXFCLHNCQUFzQixNQUFNO1FBQ3ZELE1BQU0sOEJBQThCLEtBQUssSUFBSSxHQUFHLGtCQUFrQjtRQUNsRSxPQUFPLCtCQUErQjtJQUN4QztJQUNBLE9BQU87QUFDVDtBQUdBLFNBQVMsWUFBWSxPQUFrQyxRQUFtQztJQUN4RixPQUFPLENBQUM7UUFDTixJQUFJLE1BQU0sQ0FBQyxNQUFNLE1BQU0sQ0FBQyxLQUFLLE9BQU8sQ0FBQyxNQUFNLE9BQU8sQ0FBQyxFQUFHLFFBQU8sT0FBTyxDQUFDO1FBQ3JFLE1BQU0sU0FBUyxPQUFPLENBQUMsSUFBSSxPQUFPLEVBQUMsS0FBTSxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUM7UUFDM0QsT0FBTyxPQUFPLENBQUMsSUFBSSxRQUFTLFNBQVEsTUFBTSxFQUFDO0lBQzdDO0FBQ0Y7QUFFQSxTQUFTLGdCQUFnQixPQUFlO0lBQ3RDLFFBQVEsT0FBTyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUk7QUFDN0M7QUFFQSxTQUFTLFdBQVcsT0FBZSxjQUFzQjtJQUN2RCxNQUFNLFVBQVUsS0FBSyxJQUFJLElBQUksWUFBWTtJQUN6QyxPQUFPLEtBQUssTUFBTSxRQUFRLE9BQU8sSUFBSTtBQUN2QztBQUVBLElBQU0sT0FBTztBQUNiLElBQU0sUUFBUTtBQUNkLElBQU0sUUFBUTtBQUNkLElBQU0sUUFBUSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxzcmNcXHNsaWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY2xhbXAgfSBmcm9tICdAcmFkaXgtdWkvbnVtYmVyJztcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSAnQHJhZGl4LXVpL3ByaW1pdGl2ZSc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb250ZXh0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGUnO1xuaW1wb3J0IHsgdXNlRGlyZWN0aW9uIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWRpcmVjdGlvbic7XG5pbXBvcnQgeyB1c2VQcmV2aW91cyB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtcHJldmlvdXMnO1xuaW1wb3J0IHsgdXNlU2l6ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2Utc2l6ZSc7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlJztcbmltcG9ydCB7IGNyZWF0ZUNvbGxlY3Rpb24gfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29sbGVjdGlvbic7XG5cbmltcG9ydCB0eXBlIHsgU2NvcGUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29udGV4dCc7XG5cbnR5cGUgRGlyZWN0aW9uID0gJ2x0cicgfCAncnRsJztcblxuY29uc3QgUEFHRV9LRVlTID0gWydQYWdlVXAnLCAnUGFnZURvd24nXTtcbmNvbnN0IEFSUk9XX0tFWVMgPSBbJ0Fycm93VXAnLCAnQXJyb3dEb3duJywgJ0Fycm93TGVmdCcsICdBcnJvd1JpZ2h0J107XG5cbnR5cGUgU2xpZGVEaXJlY3Rpb24gPSAnZnJvbS1sZWZ0JyB8ICdmcm9tLXJpZ2h0JyB8ICdmcm9tLWJvdHRvbScgfCAnZnJvbS10b3AnO1xuY29uc3QgQkFDS19LRVlTOiBSZWNvcmQ8U2xpZGVEaXJlY3Rpb24sIHN0cmluZ1tdPiA9IHtcbiAgJ2Zyb20tbGVmdCc6IFsnSG9tZScsICdQYWdlRG93bicsICdBcnJvd0Rvd24nLCAnQXJyb3dMZWZ0J10sXG4gICdmcm9tLXJpZ2h0JzogWydIb21lJywgJ1BhZ2VEb3duJywgJ0Fycm93RG93bicsICdBcnJvd1JpZ2h0J10sXG4gICdmcm9tLWJvdHRvbSc6IFsnSG9tZScsICdQYWdlRG93bicsICdBcnJvd0Rvd24nLCAnQXJyb3dMZWZ0J10sXG4gICdmcm9tLXRvcCc6IFsnSG9tZScsICdQYWdlRG93bicsICdBcnJvd1VwJywgJ0Fycm93TGVmdCddLFxufTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2xpZGVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFNMSURFUl9OQU1FID0gJ1NsaWRlcic7XG5cbmNvbnN0IFtDb2xsZWN0aW9uLCB1c2VDb2xsZWN0aW9uLCBjcmVhdGVDb2xsZWN0aW9uU2NvcGVdID1cbiAgY3JlYXRlQ29sbGVjdGlvbjxTbGlkZXJUaHVtYkVsZW1lbnQ+KFNMSURFUl9OQU1FKTtcblxudHlwZSBTY29wZWRQcm9wczxQPiA9IFAgJiB7IF9fc2NvcGVTbGlkZXI/OiBTY29wZSB9O1xuY29uc3QgW2NyZWF0ZVNsaWRlckNvbnRleHQsIGNyZWF0ZVNsaWRlclNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShTTElERVJfTkFNRSwgW1xuICBjcmVhdGVDb2xsZWN0aW9uU2NvcGUsXG5dKTtcblxudHlwZSBTbGlkZXJDb250ZXh0VmFsdWUgPSB7XG4gIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIG1pbjogbnVtYmVyO1xuICBtYXg6IG51bWJlcjtcbiAgdmFsdWVzOiBudW1iZXJbXTtcbiAgdmFsdWVJbmRleFRvQ2hhbmdlUmVmOiBSZWFjdC5NdXRhYmxlUmVmT2JqZWN0PG51bWJlcj47XG4gIHRodW1iczogU2V0PFNsaWRlclRodW1iRWxlbWVudD47XG4gIG9yaWVudGF0aW9uOiBTbGlkZXJQcm9wc1snb3JpZW50YXRpb24nXTtcbiAgZm9ybTogc3RyaW5nIHwgdW5kZWZpbmVkO1xufTtcblxuY29uc3QgW1NsaWRlclByb3ZpZGVyLCB1c2VTbGlkZXJDb250ZXh0XSA9IGNyZWF0ZVNsaWRlckNvbnRleHQ8U2xpZGVyQ29udGV4dFZhbHVlPihTTElERVJfTkFNRSk7XG5cbnR5cGUgU2xpZGVyRWxlbWVudCA9IFNsaWRlckhvcml6b250YWxFbGVtZW50IHwgU2xpZGVyVmVydGljYWxFbGVtZW50O1xuaW50ZXJmYWNlIFNsaWRlclByb3BzXG4gIGV4dGVuZHMgT21pdDxcbiAgICBTbGlkZXJIb3Jpem9udGFsUHJvcHMgfCBTbGlkZXJWZXJ0aWNhbFByb3BzLFxuICAgIGtleW9mIFNsaWRlck9yaWVudGF0aW9uUHJpdmF0ZVByb3BzIHwgJ2RlZmF1bHRWYWx1ZSdcbiAgPiB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgb3JpZW50YXRpb24/OiBSZWFjdC5BcmlhQXR0cmlidXRlc1snYXJpYS1vcmllbnRhdGlvbiddO1xuICBkaXI/OiBEaXJlY3Rpb247XG4gIG1pbj86IG51bWJlcjtcbiAgbWF4PzogbnVtYmVyO1xuICBzdGVwPzogbnVtYmVyO1xuICBtaW5TdGVwc0JldHdlZW5UaHVtYnM/OiBudW1iZXI7XG4gIHZhbHVlPzogbnVtYmVyW107XG4gIGRlZmF1bHRWYWx1ZT86IG51bWJlcltdO1xuICBvblZhbHVlQ2hhbmdlPyh2YWx1ZTogbnVtYmVyW10pOiB2b2lkO1xuICBvblZhbHVlQ29tbWl0Pyh2YWx1ZTogbnVtYmVyW10pOiB2b2lkO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG4gIGZvcm0/OiBzdHJpbmc7XG59XG5cbmNvbnN0IFNsaWRlciA9IFJlYWN0LmZvcndhcmRSZWY8U2xpZGVyRWxlbWVudCwgU2xpZGVyUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNsaWRlclByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgbmFtZSxcbiAgICAgIG1pbiA9IDAsXG4gICAgICBtYXggPSAxMDAsXG4gICAgICBzdGVwID0gMSxcbiAgICAgIG9yaWVudGF0aW9uID0gJ2hvcml6b250YWwnLFxuICAgICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICAgIG1pblN0ZXBzQmV0d2VlblRodW1icyA9IDAsXG4gICAgICBkZWZhdWx0VmFsdWUgPSBbbWluXSxcbiAgICAgIHZhbHVlLFxuICAgICAgb25WYWx1ZUNoYW5nZSA9ICgpID0+IHt9LFxuICAgICAgb25WYWx1ZUNvbW1pdCA9ICgpID0+IHt9LFxuICAgICAgaW52ZXJ0ZWQgPSBmYWxzZSxcbiAgICAgIGZvcm0sXG4gICAgICAuLi5zbGlkZXJQcm9wc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCB0aHVtYlJlZnMgPSBSZWFjdC51c2VSZWY8U2xpZGVyQ29udGV4dFZhbHVlWyd0aHVtYnMnXT4obmV3IFNldCgpKTtcbiAgICBjb25zdCB2YWx1ZUluZGV4VG9DaGFuZ2VSZWYgPSBSZWFjdC51c2VSZWY8bnVtYmVyPigwKTtcbiAgICBjb25zdCBpc0hvcml6b250YWwgPSBvcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnO1xuICAgIGNvbnN0IFNsaWRlck9yaWVudGF0aW9uID0gaXNIb3Jpem9udGFsID8gU2xpZGVySG9yaXpvbnRhbCA6IFNsaWRlclZlcnRpY2FsO1xuXG4gICAgY29uc3QgW3ZhbHVlcyA9IFtdLCBzZXRWYWx1ZXNdID0gdXNlQ29udHJvbGxhYmxlU3RhdGUoe1xuICAgICAgcHJvcDogdmFsdWUsXG4gICAgICBkZWZhdWx0UHJvcDogZGVmYXVsdFZhbHVlLFxuICAgICAgb25DaGFuZ2U6ICh2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCB0aHVtYnMgPSBbLi4udGh1bWJSZWZzLmN1cnJlbnRdO1xuICAgICAgICB0aHVtYnNbdmFsdWVJbmRleFRvQ2hhbmdlUmVmLmN1cnJlbnRdPy5mb2N1cygpO1xuICAgICAgICBvblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3QgdmFsdWVzQmVmb3JlU2xpZGVTdGFydFJlZiA9IFJlYWN0LnVzZVJlZih2YWx1ZXMpO1xuXG4gICAgZnVuY3Rpb24gaGFuZGxlU2xpZGVTdGFydCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICBjb25zdCBjbG9zZXN0SW5kZXggPSBnZXRDbG9zZXN0VmFsdWVJbmRleCh2YWx1ZXMsIHZhbHVlKTtcbiAgICAgIHVwZGF0ZVZhbHVlcyh2YWx1ZSwgY2xvc2VzdEluZGV4KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVTbGlkZU1vdmUodmFsdWU6IG51bWJlcikge1xuICAgICAgdXBkYXRlVmFsdWVzKHZhbHVlLCB2YWx1ZUluZGV4VG9DaGFuZ2VSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaGFuZGxlU2xpZGVFbmQoKSB7XG4gICAgICBjb25zdCBwcmV2VmFsdWUgPSB2YWx1ZXNCZWZvcmVTbGlkZVN0YXJ0UmVmLmN1cnJlbnRbdmFsdWVJbmRleFRvQ2hhbmdlUmVmLmN1cnJlbnRdO1xuICAgICAgY29uc3QgbmV4dFZhbHVlID0gdmFsdWVzW3ZhbHVlSW5kZXhUb0NoYW5nZVJlZi5jdXJyZW50XTtcbiAgICAgIGNvbnN0IGhhc0NoYW5nZWQgPSBuZXh0VmFsdWUgIT09IHByZXZWYWx1ZTtcbiAgICAgIGlmIChoYXNDaGFuZ2VkKSBvblZhbHVlQ29tbWl0KHZhbHVlcyk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdXBkYXRlVmFsdWVzKHZhbHVlOiBudW1iZXIsIGF0SW5kZXg6IG51bWJlciwgeyBjb21taXQgfSA9IHsgY29tbWl0OiBmYWxzZSB9KSB7XG4gICAgICBjb25zdCBkZWNpbWFsQ291bnQgPSBnZXREZWNpbWFsQ291bnQoc3RlcCk7XG4gICAgICBjb25zdCBzbmFwVG9TdGVwID0gcm91bmRWYWx1ZShNYXRoLnJvdW5kKCh2YWx1ZSAtIG1pbikgLyBzdGVwKSAqIHN0ZXAgKyBtaW4sIGRlY2ltYWxDb3VudCk7XG4gICAgICBjb25zdCBuZXh0VmFsdWUgPSBjbGFtcChzbmFwVG9TdGVwLCBbbWluLCBtYXhdKTtcblxuICAgICAgc2V0VmFsdWVzKChwcmV2VmFsdWVzID0gW10pID0+IHtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlcyA9IGdldE5leHRTb3J0ZWRWYWx1ZXMocHJldlZhbHVlcywgbmV4dFZhbHVlLCBhdEluZGV4KTtcbiAgICAgICAgaWYgKGhhc01pblN0ZXBzQmV0d2VlblZhbHVlcyhuZXh0VmFsdWVzLCBtaW5TdGVwc0JldHdlZW5UaHVtYnMgKiBzdGVwKSkge1xuICAgICAgICAgIHZhbHVlSW5kZXhUb0NoYW5nZVJlZi5jdXJyZW50ID0gbmV4dFZhbHVlcy5pbmRleE9mKG5leHRWYWx1ZSk7XG4gICAgICAgICAgY29uc3QgaGFzQ2hhbmdlZCA9IFN0cmluZyhuZXh0VmFsdWVzKSAhPT0gU3RyaW5nKHByZXZWYWx1ZXMpO1xuICAgICAgICAgIGlmIChoYXNDaGFuZ2VkICYmIGNvbW1pdCkgb25WYWx1ZUNvbW1pdChuZXh0VmFsdWVzKTtcbiAgICAgICAgICByZXR1cm4gaGFzQ2hhbmdlZCA/IG5leHRWYWx1ZXMgOiBwcmV2VmFsdWVzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBwcmV2VmFsdWVzO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNsaWRlclByb3ZpZGVyXG4gICAgICAgIHNjb3BlPXtwcm9wcy5fX3Njb3BlU2xpZGVyfVxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIG1pbj17bWlufVxuICAgICAgICBtYXg9e21heH1cbiAgICAgICAgdmFsdWVJbmRleFRvQ2hhbmdlUmVmPXt2YWx1ZUluZGV4VG9DaGFuZ2VSZWZ9XG4gICAgICAgIHRodW1icz17dGh1bWJSZWZzLmN1cnJlbnR9XG4gICAgICAgIHZhbHVlcz17dmFsdWVzfVxuICAgICAgICBvcmllbnRhdGlvbj17b3JpZW50YXRpb259XG4gICAgICAgIGZvcm09e2Zvcm19XG4gICAgICA+XG4gICAgICAgIDxDb2xsZWN0aW9uLlByb3ZpZGVyIHNjb3BlPXtwcm9wcy5fX3Njb3BlU2xpZGVyfT5cbiAgICAgICAgICA8Q29sbGVjdGlvbi5TbG90IHNjb3BlPXtwcm9wcy5fX3Njb3BlU2xpZGVyfT5cbiAgICAgICAgICAgIDxTbGlkZXJPcmllbnRhdGlvblxuICAgICAgICAgICAgICBhcmlhLWRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWQgPyAnJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgey4uLnNsaWRlclByb3BzfVxuICAgICAgICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgICAgICAgb25Qb2ludGVyRG93bj17Y29tcG9zZUV2ZW50SGFuZGxlcnMoc2xpZGVyUHJvcHMub25Qb2ludGVyRG93biwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZGlzYWJsZWQpIHZhbHVlc0JlZm9yZVNsaWRlU3RhcnRSZWYuY3VycmVudCA9IHZhbHVlcztcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgICBtYXg9e21heH1cbiAgICAgICAgICAgICAgaW52ZXJ0ZWQ9e2ludmVydGVkfVxuICAgICAgICAgICAgICBvblNsaWRlU3RhcnQ9e2Rpc2FibGVkID8gdW5kZWZpbmVkIDogaGFuZGxlU2xpZGVTdGFydH1cbiAgICAgICAgICAgICAgb25TbGlkZU1vdmU9e2Rpc2FibGVkID8gdW5kZWZpbmVkIDogaGFuZGxlU2xpZGVNb3ZlfVxuICAgICAgICAgICAgICBvblNsaWRlRW5kPXtkaXNhYmxlZCA/IHVuZGVmaW5lZCA6IGhhbmRsZVNsaWRlRW5kfVxuICAgICAgICAgICAgICBvbkhvbWVLZXlEb3duPXsoKSA9PiAhZGlzYWJsZWQgJiYgdXBkYXRlVmFsdWVzKG1pbiwgMCwgeyBjb21taXQ6IHRydWUgfSl9XG4gICAgICAgICAgICAgIG9uRW5kS2V5RG93bj17KCkgPT5cbiAgICAgICAgICAgICAgICAhZGlzYWJsZWQgJiYgdXBkYXRlVmFsdWVzKG1heCwgdmFsdWVzLmxlbmd0aCAtIDEsIHsgY29tbWl0OiB0cnVlIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb25TdGVwS2V5RG93bj17KHsgZXZlbnQsIGRpcmVjdGlvbjogc3RlcERpcmVjdGlvbiB9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgaXNQYWdlS2V5ID0gUEFHRV9LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpc1NraXBLZXkgPSBpc1BhZ2VLZXkgfHwgKGV2ZW50LnNoaWZ0S2V5ICYmIEFSUk9XX0tFWVMuaW5jbHVkZXMoZXZlbnQua2V5KSk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBtdWx0aXBsaWVyID0gaXNTa2lwS2V5ID8gMTAgOiAxO1xuICAgICAgICAgICAgICAgICAgY29uc3QgYXRJbmRleCA9IHZhbHVlSW5kZXhUb0NoYW5nZVJlZi5jdXJyZW50O1xuICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNbYXRJbmRleF0hO1xuICAgICAgICAgICAgICAgICAgY29uc3Qgc3RlcEluRGlyZWN0aW9uID0gc3RlcCAqIG11bHRpcGxpZXIgKiBzdGVwRGlyZWN0aW9uO1xuICAgICAgICAgICAgICAgICAgdXBkYXRlVmFsdWVzKHZhbHVlICsgc3RlcEluRGlyZWN0aW9uLCBhdEluZGV4LCB7IGNvbW1pdDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sbGVjdGlvbi5TbG90PlxuICAgICAgICA8L0NvbGxlY3Rpb24uUHJvdmlkZXI+XG4gICAgICA8L1NsaWRlclByb3ZpZGVyPlxuICAgICk7XG4gIH1cbik7XG5cblNsaWRlci5kaXNwbGF5TmFtZSA9IFNMSURFUl9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTbGlkZXJIb3Jpem9udGFsXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnR5cGUgU2lkZSA9ICd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nIHwgJ2xlZnQnO1xuXG5jb25zdCBbU2xpZGVyT3JpZW50YXRpb25Qcm92aWRlciwgdXNlU2xpZGVyT3JpZW50YXRpb25Db250ZXh0XSA9IGNyZWF0ZVNsaWRlckNvbnRleHQ8e1xuICBzdGFydEVkZ2U6IFNpZGU7XG4gIGVuZEVkZ2U6IFNpZGU7XG4gIHNpemU6IGtleW9mIE5vbk51bGxhYmxlPFJldHVyblR5cGU8dHlwZW9mIHVzZVNpemU+PjtcbiAgZGlyZWN0aW9uOiBudW1iZXI7XG59PihTTElERVJfTkFNRSwge1xuICBzdGFydEVkZ2U6ICdsZWZ0JyxcbiAgZW5kRWRnZTogJ3JpZ2h0JyxcbiAgc2l6ZTogJ3dpZHRoJyxcbiAgZGlyZWN0aW9uOiAxLFxufSk7XG5cbnR5cGUgU2xpZGVyT3JpZW50YXRpb25Qcml2YXRlUHJvcHMgPSB7XG4gIG1pbjogbnVtYmVyO1xuICBtYXg6IG51bWJlcjtcbiAgaW52ZXJ0ZWQ6IGJvb2xlYW47XG4gIG9uU2xpZGVTdGFydD8odmFsdWU6IG51bWJlcik6IHZvaWQ7XG4gIG9uU2xpZGVNb3ZlPyh2YWx1ZTogbnVtYmVyKTogdm9pZDtcbiAgb25TbGlkZUVuZD8oKTogdm9pZDtcbiAgb25Ib21lS2V5RG93bihldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gIG9uRW5kS2V5RG93bihldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gIG9uU3RlcEtleURvd24oc3RlcDogeyBldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDsgZGlyZWN0aW9uOiBudW1iZXIgfSk6IHZvaWQ7XG59O1xuaW50ZXJmYWNlIFNsaWRlck9yaWVudGF0aW9uUHJvcHNcbiAgZXh0ZW5kcyBPbWl0PFNsaWRlckltcGxQcm9wcywga2V5b2YgU2xpZGVySW1wbFByaXZhdGVQcm9wcz4sXG4gICAgU2xpZGVyT3JpZW50YXRpb25Qcml2YXRlUHJvcHMge31cblxudHlwZSBTbGlkZXJIb3Jpem9udGFsRWxlbWVudCA9IFNsaWRlckltcGxFbGVtZW50O1xuaW50ZXJmYWNlIFNsaWRlckhvcml6b250YWxQcm9wcyBleHRlbmRzIFNsaWRlck9yaWVudGF0aW9uUHJvcHMge1xuICBkaXI/OiBEaXJlY3Rpb247XG59XG5cbmNvbnN0IFNsaWRlckhvcml6b250YWwgPSBSZWFjdC5mb3J3YXJkUmVmPFNsaWRlckhvcml6b250YWxFbGVtZW50LCBTbGlkZXJIb3Jpem9udGFsUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNsaWRlckhvcml6b250YWxQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIG1pbixcbiAgICAgIG1heCxcbiAgICAgIGRpcixcbiAgICAgIGludmVydGVkLFxuICAgICAgb25TbGlkZVN0YXJ0LFxuICAgICAgb25TbGlkZU1vdmUsXG4gICAgICBvblNsaWRlRW5kLFxuICAgICAgb25TdGVwS2V5RG93bixcbiAgICAgIC4uLnNsaWRlclByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IFtzbGlkZXIsIHNldFNsaWRlcl0gPSBSZWFjdC51c2VTdGF0ZTxTbGlkZXJJbXBsRWxlbWVudCB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXRTbGlkZXIobm9kZSkpO1xuICAgIGNvbnN0IHJlY3RSZWYgPSBSZWFjdC51c2VSZWY8RE9NUmVjdD4odW5kZWZpbmVkKTtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB1c2VEaXJlY3Rpb24oZGlyKTtcbiAgICBjb25zdCBpc0RpcmVjdGlvbkxUUiA9IGRpcmVjdGlvbiA9PT0gJ2x0cic7XG4gICAgY29uc3QgaXNTbGlkaW5nRnJvbUxlZnQgPSAoaXNEaXJlY3Rpb25MVFIgJiYgIWludmVydGVkKSB8fCAoIWlzRGlyZWN0aW9uTFRSICYmIGludmVydGVkKTtcblxuICAgIGZ1bmN0aW9uIGdldFZhbHVlRnJvbVBvaW50ZXIocG9pbnRlclBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICAgIGNvbnN0IHJlY3QgPSByZWN0UmVmLmN1cnJlbnQgfHwgc2xpZGVyIS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGlucHV0OiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIHJlY3Qud2lkdGhdO1xuICAgICAgY29uc3Qgb3V0cHV0OiBbbnVtYmVyLCBudW1iZXJdID0gaXNTbGlkaW5nRnJvbUxlZnQgPyBbbWluLCBtYXhdIDogW21heCwgbWluXTtcbiAgICAgIGNvbnN0IHZhbHVlID0gbGluZWFyU2NhbGUoaW5wdXQsIG91dHB1dCk7XG5cbiAgICAgIHJlY3RSZWYuY3VycmVudCA9IHJlY3Q7XG4gICAgICByZXR1cm4gdmFsdWUocG9pbnRlclBvc2l0aW9uIC0gcmVjdC5sZWZ0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNsaWRlck9yaWVudGF0aW9uUHJvdmlkZXJcbiAgICAgICAgc2NvcGU9e3Byb3BzLl9fc2NvcGVTbGlkZXJ9XG4gICAgICAgIHN0YXJ0RWRnZT17aXNTbGlkaW5nRnJvbUxlZnQgPyAnbGVmdCcgOiAncmlnaHQnfVxuICAgICAgICBlbmRFZGdlPXtpc1NsaWRpbmdGcm9tTGVmdCA/ICdyaWdodCcgOiAnbGVmdCd9XG4gICAgICAgIGRpcmVjdGlvbj17aXNTbGlkaW5nRnJvbUxlZnQgPyAxIDogLTF9XG4gICAgICAgIHNpemU9XCJ3aWR0aFwiXG4gICAgICA+XG4gICAgICAgIDxTbGlkZXJJbXBsXG4gICAgICAgICAgZGlyPXtkaXJlY3Rpb259XG4gICAgICAgICAgZGF0YS1vcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxuICAgICAgICAgIHsuLi5zbGlkZXJQcm9wc31cbiAgICAgICAgICByZWY9e2NvbXBvc2VkUmVmc31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgLi4uc2xpZGVyUHJvcHMuc3R5bGUsXG4gICAgICAgICAgICBbJy0tcmFkaXgtc2xpZGVyLXRodW1iLXRyYW5zZm9ybScgYXMgYW55XTogJ3RyYW5zbGF0ZVgoLTUwJSknLFxuICAgICAgICAgIH19XG4gICAgICAgICAgb25TbGlkZVN0YXJ0PXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0VmFsdWVGcm9tUG9pbnRlcihldmVudC5jbGllbnRYKTtcbiAgICAgICAgICAgIG9uU2xpZGVTdGFydD8uKHZhbHVlKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uU2xpZGVNb3ZlPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0VmFsdWVGcm9tUG9pbnRlcihldmVudC5jbGllbnRYKTtcbiAgICAgICAgICAgIG9uU2xpZGVNb3ZlPy4odmFsdWUpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgb25TbGlkZUVuZD17KCkgPT4ge1xuICAgICAgICAgICAgcmVjdFJlZi5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgb25TbGlkZUVuZD8uKCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgICBvblN0ZXBLZXlEb3duPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNsaWRlRGlyZWN0aW9uID0gaXNTbGlkaW5nRnJvbUxlZnQgPyAnZnJvbS1sZWZ0JyA6ICdmcm9tLXJpZ2h0JztcbiAgICAgICAgICAgIGNvbnN0IGlzQmFja0tleSA9IEJBQ0tfS0VZU1tzbGlkZURpcmVjdGlvbl0uaW5jbHVkZXMoZXZlbnQua2V5KTtcbiAgICAgICAgICAgIG9uU3RlcEtleURvd24/Lih7IGV2ZW50LCBkaXJlY3Rpb246IGlzQmFja0tleSA/IC0xIDogMSB9KTtcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9TbGlkZXJPcmllbnRhdGlvblByb3ZpZGVyPlxuICAgICk7XG4gIH1cbik7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNsaWRlclZlcnRpY2FsXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnR5cGUgU2xpZGVyVmVydGljYWxFbGVtZW50ID0gU2xpZGVySW1wbEVsZW1lbnQ7XG5pbnRlcmZhY2UgU2xpZGVyVmVydGljYWxQcm9wcyBleHRlbmRzIFNsaWRlck9yaWVudGF0aW9uUHJvcHMge31cblxuY29uc3QgU2xpZGVyVmVydGljYWwgPSBSZWFjdC5mb3J3YXJkUmVmPFNsaWRlclZlcnRpY2FsRWxlbWVudCwgU2xpZGVyVmVydGljYWxQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8U2xpZGVyVmVydGljYWxQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIG1pbixcbiAgICAgIG1heCxcbiAgICAgIGludmVydGVkLFxuICAgICAgb25TbGlkZVN0YXJ0LFxuICAgICAgb25TbGlkZU1vdmUsXG4gICAgICBvblNsaWRlRW5kLFxuICAgICAgb25TdGVwS2V5RG93bixcbiAgICAgIC4uLnNsaWRlclByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IHNsaWRlclJlZiA9IFJlYWN0LnVzZVJlZjxTbGlkZXJJbXBsRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgcmVmID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgc2xpZGVyUmVmKTtcbiAgICBjb25zdCByZWN0UmVmID0gUmVhY3QudXNlUmVmPERPTVJlY3Q+KHVuZGVmaW5lZCk7XG4gICAgY29uc3QgaXNTbGlkaW5nRnJvbUJvdHRvbSA9ICFpbnZlcnRlZDtcblxuICAgIGZ1bmN0aW9uIGdldFZhbHVlRnJvbVBvaW50ZXIocG9pbnRlclBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICAgIGNvbnN0IHJlY3QgPSByZWN0UmVmLmN1cnJlbnQgfHwgc2xpZGVyUmVmLmN1cnJlbnQhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaW5wdXQ6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgcmVjdC5oZWlnaHRdO1xuICAgICAgY29uc3Qgb3V0cHV0OiBbbnVtYmVyLCBudW1iZXJdID0gaXNTbGlkaW5nRnJvbUJvdHRvbSA/IFttYXgsIG1pbl0gOiBbbWluLCBtYXhdO1xuICAgICAgY29uc3QgdmFsdWUgPSBsaW5lYXJTY2FsZShpbnB1dCwgb3V0cHV0KTtcblxuICAgICAgcmVjdFJlZi5jdXJyZW50ID0gcmVjdDtcbiAgICAgIHJldHVybiB2YWx1ZShwb2ludGVyUG9zaXRpb24gLSByZWN0LnRvcCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTbGlkZXJPcmllbnRhdGlvblByb3ZpZGVyXG4gICAgICAgIHNjb3BlPXtwcm9wcy5fX3Njb3BlU2xpZGVyfVxuICAgICAgICBzdGFydEVkZ2U9e2lzU2xpZGluZ0Zyb21Cb3R0b20gPyAnYm90dG9tJyA6ICd0b3AnfVxuICAgICAgICBlbmRFZGdlPXtpc1NsaWRpbmdGcm9tQm90dG9tID8gJ3RvcCcgOiAnYm90dG9tJ31cbiAgICAgICAgc2l6ZT1cImhlaWdodFwiXG4gICAgICAgIGRpcmVjdGlvbj17aXNTbGlkaW5nRnJvbUJvdHRvbSA/IDEgOiAtMX1cbiAgICAgID5cbiAgICAgICAgPFNsaWRlckltcGxcbiAgICAgICAgICBkYXRhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgICAgIHsuLi5zbGlkZXJQcm9wc31cbiAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgLi4uc2xpZGVyUHJvcHMuc3R5bGUsXG4gICAgICAgICAgICBbJy0tcmFkaXgtc2xpZGVyLXRodW1iLXRyYW5zZm9ybScgYXMgYW55XTogJ3RyYW5zbGF0ZVkoNTAlKScsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBvblNsaWRlU3RhcnQ9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBnZXRWYWx1ZUZyb21Qb2ludGVyKGV2ZW50LmNsaWVudFkpO1xuICAgICAgICAgICAgb25TbGlkZVN0YXJ0Py4odmFsdWUpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgb25TbGlkZU1vdmU9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBnZXRWYWx1ZUZyb21Qb2ludGVyKGV2ZW50LmNsaWVudFkpO1xuICAgICAgICAgICAgb25TbGlkZU1vdmU/Lih2YWx1ZSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgICBvblNsaWRlRW5kPXsoKSA9PiB7XG4gICAgICAgICAgICByZWN0UmVmLmN1cnJlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBvblNsaWRlRW5kPy4oKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uU3RlcEtleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2xpZGVEaXJlY3Rpb24gPSBpc1NsaWRpbmdGcm9tQm90dG9tID8gJ2Zyb20tYm90dG9tJyA6ICdmcm9tLXRvcCc7XG4gICAgICAgICAgICBjb25zdCBpc0JhY2tLZXkgPSBCQUNLX0tFWVNbc2xpZGVEaXJlY3Rpb25dLmluY2x1ZGVzKGV2ZW50LmtleSk7XG4gICAgICAgICAgICBvblN0ZXBLZXlEb3duPy4oeyBldmVudCwgZGlyZWN0aW9uOiBpc0JhY2tLZXkgPyAtMSA6IDEgfSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2xpZGVyT3JpZW50YXRpb25Qcm92aWRlcj5cbiAgICApO1xuICB9XG4pO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTbGlkZXJJbXBsXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnR5cGUgU2xpZGVySW1wbEVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5zcGFuPjtcbnR5cGUgUHJpbWl0aXZlRGl2UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xudHlwZSBTbGlkZXJJbXBsUHJpdmF0ZVByb3BzID0ge1xuICBvblNsaWRlU3RhcnQoZXZlbnQ6IFJlYWN0LlBvaW50ZXJFdmVudCk6IHZvaWQ7XG4gIG9uU2xpZGVNb3ZlKGV2ZW50OiBSZWFjdC5Qb2ludGVyRXZlbnQpOiB2b2lkO1xuICBvblNsaWRlRW5kKGV2ZW50OiBSZWFjdC5Qb2ludGVyRXZlbnQpOiB2b2lkO1xuICBvbkhvbWVLZXlEb3duKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgb25FbmRLZXlEb3duKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgb25TdGVwS2V5RG93bihldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG59O1xuaW50ZXJmYWNlIFNsaWRlckltcGxQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzLCBTbGlkZXJJbXBsUHJpdmF0ZVByb3BzIHt9XG5cbmNvbnN0IFNsaWRlckltcGwgPSBSZWFjdC5mb3J3YXJkUmVmPFNsaWRlckltcGxFbGVtZW50LCBTbGlkZXJJbXBsUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNsaWRlckltcGxQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIF9fc2NvcGVTbGlkZXIsXG4gICAgICBvblNsaWRlU3RhcnQsXG4gICAgICBvblNsaWRlTW92ZSxcbiAgICAgIG9uU2xpZGVFbmQsXG4gICAgICBvbkhvbWVLZXlEb3duLFxuICAgICAgb25FbmRLZXlEb3duLFxuICAgICAgb25TdGVwS2V5RG93bixcbiAgICAgIC4uLnNsaWRlclByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTbGlkZXJDb250ZXh0KFNMSURFUl9OQU1FLCBfX3Njb3BlU2xpZGVyKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8UHJpbWl0aXZlLnNwYW5cbiAgICAgICAgey4uLnNsaWRlclByb3BzfVxuICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgb25LZXlEb3duPXtjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbktleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdIb21lJykge1xuICAgICAgICAgICAgb25Ib21lS2V5RG93bihldmVudCk7XG4gICAgICAgICAgICAvLyBQcmV2ZW50IHNjcm9sbGluZyB0byBwYWdlIHN0YXJ0XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRW5kJykge1xuICAgICAgICAgICAgb25FbmRLZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgc2Nyb2xsaW5nIHRvIHBhZ2UgZW5kXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoUEFHRV9LRVlTLmNvbmNhdChBUlJPV19LRVlTKS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICBvblN0ZXBLZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgc2Nyb2xsaW5nIGZvciBkaXJlY3Rpb25hbCBrZXkgcHJlc3Nlc1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pfVxuICAgICAgICBvblBvaW50ZXJEb3duPXtjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vblBvaW50ZXJEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgdGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCk7XG4gICAgICAgICAgLy8gUHJldmVudCBicm93c2VyIGZvY3VzIGJlaGF2aW91ciBiZWNhdXNlIHdlIGZvY3VzIGEgdGh1bWIgbWFudWFsbHkgd2hlbiB2YWx1ZXMgY2hhbmdlLlxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgLy8gVG91Y2ggZGV2aWNlcyBoYXZlIGEgZGVsYXkgYmVmb3JlIGZvY3VzaW5nIHNvIHdvbid0IGZvY3VzIGlmIHRvdWNoIGltbWVkaWF0ZWx5IG1vdmVzXG4gICAgICAgICAgLy8gYXdheSBmcm9tIHRhcmdldCAoc2xpZGluZykuIFdlIHdhbnQgdGh1bWIgdG8gZm9jdXMgcmVnYXJkbGVzcy5cbiAgICAgICAgICBpZiAoY29udGV4dC50aHVtYnMuaGFzKHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRhcmdldC5mb2N1cygpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvblNsaWRlU3RhcnQoZXZlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSl9XG4gICAgICAgIG9uUG9pbnRlck1vdmU9e2NvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uUG9pbnRlck1vdmUsIChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICBpZiAodGFyZ2V0Lmhhc1BvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCkpIG9uU2xpZGVNb3ZlKGV2ZW50KTtcbiAgICAgICAgfSl9XG4gICAgICAgIG9uUG9pbnRlclVwPXtjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vblBvaW50ZXJVcCwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgIGlmICh0YXJnZXQuaGFzUG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKSkge1xuICAgICAgICAgICAgdGFyZ2V0LnJlbGVhc2VQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuICAgICAgICAgICAgb25TbGlkZUVuZChldmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuKTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2xpZGVyVHJhY2tcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgVFJBQ0tfTkFNRSA9ICdTbGlkZXJUcmFjayc7XG5cbnR5cGUgU2xpZGVyVHJhY2tFbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuc3Bhbj47XG50eXBlIFByaW1pdGl2ZVNwYW5Qcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLnNwYW4+O1xuaW50ZXJmYWNlIFNsaWRlclRyYWNrUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVTcGFuUHJvcHMge31cblxuY29uc3QgU2xpZGVyVHJhY2sgPSBSZWFjdC5mb3J3YXJkUmVmPFNsaWRlclRyYWNrRWxlbWVudCwgU2xpZGVyVHJhY2tQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8U2xpZGVyVHJhY2tQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVNsaWRlciwgLi4udHJhY2tQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNsaWRlckNvbnRleHQoVFJBQ0tfTkFNRSwgX19zY29wZVNsaWRlcik7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmltaXRpdmUuc3BhblxuICAgICAgICBkYXRhLWRpc2FibGVkPXtjb250ZXh0LmRpc2FibGVkID8gJycgOiB1bmRlZmluZWR9XG4gICAgICAgIGRhdGEtb3JpZW50YXRpb249e2NvbnRleHQub3JpZW50YXRpb259XG4gICAgICAgIHsuLi50cmFja1Byb3BzfVxuICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuKTtcblxuU2xpZGVyVHJhY2suZGlzcGxheU5hbWUgPSBUUkFDS19OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTbGlkZXJSYW5nZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBSQU5HRV9OQU1FID0gJ1NsaWRlclJhbmdlJztcblxudHlwZSBTbGlkZXJSYW5nZUVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5zcGFuPjtcbmludGVyZmFjZSBTbGlkZXJSYW5nZVByb3BzIGV4dGVuZHMgUHJpbWl0aXZlU3BhblByb3BzIHt9XG5cbmNvbnN0IFNsaWRlclJhbmdlID0gUmVhY3QuZm9yd2FyZFJlZjxTbGlkZXJSYW5nZUVsZW1lbnQsIFNsaWRlclJhbmdlUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNsaWRlclJhbmdlUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTbGlkZXIsIC4uLnJhbmdlUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTbGlkZXJDb250ZXh0KFJBTkdFX05BTUUsIF9fc2NvcGVTbGlkZXIpO1xuICAgIGNvbnN0IG9yaWVudGF0aW9uID0gdXNlU2xpZGVyT3JpZW50YXRpb25Db250ZXh0KFJBTkdFX05BTUUsIF9fc2NvcGVTbGlkZXIpO1xuICAgIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIHJlZik7XG4gICAgY29uc3QgdmFsdWVzQ291bnQgPSBjb250ZXh0LnZhbHVlcy5sZW5ndGg7XG4gICAgY29uc3QgcGVyY2VudGFnZXMgPSBjb250ZXh0LnZhbHVlcy5tYXAoKHZhbHVlKSA9PlxuICAgICAgY29udmVydFZhbHVlVG9QZXJjZW50YWdlKHZhbHVlLCBjb250ZXh0Lm1pbiwgY29udGV4dC5tYXgpXG4gICAgKTtcbiAgICBjb25zdCBvZmZzZXRTdGFydCA9IHZhbHVlc0NvdW50ID4gMSA/IE1hdGgubWluKC4uLnBlcmNlbnRhZ2VzKSA6IDA7XG4gICAgY29uc3Qgb2Zmc2V0RW5kID0gMTAwIC0gTWF0aC5tYXgoLi4ucGVyY2VudGFnZXMpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmltaXRpdmUuc3BhblxuICAgICAgICBkYXRhLW9yaWVudGF0aW9uPXtjb250ZXh0Lm9yaWVudGF0aW9ufVxuICAgICAgICBkYXRhLWRpc2FibGVkPXtjb250ZXh0LmRpc2FibGVkID8gJycgOiB1bmRlZmluZWR9XG4gICAgICAgIHsuLi5yYW5nZVByb3BzfVxuICAgICAgICByZWY9e2NvbXBvc2VkUmVmc31cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAuLi5wcm9wcy5zdHlsZSxcbiAgICAgICAgICBbb3JpZW50YXRpb24uc3RhcnRFZGdlXTogb2Zmc2V0U3RhcnQgKyAnJScsXG4gICAgICAgICAgW29yaWVudGF0aW9uLmVuZEVkZ2VdOiBvZmZzZXRFbmQgKyAnJScsXG4gICAgICAgIH19XG4gICAgICAvPlxuICAgICk7XG4gIH1cbik7XG5cblNsaWRlclJhbmdlLmRpc3BsYXlOYW1lID0gUkFOR0VfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2xpZGVyVGh1bWJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgVEhVTUJfTkFNRSA9ICdTbGlkZXJUaHVtYic7XG5cbnR5cGUgU2xpZGVyVGh1bWJFbGVtZW50ID0gU2xpZGVyVGh1bWJJbXBsRWxlbWVudDtcbmludGVyZmFjZSBTbGlkZXJUaHVtYlByb3BzIGV4dGVuZHMgT21pdDxTbGlkZXJUaHVtYkltcGxQcm9wcywgJ2luZGV4Jz4ge31cblxuY29uc3QgU2xpZGVyVGh1bWIgPSBSZWFjdC5mb3J3YXJkUmVmPFNsaWRlclRodW1iRWxlbWVudCwgU2xpZGVyVGh1bWJQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8U2xpZGVyVGh1bWJQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IGdldEl0ZW1zID0gdXNlQ29sbGVjdGlvbihwcm9wcy5fX3Njb3BlU2xpZGVyKTtcbiAgICBjb25zdCBbdGh1bWIsIHNldFRodW1iXSA9IFJlYWN0LnVzZVN0YXRlPFNsaWRlclRodW1iSW1wbEVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCAobm9kZSkgPT4gc2V0VGh1bWIobm9kZSkpO1xuICAgIGNvbnN0IGluZGV4ID0gUmVhY3QudXNlTWVtbyhcbiAgICAgICgpID0+ICh0aHVtYiA/IGdldEl0ZW1zKCkuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLnJlZi5jdXJyZW50ID09PSB0aHVtYikgOiAtMSksXG4gICAgICBbZ2V0SXRlbXMsIHRodW1iXVxuICAgICk7XG4gICAgcmV0dXJuIDxTbGlkZXJUaHVtYkltcGwgey4uLnByb3BzfSByZWY9e2NvbXBvc2VkUmVmc30gaW5kZXg9e2luZGV4fSAvPjtcbiAgfVxuKTtcblxudHlwZSBTbGlkZXJUaHVtYkltcGxFbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuc3Bhbj47XG5pbnRlcmZhY2UgU2xpZGVyVGh1bWJJbXBsUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVTcGFuUHJvcHMge1xuICBpbmRleDogbnVtYmVyO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5jb25zdCBTbGlkZXJUaHVtYkltcGwgPSBSZWFjdC5mb3J3YXJkUmVmPFNsaWRlclRodW1iSW1wbEVsZW1lbnQsIFNsaWRlclRodW1iSW1wbFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTbGlkZXJUaHVtYkltcGxQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVNsaWRlciwgaW5kZXgsIG5hbWUsIC4uLnRodW1iUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTbGlkZXJDb250ZXh0KFRIVU1CX05BTUUsIF9fc2NvcGVTbGlkZXIpO1xuICAgIGNvbnN0IG9yaWVudGF0aW9uID0gdXNlU2xpZGVyT3JpZW50YXRpb25Db250ZXh0KFRIVU1CX05BTUUsIF9fc2NvcGVTbGlkZXIpO1xuICAgIGNvbnN0IFt0aHVtYiwgc2V0VGh1bWJdID0gUmVhY3QudXNlU3RhdGU8SFRNTFNwYW5FbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgKG5vZGUpID0+IHNldFRodW1iKG5vZGUpKTtcbiAgICAvLyBXZSBzZXQgdGhpcyB0byB0cnVlIGJ5IGRlZmF1bHQgc28gdGhhdCBldmVudHMgYnViYmxlIHRvIGZvcm1zIHdpdGhvdXQgSlMgKFNTUilcbiAgICBjb25zdCBpc0Zvcm1Db250cm9sID0gdGh1bWIgPyBjb250ZXh0LmZvcm0gfHwgISF0aHVtYi5jbG9zZXN0KCdmb3JtJykgOiB0cnVlO1xuICAgIGNvbnN0IHNpemUgPSB1c2VTaXplKHRodW1iKTtcbiAgICAvLyBXZSBjYXN0IGJlY2F1c2UgaW5kZXggY291bGQgYmUgYC0xYCB3aGljaCB3b3VsZCByZXR1cm4gdW5kZWZpbmVkXG4gICAgY29uc3QgdmFsdWUgPSBjb250ZXh0LnZhbHVlc1tpbmRleF0gYXMgbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHBlcmNlbnQgPVxuICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCA/IDAgOiBjb252ZXJ0VmFsdWVUb1BlcmNlbnRhZ2UodmFsdWUsIGNvbnRleHQubWluLCBjb250ZXh0Lm1heCk7XG4gICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbChpbmRleCwgY29udGV4dC52YWx1ZXMubGVuZ3RoKTtcbiAgICBjb25zdCBvcmllbnRhdGlvblNpemUgPSBzaXplPy5bb3JpZW50YXRpb24uc2l6ZV07XG4gICAgY29uc3QgdGh1bWJJbkJvdW5kc09mZnNldCA9IG9yaWVudGF0aW9uU2l6ZVxuICAgICAgPyBnZXRUaHVtYkluQm91bmRzT2Zmc2V0KG9yaWVudGF0aW9uU2l6ZSwgcGVyY2VudCwgb3JpZW50YXRpb24uZGlyZWN0aW9uKVxuICAgICAgOiAwO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aHVtYikge1xuICAgICAgICBjb250ZXh0LnRodW1icy5hZGQodGh1bWIpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIGNvbnRleHQudGh1bWJzLmRlbGV0ZSh0aHVtYik7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSwgW3RodW1iLCBjb250ZXh0LnRodW1ic10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgdHJhbnNmb3JtOiAndmFyKC0tcmFkaXgtc2xpZGVyLXRodW1iLXRyYW5zZm9ybSknLFxuICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgIFtvcmllbnRhdGlvbi5zdGFydEVkZ2VdOiBgY2FsYygke3BlcmNlbnR9JSArICR7dGh1bWJJbkJvdW5kc09mZnNldH1weClgLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8Q29sbGVjdGlvbi5JdGVtU2xvdCBzY29wZT17cHJvcHMuX19zY29wZVNsaWRlcn0+XG4gICAgICAgICAgPFByaW1pdGl2ZS5zcGFuXG4gICAgICAgICAgICByb2xlPVwic2xpZGVyXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3Byb3BzWydhcmlhLWxhYmVsJ10gfHwgbGFiZWx9XG4gICAgICAgICAgICBhcmlhLXZhbHVlbWluPXtjb250ZXh0Lm1pbn1cbiAgICAgICAgICAgIGFyaWEtdmFsdWVub3c9e3ZhbHVlfVxuICAgICAgICAgICAgYXJpYS12YWx1ZW1heD17Y29udGV4dC5tYXh9XG4gICAgICAgICAgICBhcmlhLW9yaWVudGF0aW9uPXtjb250ZXh0Lm9yaWVudGF0aW9ufVxuICAgICAgICAgICAgZGF0YS1vcmllbnRhdGlvbj17Y29udGV4dC5vcmllbnRhdGlvbn1cbiAgICAgICAgICAgIGRhdGEtZGlzYWJsZWQ9e2NvbnRleHQuZGlzYWJsZWQgPyAnJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIHRhYkluZGV4PXtjb250ZXh0LmRpc2FibGVkID8gdW5kZWZpbmVkIDogMH1cbiAgICAgICAgICAgIHsuLi50aHVtYlByb3BzfVxuICAgICAgICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFRoZXJlIHdpbGwgYmUgbm8gdmFsdWUgb24gaW5pdGlhbCByZW5kZXIgd2hpbGUgd2Ugd29yayBvdXQgdGhlIGluZGV4IHNvIHdlIGhpZGUgdGh1bWJzXG4gICAgICAgICAgICAgKiB3aXRob3V0IGEgdmFsdWUsIG90aGVyd2lzZSBTU1Igd2lsbCByZW5kZXIgdGhlbSBpbiB0aGUgd3JvbmcgcG9zaXRpb24gYmVmb3JlIHRoZXlcbiAgICAgICAgICAgICAqIHNuYXAgaW50byB0aGUgY29ycmVjdCBwb3NpdGlvbiBkdXJpbmcgaHlkcmF0aW9uIHdoaWNoIHdvdWxkIGJlIHZpc3VhbGx5IGphcnJpbmcgZm9yXG4gICAgICAgICAgICAgKiBzbG93ZXIgY29ubmVjdGlvbnMuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHN0eWxlPXt2YWx1ZSA9PT0gdW5kZWZpbmVkID8geyBkaXNwbGF5OiAnbm9uZScgfSA6IHByb3BzLnN0eWxlfVxuICAgICAgICAgICAgb25Gb2N1cz17Y29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Gb2N1cywgKCkgPT4ge1xuICAgICAgICAgICAgICBjb250ZXh0LnZhbHVlSW5kZXhUb0NoYW5nZVJlZi5jdXJyZW50ID0gaW5kZXg7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0NvbGxlY3Rpb24uSXRlbVNsb3Q+XG5cbiAgICAgICAge2lzRm9ybUNvbnRyb2wgJiYgKFxuICAgICAgICAgIDxTbGlkZXJCdWJibGVJbnB1dFxuICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgIG5hbWU9e1xuICAgICAgICAgICAgICBuYW1lID8/XG4gICAgICAgICAgICAgIChjb250ZXh0Lm5hbWUgPyBjb250ZXh0Lm5hbWUgKyAoY29udGV4dC52YWx1ZXMubGVuZ3RoID4gMSA/ICdbXScgOiAnJykgOiB1bmRlZmluZWQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3JtPXtjb250ZXh0LmZvcm19XG4gICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG4pO1xuXG5TbGlkZXJUaHVtYi5kaXNwbGF5TmFtZSA9IFRIVU1CX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNsaWRlckJ1YmJsZUlucHV0XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IEJVQkJMRV9JTlBVVF9OQU1FID0gJ1JhZGlvQnViYmxlSW5wdXQnO1xuXG50eXBlIElucHV0UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5pbnB1dD47XG5pbnRlcmZhY2UgU2xpZGVyQnViYmxlSW5wdXRQcm9wcyBleHRlbmRzIElucHV0UHJvcHMge31cblxuY29uc3QgU2xpZGVyQnViYmxlSW5wdXQgPSBSZWFjdC5mb3J3YXJkUmVmPEhUTUxJbnB1dEVsZW1lbnQsIFNsaWRlckJ1YmJsZUlucHV0UHJvcHM+KFxuICAoeyBfX3Njb3BlU2xpZGVyLCB2YWx1ZSwgLi4ucHJvcHMgfTogU2NvcGVkUHJvcHM8U2xpZGVyQnViYmxlSW5wdXRQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMocmVmLCBmb3J3YXJkZWRSZWYpO1xuICAgIGNvbnN0IHByZXZWYWx1ZSA9IHVzZVByZXZpb3VzKHZhbHVlKTtcblxuICAgIC8vIEJ1YmJsZSB2YWx1ZSBjaGFuZ2UgdG8gcGFyZW50cyAoZS5nIGZvcm0gY2hhbmdlIGV2ZW50KVxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBpbnB1dCA9IHJlZi5jdXJyZW50O1xuICAgICAgaWYgKCFpbnB1dCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBpbnB1dFByb3RvID0gd2luZG93LkhUTUxJbnB1dEVsZW1lbnQucHJvdG90eXBlO1xuICAgICAgY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5wdXRQcm90bywgJ3ZhbHVlJykgYXMgUHJvcGVydHlEZXNjcmlwdG9yO1xuICAgICAgY29uc3Qgc2V0VmFsdWUgPSBkZXNjcmlwdG9yLnNldDtcbiAgICAgIGlmIChwcmV2VmFsdWUgIT09IHZhbHVlICYmIHNldFZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSB9KTtcbiAgICAgICAgc2V0VmFsdWUuY2FsbChpbnB1dCwgdmFsdWUpO1xuICAgICAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICAgIH1cbiAgICB9LCBbcHJldlZhbHVlLCB2YWx1ZV0pO1xuXG4gICAgLyoqXG4gICAgICogV2UgcHVycG9zZWZ1bGx5IGRvIG5vdCB1c2UgYHR5cGU9XCJoaWRkZW5cImAgaGVyZSBvdGhlcndpc2UgZm9ybXMgdGhhdFxuICAgICAqIHdyYXAgaXQgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgaXRzIHZhbHVlIHZpYSB0aGUgRm9ybURhdGEgQVBJLlxuICAgICAqXG4gICAgICogV2UgcHVycG9zZWZ1bGx5IGRvIG5vdCBhZGQgdGhlIGB2YWx1ZWAgYXR0cmlidXRlIGhlcmUgdG8gYWxsb3cgdGhlIHZhbHVlXG4gICAgICogdG8gYmUgc2V0IHByb2dyYW1tYXRpY2FsbHkgYW5kIGJ1YmJsZSB0byBhbnkgcGFyZW50IGZvcm0gYG9uQ2hhbmdlYCBldmVudC5cbiAgICAgKiBBZGRpbmcgdGhlIGB2YWx1ZWAgd2lsbCBjYXVzZSBSZWFjdCB0byBjb25zaWRlciB0aGUgcHJvZ3JhbW1hdGljXG4gICAgICogZGlzcGF0Y2ggYSBkdXBsaWNhdGUgYW5kIGl0IHdpbGwgZ2V0IHN3YWxsb3dlZC5cbiAgICAgKi9cbiAgICByZXR1cm4gKFxuICAgICAgPFByaW1pdGl2ZS5pbnB1dFxuICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiAnbm9uZScgfX1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICByZWY9e2NvbXBvc2VkUmVmc31cbiAgICAgICAgZGVmYXVsdFZhbHVlPXt2YWx1ZX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuKTtcblxuU2xpZGVyQnViYmxlSW5wdXQuZGlzcGxheU5hbWUgPSBCVUJCTEVfSU5QVVRfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5mdW5jdGlvbiBnZXROZXh0U29ydGVkVmFsdWVzKHByZXZWYWx1ZXM6IG51bWJlcltdID0gW10sIG5leHRWYWx1ZTogbnVtYmVyLCBhdEluZGV4OiBudW1iZXIpIHtcbiAgY29uc3QgbmV4dFZhbHVlcyA9IFsuLi5wcmV2VmFsdWVzXTtcbiAgbmV4dFZhbHVlc1thdEluZGV4XSA9IG5leHRWYWx1ZTtcbiAgcmV0dXJuIG5leHRWYWx1ZXMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VmFsdWVUb1BlcmNlbnRhZ2UodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XG4gIGNvbnN0IG1heFN0ZXBzID0gbWF4IC0gbWluO1xuICBjb25zdCBwZXJjZW50UGVyU3RlcCA9IDEwMCAvIG1heFN0ZXBzO1xuICBjb25zdCBwZXJjZW50YWdlID0gcGVyY2VudFBlclN0ZXAgKiAodmFsdWUgLSBtaW4pO1xuICByZXR1cm4gY2xhbXAocGVyY2VudGFnZSwgWzAsIDEwMF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBsYWJlbCBmb3IgZWFjaCB0aHVtYiB3aGVuIHRoZXJlIGFyZSB0d28gb3IgbW9yZSB0aHVtYnNcbiAqL1xuZnVuY3Rpb24gZ2V0TGFiZWwoaW5kZXg6IG51bWJlciwgdG90YWxWYWx1ZXM6IG51bWJlcikge1xuICBpZiAodG90YWxWYWx1ZXMgPiAyKSB7XG4gICAgcmV0dXJuIGBWYWx1ZSAke2luZGV4ICsgMX0gb2YgJHt0b3RhbFZhbHVlc31gO1xuICB9IGVsc2UgaWYgKHRvdGFsVmFsdWVzID09PSAyKSB7XG4gICAgcmV0dXJuIFsnTWluaW11bScsICdNYXhpbXVtJ11baW5kZXhdO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBHaXZlbiBhIGB2YWx1ZXNgIGFycmF5IGFuZCBhIGBuZXh0VmFsdWVgLCBkZXRlcm1pbmUgd2hpY2ggdmFsdWUgaW5cbiAqIHRoZSBhcnJheSBpcyBjbG9zZXN0IHRvIGBuZXh0VmFsdWVgIGFuZCByZXR1cm4gaXRzIGluZGV4LlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyByZXR1cm5zIDFcbiAqIGdldENsb3Nlc3RWYWx1ZUluZGV4KFsxMCwgMzBdLCAyNSk7XG4gKi9cbmZ1bmN0aW9uIGdldENsb3Nlc3RWYWx1ZUluZGV4KHZhbHVlczogbnVtYmVyW10sIG5leHRWYWx1ZTogbnVtYmVyKSB7XG4gIGlmICh2YWx1ZXMubGVuZ3RoID09PSAxKSByZXR1cm4gMDtcbiAgY29uc3QgZGlzdGFuY2VzID0gdmFsdWVzLm1hcCgodmFsdWUpID0+IE1hdGguYWJzKHZhbHVlIC0gbmV4dFZhbHVlKSk7XG4gIGNvbnN0IGNsb3Nlc3REaXN0YW5jZSA9IE1hdGgubWluKC4uLmRpc3RhbmNlcyk7XG4gIHJldHVybiBkaXN0YW5jZXMuaW5kZXhPZihjbG9zZXN0RGlzdGFuY2UpO1xufVxuXG4vKipcbiAqIE9mZnNldHMgdGhlIHRodW1iIGNlbnRyZSBwb2ludCB3aGlsZSBzbGlkaW5nIHRvIGVuc3VyZSBpdCByZW1haW5zXG4gKiB3aXRoaW4gdGhlIGJvdW5kcyBvZiB0aGUgc2xpZGVyIHdoZW4gcmVhY2hpbmcgdGhlIGVkZ2VzXG4gKi9cbmZ1bmN0aW9uIGdldFRodW1iSW5Cb3VuZHNPZmZzZXQod2lkdGg6IG51bWJlciwgbGVmdDogbnVtYmVyLCBkaXJlY3Rpb246IG51bWJlcikge1xuICBjb25zdCBoYWxmV2lkdGggPSB3aWR0aCAvIDI7XG4gIGNvbnN0IGhhbGZQZXJjZW50ID0gNTA7XG4gIGNvbnN0IG9mZnNldCA9IGxpbmVhclNjYWxlKFswLCBoYWxmUGVyY2VudF0sIFswLCBoYWxmV2lkdGhdKTtcbiAgcmV0dXJuIChoYWxmV2lkdGggLSBvZmZzZXQobGVmdCkgKiBkaXJlY3Rpb24pICogZGlyZWN0aW9uO1xufVxuXG4vKipcbiAqIEdldHMgYW4gYXJyYXkgb2Ygc3RlcHMgYmV0d2VlbiBlYWNoIHZhbHVlLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyByZXR1cm5zIFsxLCA5XVxuICogZ2V0U3RlcHNCZXR3ZWVuVmFsdWVzKFsxMCwgMTEsIDIwXSk7XG4gKi9cbmZ1bmN0aW9uIGdldFN0ZXBzQmV0d2VlblZhbHVlcyh2YWx1ZXM6IG51bWJlcltdKSB7XG4gIHJldHVybiB2YWx1ZXMuc2xpY2UoMCwgLTEpLm1hcCgodmFsdWUsIGluZGV4KSA9PiB2YWx1ZXNbaW5kZXggKyAxXSEgLSB2YWx1ZSk7XG59XG5cbi8qKlxuICogVmVyaWZpZXMgdGhlIG1pbmltdW0gc3RlcHMgYmV0d2VlbiBhbGwgdmFsdWVzIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbFxuICogdG8gdGhlIGV4cGVjdGVkIG1pbmltdW0gc3RlcHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIHJldHVybnMgZmFsc2VcbiAqIGhhc01pblN0ZXBzQmV0d2VlblZhbHVlcyhbMSwyLDNdLCAyKTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gcmV0dXJucyB0cnVlXG4gKiBoYXNNaW5TdGVwc0JldHdlZW5WYWx1ZXMoWzEsMiwzXSwgMSk7XG4gKi9cbmZ1bmN0aW9uIGhhc01pblN0ZXBzQmV0d2VlblZhbHVlcyh2YWx1ZXM6IG51bWJlcltdLCBtaW5TdGVwc0JldHdlZW5WYWx1ZXM6IG51bWJlcikge1xuICBpZiAobWluU3RlcHNCZXR3ZWVuVmFsdWVzID4gMCkge1xuICAgIGNvbnN0IHN0ZXBzQmV0d2VlblZhbHVlcyA9IGdldFN0ZXBzQmV0d2VlblZhbHVlcyh2YWx1ZXMpO1xuICAgIGNvbnN0IGFjdHVhbE1pblN0ZXBzQmV0d2VlblZhbHVlcyA9IE1hdGgubWluKC4uLnN0ZXBzQmV0d2VlblZhbHVlcyk7XG4gICAgcmV0dXJuIGFjdHVhbE1pblN0ZXBzQmV0d2VlblZhbHVlcyA+PSBtaW5TdGVwc0JldHdlZW5WYWx1ZXM7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90bWN3LXVwLWZvci1hZG9wdGlvbi9zaW1wbGUtbGluZWFyLXNjYWxlL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG5mdW5jdGlvbiBsaW5lYXJTY2FsZShpbnB1dDogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSwgb3V0cHV0OiByZWFkb25seSBbbnVtYmVyLCBudW1iZXJdKSB7XG4gIHJldHVybiAodmFsdWU6IG51bWJlcikgPT4ge1xuICAgIGlmIChpbnB1dFswXSA9PT0gaW5wdXRbMV0gfHwgb3V0cHV0WzBdID09PSBvdXRwdXRbMV0pIHJldHVybiBvdXRwdXRbMF07XG4gICAgY29uc3QgcmF0aW8gPSAob3V0cHV0WzFdIC0gb3V0cHV0WzBdKSAvIChpbnB1dFsxXSAtIGlucHV0WzBdKTtcbiAgICByZXR1cm4gb3V0cHV0WzBdICsgcmF0aW8gKiAodmFsdWUgLSBpbnB1dFswXSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldERlY2ltYWxDb3VudCh2YWx1ZTogbnVtYmVyKSB7XG4gIHJldHVybiAoU3RyaW5nKHZhbHVlKS5zcGxpdCgnLicpWzFdIHx8ICcnKS5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIHJvdW5kVmFsdWUodmFsdWU6IG51bWJlciwgZGVjaW1hbENvdW50OiBudW1iZXIpIHtcbiAgY29uc3Qgcm91bmRlciA9IE1hdGgucG93KDEwLCBkZWNpbWFsQ291bnQpO1xuICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSAqIHJvdW5kZXIpIC8gcm91bmRlcjtcbn1cblxuY29uc3QgUm9vdCA9IFNsaWRlcjtcbmNvbnN0IFRyYWNrID0gU2xpZGVyVHJhY2s7XG5jb25zdCBSYW5nZSA9IFNsaWRlclJhbmdlO1xuY29uc3QgVGh1bWIgPSBTbGlkZXJUaHVtYjtcblxuZXhwb3J0IHtcbiAgY3JlYXRlU2xpZGVyU2NvcGUsXG4gIC8vXG4gIFNsaWRlcixcbiAgU2xpZGVyVHJhY2ssXG4gIFNsaWRlclJhbmdlLFxuICBTbGlkZXJUaHVtYixcbiAgLy9cbiAgUm9vdCxcbiAgVHJhY2ssXG4gIFJhbmdlLFxuICBUaHVtYixcbn07XG5leHBvcnQgdHlwZSB7IFNsaWRlclByb3BzLCBTbGlkZXJUcmFja1Byb3BzLCBTbGlkZXJSYW5nZVByb3BzLCBTbGlkZXJUaHVtYlByb3BzIH07XG4iXSwibmFtZXMiOlsidmFsdWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-slider/dist/index.mjs\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs": /*!**********************************************************!*\ !*** ./node_modules/@radix-ui/react-slot/dist/index.mjs ***! @@ -361,16 +271,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs": -/*!******************************************************************!*\ - !*** ./node_modules/@radix-ui/react-use-previous/dist/index.mjs ***! - \******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ usePrevious: () => (/* binding */ usePrevious)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n// packages/react/use-previous/src/use-previous.tsx\n\nfunction usePrevious(value) {\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef({ value, previous: value });\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXVzZS1wcmV2aW91cy9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQytCO0FBQy9CO0FBQ0EsY0FBYyx5Q0FBWSxHQUFHLHdCQUF3QjtBQUNyRCxTQUFTLDBDQUFhO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFHRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAcmFkaXgtdWlcXHJlYWN0LXVzZS1wcmV2aW91c1xcZGlzdFxcaW5kZXgubWpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHBhY2thZ2VzL3JlYWN0L3VzZS1wcmV2aW91cy9zcmMvdXNlLXByZXZpb3VzLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiB1c2VQcmV2aW91cyh2YWx1ZSkge1xuICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYoeyB2YWx1ZSwgcHJldmlvdXM6IHZhbHVlIH0pO1xuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHJlZi5jdXJyZW50LnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgcmVmLmN1cnJlbnQucHJldmlvdXMgPSByZWYuY3VycmVudC52YWx1ZTtcbiAgICAgIHJlZi5jdXJyZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiByZWYuY3VycmVudC5wcmV2aW91cztcbiAgfSwgW3ZhbHVlXSk7XG59XG5leHBvcnQge1xuICB1c2VQcmV2aW91c1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/@radix-ui/react-use-size/dist/index.mjs": /*!**************************************************************!*\ !*** ./node_modules/@radix-ui/react-use-size/dist/index.mjs ***! @@ -379,16 +279,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSize: () => (/* binding */ useSize)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-use-layout-effect */ \"(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\");\n// packages/react/use-size/src/use-size.tsx\n\n\nfunction useSize(element) {\n const [size, setSize] = react__WEBPACK_IMPORTED_MODULE_0__.useState(void 0);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXVzZS1zaXplL2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQytCO0FBQ3FDO0FBQ3BFO0FBQ0EsMEJBQTBCLDJDQUFjO0FBQ3hDLEVBQUUsa0ZBQWU7QUFDakI7QUFDQSxnQkFBZ0IsMERBQTBEO0FBQzFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsZUFBZTtBQUNqQyxPQUFPO0FBQ1Asd0NBQXdDLG1CQUFtQjtBQUMzRDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFHRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAcmFkaXgtdWlcXHJlYWN0LXVzZS1zaXplXFxkaXN0XFxpbmRleC5tanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvcmVhY3QvdXNlLXNpemUvc3JjL3VzZS1zaXplLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1sYXlvdXQtZWZmZWN0XCI7XG5mdW5jdGlvbiB1c2VTaXplKGVsZW1lbnQpIHtcbiAgY29uc3QgW3NpemUsIHNldFNpemVdID0gUmVhY3QudXNlU3RhdGUodm9pZCAwKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgc2V0U2l6ZSh7IHdpZHRoOiBlbGVtZW50Lm9mZnNldFdpZHRoLCBoZWlnaHQ6IGVsZW1lbnQub2Zmc2V0SGVpZ2h0IH0pO1xuICAgICAgY29uc3QgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGVudHJpZXMpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZW50cmllcy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdO1xuICAgICAgICBsZXQgd2lkdGg7XG4gICAgICAgIGxldCBoZWlnaHQ7XG4gICAgICAgIGlmIChcImJvcmRlckJveFNpemVcIiBpbiBlbnRyeSkge1xuICAgICAgICAgIGNvbnN0IGJvcmRlclNpemVFbnRyeSA9IGVudHJ5W1wiYm9yZGVyQm94U2l6ZVwiXTtcbiAgICAgICAgICBjb25zdCBib3JkZXJTaXplID0gQXJyYXkuaXNBcnJheShib3JkZXJTaXplRW50cnkpID8gYm9yZGVyU2l6ZUVudHJ5WzBdIDogYm9yZGVyU2l6ZUVudHJ5O1xuICAgICAgICAgIHdpZHRoID0gYm9yZGVyU2l6ZVtcImlubGluZVNpemVcIl07XG4gICAgICAgICAgaGVpZ2h0ID0gYm9yZGVyU2l6ZVtcImJsb2NrU2l6ZVwiXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3aWR0aCA9IGVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgICAgaGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgc2V0U2l6ZSh7IHdpZHRoLCBoZWlnaHQgfSk7XG4gICAgICB9KTtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZWxlbWVudCwgeyBib3g6IFwiYm9yZGVyLWJveFwiIH0pO1xuICAgICAgcmV0dXJuICgpID0+IHJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShlbGVtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0U2l6ZSh2b2lkIDApO1xuICAgIH1cbiAgfSwgW2VsZW1lbnRdKTtcbiAgcmV0dXJuIHNpemU7XG59XG5leHBvcnQge1xuICB1c2VTaXplXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-use-size/dist/index.mjs\n"); -/***/ }), - -/***/ "(ssr)/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs": -/*!*********************************************************************!*\ - !*** ./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs ***! - \*********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ VISUALLY_HIDDEN_STYLES: () => (/* binding */ VISUALLY_HIDDEN_STYLES),\n/* harmony export */ VisuallyHidden: () => (/* binding */ VisuallyHidden)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n// src/visually-hidden.tsx\n\n\n\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(\n _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_2__.Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXZpc3VhbGx5LWhpZGRlbi9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUMrQjtBQUN1QjtBQUNkO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLHFCQUFxQiw2Q0FBZ0I7QUFDckM7QUFDQSwyQkFBMkIsc0RBQUc7QUFDOUIsTUFBTSxnRUFBUztBQUNmO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAcmFkaXgtdWlcXHJlYWN0LXZpc3VhbGx5LWhpZGRlblxcZGlzdFxcaW5kZXgubWpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy92aXN1YWxseS1oaWRkZW4udHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbnZhciBWSVNVQUxMWV9ISURERU5fU1RZTEVTID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9zY3NzL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3NcbiAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgYm9yZGVyOiAwLFxuICB3aWR0aDogMSxcbiAgaGVpZ2h0OiAxLFxuICBwYWRkaW5nOiAwLFxuICBtYXJnaW46IC0xLFxuICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgY2xpcDogXCJyZWN0KDAsIDAsIDAsIDApXCIsXG4gIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG4gIHdvcmRXcmFwOiBcIm5vcm1hbFwiXG59KTtcbnZhciBOQU1FID0gXCJWaXN1YWxseUhpZGRlblwiO1xudmFyIFZpc3VhbGx5SGlkZGVuID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFByaW1pdGl2ZS5zcGFuLFxuICAgICAge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgIHN0eWxlOiB7IC4uLlZJU1VBTExZX0hJRERFTl9TVFlMRVMsIC4uLnByb3BzLnN0eWxlIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xuVmlzdWFsbHlIaWRkZW4uZGlzcGxheU5hbWUgPSBOQU1FO1xudmFyIFJvb3QgPSBWaXN1YWxseUhpZGRlbjtcbmV4cG9ydCB7XG4gIFJvb3QsXG4gIFZJU1VBTExZX0hJRERFTl9TVFlMRVMsXG4gIFZpc3VhbGx5SGlkZGVuXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs\n"); - /***/ }) }; diff --git a/.next/server/vendor-chunks/@tiptap.js b/.next/server/vendor-chunks/@tiptap.js deleted file mode 100644 index 0ba019a..0000000 --- a/.next/server/vendor-chunks/@tiptap.js +++ /dev/null @@ -1,315 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/@tiptap"; -exports.ids = ["vendor-chunks/@tiptap"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/@tiptap/core/dist/index.js": -/*!*************************************************!*\ - !*** ./node_modules/@tiptap/core/dist/index.js ***! - \*************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CommandManager: () => (/* binding */ CommandManager),\n/* harmony export */ Editor: () => (/* binding */ Editor),\n/* harmony export */ Extendable: () => (/* binding */ Extendable),\n/* harmony export */ Extension: () => (/* binding */ Extension),\n/* harmony export */ Fragment: () => (/* binding */ Fragment6),\n/* harmony export */ InputRule: () => (/* binding */ InputRule),\n/* harmony export */ MappablePosition: () => (/* binding */ MappablePosition),\n/* harmony export */ Mark: () => (/* binding */ Mark),\n/* harmony export */ MarkView: () => (/* binding */ MarkView),\n/* harmony export */ Node: () => (/* binding */ Node3),\n/* harmony export */ NodePos: () => (/* binding */ NodePos),\n/* harmony export */ NodeView: () => (/* binding */ NodeView),\n/* harmony export */ PasteRule: () => (/* binding */ PasteRule),\n/* harmony export */ ResizableNodeView: () => (/* binding */ ResizableNodeView),\n/* harmony export */ ResizableNodeview: () => (/* binding */ ResizableNodeview),\n/* harmony export */ Tracker: () => (/* binding */ Tracker),\n/* harmony export */ callOrReturn: () => (/* binding */ callOrReturn),\n/* harmony export */ canInsertNode: () => (/* binding */ canInsertNode),\n/* harmony export */ combineTransactionSteps: () => (/* binding */ combineTransactionSteps),\n/* harmony export */ commands: () => (/* binding */ commands_exports),\n/* harmony export */ createAtomBlockMarkdownSpec: () => (/* binding */ createAtomBlockMarkdownSpec),\n/* harmony export */ createBlockMarkdownSpec: () => (/* binding */ createBlockMarkdownSpec),\n/* harmony export */ createChainableState: () => (/* binding */ createChainableState),\n/* harmony export */ createDocument: () => (/* binding */ createDocument),\n/* harmony export */ createElement: () => (/* binding */ h),\n/* harmony export */ createInlineMarkdownSpec: () => (/* binding */ createInlineMarkdownSpec),\n/* harmony export */ createMappablePosition: () => (/* binding */ createMappablePosition),\n/* harmony export */ createNodeFromContent: () => (/* binding */ createNodeFromContent),\n/* harmony export */ createStyleTag: () => (/* binding */ createStyleTag),\n/* harmony export */ defaultBlockAt: () => (/* binding */ defaultBlockAt),\n/* harmony export */ deleteProps: () => (/* binding */ deleteProps),\n/* harmony export */ elementFromString: () => (/* binding */ elementFromString),\n/* harmony export */ escapeForRegEx: () => (/* binding */ escapeForRegEx),\n/* harmony export */ extensions: () => (/* binding */ extensions_exports),\n/* harmony export */ findChildren: () => (/* binding */ findChildren),\n/* harmony export */ findChildrenInRange: () => (/* binding */ findChildrenInRange),\n/* harmony export */ findDuplicates: () => (/* binding */ findDuplicates),\n/* harmony export */ findParentNode: () => (/* binding */ findParentNode),\n/* harmony export */ findParentNodeClosestToPos: () => (/* binding */ findParentNodeClosestToPos),\n/* harmony export */ flattenExtensions: () => (/* binding */ flattenExtensions),\n/* harmony export */ fromString: () => (/* binding */ fromString),\n/* harmony export */ generateHTML: () => (/* binding */ generateHTML),\n/* harmony export */ generateJSON: () => (/* binding */ generateJSON),\n/* harmony export */ generateText: () => (/* binding */ generateText),\n/* harmony export */ getAttributes: () => (/* binding */ getAttributes),\n/* harmony export */ getAttributesFromExtensions: () => (/* binding */ getAttributesFromExtensions),\n/* harmony export */ getChangedRanges: () => (/* binding */ getChangedRanges),\n/* harmony export */ getDebugJSON: () => (/* binding */ getDebugJSON),\n/* harmony export */ getExtensionField: () => (/* binding */ getExtensionField),\n/* harmony export */ getHTMLFromFragment: () => (/* binding */ getHTMLFromFragment),\n/* harmony export */ getMarkAttributes: () => (/* binding */ getMarkAttributes),\n/* harmony export */ getMarkRange: () => (/* binding */ getMarkRange),\n/* harmony export */ getMarkType: () => (/* binding */ getMarkType),\n/* harmony export */ getMarksBetween: () => (/* binding */ getMarksBetween),\n/* harmony export */ getNodeAtPosition: () => (/* binding */ getNodeAtPosition),\n/* harmony export */ getNodeAttributes: () => (/* binding */ getNodeAttributes),\n/* harmony export */ getNodeType: () => (/* binding */ getNodeType),\n/* harmony export */ getRenderedAttributes: () => (/* binding */ getRenderedAttributes),\n/* harmony export */ getSchema: () => (/* binding */ getSchema),\n/* harmony export */ getSchemaByResolvedExtensions: () => (/* binding */ getSchemaByResolvedExtensions),\n/* harmony export */ getSchemaTypeByName: () => (/* binding */ getSchemaTypeByName),\n/* harmony export */ getSchemaTypeNameByName: () => (/* binding */ getSchemaTypeNameByName),\n/* harmony export */ getSplittedAttributes: () => (/* binding */ getSplittedAttributes),\n/* harmony export */ getText: () => (/* binding */ getText),\n/* harmony export */ getTextBetween: () => (/* binding */ getTextBetween),\n/* harmony export */ getTextContentFromNodes: () => (/* binding */ getTextContentFromNodes),\n/* harmony export */ getTextSerializersFromSchema: () => (/* binding */ getTextSerializersFromSchema),\n/* harmony export */ getUpdatedPosition: () => (/* binding */ getUpdatedPosition),\n/* harmony export */ h: () => (/* binding */ h),\n/* harmony export */ injectExtensionAttributesToParseRule: () => (/* binding */ injectExtensionAttributesToParseRule),\n/* harmony export */ inputRulesPlugin: () => (/* binding */ inputRulesPlugin),\n/* harmony export */ isActive: () => (/* binding */ isActive),\n/* harmony export */ isAndroid: () => (/* binding */ isAndroid),\n/* harmony export */ isAtEndOfNode: () => (/* binding */ isAtEndOfNode),\n/* harmony export */ isAtStartOfNode: () => (/* binding */ isAtStartOfNode),\n/* harmony export */ isEmptyObject: () => (/* binding */ isEmptyObject),\n/* harmony export */ isExtensionRulesEnabled: () => (/* binding */ isExtensionRulesEnabled),\n/* harmony export */ isFirefox: () => (/* binding */ isFirefox),\n/* harmony export */ isFunction: () => (/* binding */ isFunction),\n/* harmony export */ isList: () => (/* binding */ isList),\n/* harmony export */ isMacOS: () => (/* binding */ isMacOS),\n/* harmony export */ isMarkActive: () => (/* binding */ isMarkActive),\n/* harmony export */ isNodeActive: () => (/* binding */ isNodeActive),\n/* harmony export */ isNodeEmpty: () => (/* binding */ isNodeEmpty),\n/* harmony export */ isNodeSelection: () => (/* binding */ isNodeSelection),\n/* harmony export */ isNumber: () => (/* binding */ isNumber),\n/* harmony export */ isPlainObject: () => (/* binding */ isPlainObject),\n/* harmony export */ isRegExp: () => (/* binding */ isRegExp),\n/* harmony export */ isSafari: () => (/* binding */ isSafari),\n/* harmony export */ isString: () => (/* binding */ isString),\n/* harmony export */ isTextSelection: () => (/* binding */ isTextSelection),\n/* harmony export */ isiOS: () => (/* binding */ isiOS),\n/* harmony export */ markInputRule: () => (/* binding */ markInputRule),\n/* harmony export */ markPasteRule: () => (/* binding */ markPasteRule),\n/* harmony export */ markdown: () => (/* binding */ markdown_exports),\n/* harmony export */ mergeAttributes: () => (/* binding */ mergeAttributes),\n/* harmony export */ mergeDeep: () => (/* binding */ mergeDeep),\n/* harmony export */ minMax: () => (/* binding */ minMax),\n/* harmony export */ nodeInputRule: () => (/* binding */ nodeInputRule),\n/* harmony export */ nodePasteRule: () => (/* binding */ nodePasteRule),\n/* harmony export */ objectIncludes: () => (/* binding */ objectIncludes),\n/* harmony export */ parseAttributes: () => (/* binding */ parseAttributes),\n/* harmony export */ parseIndentedBlocks: () => (/* binding */ parseIndentedBlocks),\n/* harmony export */ pasteRulesPlugin: () => (/* binding */ pasteRulesPlugin),\n/* harmony export */ posToDOMRect: () => (/* binding */ posToDOMRect),\n/* harmony export */ removeDuplicates: () => (/* binding */ removeDuplicates),\n/* harmony export */ renderNestedMarkdownContent: () => (/* binding */ renderNestedMarkdownContent),\n/* harmony export */ resolveExtensions: () => (/* binding */ resolveExtensions),\n/* harmony export */ resolveFocusPosition: () => (/* binding */ resolveFocusPosition),\n/* harmony export */ rewriteUnknownContent: () => (/* binding */ rewriteUnknownContent),\n/* harmony export */ selectionToInsertionEnd: () => (/* binding */ selectionToInsertionEnd),\n/* harmony export */ serializeAttributes: () => (/* binding */ serializeAttributes),\n/* harmony export */ sortExtensions: () => (/* binding */ sortExtensions),\n/* harmony export */ splitExtensions: () => (/* binding */ splitExtensions),\n/* harmony export */ textInputRule: () => (/* binding */ textInputRule),\n/* harmony export */ textPasteRule: () => (/* binding */ textPasteRule),\n/* harmony export */ textblockTypeInputRule: () => (/* binding */ textblockTypeInputRule),\n/* harmony export */ updateMarkViewAttributes: () => (/* binding */ updateMarkViewAttributes),\n/* harmony export */ wrappingInputRule: () => (/* binding */ wrappingInputRule)\n/* harmony export */ });\n/* harmony import */ var _tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/pm/transform */ \"(ssr)/./node_modules/@tiptap/pm/dist/transform/index.js\");\n/* harmony import */ var _tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tiptap/pm/commands */ \"(ssr)/./node_modules/@tiptap/pm/dist/commands/index.js\");\n/* harmony import */ var _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tiptap/pm/state */ \"(ssr)/./node_modules/@tiptap/pm/dist/state/index.js\");\n/* harmony import */ var _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tiptap/pm/model */ \"(ssr)/./node_modules/@tiptap/pm/dist/model/index.js\");\n/* harmony import */ var _tiptap_pm_schema_list__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tiptap/pm/schema-list */ \"(ssr)/./node_modules/@tiptap/pm/dist/schema-list/index.js\");\n/* harmony import */ var _tiptap_pm_view__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tiptap/pm/view */ \"(ssr)/./node_modules/@tiptap/pm/dist/view/index.js\");\n/* harmony import */ var _tiptap_pm_keymap__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @tiptap/pm/keymap */ \"(ssr)/./node_modules/@tiptap/pm/dist/keymap/index.js\");\nvar __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/helpers/createChainableState.ts\nfunction createChainableState(config) {\n const { state, transaction } = config;\n let { selection } = transaction;\n let { doc } = transaction;\n let { storedMarks } = transaction;\n return {\n ...state,\n apply: state.apply.bind(state),\n applyTransaction: state.applyTransaction.bind(state),\n plugins: state.plugins,\n schema: state.schema,\n reconfigure: state.reconfigure.bind(state),\n toJSON: state.toJSON.bind(state),\n get storedMarks() {\n return storedMarks;\n },\n get selection() {\n return selection;\n },\n get doc() {\n return doc;\n },\n get tr() {\n selection = transaction.selection;\n doc = transaction.doc;\n storedMarks = transaction.storedMarks;\n return transaction;\n }\n };\n}\n\n// src/CommandManager.ts\nvar CommandManager = class {\n constructor(props) {\n this.editor = props.editor;\n this.rawCommands = this.editor.extensionManager.commands;\n this.customState = props.state;\n }\n get hasCustomState() {\n return !!this.customState;\n }\n get state() {\n return this.customState || this.editor.state;\n }\n get commands() {\n const { rawCommands, editor, state } = this;\n const { view } = editor;\n const { tr } = state;\n const props = this.buildProps(tr);\n return Object.fromEntries(\n Object.entries(rawCommands).map(([name, command2]) => {\n const method = (...args) => {\n const callback = command2(...args)(props);\n if (!tr.getMeta(\"preventDispatch\") && !this.hasCustomState) {\n view.dispatch(tr);\n }\n return callback;\n };\n return [name, method];\n })\n );\n }\n get chain() {\n return () => this.createChain();\n }\n get can() {\n return () => this.createCan();\n }\n createChain(startTr, shouldDispatch = true) {\n const { rawCommands, editor, state } = this;\n const { view } = editor;\n const callbacks = [];\n const hasStartTransaction = !!startTr;\n const tr = startTr || state.tr;\n const run3 = () => {\n if (!hasStartTransaction && shouldDispatch && !tr.getMeta(\"preventDispatch\") && !this.hasCustomState) {\n view.dispatch(tr);\n }\n return callbacks.every((callback) => callback === true);\n };\n const chain = {\n ...Object.fromEntries(\n Object.entries(rawCommands).map(([name, command2]) => {\n const chainedCommand = (...args) => {\n const props = this.buildProps(tr, shouldDispatch);\n const callback = command2(...args)(props);\n callbacks.push(callback);\n return chain;\n };\n return [name, chainedCommand];\n })\n ),\n run: run3\n };\n return chain;\n }\n createCan(startTr) {\n const { rawCommands, state } = this;\n const dispatch = false;\n const tr = startTr || state.tr;\n const props = this.buildProps(tr, dispatch);\n const formattedCommands = Object.fromEntries(\n Object.entries(rawCommands).map(([name, command2]) => {\n return [name, (...args) => command2(...args)({ ...props, dispatch: void 0 })];\n })\n );\n return {\n ...formattedCommands,\n chain: () => this.createChain(tr, dispatch)\n };\n }\n buildProps(tr, shouldDispatch = true) {\n const { rawCommands, editor, state } = this;\n const { view } = editor;\n const props = {\n tr,\n editor,\n view,\n state: createChainableState({\n state,\n transaction: tr\n }),\n dispatch: shouldDispatch ? () => void 0 : void 0,\n chain: () => this.createChain(tr, shouldDispatch),\n can: () => this.createCan(tr),\n get commands() {\n return Object.fromEntries(\n Object.entries(rawCommands).map(([name, command2]) => {\n return [name, (...args) => command2(...args)(props)];\n })\n );\n }\n };\n return props;\n }\n};\n\n// src/commands/index.ts\nvar commands_exports = {};\n__export(commands_exports, {\n blur: () => blur,\n clearContent: () => clearContent,\n clearNodes: () => clearNodes,\n command: () => command,\n createParagraphNear: () => createParagraphNear,\n cut: () => cut,\n deleteCurrentNode: () => deleteCurrentNode,\n deleteNode: () => deleteNode,\n deleteRange: () => deleteRange,\n deleteSelection: () => deleteSelection,\n enter: () => enter,\n exitCode: () => exitCode,\n extendMarkRange: () => extendMarkRange,\n first: () => first,\n focus: () => focus,\n forEach: () => forEach,\n insertContent: () => insertContent,\n insertContentAt: () => insertContentAt,\n joinBackward: () => joinBackward,\n joinDown: () => joinDown,\n joinForward: () => joinForward,\n joinItemBackward: () => joinItemBackward,\n joinItemForward: () => joinItemForward,\n joinTextblockBackward: () => joinTextblockBackward,\n joinTextblockForward: () => joinTextblockForward,\n joinUp: () => joinUp,\n keyboardShortcut: () => keyboardShortcut,\n lift: () => lift,\n liftEmptyBlock: () => liftEmptyBlock,\n liftListItem: () => liftListItem,\n newlineInCode: () => newlineInCode,\n resetAttributes: () => resetAttributes,\n scrollIntoView: () => scrollIntoView,\n selectAll: () => selectAll,\n selectNodeBackward: () => selectNodeBackward,\n selectNodeForward: () => selectNodeForward,\n selectParentNode: () => selectParentNode,\n selectTextblockEnd: () => selectTextblockEnd,\n selectTextblockStart: () => selectTextblockStart,\n setContent: () => setContent,\n setMark: () => setMark,\n setMeta: () => setMeta,\n setNode: () => setNode,\n setNodeSelection: () => setNodeSelection,\n setTextDirection: () => setTextDirection,\n setTextSelection: () => setTextSelection,\n sinkListItem: () => sinkListItem,\n splitBlock: () => splitBlock,\n splitListItem: () => splitListItem,\n toggleList: () => toggleList,\n toggleMark: () => toggleMark,\n toggleNode: () => toggleNode,\n toggleWrap: () => toggleWrap,\n undoInputRule: () => undoInputRule,\n unsetAllMarks: () => unsetAllMarks,\n unsetMark: () => unsetMark,\n unsetTextDirection: () => unsetTextDirection,\n updateAttributes: () => updateAttributes,\n wrapIn: () => wrapIn,\n wrapInList: () => wrapInList\n});\n\n// src/commands/blur.ts\nvar blur = () => ({ editor, view }) => {\n requestAnimationFrame(() => {\n var _a;\n if (!editor.isDestroyed) {\n ;\n view.dom.blur();\n (_a = window == null ? void 0 : window.getSelection()) == null ? void 0 : _a.removeAllRanges();\n }\n });\n return true;\n};\n\n// src/commands/clearContent.ts\nvar clearContent = (emitUpdate = true) => ({ commands }) => {\n return commands.setContent(\"\", { emitUpdate });\n};\n\n// src/commands/clearNodes.ts\n\nvar clearNodes = () => ({ state, tr, dispatch }) => {\n const { selection } = tr;\n const { ranges } = selection;\n if (!dispatch) {\n return true;\n }\n ranges.forEach(({ $from, $to }) => {\n state.doc.nodesBetween($from.pos, $to.pos, (node, pos) => {\n if (node.type.isText) {\n return;\n }\n const { doc, mapping } = tr;\n const $mappedFrom = doc.resolve(mapping.map(pos));\n const $mappedTo = doc.resolve(mapping.map(pos + node.nodeSize));\n const nodeRange = $mappedFrom.blockRange($mappedTo);\n if (!nodeRange) {\n return;\n }\n const targetLiftDepth = (0,_tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.liftTarget)(nodeRange);\n if (node.type.isTextblock) {\n const { defaultType } = $mappedFrom.parent.contentMatchAt($mappedFrom.index());\n tr.setNodeMarkup(nodeRange.start, defaultType);\n }\n if (targetLiftDepth || targetLiftDepth === 0) {\n tr.lift(nodeRange, targetLiftDepth);\n }\n });\n });\n return true;\n};\n\n// src/commands/command.ts\nvar command = (fn) => (props) => {\n return fn(props);\n};\n\n// src/commands/createParagraphNear.ts\n\nvar createParagraphNear = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.createParagraphNear)(state, dispatch);\n};\n\n// src/commands/cut.ts\n\nvar cut = (originRange, targetPos) => ({ editor, tr }) => {\n const { state } = editor;\n const contentSlice = state.doc.slice(originRange.from, originRange.to);\n tr.deleteRange(originRange.from, originRange.to);\n const newPos = tr.mapping.map(targetPos);\n tr.insert(newPos, contentSlice.content);\n tr.setSelection(new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.TextSelection(tr.doc.resolve(Math.max(newPos - 1, 0))));\n return true;\n};\n\n// src/commands/deleteCurrentNode.ts\nvar deleteCurrentNode = () => ({ tr, dispatch }) => {\n const { selection } = tr;\n const currentNode = selection.$anchor.node();\n if (currentNode.content.size > 0) {\n return false;\n }\n const $pos = tr.selection.$anchor;\n for (let depth = $pos.depth; depth > 0; depth -= 1) {\n const node = $pos.node(depth);\n if (node.type === currentNode.type) {\n if (dispatch) {\n const from = $pos.before(depth);\n const to = $pos.after(depth);\n tr.delete(from, to).scrollIntoView();\n }\n return true;\n }\n }\n return false;\n};\n\n// src/helpers/getNodeType.ts\nfunction getNodeType(nameOrType, schema) {\n if (typeof nameOrType === \"string\") {\n if (!schema.nodes[nameOrType]) {\n throw Error(`There is no node type named '${nameOrType}'. Maybe you forgot to add the extension?`);\n }\n return schema.nodes[nameOrType];\n }\n return nameOrType;\n}\n\n// src/commands/deleteNode.ts\nvar deleteNode = (typeOrName) => ({ tr, state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n const $pos = tr.selection.$anchor;\n for (let depth = $pos.depth; depth > 0; depth -= 1) {\n const node = $pos.node(depth);\n if (node.type === type) {\n if (dispatch) {\n const from = $pos.before(depth);\n const to = $pos.after(depth);\n tr.delete(from, to).scrollIntoView();\n }\n return true;\n }\n }\n return false;\n};\n\n// src/commands/deleteRange.ts\nvar deleteRange = (range) => ({ tr, dispatch }) => {\n const { from, to } = range;\n if (dispatch) {\n tr.delete(from, to);\n }\n return true;\n};\n\n// src/commands/deleteSelection.ts\n\nvar deleteSelection = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.deleteSelection)(state, dispatch);\n};\n\n// src/commands/enter.ts\nvar enter = () => ({ commands }) => {\n return commands.keyboardShortcut(\"Enter\");\n};\n\n// src/commands/exitCode.ts\n\nvar exitCode = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.exitCode)(state, dispatch);\n};\n\n// src/commands/extendMarkRange.ts\n\n\n// src/utilities/isRegExp.ts\nfunction isRegExp(value) {\n return Object.prototype.toString.call(value) === \"[object RegExp]\";\n}\n\n// src/utilities/objectIncludes.ts\nfunction objectIncludes(object1, object2, options = { strict: true }) {\n const keys = Object.keys(object2);\n if (!keys.length) {\n return true;\n }\n return keys.every((key) => {\n if (options.strict) {\n return object2[key] === object1[key];\n }\n if (isRegExp(object2[key])) {\n return object2[key].test(object1[key]);\n }\n return object2[key] === object1[key];\n });\n}\n\n// src/helpers/getMarkRange.ts\nfunction findMarkInSet(marks, type, attributes = {}) {\n return marks.find((item) => {\n return item.type === type && objectIncludes(\n // Only check equality for the attributes that are provided\n Object.fromEntries(Object.keys(attributes).map((k) => [k, item.attrs[k]])),\n attributes\n );\n });\n}\nfunction isMarkInSet(marks, type, attributes = {}) {\n return !!findMarkInSet(marks, type, attributes);\n}\nfunction getMarkRange($pos, type, attributes) {\n var _a;\n if (!$pos || !type) {\n return;\n }\n let start = $pos.parent.childAfter($pos.parentOffset);\n if (!start.node || !start.node.marks.some((mark2) => mark2.type === type)) {\n start = $pos.parent.childBefore($pos.parentOffset);\n }\n if (!start.node || !start.node.marks.some((mark2) => mark2.type === type)) {\n return;\n }\n attributes = attributes || ((_a = start.node.marks[0]) == null ? void 0 : _a.attrs);\n const mark = findMarkInSet([...start.node.marks], type, attributes);\n if (!mark) {\n return;\n }\n let startIndex = start.index;\n let startPos = $pos.start() + start.offset;\n let endIndex = startIndex + 1;\n let endPos = startPos + start.node.nodeSize;\n while (startIndex > 0 && isMarkInSet([...$pos.parent.child(startIndex - 1).marks], type, attributes)) {\n startIndex -= 1;\n startPos -= $pos.parent.child(startIndex).nodeSize;\n }\n while (endIndex < $pos.parent.childCount && isMarkInSet([...$pos.parent.child(endIndex).marks], type, attributes)) {\n endPos += $pos.parent.child(endIndex).nodeSize;\n endIndex += 1;\n }\n return {\n from: startPos,\n to: endPos\n };\n}\n\n// src/helpers/getMarkType.ts\nfunction getMarkType(nameOrType, schema) {\n if (typeof nameOrType === \"string\") {\n if (!schema.marks[nameOrType]) {\n throw Error(`There is no mark type named '${nameOrType}'. Maybe you forgot to add the extension?`);\n }\n return schema.marks[nameOrType];\n }\n return nameOrType;\n}\n\n// src/commands/extendMarkRange.ts\nvar extendMarkRange = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {\n const type = getMarkType(typeOrName, state.schema);\n const { doc, selection } = tr;\n const { $from, from, to } = selection;\n if (dispatch) {\n const range = getMarkRange($from, type, attributes);\n if (range && range.from <= from && range.to >= to) {\n const newSelection = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.TextSelection.create(doc, range.from, range.to);\n tr.setSelection(newSelection);\n }\n }\n return true;\n};\n\n// src/commands/first.ts\nvar first = (commands) => (props) => {\n const items = typeof commands === \"function\" ? commands(props) : commands;\n for (let i = 0; i < items.length; i += 1) {\n if (items[i](props)) {\n return true;\n }\n }\n return false;\n};\n\n// src/helpers/isTextSelection.ts\n\nfunction isTextSelection(value) {\n return value instanceof _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.TextSelection;\n}\n\n// src/helpers/resolveFocusPosition.ts\n\n\n// src/utilities/minMax.ts\nfunction minMax(value = 0, min = 0, max = 0) {\n return Math.min(Math.max(value, min), max);\n}\n\n// src/helpers/resolveFocusPosition.ts\nfunction resolveFocusPosition(doc, position = null) {\n if (!position) {\n return null;\n }\n const selectionAtStart = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Selection.atStart(doc);\n const selectionAtEnd = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Selection.atEnd(doc);\n if (position === \"start\" || position === true) {\n return selectionAtStart;\n }\n if (position === \"end\") {\n return selectionAtEnd;\n }\n const minPos = selectionAtStart.from;\n const maxPos = selectionAtEnd.to;\n if (position === \"all\") {\n return _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.TextSelection.create(doc, minMax(0, minPos, maxPos), minMax(doc.content.size, minPos, maxPos));\n }\n return _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.TextSelection.create(doc, minMax(position, minPos, maxPos), minMax(position, minPos, maxPos));\n}\n\n// src/utilities/isAndroid.ts\nfunction isAndroid() {\n return navigator.platform === \"Android\" || /android/i.test(navigator.userAgent);\n}\n\n// src/utilities/isiOS.ts\nfunction isiOS() {\n return [\"iPad Simulator\", \"iPhone Simulator\", \"iPod Simulator\", \"iPad\", \"iPhone\", \"iPod\"].includes(navigator.platform) || // iPad on iOS 13 detection\n navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document;\n}\n\n// src/utilities/isSafari.ts\nfunction isSafari() {\n return typeof navigator !== \"undefined\" ? /^((?!chrome|android).)*safari/i.test(navigator.userAgent) : false;\n}\n\n// src/commands/focus.ts\nvar focus = (position = null, options = {}) => ({ editor, view, tr, dispatch }) => {\n options = {\n scrollIntoView: true,\n ...options\n };\n const delayedFocus = () => {\n if (isiOS() || isAndroid()) {\n ;\n view.dom.focus();\n }\n if (isSafari() && !isiOS() && !isAndroid()) {\n ;\n view.dom.focus({ preventScroll: true });\n }\n requestAnimationFrame(() => {\n if (!editor.isDestroyed) {\n view.focus();\n if (options == null ? void 0 : options.scrollIntoView) {\n editor.commands.scrollIntoView();\n }\n }\n });\n };\n try {\n if (view.hasFocus() && position === null || position === false) {\n return true;\n }\n } catch {\n return false;\n }\n if (dispatch && position === null && !isTextSelection(editor.state.selection)) {\n delayedFocus();\n return true;\n }\n const selection = resolveFocusPosition(tr.doc, position) || editor.state.selection;\n const isSameSelection = editor.state.selection.eq(selection);\n if (dispatch) {\n if (!isSameSelection) {\n tr.setSelection(selection);\n }\n if (isSameSelection && tr.storedMarks) {\n tr.setStoredMarks(tr.storedMarks);\n }\n delayedFocus();\n }\n return true;\n};\n\n// src/commands/forEach.ts\nvar forEach = (items, fn) => (props) => {\n return items.every((item, index) => fn(item, { ...props, index }));\n};\n\n// src/commands/insertContent.ts\nvar insertContent = (value, options) => ({ tr, commands }) => {\n return commands.insertContentAt({ from: tr.selection.from, to: tr.selection.to }, value, options);\n};\n\n// src/commands/insertContentAt.ts\n\n\n// src/helpers/createNodeFromContent.ts\n\n\n// src/utilities/elementFromString.ts\nvar removeWhitespaces = (node) => {\n const children = node.childNodes;\n for (let i = children.length - 1; i >= 0; i -= 1) {\n const child = children[i];\n if (child.nodeType === 3 && child.nodeValue && /^(\\n\\s\\s|\\n)$/.test(child.nodeValue)) {\n node.removeChild(child);\n } else if (child.nodeType === 1) {\n removeWhitespaces(child);\n }\n }\n return node;\n};\nfunction elementFromString(value) {\n if (typeof window === \"undefined\") {\n throw new Error(\"[tiptap error]: there is no window object available, so this function cannot be used\");\n }\n const wrappedValue = `${value}`;\n const html = new window.DOMParser().parseFromString(wrappedValue, \"text/html\").body;\n return removeWhitespaces(html);\n}\n\n// src/helpers/createNodeFromContent.ts\nfunction createNodeFromContent(content, schema, options) {\n if (content instanceof _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Node || content instanceof _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Fragment) {\n return content;\n }\n options = {\n slice: true,\n parseOptions: {},\n ...options\n };\n const isJSONContent = typeof content === \"object\" && content !== null;\n const isTextContent = typeof content === \"string\";\n if (isJSONContent) {\n try {\n const isArrayContent = Array.isArray(content) && content.length > 0;\n if (isArrayContent) {\n return _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Fragment.fromArray(content.map((item) => schema.nodeFromJSON(item)));\n }\n const node = schema.nodeFromJSON(content);\n if (options.errorOnInvalidContent) {\n node.check();\n }\n return node;\n } catch (error) {\n if (options.errorOnInvalidContent) {\n throw new Error(\"[tiptap error]: Invalid JSON content\", { cause: error });\n }\n console.warn(\"[tiptap warn]: Invalid content.\", \"Passed value:\", content, \"Error:\", error);\n return createNodeFromContent(\"\", schema, options);\n }\n }\n if (isTextContent) {\n if (options.errorOnInvalidContent) {\n let hasInvalidContent = false;\n let invalidContent = \"\";\n const contentCheckSchema = new _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Schema({\n topNode: schema.spec.topNode,\n marks: schema.spec.marks,\n // Prosemirror's schemas are executed such that: the last to execute, matches last\n // This means that we can add a catch-all node at the end of the schema to catch any content that we don't know how to handle\n nodes: schema.spec.nodes.append({\n __tiptap__private__unknown__catch__all__node: {\n content: \"inline*\",\n group: \"block\",\n parseDOM: [\n {\n tag: \"*\",\n getAttrs: (e) => {\n hasInvalidContent = true;\n invalidContent = typeof e === \"string\" ? e : e.outerHTML;\n return null;\n }\n }\n ]\n }\n })\n });\n if (options.slice) {\n _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.DOMParser.fromSchema(contentCheckSchema).parseSlice(elementFromString(content), options.parseOptions);\n } else {\n _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.DOMParser.fromSchema(contentCheckSchema).parse(elementFromString(content), options.parseOptions);\n }\n if (options.errorOnInvalidContent && hasInvalidContent) {\n throw new Error(\"[tiptap error]: Invalid HTML content\", {\n cause: new Error(`Invalid element found: ${invalidContent}`)\n });\n }\n }\n const parser = _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.DOMParser.fromSchema(schema);\n if (options.slice) {\n return parser.parseSlice(elementFromString(content), options.parseOptions).content;\n }\n return parser.parse(elementFromString(content), options.parseOptions);\n }\n return createNodeFromContent(\"\", schema, options);\n}\n\n// src/helpers/selectionToInsertionEnd.ts\n\n\nfunction selectionToInsertionEnd(tr, startLen, bias) {\n const last = tr.steps.length - 1;\n if (last < startLen) {\n return;\n }\n const step = tr.steps[last];\n if (!(step instanceof _tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.ReplaceStep || step instanceof _tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.ReplaceAroundStep)) {\n return;\n }\n const map = tr.mapping.maps[last];\n let end = 0;\n map.forEach((_from, _to, _newFrom, newTo) => {\n if (end === 0) {\n end = newTo;\n }\n });\n tr.setSelection(_tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Selection.near(tr.doc.resolve(end), bias));\n}\n\n// src/commands/insertContentAt.ts\nvar isFragment = (nodeOrFragment) => {\n return !(\"type\" in nodeOrFragment);\n};\nvar insertContentAt = (position, value, options) => ({ tr, dispatch, editor }) => {\n var _a;\n if (dispatch) {\n options = {\n parseOptions: editor.options.parseOptions,\n updateSelection: true,\n applyInputRules: false,\n applyPasteRules: false,\n ...options\n };\n let content;\n const emitContentError = (error) => {\n editor.emit(\"contentError\", {\n editor,\n error,\n disableCollaboration: () => {\n if (\"collaboration\" in editor.storage && typeof editor.storage.collaboration === \"object\" && editor.storage.collaboration) {\n ;\n editor.storage.collaboration.isDisabled = true;\n }\n }\n });\n };\n const parseOptions = {\n preserveWhitespace: \"full\",\n ...options.parseOptions\n };\n if (!options.errorOnInvalidContent && !editor.options.enableContentCheck && editor.options.emitContentError) {\n try {\n createNodeFromContent(value, editor.schema, {\n parseOptions,\n errorOnInvalidContent: true\n });\n } catch (e) {\n emitContentError(e);\n }\n }\n try {\n content = createNodeFromContent(value, editor.schema, {\n parseOptions,\n errorOnInvalidContent: (_a = options.errorOnInvalidContent) != null ? _a : editor.options.enableContentCheck\n });\n } catch (e) {\n emitContentError(e);\n return false;\n }\n let { from, to } = typeof position === \"number\" ? { from: position, to: position } : { from: position.from, to: position.to };\n let isOnlyTextContent = true;\n let isOnlyBlockContent = true;\n const nodes = isFragment(content) ? content : [content];\n nodes.forEach((node) => {\n node.check();\n isOnlyTextContent = isOnlyTextContent ? node.isText && node.marks.length === 0 : false;\n isOnlyBlockContent = isOnlyBlockContent ? node.isBlock : false;\n });\n if (from === to && isOnlyBlockContent) {\n const { parent } = tr.doc.resolve(from);\n const isEmptyTextBlock = parent.isTextblock && !parent.type.spec.code && !parent.childCount;\n if (isEmptyTextBlock) {\n from -= 1;\n to += 1;\n }\n }\n let newContent;\n if (isOnlyTextContent) {\n if (Array.isArray(value)) {\n newContent = value.map((v) => v.text || \"\").join(\"\");\n } else if (value instanceof _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Fragment) {\n let text = \"\";\n value.forEach((node) => {\n if (node.text) {\n text += node.text;\n }\n });\n newContent = text;\n } else if (typeof value === \"object\" && !!value && !!value.text) {\n newContent = value.text;\n } else {\n newContent = value;\n }\n tr.insertText(newContent, from, to);\n } else {\n newContent = content;\n const $from = tr.doc.resolve(from);\n const $fromNode = $from.node();\n const fromSelectionAtStart = $from.parentOffset === 0;\n const isTextSelection2 = $fromNode.isText || $fromNode.isTextblock;\n const hasContent = $fromNode.content.size > 0;\n if (fromSelectionAtStart && isTextSelection2 && hasContent) {\n from = Math.max(0, from - 1);\n }\n tr.replaceWith(from, to, newContent);\n }\n if (options.updateSelection) {\n selectionToInsertionEnd(tr, tr.steps.length - 1, -1);\n }\n if (options.applyInputRules) {\n tr.setMeta(\"applyInputRules\", { from, text: newContent });\n }\n if (options.applyPasteRules) {\n tr.setMeta(\"applyPasteRules\", { from, text: newContent });\n }\n }\n return true;\n};\n\n// src/commands/join.ts\n\nvar joinUp = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.joinUp)(state, dispatch);\n};\nvar joinDown = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.joinDown)(state, dispatch);\n};\nvar joinBackward = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.joinBackward)(state, dispatch);\n};\nvar joinForward = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.joinForward)(state, dispatch);\n};\n\n// src/commands/joinItemBackward.ts\n\nvar joinItemBackward = () => ({ state, dispatch, tr }) => {\n try {\n const point = (0,_tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.joinPoint)(state.doc, state.selection.$from.pos, -1);\n if (point === null || point === void 0) {\n return false;\n }\n tr.join(point, 2);\n if (dispatch) {\n dispatch(tr);\n }\n return true;\n } catch {\n return false;\n }\n};\n\n// src/commands/joinItemForward.ts\n\nvar joinItemForward = () => ({ state, dispatch, tr }) => {\n try {\n const point = (0,_tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.joinPoint)(state.doc, state.selection.$from.pos, 1);\n if (point === null || point === void 0) {\n return false;\n }\n tr.join(point, 2);\n if (dispatch) {\n dispatch(tr);\n }\n return true;\n } catch {\n return false;\n }\n};\n\n// src/commands/joinTextblockBackward.ts\n\nvar joinTextblockBackward = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.joinTextblockBackward)(state, dispatch);\n};\n\n// src/commands/joinTextblockForward.ts\n\nvar joinTextblockForward = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.joinTextblockForward)(state, dispatch);\n};\n\n// src/utilities/isMacOS.ts\nfunction isMacOS() {\n return typeof navigator !== \"undefined\" ? /Mac/.test(navigator.platform) : false;\n}\n\n// src/commands/keyboardShortcut.ts\nfunction normalizeKeyName(name) {\n const parts = name.split(/-(?!$)/);\n let result = parts[parts.length - 1];\n if (result === \"Space\") {\n result = \" \";\n }\n let alt;\n let ctrl;\n let shift;\n let meta;\n for (let i = 0; i < parts.length - 1; i += 1) {\n const mod = parts[i];\n if (/^(cmd|meta|m)$/i.test(mod)) {\n meta = true;\n } else if (/^a(lt)?$/i.test(mod)) {\n alt = true;\n } else if (/^(c|ctrl|control)$/i.test(mod)) {\n ctrl = true;\n } else if (/^s(hift)?$/i.test(mod)) {\n shift = true;\n } else if (/^mod$/i.test(mod)) {\n if (isiOS() || isMacOS()) {\n meta = true;\n } else {\n ctrl = true;\n }\n } else {\n throw new Error(`Unrecognized modifier name: ${mod}`);\n }\n }\n if (alt) {\n result = `Alt-${result}`;\n }\n if (ctrl) {\n result = `Ctrl-${result}`;\n }\n if (meta) {\n result = `Meta-${result}`;\n }\n if (shift) {\n result = `Shift-${result}`;\n }\n return result;\n}\nvar keyboardShortcut = (name) => ({ editor, view, tr, dispatch }) => {\n const keys = normalizeKeyName(name).split(/-(?!$)/);\n const key = keys.find((item) => ![\"Alt\", \"Ctrl\", \"Meta\", \"Shift\"].includes(item));\n const event = new KeyboardEvent(\"keydown\", {\n key: key === \"Space\" ? \" \" : key,\n altKey: keys.includes(\"Alt\"),\n ctrlKey: keys.includes(\"Ctrl\"),\n metaKey: keys.includes(\"Meta\"),\n shiftKey: keys.includes(\"Shift\"),\n bubbles: true,\n cancelable: true\n });\n const capturedTransaction = editor.captureTransaction(() => {\n view.someProp(\"handleKeyDown\", (f) => f(view, event));\n });\n capturedTransaction == null ? void 0 : capturedTransaction.steps.forEach((step) => {\n const newStep = step.map(tr.mapping);\n if (newStep && dispatch) {\n tr.maybeStep(newStep);\n }\n });\n return true;\n};\n\n// src/commands/lift.ts\n\n\n// src/helpers/isNodeActive.ts\nfunction isNodeActive(state, typeOrName, attributes = {}) {\n const { from, to, empty } = state.selection;\n const type = typeOrName ? getNodeType(typeOrName, state.schema) : null;\n const nodeRanges = [];\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (node.isText) {\n return;\n }\n const relativeFrom = Math.max(from, pos);\n const relativeTo = Math.min(to, pos + node.nodeSize);\n nodeRanges.push({\n node,\n from: relativeFrom,\n to: relativeTo\n });\n });\n const selectionRange = to - from;\n const matchedNodeRanges = nodeRanges.filter((nodeRange) => {\n if (!type) {\n return true;\n }\n return type.name === nodeRange.node.type.name;\n }).filter((nodeRange) => objectIncludes(nodeRange.node.attrs, attributes, { strict: false }));\n if (empty) {\n return !!matchedNodeRanges.length;\n }\n const range = matchedNodeRanges.reduce((sum, nodeRange) => sum + nodeRange.to - nodeRange.from, 0);\n return range >= selectionRange;\n}\n\n// src/commands/lift.ts\nvar lift = (typeOrName, attributes = {}) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n const isActive2 = isNodeActive(state, type, attributes);\n if (!isActive2) {\n return false;\n }\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.lift)(state, dispatch);\n};\n\n// src/commands/liftEmptyBlock.ts\n\nvar liftEmptyBlock = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.liftEmptyBlock)(state, dispatch);\n};\n\n// src/commands/liftListItem.ts\n\nvar liftListItem = (typeOrName) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n return (0,_tiptap_pm_schema_list__WEBPACK_IMPORTED_MODULE_4__.liftListItem)(type)(state, dispatch);\n};\n\n// src/commands/newlineInCode.ts\n\nvar newlineInCode = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.newlineInCode)(state, dispatch);\n};\n\n// src/helpers/getSchemaTypeNameByName.ts\nfunction getSchemaTypeNameByName(name, schema) {\n if (schema.nodes[name]) {\n return \"node\";\n }\n if (schema.marks[name]) {\n return \"mark\";\n }\n return null;\n}\n\n// src/utilities/deleteProps.ts\nfunction deleteProps(obj, propOrProps) {\n const props = typeof propOrProps === \"string\" ? [propOrProps] : propOrProps;\n return Object.keys(obj).reduce((newObj, prop) => {\n if (!props.includes(prop)) {\n newObj[prop] = obj[prop];\n }\n return newObj;\n }, {});\n}\n\n// src/commands/resetAttributes.ts\nvar resetAttributes = (typeOrName, attributes) => ({ tr, state, dispatch }) => {\n let nodeType = null;\n let markType = null;\n const schemaType = getSchemaTypeNameByName(\n typeof typeOrName === \"string\" ? typeOrName : typeOrName.name,\n state.schema\n );\n if (!schemaType) {\n return false;\n }\n if (schemaType === \"node\") {\n nodeType = getNodeType(typeOrName, state.schema);\n }\n if (schemaType === \"mark\") {\n markType = getMarkType(typeOrName, state.schema);\n }\n let canReset = false;\n tr.selection.ranges.forEach((range) => {\n state.doc.nodesBetween(range.$from.pos, range.$to.pos, (node, pos) => {\n if (nodeType && nodeType === node.type) {\n canReset = true;\n if (dispatch) {\n tr.setNodeMarkup(pos, void 0, deleteProps(node.attrs, attributes));\n }\n }\n if (markType && node.marks.length) {\n node.marks.forEach((mark) => {\n if (markType === mark.type) {\n canReset = true;\n if (dispatch) {\n tr.addMark(pos, pos + node.nodeSize, markType.create(deleteProps(mark.attrs, attributes)));\n }\n }\n });\n }\n });\n });\n return canReset;\n};\n\n// src/commands/scrollIntoView.ts\nvar scrollIntoView = () => ({ tr, dispatch }) => {\n if (dispatch) {\n tr.scrollIntoView();\n }\n return true;\n};\n\n// src/commands/selectAll.ts\n\nvar selectAll = () => ({ tr, dispatch }) => {\n if (dispatch) {\n const selection = new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.AllSelection(tr.doc);\n tr.setSelection(selection);\n }\n return true;\n};\n\n// src/commands/selectNodeBackward.ts\n\nvar selectNodeBackward = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.selectNodeBackward)(state, dispatch);\n};\n\n// src/commands/selectNodeForward.ts\n\nvar selectNodeForward = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.selectNodeForward)(state, dispatch);\n};\n\n// src/commands/selectParentNode.ts\n\nvar selectParentNode = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.selectParentNode)(state, dispatch);\n};\n\n// src/commands/selectTextblockEnd.ts\n\nvar selectTextblockEnd = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.selectTextblockEnd)(state, dispatch);\n};\n\n// src/commands/selectTextblockStart.ts\n\nvar selectTextblockStart = () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.selectTextblockStart)(state, dispatch);\n};\n\n// src/helpers/createDocument.ts\nfunction createDocument(content, schema, parseOptions = {}, options = {}) {\n return createNodeFromContent(content, schema, {\n slice: false,\n parseOptions,\n errorOnInvalidContent: options.errorOnInvalidContent\n });\n}\n\n// src/commands/setContent.ts\nvar setContent = (content, { errorOnInvalidContent, emitUpdate = true, parseOptions = {} } = {}) => ({ editor, tr, dispatch, commands }) => {\n const { doc } = tr;\n if (parseOptions.preserveWhitespace !== \"full\") {\n const document2 = createDocument(content, editor.schema, parseOptions, {\n errorOnInvalidContent: errorOnInvalidContent != null ? errorOnInvalidContent : editor.options.enableContentCheck\n });\n if (dispatch) {\n tr.replaceWith(0, doc.content.size, document2).setMeta(\"preventUpdate\", !emitUpdate);\n }\n return true;\n }\n if (dispatch) {\n tr.setMeta(\"preventUpdate\", !emitUpdate);\n }\n return commands.insertContentAt({ from: 0, to: doc.content.size }, content, {\n parseOptions,\n errorOnInvalidContent: errorOnInvalidContent != null ? errorOnInvalidContent : editor.options.enableContentCheck\n });\n};\n\n// src/helpers/getMarkAttributes.ts\nfunction getMarkAttributes(state, typeOrName) {\n const type = getMarkType(typeOrName, state.schema);\n const { from, to, empty } = state.selection;\n const marks = [];\n if (empty) {\n if (state.storedMarks) {\n marks.push(...state.storedMarks);\n }\n marks.push(...state.selection.$head.marks());\n } else {\n state.doc.nodesBetween(from, to, (node) => {\n marks.push(...node.marks);\n });\n }\n const mark = marks.find((markItem) => markItem.type.name === type.name);\n if (!mark) {\n return {};\n }\n return { ...mark.attrs };\n}\n\n// src/helpers/combineTransactionSteps.ts\n\nfunction combineTransactionSteps(oldDoc, transactions) {\n const transform = new _tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.Transform(oldDoc);\n transactions.forEach((transaction) => {\n transaction.steps.forEach((step) => {\n transform.step(step);\n });\n });\n return transform;\n}\n\n// src/helpers/defaultBlockAt.ts\nfunction defaultBlockAt(match) {\n for (let i = 0; i < match.edgeCount; i += 1) {\n const { type } = match.edge(i);\n if (type.isTextblock && !type.hasRequiredAttrs()) {\n return type;\n }\n }\n return null;\n}\n\n// src/helpers/findChildren.ts\nfunction findChildren(node, predicate) {\n const nodesWithPos = [];\n node.descendants((child, pos) => {\n if (predicate(child)) {\n nodesWithPos.push({\n node: child,\n pos\n });\n }\n });\n return nodesWithPos;\n}\n\n// src/helpers/findChildrenInRange.ts\nfunction findChildrenInRange(node, range, predicate) {\n const nodesWithPos = [];\n node.nodesBetween(range.from, range.to, (child, pos) => {\n if (predicate(child)) {\n nodesWithPos.push({\n node: child,\n pos\n });\n }\n });\n return nodesWithPos;\n}\n\n// src/helpers/findParentNodeClosestToPos.ts\nfunction findParentNodeClosestToPos($pos, predicate) {\n for (let i = $pos.depth; i > 0; i -= 1) {\n const node = $pos.node(i);\n if (predicate(node)) {\n return {\n pos: i > 0 ? $pos.before(i) : 0,\n start: $pos.start(i),\n depth: i,\n node\n };\n }\n }\n}\n\n// src/helpers/findParentNode.ts\nfunction findParentNode(predicate) {\n return (selection) => findParentNodeClosestToPos(selection.$from, predicate);\n}\n\n// src/helpers/getExtensionField.ts\nfunction getExtensionField(extension, field, context) {\n if (extension.config[field] === void 0 && extension.parent) {\n return getExtensionField(extension.parent, field, context);\n }\n if (typeof extension.config[field] === \"function\") {\n const value = extension.config[field].bind({\n ...context,\n parent: extension.parent ? getExtensionField(extension.parent, field, context) : null\n });\n return value;\n }\n return extension.config[field];\n}\n\n// src/helpers/flattenExtensions.ts\nfunction flattenExtensions(extensions) {\n return extensions.map((extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage\n };\n const addExtensions = getExtensionField(extension, \"addExtensions\", context);\n if (addExtensions) {\n return [extension, ...flattenExtensions(addExtensions())];\n }\n return extension;\n }).flat(10);\n}\n\n// src/helpers/generateHTML.ts\n\n\n// src/helpers/getHTMLFromFragment.ts\n\nfunction getHTMLFromFragment(fragment, schema) {\n const documentFragment = _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.DOMSerializer.fromSchema(schema).serializeFragment(fragment);\n const temporaryDocument = document.implementation.createHTMLDocument();\n const container = temporaryDocument.createElement(\"div\");\n container.appendChild(documentFragment);\n return container.innerHTML;\n}\n\n// src/helpers/getSchemaByResolvedExtensions.ts\n\n\n// src/utilities/isFunction.ts\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/utilities/callOrReturn.ts\nfunction callOrReturn(value, context = void 0, ...props) {\n if (isFunction(value)) {\n if (context) {\n return value.bind(context)(...props);\n }\n return value(...props);\n }\n return value;\n}\n\n// src/utilities/isEmptyObject.ts\nfunction isEmptyObject(value = {}) {\n return Object.keys(value).length === 0 && value.constructor === Object;\n}\n\n// src/helpers/splitExtensions.ts\nfunction splitExtensions(extensions) {\n const baseExtensions = extensions.filter((extension) => extension.type === \"extension\");\n const nodeExtensions = extensions.filter((extension) => extension.type === \"node\");\n const markExtensions = extensions.filter((extension) => extension.type === \"mark\");\n return {\n baseExtensions,\n nodeExtensions,\n markExtensions\n };\n}\n\n// src/helpers/getAttributesFromExtensions.ts\nfunction getAttributesFromExtensions(extensions) {\n const extensionAttributes = [];\n const { nodeExtensions, markExtensions } = splitExtensions(extensions);\n const nodeAndMarkExtensions = [...nodeExtensions, ...markExtensions];\n const defaultAttribute = {\n default: null,\n validate: void 0,\n rendered: true,\n renderHTML: null,\n parseHTML: null,\n keepOnSplit: true,\n isRequired: false\n };\n extensions.forEach((extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n extensions: nodeAndMarkExtensions\n };\n const addGlobalAttributes = getExtensionField(\n extension,\n \"addGlobalAttributes\",\n context\n );\n if (!addGlobalAttributes) {\n return;\n }\n const globalAttributes = addGlobalAttributes();\n globalAttributes.forEach((globalAttribute) => {\n globalAttribute.types.forEach((type) => {\n Object.entries(globalAttribute.attributes).forEach(([name, attribute]) => {\n extensionAttributes.push({\n type,\n name,\n attribute: {\n ...defaultAttribute,\n ...attribute\n }\n });\n });\n });\n });\n });\n nodeAndMarkExtensions.forEach((extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage\n };\n const addAttributes = getExtensionField(\n extension,\n \"addAttributes\",\n context\n );\n if (!addAttributes) {\n return;\n }\n const attributes = addAttributes();\n Object.entries(attributes).forEach(([name, attribute]) => {\n const mergedAttr = {\n ...defaultAttribute,\n ...attribute\n };\n if (typeof (mergedAttr == null ? void 0 : mergedAttr.default) === \"function\") {\n mergedAttr.default = mergedAttr.default();\n }\n if ((mergedAttr == null ? void 0 : mergedAttr.isRequired) && (mergedAttr == null ? void 0 : mergedAttr.default) === void 0) {\n delete mergedAttr.default;\n }\n extensionAttributes.push({\n type: extension.name,\n name,\n attribute: mergedAttr\n });\n });\n });\n return extensionAttributes;\n}\n\n// src/utilities/mergeAttributes.ts\nfunction mergeAttributes(...objects) {\n return objects.filter((item) => !!item).reduce((items, item) => {\n const mergedAttributes = { ...items };\n Object.entries(item).forEach(([key, value]) => {\n const exists = mergedAttributes[key];\n if (!exists) {\n mergedAttributes[key] = value;\n return;\n }\n if (key === \"class\") {\n const valueClasses = value ? String(value).split(\" \") : [];\n const existingClasses = mergedAttributes[key] ? mergedAttributes[key].split(\" \") : [];\n const insertClasses = valueClasses.filter((valueClass) => !existingClasses.includes(valueClass));\n mergedAttributes[key] = [...existingClasses, ...insertClasses].join(\" \");\n } else if (key === \"style\") {\n const newStyles = value ? value.split(\";\").map((style2) => style2.trim()).filter(Boolean) : [];\n const existingStyles = mergedAttributes[key] ? mergedAttributes[key].split(\";\").map((style2) => style2.trim()).filter(Boolean) : [];\n const styleMap = /* @__PURE__ */ new Map();\n existingStyles.forEach((style2) => {\n const [property, val] = style2.split(\":\").map((part) => part.trim());\n styleMap.set(property, val);\n });\n newStyles.forEach((style2) => {\n const [property, val] = style2.split(\":\").map((part) => part.trim());\n styleMap.set(property, val);\n });\n mergedAttributes[key] = Array.from(styleMap.entries()).map(([property, val]) => `${property}: ${val}`).join(\"; \");\n } else {\n mergedAttributes[key] = value;\n }\n });\n return mergedAttributes;\n }, {});\n}\n\n// src/helpers/getRenderedAttributes.ts\nfunction getRenderedAttributes(nodeOrMark, extensionAttributes) {\n return extensionAttributes.filter((attribute) => attribute.type === nodeOrMark.type.name).filter((item) => item.attribute.rendered).map((item) => {\n if (!item.attribute.renderHTML) {\n return {\n [item.name]: nodeOrMark.attrs[item.name]\n };\n }\n return item.attribute.renderHTML(nodeOrMark.attrs) || {};\n }).reduce((attributes, attribute) => mergeAttributes(attributes, attribute), {});\n}\n\n// src/utilities/fromString.ts\nfunction fromString(value) {\n if (typeof value !== \"string\") {\n return value;\n }\n if (value.match(/^[+-]?(?:\\d*\\.)?\\d+$/)) {\n return Number(value);\n }\n if (value === \"true\") {\n return true;\n }\n if (value === \"false\") {\n return false;\n }\n return value;\n}\n\n// src/helpers/injectExtensionAttributesToParseRule.ts\nfunction injectExtensionAttributesToParseRule(parseRule, extensionAttributes) {\n if (\"style\" in parseRule) {\n return parseRule;\n }\n return {\n ...parseRule,\n getAttrs: (node) => {\n const oldAttributes = parseRule.getAttrs ? parseRule.getAttrs(node) : parseRule.attrs;\n if (oldAttributes === false) {\n return false;\n }\n const newAttributes = extensionAttributes.reduce((items, item) => {\n const value = item.attribute.parseHTML ? item.attribute.parseHTML(node) : fromString(node.getAttribute(item.name));\n if (value === null || value === void 0) {\n return items;\n }\n return {\n ...items,\n [item.name]: value\n };\n }, {});\n return { ...oldAttributes, ...newAttributes };\n }\n };\n}\n\n// src/helpers/getSchemaByResolvedExtensions.ts\nfunction cleanUpSchemaItem(data) {\n return Object.fromEntries(\n // @ts-ignore\n Object.entries(data).filter(([key, value]) => {\n if (key === \"attrs\" && isEmptyObject(value)) {\n return false;\n }\n return value !== null && value !== void 0;\n })\n );\n}\nfunction buildAttributeSpec(extensionAttribute) {\n var _a, _b;\n const spec = {};\n if (!((_a = extensionAttribute == null ? void 0 : extensionAttribute.attribute) == null ? void 0 : _a.isRequired) && \"default\" in ((extensionAttribute == null ? void 0 : extensionAttribute.attribute) || {})) {\n spec.default = extensionAttribute.attribute.default;\n }\n if (((_b = extensionAttribute == null ? void 0 : extensionAttribute.attribute) == null ? void 0 : _b.validate) !== void 0) {\n spec.validate = extensionAttribute.attribute.validate;\n }\n return [extensionAttribute.name, spec];\n}\nfunction getSchemaByResolvedExtensions(extensions, editor) {\n var _a;\n const allAttributes = getAttributesFromExtensions(extensions);\n const { nodeExtensions, markExtensions } = splitExtensions(extensions);\n const topNode = (_a = nodeExtensions.find((extension) => getExtensionField(extension, \"topNode\"))) == null ? void 0 : _a.name;\n const nodes = Object.fromEntries(\n nodeExtensions.map((extension) => {\n const extensionAttributes = allAttributes.filter((attribute) => attribute.type === extension.name);\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n editor\n };\n const extraNodeFields = extensions.reduce((fields, e) => {\n const extendNodeSchema = getExtensionField(e, \"extendNodeSchema\", context);\n return {\n ...fields,\n ...extendNodeSchema ? extendNodeSchema(extension) : {}\n };\n }, {});\n const schema = cleanUpSchemaItem({\n ...extraNodeFields,\n content: callOrReturn(getExtensionField(extension, \"content\", context)),\n marks: callOrReturn(getExtensionField(extension, \"marks\", context)),\n group: callOrReturn(getExtensionField(extension, \"group\", context)),\n inline: callOrReturn(getExtensionField(extension, \"inline\", context)),\n atom: callOrReturn(getExtensionField(extension, \"atom\", context)),\n selectable: callOrReturn(getExtensionField(extension, \"selectable\", context)),\n draggable: callOrReturn(getExtensionField(extension, \"draggable\", context)),\n code: callOrReturn(getExtensionField(extension, \"code\", context)),\n whitespace: callOrReturn(getExtensionField(extension, \"whitespace\", context)),\n linebreakReplacement: callOrReturn(\n getExtensionField(extension, \"linebreakReplacement\", context)\n ),\n defining: callOrReturn(getExtensionField(extension, \"defining\", context)),\n isolating: callOrReturn(getExtensionField(extension, \"isolating\", context)),\n attrs: Object.fromEntries(extensionAttributes.map(buildAttributeSpec))\n });\n const parseHTML = callOrReturn(getExtensionField(extension, \"parseHTML\", context));\n if (parseHTML) {\n schema.parseDOM = parseHTML.map(\n (parseRule) => injectExtensionAttributesToParseRule(parseRule, extensionAttributes)\n );\n }\n const renderHTML = getExtensionField(extension, \"renderHTML\", context);\n if (renderHTML) {\n schema.toDOM = (node) => renderHTML({\n node,\n HTMLAttributes: getRenderedAttributes(node, extensionAttributes)\n });\n }\n const renderText = getExtensionField(extension, \"renderText\", context);\n if (renderText) {\n schema.toText = renderText;\n }\n return [extension.name, schema];\n })\n );\n const marks = Object.fromEntries(\n markExtensions.map((extension) => {\n const extensionAttributes = allAttributes.filter((attribute) => attribute.type === extension.name);\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n editor\n };\n const extraMarkFields = extensions.reduce((fields, e) => {\n const extendMarkSchema = getExtensionField(e, \"extendMarkSchema\", context);\n return {\n ...fields,\n ...extendMarkSchema ? extendMarkSchema(extension) : {}\n };\n }, {});\n const schema = cleanUpSchemaItem({\n ...extraMarkFields,\n inclusive: callOrReturn(getExtensionField(extension, \"inclusive\", context)),\n excludes: callOrReturn(getExtensionField(extension, \"excludes\", context)),\n group: callOrReturn(getExtensionField(extension, \"group\", context)),\n spanning: callOrReturn(getExtensionField(extension, \"spanning\", context)),\n code: callOrReturn(getExtensionField(extension, \"code\", context)),\n attrs: Object.fromEntries(extensionAttributes.map(buildAttributeSpec))\n });\n const parseHTML = callOrReturn(getExtensionField(extension, \"parseHTML\", context));\n if (parseHTML) {\n schema.parseDOM = parseHTML.map(\n (parseRule) => injectExtensionAttributesToParseRule(parseRule, extensionAttributes)\n );\n }\n const renderHTML = getExtensionField(extension, \"renderHTML\", context);\n if (renderHTML) {\n schema.toDOM = (mark) => renderHTML({\n mark,\n HTMLAttributes: getRenderedAttributes(mark, extensionAttributes)\n });\n }\n return [extension.name, schema];\n })\n );\n return new _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Schema({\n topNode,\n nodes,\n marks\n });\n}\n\n// src/utilities/findDuplicates.ts\nfunction findDuplicates(items) {\n const filtered = items.filter((el, index) => items.indexOf(el) !== index);\n return Array.from(new Set(filtered));\n}\n\n// src/helpers/sortExtensions.ts\nfunction sortExtensions(extensions) {\n const defaultPriority = 100;\n return extensions.sort((a, b) => {\n const priorityA = getExtensionField(a, \"priority\") || defaultPriority;\n const priorityB = getExtensionField(b, \"priority\") || defaultPriority;\n if (priorityA > priorityB) {\n return -1;\n }\n if (priorityA < priorityB) {\n return 1;\n }\n return 0;\n });\n}\n\n// src/helpers/resolveExtensions.ts\nfunction resolveExtensions(extensions) {\n const resolvedExtensions = sortExtensions(flattenExtensions(extensions));\n const duplicatedNames = findDuplicates(resolvedExtensions.map((extension) => extension.name));\n if (duplicatedNames.length) {\n console.warn(\n `[tiptap warn]: Duplicate extension names found: [${duplicatedNames.map((item) => `'${item}'`).join(\", \")}]. This can lead to issues.`\n );\n }\n return resolvedExtensions;\n}\n\n// src/helpers/getSchema.ts\nfunction getSchema(extensions, editor) {\n const resolvedExtensions = resolveExtensions(extensions);\n return getSchemaByResolvedExtensions(resolvedExtensions, editor);\n}\n\n// src/helpers/generateHTML.ts\nfunction generateHTML(doc, extensions) {\n const schema = getSchema(extensions);\n const contentNode = _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Node.fromJSON(schema, doc);\n return getHTMLFromFragment(contentNode.content, schema);\n}\n\n// src/helpers/generateJSON.ts\n\nfunction generateJSON(html, extensions) {\n const schema = getSchema(extensions);\n const dom = elementFromString(html);\n return _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.DOMParser.fromSchema(schema).parse(dom).toJSON();\n}\n\n// src/helpers/generateText.ts\n\n\n// src/helpers/getTextBetween.ts\nfunction getTextBetween(startNode, range, options) {\n const { from, to } = range;\n const { blockSeparator = \"\\n\\n\", textSerializers = {} } = options || {};\n let text = \"\";\n startNode.nodesBetween(from, to, (node, pos, parent, index) => {\n var _a;\n if (node.isBlock && pos > from) {\n text += blockSeparator;\n }\n const textSerializer = textSerializers == null ? void 0 : textSerializers[node.type.name];\n if (textSerializer) {\n if (parent) {\n text += textSerializer({\n node,\n pos,\n parent,\n index,\n range\n });\n }\n return false;\n }\n if (node.isText) {\n text += (_a = node == null ? void 0 : node.text) == null ? void 0 : _a.slice(Math.max(from, pos) - pos, to - pos);\n }\n });\n return text;\n}\n\n// src/helpers/getText.ts\nfunction getText(node, options) {\n const range = {\n from: 0,\n to: node.content.size\n };\n return getTextBetween(node, range, options);\n}\n\n// src/helpers/getTextSerializersFromSchema.ts\nfunction getTextSerializersFromSchema(schema) {\n return Object.fromEntries(\n Object.entries(schema.nodes).filter(([, node]) => node.spec.toText).map(([name, node]) => [name, node.spec.toText])\n );\n}\n\n// src/helpers/generateText.ts\nfunction generateText(doc, extensions, options) {\n const { blockSeparator = \"\\n\\n\", textSerializers = {} } = options || {};\n const schema = getSchema(extensions);\n const contentNode = _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Node.fromJSON(schema, doc);\n return getText(contentNode, {\n blockSeparator,\n textSerializers: {\n ...getTextSerializersFromSchema(schema),\n ...textSerializers\n }\n });\n}\n\n// src/helpers/getNodeAttributes.ts\nfunction getNodeAttributes(state, typeOrName) {\n const type = getNodeType(typeOrName, state.schema);\n const { from, to } = state.selection;\n const nodes = [];\n state.doc.nodesBetween(from, to, (node2) => {\n nodes.push(node2);\n });\n const node = nodes.reverse().find((nodeItem) => nodeItem.type.name === type.name);\n if (!node) {\n return {};\n }\n return { ...node.attrs };\n}\n\n// src/helpers/getAttributes.ts\nfunction getAttributes(state, typeOrName) {\n const schemaType = getSchemaTypeNameByName(\n typeof typeOrName === \"string\" ? typeOrName : typeOrName.name,\n state.schema\n );\n if (schemaType === \"node\") {\n return getNodeAttributes(state, typeOrName);\n }\n if (schemaType === \"mark\") {\n return getMarkAttributes(state, typeOrName);\n }\n return {};\n}\n\n// src/utilities/removeDuplicates.ts\nfunction removeDuplicates(array, by = JSON.stringify) {\n const seen = {};\n return array.filter((item) => {\n const key = by(item);\n return Object.prototype.hasOwnProperty.call(seen, key) ? false : seen[key] = true;\n });\n}\n\n// src/helpers/getChangedRanges.ts\nfunction simplifyChangedRanges(changes) {\n const uniqueChanges = removeDuplicates(changes);\n return uniqueChanges.length === 1 ? uniqueChanges : uniqueChanges.filter((change, index) => {\n const rest = uniqueChanges.filter((_, i) => i !== index);\n return !rest.some((otherChange) => {\n return change.oldRange.from >= otherChange.oldRange.from && change.oldRange.to <= otherChange.oldRange.to && change.newRange.from >= otherChange.newRange.from && change.newRange.to <= otherChange.newRange.to;\n });\n });\n}\nfunction getChangedRanges(transform) {\n const { mapping, steps } = transform;\n const changes = [];\n mapping.maps.forEach((stepMap, index) => {\n const ranges = [];\n if (!stepMap.ranges.length) {\n const { from, to } = steps[index];\n if (from === void 0 || to === void 0) {\n return;\n }\n ranges.push({ from, to });\n } else {\n stepMap.forEach((from, to) => {\n ranges.push({ from, to });\n });\n }\n ranges.forEach(({ from, to }) => {\n const newStart = mapping.slice(index).map(from, -1);\n const newEnd = mapping.slice(index).map(to);\n const oldStart = mapping.invert().map(newStart, -1);\n const oldEnd = mapping.invert().map(newEnd);\n changes.push({\n oldRange: {\n from: oldStart,\n to: oldEnd\n },\n newRange: {\n from: newStart,\n to: newEnd\n }\n });\n });\n });\n return simplifyChangedRanges(changes);\n}\n\n// src/helpers/getDebugJSON.ts\nfunction getDebugJSON(node, startOffset = 0) {\n const isTopNode = node.type === node.type.schema.topNodeType;\n const increment = isTopNode ? 0 : 1;\n const from = startOffset;\n const to = from + node.nodeSize;\n const marks = node.marks.map((mark) => {\n const output2 = {\n type: mark.type.name\n };\n if (Object.keys(mark.attrs).length) {\n output2.attrs = { ...mark.attrs };\n }\n return output2;\n });\n const attrs = { ...node.attrs };\n const output = {\n type: node.type.name,\n from,\n to\n };\n if (Object.keys(attrs).length) {\n output.attrs = attrs;\n }\n if (marks.length) {\n output.marks = marks;\n }\n if (node.content.childCount) {\n output.content = [];\n node.forEach((child, offset) => {\n var _a;\n (_a = output.content) == null ? void 0 : _a.push(getDebugJSON(child, startOffset + offset + increment));\n });\n }\n if (node.text) {\n output.text = node.text;\n }\n return output;\n}\n\n// src/helpers/getMarksBetween.ts\nfunction getMarksBetween(from, to, doc) {\n const marks = [];\n if (from === to) {\n doc.resolve(from).marks().forEach((mark) => {\n const $pos = doc.resolve(from);\n const range = getMarkRange($pos, mark.type);\n if (!range) {\n return;\n }\n marks.push({\n mark,\n ...range\n });\n });\n } else {\n doc.nodesBetween(from, to, (node, pos) => {\n if (!node || (node == null ? void 0 : node.nodeSize) === void 0) {\n return;\n }\n marks.push(\n ...node.marks.map((mark) => ({\n from: pos,\n to: pos + node.nodeSize,\n mark\n }))\n );\n });\n }\n return marks;\n}\n\n// src/helpers/getNodeAtPosition.ts\nvar getNodeAtPosition = (state, typeOrName, pos, maxDepth = 20) => {\n const $pos = state.doc.resolve(pos);\n let currentDepth = maxDepth;\n let node = null;\n while (currentDepth > 0 && node === null) {\n const currentNode = $pos.node(currentDepth);\n if ((currentNode == null ? void 0 : currentNode.type.name) === typeOrName) {\n node = currentNode;\n } else {\n currentDepth -= 1;\n }\n }\n return [node, currentDepth];\n};\n\n// src/helpers/getSchemaTypeByName.ts\nfunction getSchemaTypeByName(name, schema) {\n return schema.nodes[name] || schema.marks[name] || null;\n}\n\n// src/helpers/getSplittedAttributes.ts\nfunction getSplittedAttributes(extensionAttributes, typeName, attributes) {\n return Object.fromEntries(\n Object.entries(attributes).filter(([name]) => {\n const extensionAttribute = extensionAttributes.find((item) => {\n return item.type === typeName && item.name === name;\n });\n if (!extensionAttribute) {\n return false;\n }\n return extensionAttribute.attribute.keepOnSplit;\n })\n );\n}\n\n// src/helpers/getTextContentFromNodes.ts\nvar getTextContentFromNodes = ($from, maxMatch = 500) => {\n let textBefore = \"\";\n const sliceEndPos = $from.parentOffset;\n $from.parent.nodesBetween(Math.max(0, sliceEndPos - maxMatch), sliceEndPos, (node, pos, parent, index) => {\n var _a, _b;\n const chunk = ((_b = (_a = node.type.spec).toText) == null ? void 0 : _b.call(_a, {\n node,\n pos,\n parent,\n index\n })) || node.textContent || \"%leaf%\";\n textBefore += node.isAtom && !node.isText ? chunk : chunk.slice(0, Math.max(0, sliceEndPos - pos));\n });\n return textBefore;\n};\n\n// src/helpers/isMarkActive.ts\nfunction isMarkActive(state, typeOrName, attributes = {}) {\n const { empty, ranges } = state.selection;\n const type = typeOrName ? getMarkType(typeOrName, state.schema) : null;\n if (empty) {\n return !!(state.storedMarks || state.selection.$from.marks()).filter((mark) => {\n if (!type) {\n return true;\n }\n return type.name === mark.type.name;\n }).find((mark) => objectIncludes(mark.attrs, attributes, { strict: false }));\n }\n let selectionRange = 0;\n const markRanges = [];\n ranges.forEach(({ $from, $to }) => {\n const from = $from.pos;\n const to = $to.pos;\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (!node.isText && !node.marks.length) {\n return;\n }\n const relativeFrom = Math.max(from, pos);\n const relativeTo = Math.min(to, pos + node.nodeSize);\n const range2 = relativeTo - relativeFrom;\n selectionRange += range2;\n markRanges.push(\n ...node.marks.map((mark) => ({\n mark,\n from: relativeFrom,\n to: relativeTo\n }))\n );\n });\n });\n if (selectionRange === 0) {\n return false;\n }\n const matchedRange = markRanges.filter((markRange) => {\n if (!type) {\n return true;\n }\n return type.name === markRange.mark.type.name;\n }).filter((markRange) => objectIncludes(markRange.mark.attrs, attributes, { strict: false })).reduce((sum, markRange) => sum + markRange.to - markRange.from, 0);\n const excludedRange = markRanges.filter((markRange) => {\n if (!type) {\n return true;\n }\n return markRange.mark.type !== type && markRange.mark.type.excludes(type);\n }).reduce((sum, markRange) => sum + markRange.to - markRange.from, 0);\n const range = matchedRange > 0 ? matchedRange + excludedRange : matchedRange;\n return range >= selectionRange;\n}\n\n// src/helpers/isActive.ts\nfunction isActive(state, name, attributes = {}) {\n if (!name) {\n return isNodeActive(state, null, attributes) || isMarkActive(state, null, attributes);\n }\n const schemaType = getSchemaTypeNameByName(name, state.schema);\n if (schemaType === \"node\") {\n return isNodeActive(state, name, attributes);\n }\n if (schemaType === \"mark\") {\n return isMarkActive(state, name, attributes);\n }\n return false;\n}\n\n// src/helpers/isAtEndOfNode.ts\nvar isAtEndOfNode = (state, nodeType) => {\n const { $from, $to, $anchor } = state.selection;\n if (nodeType) {\n const parentNode = findParentNode((node) => node.type.name === nodeType)(state.selection);\n if (!parentNode) {\n return false;\n }\n const $parentPos = state.doc.resolve(parentNode.pos + 1);\n if ($anchor.pos + 1 === $parentPos.end()) {\n return true;\n }\n return false;\n }\n if ($to.parentOffset < $to.parent.nodeSize - 2 || $from.pos !== $to.pos) {\n return false;\n }\n return true;\n};\n\n// src/helpers/isAtStartOfNode.ts\nvar isAtStartOfNode = (state) => {\n const { $from, $to } = state.selection;\n if ($from.parentOffset > 0 || $from.pos !== $to.pos) {\n return false;\n }\n return true;\n};\n\n// src/helpers/isExtensionRulesEnabled.ts\nfunction isExtensionRulesEnabled(extension, enabled) {\n if (Array.isArray(enabled)) {\n return enabled.some((enabledExtension) => {\n const name = typeof enabledExtension === \"string\" ? enabledExtension : enabledExtension.name;\n return name === extension.name;\n });\n }\n return enabled;\n}\n\n// src/helpers/isList.ts\nfunction isList(name, extensions) {\n const { nodeExtensions } = splitExtensions(extensions);\n const extension = nodeExtensions.find((item) => item.name === name);\n if (!extension) {\n return false;\n }\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage\n };\n const group = callOrReturn(getExtensionField(extension, \"group\", context));\n if (typeof group !== \"string\") {\n return false;\n }\n return group.split(\" \").includes(\"list\");\n}\n\n// src/helpers/isNodeEmpty.ts\nfunction isNodeEmpty(node, {\n checkChildren = true,\n ignoreWhitespace = false\n} = {}) {\n var _a;\n if (ignoreWhitespace) {\n if (node.type.name === \"hardBreak\") {\n return true;\n }\n if (node.isText) {\n return /^\\s*$/m.test((_a = node.text) != null ? _a : \"\");\n }\n }\n if (node.isText) {\n return !node.text;\n }\n if (node.isAtom || node.isLeaf) {\n return false;\n }\n if (node.content.childCount === 0) {\n return true;\n }\n if (checkChildren) {\n let isContentEmpty = true;\n node.content.forEach((childNode) => {\n if (isContentEmpty === false) {\n return;\n }\n if (!isNodeEmpty(childNode, { ignoreWhitespace, checkChildren })) {\n isContentEmpty = false;\n }\n });\n return isContentEmpty;\n }\n return false;\n}\n\n// src/helpers/isNodeSelection.ts\n\nfunction isNodeSelection(value) {\n return value instanceof _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.NodeSelection;\n}\n\n// src/helpers/MappablePosition.ts\nvar MappablePosition = class _MappablePosition {\n constructor(position) {\n this.position = position;\n }\n /**\n * Creates a MappablePosition from a JSON object.\n */\n static fromJSON(json) {\n return new _MappablePosition(json.position);\n }\n /**\n * Converts the MappablePosition to a JSON object.\n */\n toJSON() {\n return {\n position: this.position\n };\n }\n};\nfunction getUpdatedPosition(position, transaction) {\n const mapResult = transaction.mapping.mapResult(position.position);\n return {\n position: new MappablePosition(mapResult.pos),\n mapResult\n };\n}\nfunction createMappablePosition(position) {\n return new MappablePosition(position);\n}\n\n// src/helpers/posToDOMRect.ts\nfunction posToDOMRect(view, from, to) {\n const minPos = 0;\n const maxPos = view.state.doc.content.size;\n const resolvedFrom = minMax(from, minPos, maxPos);\n const resolvedEnd = minMax(to, minPos, maxPos);\n const start = view.coordsAtPos(resolvedFrom);\n const end = view.coordsAtPos(resolvedEnd, -1);\n const top = Math.min(start.top, end.top);\n const bottom = Math.max(start.bottom, end.bottom);\n const left = Math.min(start.left, end.left);\n const right = Math.max(start.right, end.right);\n const width = right - left;\n const height = bottom - top;\n const x = left;\n const y = top;\n const data = {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x,\n y\n };\n return {\n ...data,\n toJSON: () => data\n };\n}\n\n// src/helpers/rewriteUnknownContent.ts\nfunction rewriteUnknownContentInner({\n json,\n validMarks,\n validNodes,\n options,\n rewrittenContent = []\n}) {\n if (json.marks && Array.isArray(json.marks)) {\n json.marks = json.marks.filter((mark) => {\n const name = typeof mark === \"string\" ? mark : mark.type;\n if (validMarks.has(name)) {\n return true;\n }\n rewrittenContent.push({\n original: JSON.parse(JSON.stringify(mark)),\n unsupported: name\n });\n return false;\n });\n }\n if (json.content && Array.isArray(json.content)) {\n json.content = json.content.map(\n (value) => rewriteUnknownContentInner({\n json: value,\n validMarks,\n validNodes,\n options,\n rewrittenContent\n }).json\n ).filter((a) => a !== null && a !== void 0);\n }\n if (json.type && !validNodes.has(json.type)) {\n rewrittenContent.push({\n original: JSON.parse(JSON.stringify(json)),\n unsupported: json.type\n });\n if (json.content && Array.isArray(json.content) && (options == null ? void 0 : options.fallbackToParagraph) !== false) {\n json.type = \"paragraph\";\n return {\n json,\n rewrittenContent\n };\n }\n return {\n json: null,\n rewrittenContent\n };\n }\n return { json, rewrittenContent };\n}\nfunction rewriteUnknownContent(json, schema, options) {\n return rewriteUnknownContentInner({\n json,\n validNodes: new Set(Object.keys(schema.nodes)),\n validMarks: new Set(Object.keys(schema.marks)),\n options\n });\n}\n\n// src/commands/setMark.ts\nfunction canSetMark(state, tr, newMarkType) {\n var _a;\n const { selection } = tr;\n let cursor = null;\n if (isTextSelection(selection)) {\n cursor = selection.$cursor;\n }\n if (cursor) {\n const currentMarks = (_a = state.storedMarks) != null ? _a : cursor.marks();\n const parentAllowsMarkType = cursor.parent.type.allowsMarkType(newMarkType);\n return parentAllowsMarkType && (!!newMarkType.isInSet(currentMarks) || !currentMarks.some((mark) => mark.type.excludes(newMarkType)));\n }\n const { ranges } = selection;\n return ranges.some(({ $from, $to }) => {\n let someNodeSupportsMark = $from.depth === 0 ? state.doc.inlineContent && state.doc.type.allowsMarkType(newMarkType) : false;\n state.doc.nodesBetween($from.pos, $to.pos, (node, _pos, parent) => {\n if (someNodeSupportsMark) {\n return false;\n }\n if (node.isInline) {\n const parentAllowsMarkType = !parent || parent.type.allowsMarkType(newMarkType);\n const currentMarksAllowMarkType = !!newMarkType.isInSet(node.marks) || !node.marks.some((otherMark) => otherMark.type.excludes(newMarkType));\n someNodeSupportsMark = parentAllowsMarkType && currentMarksAllowMarkType;\n }\n return !someNodeSupportsMark;\n });\n return someNodeSupportsMark;\n });\n}\nvar setMark = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {\n const { selection } = tr;\n const { empty, ranges } = selection;\n const type = getMarkType(typeOrName, state.schema);\n if (dispatch) {\n if (empty) {\n const oldAttributes = getMarkAttributes(state, type);\n tr.addStoredMark(\n type.create({\n ...oldAttributes,\n ...attributes\n })\n );\n } else {\n ranges.forEach((range) => {\n const from = range.$from.pos;\n const to = range.$to.pos;\n state.doc.nodesBetween(from, to, (node, pos) => {\n const trimmedFrom = Math.max(pos, from);\n const trimmedTo = Math.min(pos + node.nodeSize, to);\n const someHasMark = node.marks.find((mark) => mark.type === type);\n if (someHasMark) {\n node.marks.forEach((mark) => {\n if (type === mark.type) {\n tr.addMark(\n trimmedFrom,\n trimmedTo,\n type.create({\n ...mark.attrs,\n ...attributes\n })\n );\n }\n });\n } else {\n tr.addMark(trimmedFrom, trimmedTo, type.create(attributes));\n }\n });\n });\n }\n }\n return canSetMark(state, tr, type);\n};\n\n// src/commands/setMeta.ts\nvar setMeta = (key, value) => ({ tr }) => {\n tr.setMeta(key, value);\n return true;\n};\n\n// src/commands/setNode.ts\n\nvar setNode = (typeOrName, attributes = {}) => ({ state, dispatch, chain }) => {\n const type = getNodeType(typeOrName, state.schema);\n let attributesToCopy;\n if (state.selection.$anchor.sameParent(state.selection.$head)) {\n attributesToCopy = state.selection.$anchor.parent.attrs;\n }\n if (!type.isTextblock) {\n console.warn('[tiptap warn]: Currently \"setNode()\" only supports text block nodes.');\n return false;\n }\n return chain().command(({ commands }) => {\n const canSetBlock = (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.setBlockType)(type, { ...attributesToCopy, ...attributes })(state);\n if (canSetBlock) {\n return true;\n }\n return commands.clearNodes();\n }).command(({ state: updatedState }) => {\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.setBlockType)(type, { ...attributesToCopy, ...attributes })(updatedState, dispatch);\n }).run();\n};\n\n// src/commands/setNodeSelection.ts\n\nvar setNodeSelection = (position) => ({ tr, dispatch }) => {\n if (dispatch) {\n const { doc } = tr;\n const from = minMax(position, 0, doc.content.size);\n const selection = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.NodeSelection.create(doc, from);\n tr.setSelection(selection);\n }\n return true;\n};\n\n// src/commands/setTextDirection.ts\nvar setTextDirection = (direction, position) => ({ tr, state, dispatch }) => {\n const { selection } = state;\n let from;\n let to;\n if (typeof position === \"number\") {\n from = position;\n to = position;\n } else if (position && \"from\" in position && \"to\" in position) {\n from = position.from;\n to = position.to;\n } else {\n from = selection.from;\n to = selection.to;\n }\n if (dispatch) {\n tr.doc.nodesBetween(from, to, (node, pos) => {\n if (node.isText) {\n return;\n }\n tr.setNodeMarkup(pos, void 0, {\n ...node.attrs,\n dir: direction\n });\n });\n }\n return true;\n};\n\n// src/commands/setTextSelection.ts\n\nvar setTextSelection = (position) => ({ tr, dispatch }) => {\n if (dispatch) {\n const { doc } = tr;\n const { from, to } = typeof position === \"number\" ? { from: position, to: position } : position;\n const minPos = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.TextSelection.atStart(doc).from;\n const maxPos = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.TextSelection.atEnd(doc).to;\n const resolvedFrom = minMax(from, minPos, maxPos);\n const resolvedEnd = minMax(to, minPos, maxPos);\n const selection = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.TextSelection.create(doc, resolvedFrom, resolvedEnd);\n tr.setSelection(selection);\n }\n return true;\n};\n\n// src/commands/sinkListItem.ts\n\nvar sinkListItem = (typeOrName) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n return (0,_tiptap_pm_schema_list__WEBPACK_IMPORTED_MODULE_4__.sinkListItem)(type)(state, dispatch);\n};\n\n// src/commands/splitBlock.ts\n\n\nfunction ensureMarks(state, splittableMarks) {\n const marks = state.storedMarks || state.selection.$to.parentOffset && state.selection.$from.marks();\n if (marks) {\n const filteredMarks = marks.filter((mark) => splittableMarks == null ? void 0 : splittableMarks.includes(mark.type.name));\n state.tr.ensureMarks(filteredMarks);\n }\n}\nvar splitBlock = ({ keepMarks = true } = {}) => ({ tr, state, dispatch, editor }) => {\n const { selection, doc } = tr;\n const { $from, $to } = selection;\n const extensionAttributes = editor.extensionManager.attributes;\n const newAttributes = getSplittedAttributes(extensionAttributes, $from.node().type.name, $from.node().attrs);\n if (selection instanceof _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.NodeSelection && selection.node.isBlock) {\n if (!$from.parentOffset || !(0,_tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.canSplit)(doc, $from.pos)) {\n return false;\n }\n if (dispatch) {\n if (keepMarks) {\n ensureMarks(state, editor.extensionManager.splittableMarks);\n }\n tr.split($from.pos).scrollIntoView();\n }\n return true;\n }\n if (!$from.parent.isBlock) {\n return false;\n }\n const atEnd = $to.parentOffset === $to.parent.content.size;\n const deflt = $from.depth === 0 ? void 0 : defaultBlockAt($from.node(-1).contentMatchAt($from.indexAfter(-1)));\n let types = atEnd && deflt ? [\n {\n type: deflt,\n attrs: newAttributes\n }\n ] : void 0;\n let can = (0,_tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.canSplit)(tr.doc, tr.mapping.map($from.pos), 1, types);\n if (!types && !can && (0,_tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.canSplit)(tr.doc, tr.mapping.map($from.pos), 1, deflt ? [{ type: deflt }] : void 0)) {\n can = true;\n types = deflt ? [\n {\n type: deflt,\n attrs: newAttributes\n }\n ] : void 0;\n }\n if (dispatch) {\n if (can) {\n if (selection instanceof _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.TextSelection) {\n tr.deleteSelection();\n }\n tr.split(tr.mapping.map($from.pos), 1, types);\n if (deflt && !atEnd && !$from.parentOffset && $from.parent.type !== deflt) {\n const first2 = tr.mapping.map($from.before());\n const $first = tr.doc.resolve(first2);\n if ($from.node(-1).canReplaceWith($first.index(), $first.index() + 1, deflt)) {\n tr.setNodeMarkup(tr.mapping.map($from.before()), deflt);\n }\n }\n }\n if (keepMarks) {\n ensureMarks(state, editor.extensionManager.splittableMarks);\n }\n tr.scrollIntoView();\n }\n return can;\n};\n\n// src/commands/splitListItem.ts\n\n\n\nvar splitListItem = (typeOrName, overrideAttrs = {}) => ({ tr, state, dispatch, editor }) => {\n var _a;\n const type = getNodeType(typeOrName, state.schema);\n const { $from, $to } = state.selection;\n const node = state.selection.node;\n if (node && node.isBlock || $from.depth < 2 || !$from.sameParent($to)) {\n return false;\n }\n const grandParent = $from.node(-1);\n if (grandParent.type !== type) {\n return false;\n }\n const extensionAttributes = editor.extensionManager.attributes;\n if ($from.parent.content.size === 0 && $from.node(-1).childCount === $from.indexAfter(-1)) {\n if ($from.depth === 2 || $from.node(-3).type !== type || $from.index(-2) !== $from.node(-2).childCount - 1) {\n return false;\n }\n if (dispatch) {\n let wrap = _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Fragment.empty;\n const depthBefore = $from.index(-1) ? 1 : $from.index(-2) ? 2 : 3;\n for (let d = $from.depth - depthBefore; d >= $from.depth - 3; d -= 1) {\n wrap = _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Fragment.from($from.node(d).copy(wrap));\n }\n const depthAfter = (\n // eslint-disable-next-line no-nested-ternary\n $from.indexAfter(-1) < $from.node(-2).childCount ? 1 : $from.indexAfter(-2) < $from.node(-3).childCount ? 2 : 3\n );\n const newNextTypeAttributes2 = {\n ...getSplittedAttributes(extensionAttributes, $from.node().type.name, $from.node().attrs),\n ...overrideAttrs\n };\n const nextType2 = ((_a = type.contentMatch.defaultType) == null ? void 0 : _a.createAndFill(newNextTypeAttributes2)) || void 0;\n wrap = wrap.append(_tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Fragment.from(type.createAndFill(null, nextType2) || void 0));\n const start = $from.before($from.depth - (depthBefore - 1));\n tr.replace(start, $from.after(-depthAfter), new _tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Slice(wrap, 4 - depthBefore, 0));\n let sel = -1;\n tr.doc.nodesBetween(start, tr.doc.content.size, (n, pos) => {\n if (sel > -1) {\n return false;\n }\n if (n.isTextblock && n.content.size === 0) {\n sel = pos + 1;\n }\n });\n if (sel > -1) {\n tr.setSelection(_tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.TextSelection.near(tr.doc.resolve(sel)));\n }\n tr.scrollIntoView();\n }\n return true;\n }\n const nextType = $to.pos === $from.end() ? grandParent.contentMatchAt(0).defaultType : null;\n const newTypeAttributes = {\n ...getSplittedAttributes(extensionAttributes, grandParent.type.name, grandParent.attrs),\n ...overrideAttrs\n };\n const newNextTypeAttributes = {\n ...getSplittedAttributes(extensionAttributes, $from.node().type.name, $from.node().attrs),\n ...overrideAttrs\n };\n tr.delete($from.pos, $to.pos);\n const types = nextType ? [\n { type, attrs: newTypeAttributes },\n { type: nextType, attrs: newNextTypeAttributes }\n ] : [{ type, attrs: newTypeAttributes }];\n if (!(0,_tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.canSplit)(tr.doc, $from.pos, 2)) {\n return false;\n }\n if (dispatch) {\n const { selection, storedMarks } = state;\n const { splittableMarks } = editor.extensionManager;\n const marks = storedMarks || selection.$to.parentOffset && selection.$from.marks();\n tr.split($from.pos, 2, types).scrollIntoView();\n if (!marks || !dispatch) {\n return true;\n }\n const filteredMarks = marks.filter((mark) => splittableMarks.includes(mark.type.name));\n tr.ensureMarks(filteredMarks);\n }\n return true;\n};\n\n// src/commands/toggleList.ts\n\nvar joinListBackwards = (tr, listType) => {\n const list = findParentNode((node) => node.type === listType)(tr.selection);\n if (!list) {\n return true;\n }\n const before = tr.doc.resolve(Math.max(0, list.pos - 1)).before(list.depth);\n if (before === void 0) {\n return true;\n }\n const nodeBefore = tr.doc.nodeAt(before);\n const canJoinBackwards = list.node.type === (nodeBefore == null ? void 0 : nodeBefore.type) && (0,_tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.canJoin)(tr.doc, list.pos);\n if (!canJoinBackwards) {\n return true;\n }\n tr.join(list.pos);\n return true;\n};\nvar joinListForwards = (tr, listType) => {\n const list = findParentNode((node) => node.type === listType)(tr.selection);\n if (!list) {\n return true;\n }\n const after = tr.doc.resolve(list.start).after(list.depth);\n if (after === void 0) {\n return true;\n }\n const nodeAfter = tr.doc.nodeAt(after);\n const canJoinForwards = list.node.type === (nodeAfter == null ? void 0 : nodeAfter.type) && (0,_tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.canJoin)(tr.doc, after);\n if (!canJoinForwards) {\n return true;\n }\n tr.join(after);\n return true;\n};\nvar toggleList = (listTypeOrName, itemTypeOrName, keepMarks, attributes = {}) => ({ editor, tr, state, dispatch, chain, commands, can }) => {\n const { extensions, splittableMarks } = editor.extensionManager;\n const listType = getNodeType(listTypeOrName, state.schema);\n const itemType = getNodeType(itemTypeOrName, state.schema);\n const { selection, storedMarks } = state;\n const { $from, $to } = selection;\n const range = $from.blockRange($to);\n const marks = storedMarks || selection.$to.parentOffset && selection.$from.marks();\n if (!range) {\n return false;\n }\n const parentList = findParentNode((node) => isList(node.type.name, extensions))(selection);\n if (range.depth >= 1 && parentList && range.depth - parentList.depth <= 1) {\n if (parentList.node.type === listType) {\n return commands.liftListItem(itemType);\n }\n if (isList(parentList.node.type.name, extensions) && listType.validContent(parentList.node.content) && dispatch) {\n return chain().command(() => {\n tr.setNodeMarkup(parentList.pos, listType);\n return true;\n }).command(() => joinListBackwards(tr, listType)).command(() => joinListForwards(tr, listType)).run();\n }\n }\n if (!keepMarks || !marks || !dispatch) {\n return chain().command(() => {\n const canWrapInList = can().wrapInList(listType, attributes);\n if (canWrapInList) {\n return true;\n }\n return commands.clearNodes();\n }).wrapInList(listType, attributes).command(() => joinListBackwards(tr, listType)).command(() => joinListForwards(tr, listType)).run();\n }\n return chain().command(() => {\n const canWrapInList = can().wrapInList(listType, attributes);\n const filteredMarks = marks.filter((mark) => splittableMarks.includes(mark.type.name));\n tr.ensureMarks(filteredMarks);\n if (canWrapInList) {\n return true;\n }\n return commands.clearNodes();\n }).wrapInList(listType, attributes).command(() => joinListBackwards(tr, listType)).command(() => joinListForwards(tr, listType)).run();\n};\n\n// src/commands/toggleMark.ts\nvar toggleMark = (typeOrName, attributes = {}, options = {}) => ({ state, commands }) => {\n const { extendEmptyMarkRange = false } = options;\n const type = getMarkType(typeOrName, state.schema);\n const isActive2 = isMarkActive(state, type, attributes);\n if (isActive2) {\n return commands.unsetMark(type, { extendEmptyMarkRange });\n }\n return commands.setMark(type, attributes);\n};\n\n// src/commands/toggleNode.ts\nvar toggleNode = (typeOrName, toggleTypeOrName, attributes = {}) => ({ state, commands }) => {\n const type = getNodeType(typeOrName, state.schema);\n const toggleType = getNodeType(toggleTypeOrName, state.schema);\n const isActive2 = isNodeActive(state, type, attributes);\n let attributesToCopy;\n if (state.selection.$anchor.sameParent(state.selection.$head)) {\n attributesToCopy = state.selection.$anchor.parent.attrs;\n }\n if (isActive2) {\n return commands.setNode(toggleType, attributesToCopy);\n }\n return commands.setNode(type, { ...attributesToCopy, ...attributes });\n};\n\n// src/commands/toggleWrap.ts\nvar toggleWrap = (typeOrName, attributes = {}) => ({ state, commands }) => {\n const type = getNodeType(typeOrName, state.schema);\n const isActive2 = isNodeActive(state, type, attributes);\n if (isActive2) {\n return commands.lift(type);\n }\n return commands.wrapIn(type, attributes);\n};\n\n// src/commands/undoInputRule.ts\nvar undoInputRule = () => ({ state, dispatch }) => {\n const plugins = state.plugins;\n for (let i = 0; i < plugins.length; i += 1) {\n const plugin = plugins[i];\n let undoable;\n if (plugin.spec.isInputRules && (undoable = plugin.getState(state))) {\n if (dispatch) {\n const tr = state.tr;\n const toUndo = undoable.transform;\n for (let j = toUndo.steps.length - 1; j >= 0; j -= 1) {\n tr.step(toUndo.steps[j].invert(toUndo.docs[j]));\n }\n if (undoable.text) {\n const marks = tr.doc.resolve(undoable.from).marks();\n tr.replaceWith(undoable.from, undoable.to, state.schema.text(undoable.text, marks));\n } else {\n tr.delete(undoable.from, undoable.to);\n }\n }\n return true;\n }\n }\n return false;\n};\n\n// src/commands/unsetAllMarks.ts\nvar unsetAllMarks = () => ({ tr, dispatch }) => {\n const { selection } = tr;\n const { empty, ranges } = selection;\n if (empty) {\n return true;\n }\n if (dispatch) {\n ranges.forEach((range) => {\n tr.removeMark(range.$from.pos, range.$to.pos);\n });\n }\n return true;\n};\n\n// src/commands/unsetMark.ts\nvar unsetMark = (typeOrName, options = {}) => ({ tr, state, dispatch }) => {\n var _a;\n const { extendEmptyMarkRange = false } = options;\n const { selection } = tr;\n const type = getMarkType(typeOrName, state.schema);\n const { $from, empty, ranges } = selection;\n if (!dispatch) {\n return true;\n }\n if (empty && extendEmptyMarkRange) {\n let { from, to } = selection;\n const attrs = (_a = $from.marks().find((mark) => mark.type === type)) == null ? void 0 : _a.attrs;\n const range = getMarkRange($from, type, attrs);\n if (range) {\n from = range.from;\n to = range.to;\n }\n tr.removeMark(from, to, type);\n } else {\n ranges.forEach((range) => {\n tr.removeMark(range.$from.pos, range.$to.pos, type);\n });\n }\n tr.removeStoredMark(type);\n return true;\n};\n\n// src/commands/unsetTextDirection.ts\nvar unsetTextDirection = (position) => ({ tr, state, dispatch }) => {\n const { selection } = state;\n let from;\n let to;\n if (typeof position === \"number\") {\n from = position;\n to = position;\n } else if (position && \"from\" in position && \"to\" in position) {\n from = position.from;\n to = position.to;\n } else {\n from = selection.from;\n to = selection.to;\n }\n if (dispatch) {\n tr.doc.nodesBetween(from, to, (node, pos) => {\n if (node.isText) {\n return;\n }\n const newAttrs = { ...node.attrs };\n delete newAttrs.dir;\n tr.setNodeMarkup(pos, void 0, newAttrs);\n });\n }\n return true;\n};\n\n// src/commands/updateAttributes.ts\nvar updateAttributes = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {\n let nodeType = null;\n let markType = null;\n const schemaType = getSchemaTypeNameByName(\n typeof typeOrName === \"string\" ? typeOrName : typeOrName.name,\n state.schema\n );\n if (!schemaType) {\n return false;\n }\n if (schemaType === \"node\") {\n nodeType = getNodeType(typeOrName, state.schema);\n }\n if (schemaType === \"mark\") {\n markType = getMarkType(typeOrName, state.schema);\n }\n let canUpdate = false;\n tr.selection.ranges.forEach((range) => {\n const from = range.$from.pos;\n const to = range.$to.pos;\n let lastPos;\n let lastNode;\n let trimmedFrom;\n let trimmedTo;\n if (tr.selection.empty) {\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (nodeType && nodeType === node.type) {\n canUpdate = true;\n trimmedFrom = Math.max(pos, from);\n trimmedTo = Math.min(pos + node.nodeSize, to);\n lastPos = pos;\n lastNode = node;\n }\n });\n } else {\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (pos < from && nodeType && nodeType === node.type) {\n canUpdate = true;\n trimmedFrom = Math.max(pos, from);\n trimmedTo = Math.min(pos + node.nodeSize, to);\n lastPos = pos;\n lastNode = node;\n }\n if (pos >= from && pos <= to) {\n if (nodeType && nodeType === node.type) {\n canUpdate = true;\n if (dispatch) {\n tr.setNodeMarkup(pos, void 0, {\n ...node.attrs,\n ...attributes\n });\n }\n }\n if (markType && node.marks.length) {\n node.marks.forEach((mark) => {\n if (markType === mark.type) {\n canUpdate = true;\n if (dispatch) {\n const trimmedFrom2 = Math.max(pos, from);\n const trimmedTo2 = Math.min(pos + node.nodeSize, to);\n tr.addMark(\n trimmedFrom2,\n trimmedTo2,\n markType.create({\n ...mark.attrs,\n ...attributes\n })\n );\n }\n }\n });\n }\n }\n });\n }\n if (lastNode) {\n if (lastPos !== void 0 && dispatch) {\n tr.setNodeMarkup(lastPos, void 0, {\n ...lastNode.attrs,\n ...attributes\n });\n }\n if (markType && lastNode.marks.length) {\n lastNode.marks.forEach((mark) => {\n if (markType === mark.type && dispatch) {\n tr.addMark(\n trimmedFrom,\n trimmedTo,\n markType.create({\n ...mark.attrs,\n ...attributes\n })\n );\n }\n });\n }\n }\n });\n return canUpdate;\n};\n\n// src/commands/wrapIn.ts\n\nvar wrapIn = (typeOrName, attributes = {}) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n return (0,_tiptap_pm_commands__WEBPACK_IMPORTED_MODULE_1__.wrapIn)(type, attributes)(state, dispatch);\n};\n\n// src/commands/wrapInList.ts\n\nvar wrapInList = (typeOrName, attributes = {}) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema);\n return (0,_tiptap_pm_schema_list__WEBPACK_IMPORTED_MODULE_4__.wrapInList)(type, attributes)(state, dispatch);\n};\n\n// src/Editor.ts\n\n\n\n// src/EventEmitter.ts\nvar EventEmitter = class {\n constructor() {\n this.callbacks = {};\n }\n on(event, fn) {\n if (!this.callbacks[event]) {\n this.callbacks[event] = [];\n }\n this.callbacks[event].push(fn);\n return this;\n }\n emit(event, ...args) {\n const callbacks = this.callbacks[event];\n if (callbacks) {\n callbacks.forEach((callback) => callback.apply(this, args));\n }\n return this;\n }\n off(event, fn) {\n const callbacks = this.callbacks[event];\n if (callbacks) {\n if (fn) {\n this.callbacks[event] = callbacks.filter((callback) => callback !== fn);\n } else {\n delete this.callbacks[event];\n }\n }\n return this;\n }\n once(event, fn) {\n const onceFn = (...args) => {\n this.off(event, onceFn);\n fn.apply(this, args);\n };\n return this.on(event, onceFn);\n }\n removeAllListeners() {\n this.callbacks = {};\n }\n};\n\n// src/ExtensionManager.ts\n\n\n// src/InputRule.ts\n\n\nvar InputRule = class {\n constructor(config) {\n var _a;\n this.find = config.find;\n this.handler = config.handler;\n this.undoable = (_a = config.undoable) != null ? _a : true;\n }\n};\nvar inputRuleMatcherHandler = (text, find) => {\n if (isRegExp(find)) {\n return find.exec(text);\n }\n const inputRuleMatch = find(text);\n if (!inputRuleMatch) {\n return null;\n }\n const result = [inputRuleMatch.text];\n result.index = inputRuleMatch.index;\n result.input = text;\n result.data = inputRuleMatch.data;\n if (inputRuleMatch.replaceWith) {\n if (!inputRuleMatch.text.includes(inputRuleMatch.replaceWith)) {\n console.warn('[tiptap warn]: \"inputRuleMatch.replaceWith\" must be part of \"inputRuleMatch.text\".');\n }\n result.push(inputRuleMatch.replaceWith);\n }\n return result;\n};\nfunction run(config) {\n var _a;\n const { editor, from, to, text, rules, plugin } = config;\n const { view } = editor;\n if (view.composing) {\n return false;\n }\n const $from = view.state.doc.resolve(from);\n if (\n // check for code node\n $from.parent.type.spec.code || // check for code mark\n !!((_a = $from.nodeBefore || $from.nodeAfter) == null ? void 0 : _a.marks.find((mark) => mark.type.spec.code))\n ) {\n return false;\n }\n let matched = false;\n const textBefore = getTextContentFromNodes($from) + text;\n rules.forEach((rule) => {\n if (matched) {\n return;\n }\n const match = inputRuleMatcherHandler(textBefore, rule.find);\n if (!match) {\n return;\n }\n const tr = view.state.tr;\n const state = createChainableState({\n state: view.state,\n transaction: tr\n });\n const range = {\n from: from - (match[0].length - text.length),\n to\n };\n const { commands, chain, can } = new CommandManager({\n editor,\n state\n });\n const handler = rule.handler({\n state,\n range,\n match,\n commands,\n chain,\n can\n });\n if (handler === null || !tr.steps.length) {\n return;\n }\n if (rule.undoable) {\n tr.setMeta(plugin, {\n transform: tr,\n from,\n to,\n text\n });\n }\n view.dispatch(tr);\n matched = true;\n });\n return matched;\n}\nfunction inputRulesPlugin(props) {\n const { editor, rules } = props;\n const plugin = new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Plugin({\n state: {\n init() {\n return null;\n },\n apply(tr, prev, state) {\n const stored = tr.getMeta(plugin);\n if (stored) {\n return stored;\n }\n const simulatedInputMeta = tr.getMeta(\"applyInputRules\");\n const isSimulatedInput = !!simulatedInputMeta;\n if (isSimulatedInput) {\n setTimeout(() => {\n let { text } = simulatedInputMeta;\n if (typeof text === \"string\") {\n text = text;\n } else {\n text = getHTMLFromFragment(_tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Fragment.from(text), state.schema);\n }\n const { from } = simulatedInputMeta;\n const to = from + text.length;\n run({\n editor,\n from,\n to,\n text,\n rules,\n plugin\n });\n });\n }\n return tr.selectionSet || tr.docChanged ? null : prev;\n }\n },\n props: {\n handleTextInput(view, from, to, text) {\n return run({\n editor,\n from,\n to,\n text,\n rules,\n plugin\n });\n },\n handleDOMEvents: {\n compositionend: (view) => {\n setTimeout(() => {\n const { $cursor } = view.state.selection;\n if ($cursor) {\n run({\n editor,\n from: $cursor.pos,\n to: $cursor.pos,\n text: \"\",\n rules,\n plugin\n });\n }\n });\n return false;\n }\n },\n // add support for input rules to trigger on enter\n // this is useful for example for code blocks\n handleKeyDown(view, event) {\n if (event.key !== \"Enter\") {\n return false;\n }\n const { $cursor } = view.state.selection;\n if ($cursor) {\n return run({\n editor,\n from: $cursor.pos,\n to: $cursor.pos,\n text: \"\\n\",\n rules,\n plugin\n });\n }\n return false;\n }\n },\n // @ts-ignore\n isInputRules: true\n });\n return plugin;\n}\n\n// src/utilities/isPlainObject.ts\nfunction getType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n}\nfunction isPlainObject(value) {\n if (getType(value) !== \"Object\") {\n return false;\n }\n return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;\n}\n\n// src/utilities/mergeDeep.ts\nfunction mergeDeep(target, source) {\n const output = { ...target };\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach((key) => {\n if (isPlainObject(source[key]) && isPlainObject(target[key])) {\n output[key] = mergeDeep(target[key], source[key]);\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}\n\n// src/Extendable.ts\nvar Extendable = class {\n constructor(config = {}) {\n this.type = \"extendable\";\n this.parent = null;\n this.child = null;\n this.name = \"\";\n this.config = {\n name: this.name\n };\n this.config = {\n ...this.config,\n ...config\n };\n this.name = this.config.name;\n }\n get options() {\n return {\n ...callOrReturn(\n getExtensionField(this, \"addOptions\", {\n name: this.name\n })\n ) || {}\n };\n }\n get storage() {\n return {\n ...callOrReturn(\n getExtensionField(this, \"addStorage\", {\n name: this.name,\n options: this.options\n })\n ) || {}\n };\n }\n configure(options = {}) {\n const extension = this.extend({\n ...this.config,\n addOptions: () => {\n return mergeDeep(this.options, options);\n }\n });\n extension.name = this.name;\n extension.parent = this.parent;\n return extension;\n }\n extend(extendedConfig = {}) {\n const extension = new this.constructor({ ...this.config, ...extendedConfig });\n extension.parent = this;\n this.child = extension;\n extension.name = \"name\" in extendedConfig ? extendedConfig.name : extension.parent.name;\n return extension;\n }\n};\n\n// src/Mark.ts\nvar Mark = class _Mark extends Extendable {\n constructor() {\n super(...arguments);\n this.type = \"mark\";\n }\n /**\n * Create a new Mark instance\n * @param config - Mark configuration object or a function that returns a configuration object\n */\n static create(config = {}) {\n const resolvedConfig = typeof config === \"function\" ? config() : config;\n return new _Mark(resolvedConfig);\n }\n static handleExit({ editor, mark }) {\n const { tr } = editor.state;\n const currentPos = editor.state.selection.$from;\n const isAtEnd = currentPos.pos === currentPos.end();\n if (isAtEnd) {\n const currentMarks = currentPos.marks();\n const isInMark = !!currentMarks.find((m) => (m == null ? void 0 : m.type.name) === mark.name);\n if (!isInMark) {\n return false;\n }\n const removeMark = currentMarks.find((m) => (m == null ? void 0 : m.type.name) === mark.name);\n if (removeMark) {\n tr.removeStoredMark(removeMark);\n }\n tr.insertText(\" \", currentPos.pos);\n editor.view.dispatch(tr);\n return true;\n }\n return false;\n }\n configure(options) {\n return super.configure(options);\n }\n extend(extendedConfig) {\n const resolvedConfig = typeof extendedConfig === \"function\" ? extendedConfig() : extendedConfig;\n return super.extend(resolvedConfig);\n }\n};\n\n// src/PasteRule.ts\n\n\n\n// src/utilities/isNumber.ts\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\n\n// src/PasteRule.ts\nvar PasteRule = class {\n constructor(config) {\n this.find = config.find;\n this.handler = config.handler;\n }\n};\nvar pasteRuleMatcherHandler = (text, find, event) => {\n if (isRegExp(find)) {\n return [...text.matchAll(find)];\n }\n const matches = find(text, event);\n if (!matches) {\n return [];\n }\n return matches.map((pasteRuleMatch) => {\n const result = [pasteRuleMatch.text];\n result.index = pasteRuleMatch.index;\n result.input = text;\n result.data = pasteRuleMatch.data;\n if (pasteRuleMatch.replaceWith) {\n if (!pasteRuleMatch.text.includes(pasteRuleMatch.replaceWith)) {\n console.warn('[tiptap warn]: \"pasteRuleMatch.replaceWith\" must be part of \"pasteRuleMatch.text\".');\n }\n result.push(pasteRuleMatch.replaceWith);\n }\n return result;\n });\n};\nfunction run2(config) {\n const { editor, state, from, to, rule, pasteEvent, dropEvent } = config;\n const { commands, chain, can } = new CommandManager({\n editor,\n state\n });\n const handlers = [];\n state.doc.nodesBetween(from, to, (node, pos) => {\n var _a, _b, _c, _d, _e;\n if (((_b = (_a = node.type) == null ? void 0 : _a.spec) == null ? void 0 : _b.code) || !(node.isText || node.isTextblock || node.isInline)) {\n return;\n }\n const contentSize = (_e = (_d = (_c = node.content) == null ? void 0 : _c.size) != null ? _d : node.nodeSize) != null ? _e : 0;\n const resolvedFrom = Math.max(from, pos);\n const resolvedTo = Math.min(to, pos + contentSize);\n if (resolvedFrom >= resolvedTo) {\n return;\n }\n const textToMatch = node.isText ? node.text || \"\" : node.textBetween(resolvedFrom - pos, resolvedTo - pos, void 0, \"\\uFFFC\");\n const matches = pasteRuleMatcherHandler(textToMatch, rule.find, pasteEvent);\n matches.forEach((match) => {\n if (match.index === void 0) {\n return;\n }\n const start = resolvedFrom + match.index + 1;\n const end = start + match[0].length;\n const range = {\n from: state.tr.mapping.map(start),\n to: state.tr.mapping.map(end)\n };\n const handler = rule.handler({\n state,\n range,\n match,\n commands,\n chain,\n can,\n pasteEvent,\n dropEvent\n });\n handlers.push(handler);\n });\n });\n const success = handlers.every((handler) => handler !== null);\n return success;\n}\nvar tiptapDragFromOtherEditor = null;\nvar createClipboardPasteEvent = (text) => {\n var _a;\n const event = new ClipboardEvent(\"paste\", {\n clipboardData: new DataTransfer()\n });\n (_a = event.clipboardData) == null ? void 0 : _a.setData(\"text/html\", text);\n return event;\n};\nfunction pasteRulesPlugin(props) {\n const { editor, rules } = props;\n let dragSourceElement = null;\n let isPastedFromProseMirror = false;\n let isDroppedFromProseMirror = false;\n let pasteEvent = typeof ClipboardEvent !== \"undefined\" ? new ClipboardEvent(\"paste\") : null;\n let dropEvent;\n try {\n dropEvent = typeof DragEvent !== \"undefined\" ? new DragEvent(\"drop\") : null;\n } catch {\n dropEvent = null;\n }\n const processEvent = ({\n state,\n from,\n to,\n rule,\n pasteEvt\n }) => {\n const tr = state.tr;\n const chainableState = createChainableState({\n state,\n transaction: tr\n });\n const handler = run2({\n editor,\n state: chainableState,\n from: Math.max(from - 1, 0),\n to: to.b - 1,\n rule,\n pasteEvent: pasteEvt,\n dropEvent\n });\n if (!handler || !tr.steps.length) {\n return;\n }\n try {\n dropEvent = typeof DragEvent !== \"undefined\" ? new DragEvent(\"drop\") : null;\n } catch {\n dropEvent = null;\n }\n pasteEvent = typeof ClipboardEvent !== \"undefined\" ? new ClipboardEvent(\"paste\") : null;\n return tr;\n };\n const plugins = rules.map((rule) => {\n return new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Plugin({\n // we register a global drag handler to track the current drag source element\n view(view) {\n const handleDragstart = (event) => {\n var _a;\n dragSourceElement = ((_a = view.dom.parentElement) == null ? void 0 : _a.contains(event.target)) ? view.dom.parentElement : null;\n if (dragSourceElement) {\n tiptapDragFromOtherEditor = editor;\n }\n };\n const handleDragend = () => {\n if (tiptapDragFromOtherEditor) {\n tiptapDragFromOtherEditor = null;\n }\n };\n window.addEventListener(\"dragstart\", handleDragstart);\n window.addEventListener(\"dragend\", handleDragend);\n return {\n destroy() {\n window.removeEventListener(\"dragstart\", handleDragstart);\n window.removeEventListener(\"dragend\", handleDragend);\n }\n };\n },\n props: {\n handleDOMEvents: {\n drop: (view, event) => {\n isDroppedFromProseMirror = dragSourceElement === view.dom.parentElement;\n dropEvent = event;\n if (!isDroppedFromProseMirror) {\n const dragFromOtherEditor = tiptapDragFromOtherEditor;\n if (dragFromOtherEditor == null ? void 0 : dragFromOtherEditor.isEditable) {\n setTimeout(() => {\n const selection = dragFromOtherEditor.state.selection;\n if (selection) {\n dragFromOtherEditor.commands.deleteRange({ from: selection.from, to: selection.to });\n }\n }, 10);\n }\n }\n return false;\n },\n paste: (_view, event) => {\n var _a;\n const html = (_a = event.clipboardData) == null ? void 0 : _a.getData(\"text/html\");\n pasteEvent = event;\n isPastedFromProseMirror = !!(html == null ? void 0 : html.includes(\"data-pm-slice\"));\n return false;\n }\n }\n },\n appendTransaction: (transactions, oldState, state) => {\n const transaction = transactions[0];\n const isPaste = transaction.getMeta(\"uiEvent\") === \"paste\" && !isPastedFromProseMirror;\n const isDrop = transaction.getMeta(\"uiEvent\") === \"drop\" && !isDroppedFromProseMirror;\n const simulatedPasteMeta = transaction.getMeta(\"applyPasteRules\");\n const isSimulatedPaste = !!simulatedPasteMeta;\n if (!isPaste && !isDrop && !isSimulatedPaste) {\n return;\n }\n if (isSimulatedPaste) {\n let { text } = simulatedPasteMeta;\n if (typeof text === \"string\") {\n text = text;\n } else {\n text = getHTMLFromFragment(_tiptap_pm_model__WEBPACK_IMPORTED_MODULE_3__.Fragment.from(text), state.schema);\n }\n const { from: from2 } = simulatedPasteMeta;\n const to2 = from2 + text.length;\n const pasteEvt = createClipboardPasteEvent(text);\n return processEvent({\n rule,\n state,\n from: from2,\n to: { b: to2 },\n pasteEvt\n });\n }\n const from = oldState.doc.content.findDiffStart(state.doc.content);\n const to = oldState.doc.content.findDiffEnd(state.doc.content);\n if (!isNumber(from) || !to || from === to.b) {\n return;\n }\n return processEvent({\n rule,\n state,\n from,\n to,\n pasteEvt: pasteEvent\n });\n }\n });\n });\n return plugins;\n}\n\n// src/ExtensionManager.ts\nvar ExtensionManager = class {\n constructor(extensions, editor) {\n this.splittableMarks = [];\n this.editor = editor;\n this.baseExtensions = extensions;\n this.extensions = resolveExtensions(extensions);\n this.schema = getSchemaByResolvedExtensions(this.extensions, editor);\n this.setupExtensions();\n }\n /**\n * Get all commands from the extensions.\n * @returns An object with all commands where the key is the command name and the value is the command function\n */\n get commands() {\n return this.extensions.reduce((commands, extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor: this.editor,\n type: getSchemaTypeByName(extension.name, this.schema)\n };\n const addCommands = getExtensionField(extension, \"addCommands\", context);\n if (!addCommands) {\n return commands;\n }\n return {\n ...commands,\n ...addCommands()\n };\n }, {});\n }\n /**\n * Get all registered Prosemirror plugins from the extensions.\n * @returns An array of Prosemirror plugins\n */\n get plugins() {\n const { editor } = this;\n const extensions = sortExtensions([...this.extensions].reverse());\n const allPlugins = extensions.flatMap((extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor,\n type: getSchemaTypeByName(extension.name, this.schema)\n };\n const plugins = [];\n const addKeyboardShortcuts = getExtensionField(\n extension,\n \"addKeyboardShortcuts\",\n context\n );\n let defaultBindings = {};\n if (extension.type === \"mark\" && getExtensionField(extension, \"exitable\", context)) {\n defaultBindings.ArrowRight = () => Mark.handleExit({ editor, mark: extension });\n }\n if (addKeyboardShortcuts) {\n const bindings = Object.fromEntries(\n Object.entries(addKeyboardShortcuts()).map(([shortcut, method]) => {\n return [shortcut, () => method({ editor })];\n })\n );\n defaultBindings = { ...defaultBindings, ...bindings };\n }\n const keyMapPlugin = (0,_tiptap_pm_keymap__WEBPACK_IMPORTED_MODULE_6__.keymap)(defaultBindings);\n plugins.push(keyMapPlugin);\n const addInputRules = getExtensionField(extension, \"addInputRules\", context);\n if (isExtensionRulesEnabled(extension, editor.options.enableInputRules) && addInputRules) {\n const rules = addInputRules();\n if (rules && rules.length) {\n const inputResult = inputRulesPlugin({\n editor,\n rules\n });\n const inputPlugins = Array.isArray(inputResult) ? inputResult : [inputResult];\n plugins.push(...inputPlugins);\n }\n }\n const addPasteRules = getExtensionField(extension, \"addPasteRules\", context);\n if (isExtensionRulesEnabled(extension, editor.options.enablePasteRules) && addPasteRules) {\n const rules = addPasteRules();\n if (rules && rules.length) {\n const pasteRules = pasteRulesPlugin({ editor, rules });\n plugins.push(...pasteRules);\n }\n }\n const addProseMirrorPlugins = getExtensionField(\n extension,\n \"addProseMirrorPlugins\",\n context\n );\n if (addProseMirrorPlugins) {\n const proseMirrorPlugins = addProseMirrorPlugins();\n plugins.push(...proseMirrorPlugins);\n }\n return plugins;\n });\n return allPlugins;\n }\n /**\n * Get all attributes from the extensions.\n * @returns An array of attributes\n */\n get attributes() {\n return getAttributesFromExtensions(this.extensions);\n }\n /**\n * Get all node views from the extensions.\n * @returns An object with all node views where the key is the node name and the value is the node view function\n */\n get nodeViews() {\n const { editor } = this;\n const { nodeExtensions } = splitExtensions(this.extensions);\n return Object.fromEntries(\n nodeExtensions.filter((extension) => !!getExtensionField(extension, \"addNodeView\")).map((extension) => {\n const extensionAttributes = this.attributes.filter((attribute) => attribute.type === extension.name);\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor,\n type: getNodeType(extension.name, this.schema)\n };\n const addNodeView = getExtensionField(extension, \"addNodeView\", context);\n if (!addNodeView) {\n return [];\n }\n const nodeViewResult = addNodeView();\n if (!nodeViewResult) {\n return [];\n }\n const nodeview = (node, view, getPos, decorations, innerDecorations) => {\n const HTMLAttributes = getRenderedAttributes(node, extensionAttributes);\n return nodeViewResult({\n // pass-through\n node,\n view,\n getPos,\n decorations,\n innerDecorations,\n // tiptap-specific\n editor,\n extension,\n HTMLAttributes\n });\n };\n return [extension.name, nodeview];\n })\n );\n }\n /**\n * Get the composed dispatchTransaction function from all extensions.\n * @param baseDispatch The base dispatch function (e.g. from the editor or user props)\n * @returns A composed dispatch function\n */\n dispatchTransaction(baseDispatch) {\n const { editor } = this;\n const extensions = sortExtensions([...this.extensions].reverse());\n return extensions.reduceRight((next, extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor,\n type: getSchemaTypeByName(extension.name, this.schema)\n };\n const dispatchTransaction = getExtensionField(\n extension,\n \"dispatchTransaction\",\n context\n );\n if (!dispatchTransaction) {\n return next;\n }\n return (transaction) => {\n dispatchTransaction.call(context, { transaction, next });\n };\n }, baseDispatch);\n }\n get markViews() {\n const { editor } = this;\n const { markExtensions } = splitExtensions(this.extensions);\n return Object.fromEntries(\n markExtensions.filter((extension) => !!getExtensionField(extension, \"addMarkView\")).map((extension) => {\n const extensionAttributes = this.attributes.filter((attribute) => attribute.type === extension.name);\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor,\n type: getMarkType(extension.name, this.schema)\n };\n const addMarkView = getExtensionField(extension, \"addMarkView\", context);\n if (!addMarkView) {\n return [];\n }\n const markView = (mark, view, inline) => {\n const HTMLAttributes = getRenderedAttributes(mark, extensionAttributes);\n return addMarkView()({\n // pass-through\n mark,\n view,\n inline,\n // tiptap-specific\n editor,\n extension,\n HTMLAttributes,\n updateAttributes: (attrs) => {\n updateMarkViewAttributes(mark, editor, attrs);\n }\n });\n };\n return [extension.name, markView];\n })\n );\n }\n /**\n * Go through all extensions, create extension storages & setup marks\n * & bind editor event listener.\n */\n setupExtensions() {\n const extensions = this.extensions;\n this.editor.extensionStorage = Object.fromEntries(\n extensions.map((extension) => [extension.name, extension.storage])\n );\n extensions.forEach((extension) => {\n var _a;\n const context = {\n name: extension.name,\n options: extension.options,\n storage: this.editor.extensionStorage[extension.name],\n editor: this.editor,\n type: getSchemaTypeByName(extension.name, this.schema)\n };\n if (extension.type === \"mark\") {\n const keepOnSplit = (_a = callOrReturn(getExtensionField(extension, \"keepOnSplit\", context))) != null ? _a : true;\n if (keepOnSplit) {\n this.splittableMarks.push(extension.name);\n }\n }\n const onBeforeCreate = getExtensionField(extension, \"onBeforeCreate\", context);\n const onCreate = getExtensionField(extension, \"onCreate\", context);\n const onUpdate = getExtensionField(extension, \"onUpdate\", context);\n const onSelectionUpdate = getExtensionField(\n extension,\n \"onSelectionUpdate\",\n context\n );\n const onTransaction = getExtensionField(extension, \"onTransaction\", context);\n const onFocus = getExtensionField(extension, \"onFocus\", context);\n const onBlur = getExtensionField(extension, \"onBlur\", context);\n const onDestroy = getExtensionField(extension, \"onDestroy\", context);\n if (onBeforeCreate) {\n this.editor.on(\"beforeCreate\", onBeforeCreate);\n }\n if (onCreate) {\n this.editor.on(\"create\", onCreate);\n }\n if (onUpdate) {\n this.editor.on(\"update\", onUpdate);\n }\n if (onSelectionUpdate) {\n this.editor.on(\"selectionUpdate\", onSelectionUpdate);\n }\n if (onTransaction) {\n this.editor.on(\"transaction\", onTransaction);\n }\n if (onFocus) {\n this.editor.on(\"focus\", onFocus);\n }\n if (onBlur) {\n this.editor.on(\"blur\", onBlur);\n }\n if (onDestroy) {\n this.editor.on(\"destroy\", onDestroy);\n }\n });\n }\n};\nExtensionManager.resolve = resolveExtensions;\nExtensionManager.sort = sortExtensions;\nExtensionManager.flatten = flattenExtensions;\n\n// src/extensions/index.ts\nvar extensions_exports = {};\n__export(extensions_exports, {\n ClipboardTextSerializer: () => ClipboardTextSerializer,\n Commands: () => Commands,\n Delete: () => Delete,\n Drop: () => Drop,\n Editable: () => Editable,\n FocusEvents: () => FocusEvents,\n Keymap: () => Keymap,\n Paste: () => Paste,\n Tabindex: () => Tabindex,\n TextDirection: () => TextDirection,\n focusEventsPluginKey: () => focusEventsPluginKey\n});\n\n// src/extensions/clipboardTextSerializer.ts\n\n\n// src/Extension.ts\nvar Extension = class _Extension extends Extendable {\n constructor() {\n super(...arguments);\n this.type = \"extension\";\n }\n /**\n * Create a new Extension instance\n * @param config - Extension configuration object or a function that returns a configuration object\n */\n static create(config = {}) {\n const resolvedConfig = typeof config === \"function\" ? config() : config;\n return new _Extension(resolvedConfig);\n }\n configure(options) {\n return super.configure(options);\n }\n extend(extendedConfig) {\n const resolvedConfig = typeof extendedConfig === \"function\" ? extendedConfig() : extendedConfig;\n return super.extend(resolvedConfig);\n }\n};\n\n// src/extensions/clipboardTextSerializer.ts\nvar ClipboardTextSerializer = Extension.create({\n name: \"clipboardTextSerializer\",\n addOptions() {\n return {\n blockSeparator: void 0\n };\n },\n addProseMirrorPlugins() {\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.PluginKey(\"clipboardTextSerializer\"),\n props: {\n clipboardTextSerializer: () => {\n const { editor } = this;\n const { state, schema } = editor;\n const { doc, selection } = state;\n const { ranges } = selection;\n const from = Math.min(...ranges.map((range2) => range2.$from.pos));\n const to = Math.max(...ranges.map((range2) => range2.$to.pos));\n const textSerializers = getTextSerializersFromSchema(schema);\n const range = { from, to };\n return getTextBetween(doc, range, {\n ...this.options.blockSeparator !== void 0 ? { blockSeparator: this.options.blockSeparator } : {},\n textSerializers\n });\n }\n }\n })\n ];\n }\n});\n\n// src/extensions/commands.ts\nvar Commands = Extension.create({\n name: \"commands\",\n addCommands() {\n return {\n ...commands_exports\n };\n }\n});\n\n// src/extensions/delete.ts\n\nvar Delete = Extension.create({\n name: \"delete\",\n onUpdate({ transaction, appendedTransactions }) {\n var _a, _b, _c;\n const callback = () => {\n var _a2, _b2, _c2, _d;\n if ((_d = (_c2 = (_b2 = (_a2 = this.editor.options.coreExtensionOptions) == null ? void 0 : _a2.delete) == null ? void 0 : _b2.filterTransaction) == null ? void 0 : _c2.call(_b2, transaction)) != null ? _d : transaction.getMeta(\"y-sync$\")) {\n return;\n }\n const nextTransaction = combineTransactionSteps(transaction.before, [transaction, ...appendedTransactions]);\n const changes = getChangedRanges(nextTransaction);\n changes.forEach((change) => {\n if (nextTransaction.mapping.mapResult(change.oldRange.from).deletedAfter && nextTransaction.mapping.mapResult(change.oldRange.to).deletedBefore) {\n nextTransaction.before.nodesBetween(change.oldRange.from, change.oldRange.to, (node, from) => {\n const to = from + node.nodeSize - 2;\n const isFullyWithinRange = change.oldRange.from <= from && to <= change.oldRange.to;\n this.editor.emit(\"delete\", {\n type: \"node\",\n node,\n from,\n to,\n newFrom: nextTransaction.mapping.map(from),\n newTo: nextTransaction.mapping.map(to),\n deletedRange: change.oldRange,\n newRange: change.newRange,\n partial: !isFullyWithinRange,\n editor: this.editor,\n transaction,\n combinedTransform: nextTransaction\n });\n });\n }\n });\n const mapping = nextTransaction.mapping;\n nextTransaction.steps.forEach((step, index) => {\n var _a3, _b3;\n if (step instanceof _tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.RemoveMarkStep) {\n const newStart = mapping.slice(index).map(step.from, -1);\n const newEnd = mapping.slice(index).map(step.to);\n const oldStart = mapping.invert().map(newStart, -1);\n const oldEnd = mapping.invert().map(newEnd);\n const foundBeforeMark = (_a3 = nextTransaction.doc.nodeAt(newStart - 1)) == null ? void 0 : _a3.marks.some((mark) => mark.eq(step.mark));\n const foundAfterMark = (_b3 = nextTransaction.doc.nodeAt(newEnd)) == null ? void 0 : _b3.marks.some((mark) => mark.eq(step.mark));\n this.editor.emit(\"delete\", {\n type: \"mark\",\n mark: step.mark,\n from: step.from,\n to: step.to,\n deletedRange: {\n from: oldStart,\n to: oldEnd\n },\n newRange: {\n from: newStart,\n to: newEnd\n },\n partial: Boolean(foundAfterMark || foundBeforeMark),\n editor: this.editor,\n transaction,\n combinedTransform: nextTransaction\n });\n }\n });\n };\n if ((_c = (_b = (_a = this.editor.options.coreExtensionOptions) == null ? void 0 : _a.delete) == null ? void 0 : _b.async) != null ? _c : true) {\n setTimeout(callback, 0);\n } else {\n callback();\n }\n }\n});\n\n// src/extensions/drop.ts\n\nvar Drop = Extension.create({\n name: \"drop\",\n addProseMirrorPlugins() {\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.PluginKey(\"tiptapDrop\"),\n props: {\n handleDrop: (_, e, slice, moved) => {\n this.editor.emit(\"drop\", {\n editor: this.editor,\n event: e,\n slice,\n moved\n });\n }\n }\n })\n ];\n }\n});\n\n// src/extensions/editable.ts\n\nvar Editable = Extension.create({\n name: \"editable\",\n addProseMirrorPlugins() {\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.PluginKey(\"editable\"),\n props: {\n editable: () => this.editor.options.editable\n }\n })\n ];\n }\n});\n\n// src/extensions/focusEvents.ts\n\nvar focusEventsPluginKey = new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.PluginKey(\"focusEvents\");\nvar FocusEvents = Extension.create({\n name: \"focusEvents\",\n addProseMirrorPlugins() {\n const { editor } = this;\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Plugin({\n key: focusEventsPluginKey,\n props: {\n handleDOMEvents: {\n focus: (view, event) => {\n editor.isFocused = true;\n const transaction = editor.state.tr.setMeta(\"focus\", { event }).setMeta(\"addToHistory\", false);\n view.dispatch(transaction);\n return false;\n },\n blur: (view, event) => {\n editor.isFocused = false;\n const transaction = editor.state.tr.setMeta(\"blur\", { event }).setMeta(\"addToHistory\", false);\n view.dispatch(transaction);\n return false;\n }\n }\n }\n })\n ];\n }\n});\n\n// src/extensions/keymap.ts\n\nvar Keymap = Extension.create({\n name: \"keymap\",\n addKeyboardShortcuts() {\n const handleBackspace = () => this.editor.commands.first(({ commands }) => [\n () => commands.undoInputRule(),\n // maybe convert first text block node to default node\n () => commands.command(({ tr }) => {\n const { selection, doc } = tr;\n const { empty, $anchor } = selection;\n const { pos, parent } = $anchor;\n const $parentPos = $anchor.parent.isTextblock && pos > 0 ? tr.doc.resolve(pos - 1) : $anchor;\n const parentIsIsolating = $parentPos.parent.type.spec.isolating;\n const parentPos = $anchor.pos - $anchor.parentOffset;\n const isAtStart = parentIsIsolating && $parentPos.parent.childCount === 1 ? parentPos === $anchor.pos : _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Selection.atStart(doc).from === pos;\n if (!empty || !parent.type.isTextblock || parent.textContent.length || !isAtStart || isAtStart && $anchor.parent.type.name === \"paragraph\") {\n return false;\n }\n return commands.clearNodes();\n }),\n () => commands.deleteSelection(),\n () => commands.joinBackward(),\n () => commands.selectNodeBackward()\n ]);\n const handleDelete = () => this.editor.commands.first(({ commands }) => [\n () => commands.deleteSelection(),\n () => commands.deleteCurrentNode(),\n () => commands.joinForward(),\n () => commands.selectNodeForward()\n ]);\n const handleEnter = () => this.editor.commands.first(({ commands }) => [\n () => commands.newlineInCode(),\n () => commands.createParagraphNear(),\n () => commands.liftEmptyBlock(),\n () => commands.splitBlock()\n ]);\n const baseKeymap = {\n Enter: handleEnter,\n \"Mod-Enter\": () => this.editor.commands.exitCode(),\n Backspace: handleBackspace,\n \"Mod-Backspace\": handleBackspace,\n \"Shift-Backspace\": handleBackspace,\n Delete: handleDelete,\n \"Mod-Delete\": handleDelete,\n \"Mod-a\": () => this.editor.commands.selectAll()\n };\n const pcKeymap = {\n ...baseKeymap\n };\n const macKeymap = {\n ...baseKeymap,\n \"Ctrl-h\": handleBackspace,\n \"Alt-Backspace\": handleBackspace,\n \"Ctrl-d\": handleDelete,\n \"Ctrl-Alt-Backspace\": handleDelete,\n \"Alt-Delete\": handleDelete,\n \"Alt-d\": handleDelete,\n \"Ctrl-a\": () => this.editor.commands.selectTextblockStart(),\n \"Ctrl-e\": () => this.editor.commands.selectTextblockEnd()\n };\n if (isiOS() || isMacOS()) {\n return macKeymap;\n }\n return pcKeymap;\n },\n addProseMirrorPlugins() {\n return [\n // With this plugin we check if the whole document was selected and deleted.\n // In this case we will additionally call `clearNodes()` to convert e.g. a heading\n // to a paragraph if necessary.\n // This is an alternative to ProseMirror's `AllSelection`, which doesn’t work well\n // with many other commands.\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.PluginKey(\"clearDocument\"),\n appendTransaction: (transactions, oldState, newState) => {\n if (transactions.some((tr2) => tr2.getMeta(\"composition\"))) {\n return;\n }\n const docChanges = transactions.some((transaction) => transaction.docChanged) && !oldState.doc.eq(newState.doc);\n const ignoreTr = transactions.some((transaction) => transaction.getMeta(\"preventClearDocument\"));\n if (!docChanges || ignoreTr) {\n return;\n }\n const { empty, from, to } = oldState.selection;\n const allFrom = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Selection.atStart(oldState.doc).from;\n const allEnd = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Selection.atEnd(oldState.doc).to;\n const allWasSelected = from === allFrom && to === allEnd;\n if (empty || !allWasSelected) {\n return;\n }\n const isEmpty = isNodeEmpty(newState.doc);\n if (!isEmpty) {\n return;\n }\n const tr = newState.tr;\n const state = createChainableState({\n state: newState,\n transaction: tr\n });\n const { commands } = new CommandManager({\n editor: this.editor,\n state\n });\n commands.clearNodes();\n if (!tr.steps.length) {\n return;\n }\n return tr;\n }\n })\n ];\n }\n});\n\n// src/extensions/paste.ts\n\nvar Paste = Extension.create({\n name: \"paste\",\n addProseMirrorPlugins() {\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.PluginKey(\"tiptapPaste\"),\n props: {\n handlePaste: (_view, e, slice) => {\n this.editor.emit(\"paste\", {\n editor: this.editor,\n event: e,\n slice\n });\n }\n }\n })\n ];\n }\n});\n\n// src/extensions/tabindex.ts\n\nvar Tabindex = Extension.create({\n name: \"tabindex\",\n addProseMirrorPlugins() {\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.PluginKey(\"tabindex\"),\n props: {\n attributes: () => this.editor.isEditable ? { tabindex: \"0\" } : {}\n }\n })\n ];\n }\n});\n\n// src/extensions/textDirection.ts\n\nvar TextDirection = Extension.create({\n name: \"textDirection\",\n addOptions() {\n return {\n direction: void 0\n };\n },\n addGlobalAttributes() {\n if (!this.options.direction) {\n return [];\n }\n const { nodeExtensions } = splitExtensions(this.extensions);\n return [\n {\n types: nodeExtensions.filter((extension) => extension.name !== \"text\").map((extension) => extension.name),\n attributes: {\n dir: {\n default: this.options.direction,\n parseHTML: (element) => {\n const dir = element.getAttribute(\"dir\");\n if (dir && (dir === \"ltr\" || dir === \"rtl\" || dir === \"auto\")) {\n return dir;\n }\n return this.options.direction;\n },\n renderHTML: (attributes) => {\n if (!attributes.dir) {\n return {};\n }\n return {\n dir: attributes.dir\n };\n }\n }\n }\n }\n ];\n },\n addProseMirrorPlugins() {\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.PluginKey(\"textDirection\"),\n props: {\n attributes: () => {\n const direction = this.options.direction;\n if (!direction) {\n return {};\n }\n return {\n dir: direction\n };\n }\n }\n })\n ];\n }\n});\n\n// src/NodePos.ts\nvar NodePos = class _NodePos {\n constructor(pos, editor, isBlock = false, node = null) {\n this.currentNode = null;\n this.actualDepth = null;\n this.isBlock = isBlock;\n this.resolvedPos = pos;\n this.editor = editor;\n this.currentNode = node;\n }\n get name() {\n return this.node.type.name;\n }\n get node() {\n return this.currentNode || this.resolvedPos.node();\n }\n get element() {\n return this.editor.view.domAtPos(this.pos).node;\n }\n get depth() {\n var _a;\n return (_a = this.actualDepth) != null ? _a : this.resolvedPos.depth;\n }\n get pos() {\n return this.resolvedPos.pos;\n }\n get content() {\n return this.node.content;\n }\n set content(content) {\n let from = this.from;\n let to = this.to;\n if (this.isBlock) {\n if (this.content.size === 0) {\n console.error(`You can\\u2019t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);\n return;\n }\n from = this.from + 1;\n to = this.to - 1;\n }\n this.editor.commands.insertContentAt({ from, to }, content);\n }\n get attributes() {\n return this.node.attrs;\n }\n get textContent() {\n return this.node.textContent;\n }\n get size() {\n return this.node.nodeSize;\n }\n get from() {\n if (this.isBlock) {\n return this.pos;\n }\n return this.resolvedPos.start(this.resolvedPos.depth);\n }\n get range() {\n return {\n from: this.from,\n to: this.to\n };\n }\n get to() {\n if (this.isBlock) {\n return this.pos + this.size;\n }\n return this.resolvedPos.end(this.resolvedPos.depth) + (this.node.isText ? 0 : 1);\n }\n get parent() {\n if (this.depth === 0) {\n return null;\n }\n const parentPos = this.resolvedPos.start(this.resolvedPos.depth - 1);\n const $pos = this.resolvedPos.doc.resolve(parentPos);\n return new _NodePos($pos, this.editor);\n }\n get before() {\n let $pos = this.resolvedPos.doc.resolve(this.from - (this.isBlock ? 1 : 2));\n if ($pos.depth !== this.depth) {\n $pos = this.resolvedPos.doc.resolve(this.from - 3);\n }\n return new _NodePos($pos, this.editor);\n }\n get after() {\n let $pos = this.resolvedPos.doc.resolve(this.to + (this.isBlock ? 2 : 1));\n if ($pos.depth !== this.depth) {\n $pos = this.resolvedPos.doc.resolve(this.to + 3);\n }\n return new _NodePos($pos, this.editor);\n }\n get children() {\n const children = [];\n this.node.content.forEach((node, offset) => {\n const isBlock = node.isBlock && !node.isTextblock;\n const isNonTextAtom = node.isAtom && !node.isText;\n const isInline = node.isInline;\n const targetPos = this.pos + offset + (isNonTextAtom ? 0 : 1);\n if (targetPos < 0 || targetPos > this.resolvedPos.doc.nodeSize - 2) {\n return;\n }\n const $pos = this.resolvedPos.doc.resolve(targetPos);\n if (!isBlock && !isInline && $pos.depth <= this.depth) {\n return;\n }\n const childNodePos = new _NodePos($pos, this.editor, isBlock, isBlock || isInline ? node : null);\n if (isBlock) {\n childNodePos.actualDepth = this.depth + 1;\n }\n children.push(childNodePos);\n });\n return children;\n }\n get firstChild() {\n return this.children[0] || null;\n }\n get lastChild() {\n const children = this.children;\n return children[children.length - 1] || null;\n }\n closest(selector, attributes = {}) {\n let node = null;\n let currentNode = this.parent;\n while (currentNode && !node) {\n if (currentNode.node.type.name === selector) {\n if (Object.keys(attributes).length > 0) {\n const nodeAttributes = currentNode.node.attrs;\n const attrKeys = Object.keys(attributes);\n for (let index = 0; index < attrKeys.length; index += 1) {\n const key = attrKeys[index];\n if (nodeAttributes[key] !== attributes[key]) {\n break;\n }\n }\n } else {\n node = currentNode;\n }\n }\n currentNode = currentNode.parent;\n }\n return node;\n }\n querySelector(selector, attributes = {}) {\n return this.querySelectorAll(selector, attributes, true)[0] || null;\n }\n querySelectorAll(selector, attributes = {}, firstItemOnly = false) {\n let nodes = [];\n if (!this.children || this.children.length === 0) {\n return nodes;\n }\n const attrKeys = Object.keys(attributes);\n this.children.forEach((childPos) => {\n if (firstItemOnly && nodes.length > 0) {\n return;\n }\n if (childPos.node.type.name === selector) {\n const doesAllAttributesMatch = attrKeys.every((key) => attributes[key] === childPos.node.attrs[key]);\n if (doesAllAttributesMatch) {\n nodes.push(childPos);\n }\n }\n if (firstItemOnly && nodes.length > 0) {\n return;\n }\n nodes = nodes.concat(childPos.querySelectorAll(selector, attributes, firstItemOnly));\n });\n return nodes;\n }\n setAttribute(attributes) {\n const { tr } = this.editor.state;\n tr.setNodeMarkup(this.from, void 0, {\n ...this.node.attrs,\n ...attributes\n });\n this.editor.view.dispatch(tr);\n }\n};\n\n// src/style.ts\nvar style = `.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\n.ProseMirror [contenteditable=\"false\"] {\n white-space: normal;\n}\n\n.ProseMirror [contenteditable=\"false\"] [contenteditable=\"true\"] {\n white-space: pre-wrap;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\nimg.ProseMirror-separator {\n display: inline !important;\n border: none !important;\n margin: 0 !important;\n width: 0 !important;\n height: 0 !important;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n margin: 0;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection * {\n caret-color: transparent;\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}`;\n\n// src/utilities/createStyleTag.ts\nfunction createStyleTag(style2, nonce, suffix) {\n const tiptapStyleTag = document.querySelector(`style[data-tiptap-style${suffix ? `-${suffix}` : \"\"}]`);\n if (tiptapStyleTag !== null) {\n return tiptapStyleTag;\n }\n const styleNode = document.createElement(\"style\");\n if (nonce) {\n styleNode.setAttribute(\"nonce\", nonce);\n }\n styleNode.setAttribute(`data-tiptap-style${suffix ? `-${suffix}` : \"\"}`, \"\");\n styleNode.innerHTML = style2;\n document.getElementsByTagName(\"head\")[0].appendChild(styleNode);\n return styleNode;\n}\n\n// src/Editor.ts\nvar Editor = class extends EventEmitter {\n constructor(options = {}) {\n super();\n this.css = null;\n this.className = \"tiptap\";\n this.editorView = null;\n this.isFocused = false;\n /**\n * The editor is considered initialized after the `create` event has been emitted.\n */\n this.isInitialized = false;\n this.extensionStorage = {};\n /**\n * A unique ID for this editor instance.\n */\n this.instanceId = Math.random().toString(36).slice(2, 9);\n this.options = {\n element: typeof document !== \"undefined\" ? document.createElement(\"div\") : null,\n content: \"\",\n injectCSS: true,\n injectNonce: void 0,\n extensions: [],\n autofocus: false,\n editable: true,\n textDirection: void 0,\n editorProps: {},\n parseOptions: {},\n coreExtensionOptions: {},\n enableInputRules: true,\n enablePasteRules: true,\n enableCoreExtensions: true,\n enableContentCheck: false,\n emitContentError: false,\n onBeforeCreate: () => null,\n onCreate: () => null,\n onMount: () => null,\n onUnmount: () => null,\n onUpdate: () => null,\n onSelectionUpdate: () => null,\n onTransaction: () => null,\n onFocus: () => null,\n onBlur: () => null,\n onDestroy: () => null,\n onContentError: ({ error }) => {\n throw error;\n },\n onPaste: () => null,\n onDrop: () => null,\n onDelete: () => null,\n enableExtensionDispatchTransaction: true\n };\n this.isCapturingTransaction = false;\n this.capturedTransaction = null;\n /**\n * Returns a set of utilities for working with positions and ranges.\n */\n this.utils = {\n getUpdatedPosition,\n createMappablePosition\n };\n this.setOptions(options);\n this.createExtensionManager();\n this.createCommandManager();\n this.createSchema();\n this.on(\"beforeCreate\", this.options.onBeforeCreate);\n this.emit(\"beforeCreate\", { editor: this });\n this.on(\"mount\", this.options.onMount);\n this.on(\"unmount\", this.options.onUnmount);\n this.on(\"contentError\", this.options.onContentError);\n this.on(\"create\", this.options.onCreate);\n this.on(\"update\", this.options.onUpdate);\n this.on(\"selectionUpdate\", this.options.onSelectionUpdate);\n this.on(\"transaction\", this.options.onTransaction);\n this.on(\"focus\", this.options.onFocus);\n this.on(\"blur\", this.options.onBlur);\n this.on(\"destroy\", this.options.onDestroy);\n this.on(\"drop\", ({ event, slice, moved }) => this.options.onDrop(event, slice, moved));\n this.on(\"paste\", ({ event, slice }) => this.options.onPaste(event, slice));\n this.on(\"delete\", this.options.onDelete);\n const initialDoc = this.createDoc();\n const selection = resolveFocusPosition(initialDoc, this.options.autofocus);\n this.editorState = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.EditorState.create({\n doc: initialDoc,\n schema: this.schema,\n selection: selection || void 0\n });\n if (this.options.element) {\n this.mount(this.options.element);\n }\n }\n /**\n * Attach the editor to the DOM, creating a new editor view.\n */\n mount(el) {\n if (typeof document === \"undefined\") {\n throw new Error(\n `[tiptap error]: The editor cannot be mounted because there is no 'document' defined in this environment.`\n );\n }\n this.createView(el);\n this.emit(\"mount\", { editor: this });\n if (this.css && !document.head.contains(this.css)) {\n document.head.appendChild(this.css);\n }\n window.setTimeout(() => {\n if (this.isDestroyed) {\n return;\n }\n if (this.options.autofocus !== false && this.options.autofocus !== null) {\n this.commands.focus(this.options.autofocus);\n }\n this.emit(\"create\", { editor: this });\n this.isInitialized = true;\n }, 0);\n }\n /**\n * Remove the editor from the DOM, but still allow remounting at a different point in time\n */\n unmount() {\n if (this.editorView) {\n const dom = this.editorView.dom;\n if (dom == null ? void 0 : dom.editor) {\n delete dom.editor;\n }\n this.editorView.destroy();\n }\n this.editorView = null;\n this.isInitialized = false;\n if (this.css && !document.querySelectorAll(`.${this.className}`).length) {\n try {\n if (typeof this.css.remove === \"function\") {\n this.css.remove();\n } else if (this.css.parentNode) {\n this.css.parentNode.removeChild(this.css);\n }\n } catch (error) {\n console.warn(\"Failed to remove CSS element:\", error);\n }\n }\n this.css = null;\n this.emit(\"unmount\", { editor: this });\n }\n /**\n * Returns the editor storage.\n */\n get storage() {\n return this.extensionStorage;\n }\n /**\n * An object of all registered commands.\n */\n get commands() {\n return this.commandManager.commands;\n }\n /**\n * Create a command chain to call multiple commands at once.\n */\n chain() {\n return this.commandManager.chain();\n }\n /**\n * Check if a command or a command chain can be executed. Without executing it.\n */\n can() {\n return this.commandManager.can();\n }\n /**\n * Inject CSS styles.\n */\n injectCSS() {\n if (this.options.injectCSS && typeof document !== \"undefined\") {\n this.css = createStyleTag(style, this.options.injectNonce);\n }\n }\n /**\n * Update editor options.\n *\n * @param options A list of options\n */\n setOptions(options = {}) {\n this.options = {\n ...this.options,\n ...options\n };\n if (!this.editorView || !this.state || this.isDestroyed) {\n return;\n }\n if (this.options.editorProps) {\n this.view.setProps(this.options.editorProps);\n }\n this.view.updateState(this.state);\n }\n /**\n * Update editable state of the editor.\n */\n setEditable(editable, emitUpdate = true) {\n this.setOptions({ editable });\n if (emitUpdate) {\n this.emit(\"update\", { editor: this, transaction: this.state.tr, appendedTransactions: [] });\n }\n }\n /**\n * Returns whether the editor is editable.\n */\n get isEditable() {\n return this.options.editable && this.view && this.view.editable;\n }\n /**\n * Returns the editor state.\n */\n get view() {\n if (this.editorView) {\n return this.editorView;\n }\n return new Proxy(\n {\n state: this.editorState,\n updateState: (state) => {\n this.editorState = state;\n },\n dispatch: (tr) => {\n this.dispatchTransaction(tr);\n },\n // Stub some commonly accessed properties to prevent errors\n composing: false,\n dragging: null,\n editable: true,\n isDestroyed: false\n },\n {\n get: (obj, key) => {\n if (this.editorView) {\n return this.editorView[key];\n }\n if (key === \"state\") {\n return this.editorState;\n }\n if (key in obj) {\n return Reflect.get(obj, key);\n }\n throw new Error(\n `[tiptap error]: The editor view is not available. Cannot access view['${key}']. The editor may not be mounted yet.`\n );\n }\n }\n );\n }\n /**\n * Returns the editor state.\n */\n get state() {\n if (this.editorView) {\n this.editorState = this.view.state;\n }\n return this.editorState;\n }\n /**\n * Register a ProseMirror plugin.\n *\n * @param plugin A ProseMirror plugin\n * @param handlePlugins Control how to merge the plugin into the existing plugins.\n * @returns The new editor state\n */\n registerPlugin(plugin, handlePlugins) {\n const plugins = isFunction(handlePlugins) ? handlePlugins(plugin, [...this.state.plugins]) : [...this.state.plugins, plugin];\n const state = this.state.reconfigure({ plugins });\n this.view.updateState(state);\n return state;\n }\n /**\n * Unregister a ProseMirror plugin.\n *\n * @param nameOrPluginKeyToRemove The plugins name\n * @returns The new editor state or undefined if the editor is destroyed\n */\n unregisterPlugin(nameOrPluginKeyToRemove) {\n if (this.isDestroyed) {\n return void 0;\n }\n const prevPlugins = this.state.plugins;\n let plugins = prevPlugins;\n [].concat(nameOrPluginKeyToRemove).forEach((nameOrPluginKey) => {\n const name = typeof nameOrPluginKey === \"string\" ? `${nameOrPluginKey}$` : nameOrPluginKey.key;\n plugins = plugins.filter((plugin) => !plugin.key.startsWith(name));\n });\n if (prevPlugins.length === plugins.length) {\n return void 0;\n }\n const state = this.state.reconfigure({\n plugins\n });\n this.view.updateState(state);\n return state;\n }\n /**\n * Creates an extension manager.\n */\n createExtensionManager() {\n var _a, _b;\n const coreExtensions = this.options.enableCoreExtensions ? [\n Editable,\n ClipboardTextSerializer.configure({\n blockSeparator: (_b = (_a = this.options.coreExtensionOptions) == null ? void 0 : _a.clipboardTextSerializer) == null ? void 0 : _b.blockSeparator\n }),\n Commands,\n FocusEvents,\n Keymap,\n Tabindex,\n Drop,\n Paste,\n Delete,\n TextDirection.configure({\n direction: this.options.textDirection\n })\n ].filter((ext) => {\n if (typeof this.options.enableCoreExtensions === \"object\") {\n return this.options.enableCoreExtensions[ext.name] !== false;\n }\n return true;\n }) : [];\n const allExtensions = [...coreExtensions, ...this.options.extensions].filter((extension) => {\n return [\"extension\", \"node\", \"mark\"].includes(extension == null ? void 0 : extension.type);\n });\n this.extensionManager = new ExtensionManager(allExtensions, this);\n }\n /**\n * Creates an command manager.\n */\n createCommandManager() {\n this.commandManager = new CommandManager({\n editor: this\n });\n }\n /**\n * Creates a ProseMirror schema.\n */\n createSchema() {\n this.schema = this.extensionManager.schema;\n }\n /**\n * Creates the initial document.\n */\n createDoc() {\n let doc;\n try {\n doc = createDocument(this.options.content, this.schema, this.options.parseOptions, {\n errorOnInvalidContent: this.options.enableContentCheck\n });\n } catch (e) {\n if (!(e instanceof Error) || ![\"[tiptap error]: Invalid JSON content\", \"[tiptap error]: Invalid HTML content\"].includes(e.message)) {\n throw e;\n }\n this.emit(\"contentError\", {\n editor: this,\n error: e,\n disableCollaboration: () => {\n if (\"collaboration\" in this.storage && typeof this.storage.collaboration === \"object\" && this.storage.collaboration) {\n ;\n this.storage.collaboration.isDisabled = true;\n }\n this.options.extensions = this.options.extensions.filter((extension) => extension.name !== \"collaboration\");\n this.createExtensionManager();\n }\n });\n doc = createDocument(this.options.content, this.schema, this.options.parseOptions, {\n errorOnInvalidContent: false\n });\n }\n return doc;\n }\n /**\n * Creates a ProseMirror view.\n */\n createView(element) {\n const { editorProps, enableExtensionDispatchTransaction } = this.options;\n const baseDispatch = editorProps.dispatchTransaction || this.dispatchTransaction.bind(this);\n const dispatch = enableExtensionDispatchTransaction ? this.extensionManager.dispatchTransaction(baseDispatch) : baseDispatch;\n this.editorView = new _tiptap_pm_view__WEBPACK_IMPORTED_MODULE_5__.EditorView(element, {\n ...editorProps,\n attributes: {\n // add `role=\"textbox\"` to the editor element\n role: \"textbox\",\n ...editorProps == null ? void 0 : editorProps.attributes\n },\n dispatchTransaction: dispatch,\n state: this.editorState,\n markViews: this.extensionManager.markViews,\n nodeViews: this.extensionManager.nodeViews\n });\n const newState = this.state.reconfigure({\n plugins: this.extensionManager.plugins\n });\n this.view.updateState(newState);\n this.prependClass();\n this.injectCSS();\n const dom = this.view.dom;\n dom.editor = this;\n }\n /**\n * Creates all node and mark views.\n */\n createNodeViews() {\n if (this.view.isDestroyed) {\n return;\n }\n this.view.setProps({\n markViews: this.extensionManager.markViews,\n nodeViews: this.extensionManager.nodeViews\n });\n }\n /**\n * Prepend class name to element.\n */\n prependClass() {\n this.view.dom.className = `${this.className} ${this.view.dom.className}`;\n }\n captureTransaction(fn) {\n this.isCapturingTransaction = true;\n fn();\n this.isCapturingTransaction = false;\n const tr = this.capturedTransaction;\n this.capturedTransaction = null;\n return tr;\n }\n /**\n * The callback over which to send transactions (state updates) produced by the view.\n *\n * @param transaction An editor state transaction\n */\n dispatchTransaction(transaction) {\n if (this.view.isDestroyed) {\n return;\n }\n if (this.isCapturingTransaction) {\n if (!this.capturedTransaction) {\n this.capturedTransaction = transaction;\n return;\n }\n transaction.steps.forEach((step) => {\n var _a;\n return (_a = this.capturedTransaction) == null ? void 0 : _a.step(step);\n });\n return;\n }\n const { state, transactions } = this.state.applyTransaction(transaction);\n const selectionHasChanged = !this.state.selection.eq(state.selection);\n const rootTrWasApplied = transactions.includes(transaction);\n const prevState = this.state;\n this.emit(\"beforeTransaction\", {\n editor: this,\n transaction,\n nextState: state\n });\n if (!rootTrWasApplied) {\n return;\n }\n this.view.updateState(state);\n this.emit(\"transaction\", {\n editor: this,\n transaction,\n appendedTransactions: transactions.slice(1)\n });\n if (selectionHasChanged) {\n this.emit(\"selectionUpdate\", {\n editor: this,\n transaction\n });\n }\n const mostRecentFocusTr = transactions.findLast((tr) => tr.getMeta(\"focus\") || tr.getMeta(\"blur\"));\n const focus2 = mostRecentFocusTr == null ? void 0 : mostRecentFocusTr.getMeta(\"focus\");\n const blur2 = mostRecentFocusTr == null ? void 0 : mostRecentFocusTr.getMeta(\"blur\");\n if (focus2) {\n this.emit(\"focus\", {\n editor: this,\n event: focus2.event,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n transaction: mostRecentFocusTr\n });\n }\n if (blur2) {\n this.emit(\"blur\", {\n editor: this,\n event: blur2.event,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n transaction: mostRecentFocusTr\n });\n }\n if (transaction.getMeta(\"preventUpdate\") || !transactions.some((tr) => tr.docChanged) || prevState.doc.eq(state.doc)) {\n return;\n }\n this.emit(\"update\", {\n editor: this,\n transaction,\n appendedTransactions: transactions.slice(1)\n });\n }\n /**\n * Get attributes of the currently selected node or mark.\n */\n getAttributes(nameOrType) {\n return getAttributes(this.state, nameOrType);\n }\n isActive(nameOrAttributes, attributesOrUndefined) {\n const name = typeof nameOrAttributes === \"string\" ? nameOrAttributes : null;\n const attributes = typeof nameOrAttributes === \"string\" ? attributesOrUndefined : nameOrAttributes;\n return isActive(this.state, name, attributes);\n }\n /**\n * Get the document as JSON.\n */\n getJSON() {\n return this.state.doc.toJSON();\n }\n /**\n * Get the document as HTML.\n */\n getHTML() {\n return getHTMLFromFragment(this.state.doc.content, this.schema);\n }\n /**\n * Get the document as text.\n */\n getText(options) {\n const { blockSeparator = \"\\n\\n\", textSerializers = {} } = options || {};\n return getText(this.state.doc, {\n blockSeparator,\n textSerializers: {\n ...getTextSerializersFromSchema(this.schema),\n ...textSerializers\n }\n });\n }\n /**\n * Check if there is no content.\n */\n get isEmpty() {\n return isNodeEmpty(this.state.doc);\n }\n /**\n * Destroy the editor.\n */\n destroy() {\n this.emit(\"destroy\");\n this.unmount();\n this.removeAllListeners();\n }\n /**\n * Check if the editor is already destroyed.\n */\n get isDestroyed() {\n var _a, _b;\n return (_b = (_a = this.editorView) == null ? void 0 : _a.isDestroyed) != null ? _b : true;\n }\n $node(selector, attributes) {\n var _a;\n return ((_a = this.$doc) == null ? void 0 : _a.querySelector(selector, attributes)) || null;\n }\n $nodes(selector, attributes) {\n var _a;\n return ((_a = this.$doc) == null ? void 0 : _a.querySelectorAll(selector, attributes)) || null;\n }\n $pos(pos) {\n const $pos = this.state.doc.resolve(pos);\n return new NodePos($pos, this);\n }\n get $doc() {\n return this.$pos(0);\n }\n};\n\n// src/inputRules/markInputRule.ts\nfunction markInputRule(config) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n const attributes = callOrReturn(config.getAttributes, void 0, match);\n if (attributes === false || attributes === null) {\n return null;\n }\n const { tr } = state;\n const captureGroup = match[match.length - 1];\n const fullMatch = match[0];\n if (captureGroup) {\n const startSpaces = fullMatch.search(/\\S/);\n const textStart = range.from + fullMatch.indexOf(captureGroup);\n const textEnd = textStart + captureGroup.length;\n const excludedMarks = getMarksBetween(range.from, range.to, state.doc).filter((item) => {\n const excluded = item.mark.type.excluded;\n return excluded.find((type) => type === config.type && type !== item.mark.type);\n }).filter((item) => item.to > textStart);\n if (excludedMarks.length) {\n return null;\n }\n if (textEnd < range.to) {\n tr.delete(textEnd, range.to);\n }\n if (textStart > range.from) {\n tr.delete(range.from + startSpaces, textStart);\n }\n const markEnd = range.from + startSpaces + captureGroup.length;\n tr.addMark(range.from + startSpaces, markEnd, config.type.create(attributes || {}));\n tr.removeStoredMark(config.type);\n }\n },\n undoable: config.undoable\n });\n}\n\n// src/inputRules/nodeInputRule.ts\nfunction nodeInputRule(config) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n const attributes = callOrReturn(config.getAttributes, void 0, match) || {};\n const { tr } = state;\n const start = range.from;\n let end = range.to;\n const newNode = config.type.create(attributes);\n if (match[1]) {\n const offset = match[0].lastIndexOf(match[1]);\n let matchStart = start + offset;\n if (matchStart > end) {\n matchStart = end;\n } else {\n end = matchStart + match[1].length;\n }\n const lastChar = match[0][match[0].length - 1];\n tr.insertText(lastChar, start + match[0].length - 1);\n tr.replaceWith(matchStart, end, newNode);\n } else if (match[0]) {\n const insertionStart = config.type.isInline ? start : start - 1;\n tr.insert(insertionStart, config.type.create(attributes)).delete(tr.mapping.map(start), tr.mapping.map(end));\n }\n tr.scrollIntoView();\n },\n undoable: config.undoable\n });\n}\n\n// src/inputRules/textblockTypeInputRule.ts\nfunction textblockTypeInputRule(config) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n const $start = state.doc.resolve(range.from);\n const attributes = callOrReturn(config.getAttributes, void 0, match) || {};\n if (!$start.node(-1).canReplaceWith($start.index(-1), $start.indexAfter(-1), config.type)) {\n return null;\n }\n state.tr.delete(range.from, range.to).setBlockType(range.from, range.from, config.type, attributes);\n },\n undoable: config.undoable\n });\n}\n\n// src/inputRules/textInputRule.ts\nfunction textInputRule(config) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n let insert = config.replace;\n let start = range.from;\n const end = range.to;\n if (match[1]) {\n const offset = match[0].lastIndexOf(match[1]);\n insert += match[0].slice(offset + match[1].length);\n start += offset;\n const cutOff = start - end;\n if (cutOff > 0) {\n insert = match[0].slice(offset - cutOff, offset) + insert;\n start = end;\n }\n }\n state.tr.insertText(insert, start, end);\n },\n undoable: config.undoable\n });\n}\n\n// src/inputRules/wrappingInputRule.ts\n\nfunction wrappingInputRule(config) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match, chain }) => {\n const attributes = callOrReturn(config.getAttributes, void 0, match) || {};\n const tr = state.tr.delete(range.from, range.to);\n const $start = tr.doc.resolve(range.from);\n const blockRange = $start.blockRange();\n const wrapping = blockRange && (0,_tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.findWrapping)(blockRange, config.type, attributes);\n if (!wrapping) {\n return null;\n }\n tr.wrap(blockRange, wrapping);\n if (config.keepMarks && config.editor) {\n const { selection, storedMarks } = state;\n const { splittableMarks } = config.editor.extensionManager;\n const marks = storedMarks || selection.$to.parentOffset && selection.$from.marks();\n if (marks) {\n const filteredMarks = marks.filter((mark) => splittableMarks.includes(mark.type.name));\n tr.ensureMarks(filteredMarks);\n }\n }\n if (config.keepAttributes) {\n const nodeType = config.type.name === \"bulletList\" || config.type.name === \"orderedList\" ? \"listItem\" : \"taskList\";\n chain().updateAttributes(nodeType, attributes).run();\n }\n const before = tr.doc.resolve(range.from - 1).nodeBefore;\n if (before && before.type === config.type && (0,_tiptap_pm_transform__WEBPACK_IMPORTED_MODULE_0__.canJoin)(tr.doc, range.from - 1) && (!config.joinPredicate || config.joinPredicate(match, before))) {\n tr.join(range.from - 1);\n }\n },\n undoable: config.undoable\n });\n}\n\n// src/jsx-runtime.ts\nfunction Fragment6(props) {\n return props.children;\n}\nvar h = (tag, attributes) => {\n if (tag === \"slot\") {\n return 0;\n }\n if (tag instanceof Function) {\n return tag(attributes);\n }\n const { children, ...rest } = attributes != null ? attributes : {};\n if (tag === \"svg\") {\n throw new Error(\"SVG elements are not supported in the JSX syntax, use the array syntax instead\");\n }\n return [tag, rest, children];\n};\n\n// src/lib/ResizableNodeView.ts\nvar isTouchEvent = (e) => {\n return \"touches\" in e;\n};\nvar ResizableNodeView = class {\n /**\n * Creates a new ResizableNodeView instance.\n *\n * The constructor sets up the resize handles, applies initial sizing from\n * node attributes, and configures all resize behavior options.\n *\n * @param options - Configuration options for the resizable node view\n */\n constructor(options) {\n /** Active resize handle directions */\n this.directions = [\"bottom-left\", \"bottom-right\", \"top-left\", \"top-right\"];\n /** Minimum allowed dimensions */\n this.minSize = {\n height: 8,\n width: 8\n };\n /** Whether to always preserve aspect ratio */\n this.preserveAspectRatio = false;\n /** CSS class names for elements */\n this.classNames = {\n container: \"\",\n wrapper: \"\",\n handle: \"\",\n resizing: \"\"\n };\n /** Initial width of the element (for aspect ratio calculation) */\n this.initialWidth = 0;\n /** Initial height of the element (for aspect ratio calculation) */\n this.initialHeight = 0;\n /** Calculated aspect ratio (width / height) */\n this.aspectRatio = 1;\n /** Whether a resize operation is currently active */\n this.isResizing = false;\n /** The handle currently being dragged */\n this.activeHandle = null;\n /** Starting mouse X position when resize began */\n this.startX = 0;\n /** Starting mouse Y position when resize began */\n this.startY = 0;\n /** Element width when resize began */\n this.startWidth = 0;\n /** Element height when resize began */\n this.startHeight = 0;\n /** Whether Shift key is currently pressed (for temporary aspect ratio lock) */\n this.isShiftKeyPressed = false;\n /** Last known editable state of the editor */\n this.lastEditableState = void 0;\n /** Map of handle elements by direction */\n this.handleMap = /* @__PURE__ */ new Map();\n /**\n * Handles mouse movement during an active resize.\n *\n * Calculates the delta from the starting position, computes new dimensions\n * based on the active handle direction, applies constraints and aspect ratio,\n * then updates the element's style and calls the onResize callback.\n *\n * @param event - The mouse move event\n */\n this.handleMouseMove = (event) => {\n if (!this.isResizing || !this.activeHandle) {\n return;\n }\n const deltaX = event.clientX - this.startX;\n const deltaY = event.clientY - this.startY;\n this.handleResize(deltaX, deltaY);\n };\n this.handleTouchMove = (event) => {\n if (!this.isResizing || !this.activeHandle) {\n return;\n }\n const touch = event.touches[0];\n if (!touch) {\n return;\n }\n const deltaX = touch.clientX - this.startX;\n const deltaY = touch.clientY - this.startY;\n this.handleResize(deltaX, deltaY);\n };\n /**\n * Completes the resize operation when the mouse button is released.\n *\n * Captures final dimensions, calls the onCommit callback to persist changes,\n * removes the resizing state and class, and cleans up document-level listeners.\n */\n this.handleMouseUp = () => {\n if (!this.isResizing) {\n return;\n }\n const finalWidth = this.element.offsetWidth;\n const finalHeight = this.element.offsetHeight;\n this.onCommit(finalWidth, finalHeight);\n this.isResizing = false;\n this.activeHandle = null;\n this.container.dataset.resizeState = \"false\";\n if (this.classNames.resizing) {\n this.container.classList.remove(this.classNames.resizing);\n }\n document.removeEventListener(\"mousemove\", this.handleMouseMove);\n document.removeEventListener(\"mouseup\", this.handleMouseUp);\n document.removeEventListener(\"keydown\", this.handleKeyDown);\n document.removeEventListener(\"keyup\", this.handleKeyUp);\n };\n /**\n * Tracks Shift key state to enable temporary aspect ratio locking.\n *\n * When Shift is pressed during resize, aspect ratio is preserved even if\n * preserveAspectRatio is false.\n *\n * @param event - The keyboard event\n */\n this.handleKeyDown = (event) => {\n if (event.key === \"Shift\") {\n this.isShiftKeyPressed = true;\n }\n };\n /**\n * Tracks Shift key release to disable temporary aspect ratio locking.\n *\n * @param event - The keyboard event\n */\n this.handleKeyUp = (event) => {\n if (event.key === \"Shift\") {\n this.isShiftKeyPressed = false;\n }\n };\n var _a, _b, _c, _d, _e, _f;\n this.node = options.node;\n this.editor = options.editor;\n this.element = options.element;\n this.contentElement = options.contentElement;\n this.getPos = options.getPos;\n this.onResize = options.onResize;\n this.onCommit = options.onCommit;\n this.onUpdate = options.onUpdate;\n if ((_a = options.options) == null ? void 0 : _a.min) {\n this.minSize = {\n ...this.minSize,\n ...options.options.min\n };\n }\n if ((_b = options.options) == null ? void 0 : _b.max) {\n this.maxSize = options.options.max;\n }\n if ((_c = options == null ? void 0 : options.options) == null ? void 0 : _c.directions) {\n this.directions = options.options.directions;\n }\n if ((_d = options.options) == null ? void 0 : _d.preserveAspectRatio) {\n this.preserveAspectRatio = options.options.preserveAspectRatio;\n }\n if ((_e = options.options) == null ? void 0 : _e.className) {\n this.classNames = {\n container: options.options.className.container || \"\",\n wrapper: options.options.className.wrapper || \"\",\n handle: options.options.className.handle || \"\",\n resizing: options.options.className.resizing || \"\"\n };\n }\n if ((_f = options.options) == null ? void 0 : _f.createCustomHandle) {\n this.createCustomHandle = options.options.createCustomHandle;\n }\n this.wrapper = this.createWrapper();\n this.container = this.createContainer();\n this.applyInitialSize();\n this.attachHandles();\n this.editor.on(\"update\", this.handleEditorUpdate.bind(this));\n }\n /**\n * Returns the top-level DOM node that should be placed in the editor.\n *\n * This is required by the ProseMirror NodeView interface. The container\n * includes the wrapper, handles, and the actual content element.\n *\n * @returns The container element to be inserted into the editor\n */\n get dom() {\n return this.container;\n }\n get contentDOM() {\n var _a;\n return (_a = this.contentElement) != null ? _a : null;\n }\n handleEditorUpdate() {\n const isEditable = this.editor.isEditable;\n if (isEditable === this.lastEditableState) {\n return;\n }\n this.lastEditableState = isEditable;\n if (!isEditable) {\n this.removeHandles();\n } else if (isEditable && this.handleMap.size === 0) {\n this.attachHandles();\n }\n }\n /**\n * Called when the node's content or attributes change.\n *\n * Updates the internal node reference. If a custom `onUpdate` callback\n * was provided, it will be called to handle additional update logic.\n *\n * @param node - The new/updated node\n * @param decorations - Node decorations\n * @param innerDecorations - Inner decorations\n * @returns `false` if the node type has changed (requires full rebuild), otherwise the result of `onUpdate` or `true`\n */\n update(node, decorations, innerDecorations) {\n if (node.type !== this.node.type) {\n return false;\n }\n this.node = node;\n if (this.onUpdate) {\n return this.onUpdate(node, decorations, innerDecorations);\n }\n return true;\n }\n /**\n * Cleanup method called when the node view is being removed.\n *\n * Removes all event listeners to prevent memory leaks. This is required\n * by the ProseMirror NodeView interface. If a resize is active when\n * destroy is called, it will be properly cancelled.\n */\n destroy() {\n if (this.isResizing) {\n this.container.dataset.resizeState = \"false\";\n if (this.classNames.resizing) {\n this.container.classList.remove(this.classNames.resizing);\n }\n document.removeEventListener(\"mousemove\", this.handleMouseMove);\n document.removeEventListener(\"mouseup\", this.handleMouseUp);\n document.removeEventListener(\"keydown\", this.handleKeyDown);\n document.removeEventListener(\"keyup\", this.handleKeyUp);\n this.isResizing = false;\n this.activeHandle = null;\n }\n this.editor.off(\"update\", this.handleEditorUpdate.bind(this));\n this.container.remove();\n }\n /**\n * Creates the outer container element.\n *\n * The container is the top-level element returned by the NodeView and\n * wraps the entire resizable node. It's set up with flexbox to handle\n * alignment and includes data attributes for styling and identification.\n *\n * @returns The container element\n */\n createContainer() {\n const element = document.createElement(\"div\");\n element.dataset.resizeContainer = \"\";\n element.dataset.node = this.node.type.name;\n element.style.display = \"flex\";\n if (this.classNames.container) {\n element.className = this.classNames.container;\n }\n element.appendChild(this.wrapper);\n return element;\n }\n /**\n * Creates the wrapper element that contains the content and handles.\n *\n * The wrapper uses relative positioning so that resize handles can be\n * positioned absolutely within it. This is the direct parent of the\n * content element being made resizable.\n *\n * @returns The wrapper element\n */\n createWrapper() {\n const element = document.createElement(\"div\");\n element.style.position = \"relative\";\n element.style.display = \"block\";\n element.dataset.resizeWrapper = \"\";\n if (this.classNames.wrapper) {\n element.className = this.classNames.wrapper;\n }\n element.appendChild(this.element);\n return element;\n }\n /**\n * Creates a resize handle element for a specific direction.\n *\n * Each handle is absolutely positioned and includes a data attribute\n * identifying its direction for styling purposes.\n *\n * @param direction - The resize direction for this handle\n * @returns The handle element\n */\n createHandle(direction) {\n const handle = document.createElement(\"div\");\n handle.dataset.resizeHandle = direction;\n handle.style.position = \"absolute\";\n if (this.classNames.handle) {\n handle.className = this.classNames.handle;\n }\n return handle;\n }\n /**\n * Positions a handle element according to its direction.\n *\n * Corner handles (e.g., 'top-left') are positioned at the intersection\n * of two edges. Edge handles (e.g., 'top') span the full width or height.\n *\n * @param handle - The handle element to position\n * @param direction - The direction determining the position\n */\n positionHandle(handle, direction) {\n const isTop = direction.includes(\"top\");\n const isBottom = direction.includes(\"bottom\");\n const isLeft = direction.includes(\"left\");\n const isRight = direction.includes(\"right\");\n if (isTop) {\n handle.style.top = \"0\";\n }\n if (isBottom) {\n handle.style.bottom = \"0\";\n }\n if (isLeft) {\n handle.style.left = \"0\";\n }\n if (isRight) {\n handle.style.right = \"0\";\n }\n if (direction === \"top\" || direction === \"bottom\") {\n handle.style.left = \"0\";\n handle.style.right = \"0\";\n }\n if (direction === \"left\" || direction === \"right\") {\n handle.style.top = \"0\";\n handle.style.bottom = \"0\";\n }\n }\n /**\n * Creates and attaches all resize handles to the wrapper.\n *\n * Iterates through the configured directions, creates a handle for each,\n * positions it, attaches the mousedown listener, and appends it to the DOM.\n */\n attachHandles() {\n this.directions.forEach((direction) => {\n let handle;\n if (this.createCustomHandle) {\n handle = this.createCustomHandle(direction);\n } else {\n handle = this.createHandle(direction);\n }\n if (!(handle instanceof HTMLElement)) {\n console.warn(\n `[ResizableNodeView] createCustomHandle(\"${direction}\") did not return an HTMLElement. Falling back to default handle.`\n );\n handle = this.createHandle(direction);\n }\n if (!this.createCustomHandle) {\n this.positionHandle(handle, direction);\n }\n handle.addEventListener(\"mousedown\", (event) => this.handleResizeStart(event, direction));\n handle.addEventListener(\"touchstart\", (event) => this.handleResizeStart(event, direction));\n this.handleMap.set(direction, handle);\n this.wrapper.appendChild(handle);\n });\n }\n /**\n * Removes all resize handles from the wrapper.\n *\n * Cleans up the handle map and removes each handle element from the DOM.\n */\n removeHandles() {\n this.handleMap.forEach((el) => el.remove());\n this.handleMap.clear();\n }\n /**\n * Applies initial sizing from node attributes to the element.\n *\n * If width/height attributes exist on the node, they're applied to the element.\n * Otherwise, the element's natural/current dimensions are measured. The aspect\n * ratio is calculated for later use in aspect-ratio-preserving resizes.\n */\n applyInitialSize() {\n const width = this.node.attrs.width;\n const height = this.node.attrs.height;\n if (width) {\n this.element.style.width = `${width}px`;\n this.initialWidth = width;\n } else {\n this.initialWidth = this.element.offsetWidth;\n }\n if (height) {\n this.element.style.height = `${height}px`;\n this.initialHeight = height;\n } else {\n this.initialHeight = this.element.offsetHeight;\n }\n if (this.initialWidth > 0 && this.initialHeight > 0) {\n this.aspectRatio = this.initialWidth / this.initialHeight;\n }\n }\n /**\n * Initiates a resize operation when a handle is clicked.\n *\n * Captures the starting mouse position and element dimensions, sets up\n * the resize state, adds the resizing class and state attribute, and\n * attaches document-level listeners for mouse movement and keyboard input.\n *\n * @param event - The mouse down event\n * @param direction - The direction of the handle being dragged\n */\n handleResizeStart(event, direction) {\n event.preventDefault();\n event.stopPropagation();\n this.isResizing = true;\n this.activeHandle = direction;\n if (isTouchEvent(event)) {\n this.startX = event.touches[0].clientX;\n this.startY = event.touches[0].clientY;\n } else {\n this.startX = event.clientX;\n this.startY = event.clientY;\n }\n this.startWidth = this.element.offsetWidth;\n this.startHeight = this.element.offsetHeight;\n if (this.startWidth > 0 && this.startHeight > 0) {\n this.aspectRatio = this.startWidth / this.startHeight;\n }\n const pos = this.getPos();\n if (pos !== void 0) {\n }\n this.container.dataset.resizeState = \"true\";\n if (this.classNames.resizing) {\n this.container.classList.add(this.classNames.resizing);\n }\n document.addEventListener(\"mousemove\", this.handleMouseMove);\n document.addEventListener(\"touchmove\", this.handleTouchMove);\n document.addEventListener(\"mouseup\", this.handleMouseUp);\n document.addEventListener(\"keydown\", this.handleKeyDown);\n document.addEventListener(\"keyup\", this.handleKeyUp);\n }\n handleResize(deltaX, deltaY) {\n if (!this.activeHandle) {\n return;\n }\n const shouldPreserveAspectRatio = this.preserveAspectRatio || this.isShiftKeyPressed;\n const { width, height } = this.calculateNewDimensions(this.activeHandle, deltaX, deltaY);\n const constrained = this.applyConstraints(width, height, shouldPreserveAspectRatio);\n this.element.style.width = `${constrained.width}px`;\n this.element.style.height = `${constrained.height}px`;\n if (this.onResize) {\n this.onResize(constrained.width, constrained.height);\n }\n }\n /**\n * Calculates new dimensions based on mouse delta and resize direction.\n *\n * Takes the starting dimensions and applies the mouse movement delta\n * according to the handle direction. For corner handles, both dimensions\n * are affected. For edge handles, only one dimension changes. If aspect\n * ratio should be preserved, delegates to applyAspectRatio.\n *\n * @param direction - The active resize handle direction\n * @param deltaX - Horizontal mouse movement since resize start\n * @param deltaY - Vertical mouse movement since resize start\n * @returns The calculated width and height\n */\n calculateNewDimensions(direction, deltaX, deltaY) {\n let newWidth = this.startWidth;\n let newHeight = this.startHeight;\n const isRight = direction.includes(\"right\");\n const isLeft = direction.includes(\"left\");\n const isBottom = direction.includes(\"bottom\");\n const isTop = direction.includes(\"top\");\n if (isRight) {\n newWidth = this.startWidth + deltaX;\n } else if (isLeft) {\n newWidth = this.startWidth - deltaX;\n }\n if (isBottom) {\n newHeight = this.startHeight + deltaY;\n } else if (isTop) {\n newHeight = this.startHeight - deltaY;\n }\n if (direction === \"right\" || direction === \"left\") {\n newWidth = this.startWidth + (isRight ? deltaX : -deltaX);\n }\n if (direction === \"top\" || direction === \"bottom\") {\n newHeight = this.startHeight + (isBottom ? deltaY : -deltaY);\n }\n const shouldPreserveAspectRatio = this.preserveAspectRatio || this.isShiftKeyPressed;\n if (shouldPreserveAspectRatio) {\n return this.applyAspectRatio(newWidth, newHeight, direction);\n }\n return { width: newWidth, height: newHeight };\n }\n /**\n * Applies min/max constraints to dimensions.\n *\n * When aspect ratio is NOT preserved, constraints are applied independently\n * to width and height. When aspect ratio IS preserved, constraints are\n * applied while maintaining the aspect ratio—if one dimension hits a limit,\n * the other is recalculated proportionally.\n *\n * This ensures that aspect ratio is never broken when constrained.\n *\n * @param width - The unconstrained width\n * @param height - The unconstrained height\n * @param preserveAspectRatio - Whether to maintain aspect ratio while constraining\n * @returns The constrained dimensions\n */\n applyConstraints(width, height, preserveAspectRatio) {\n var _a, _b, _c, _d;\n if (!preserveAspectRatio) {\n let constrainedWidth2 = Math.max(this.minSize.width, width);\n let constrainedHeight2 = Math.max(this.minSize.height, height);\n if ((_a = this.maxSize) == null ? void 0 : _a.width) {\n constrainedWidth2 = Math.min(this.maxSize.width, constrainedWidth2);\n }\n if ((_b = this.maxSize) == null ? void 0 : _b.height) {\n constrainedHeight2 = Math.min(this.maxSize.height, constrainedHeight2);\n }\n return { width: constrainedWidth2, height: constrainedHeight2 };\n }\n let constrainedWidth = width;\n let constrainedHeight = height;\n if (constrainedWidth < this.minSize.width) {\n constrainedWidth = this.minSize.width;\n constrainedHeight = constrainedWidth / this.aspectRatio;\n }\n if (constrainedHeight < this.minSize.height) {\n constrainedHeight = this.minSize.height;\n constrainedWidth = constrainedHeight * this.aspectRatio;\n }\n if (((_c = this.maxSize) == null ? void 0 : _c.width) && constrainedWidth > this.maxSize.width) {\n constrainedWidth = this.maxSize.width;\n constrainedHeight = constrainedWidth / this.aspectRatio;\n }\n if (((_d = this.maxSize) == null ? void 0 : _d.height) && constrainedHeight > this.maxSize.height) {\n constrainedHeight = this.maxSize.height;\n constrainedWidth = constrainedHeight * this.aspectRatio;\n }\n return { width: constrainedWidth, height: constrainedHeight };\n }\n /**\n * Adjusts dimensions to maintain the original aspect ratio.\n *\n * For horizontal handles (left/right), uses width as the primary dimension\n * and calculates height from it. For vertical handles (top/bottom), uses\n * height as primary and calculates width. For corner handles, uses width\n * as the primary dimension.\n *\n * @param width - The new width\n * @param height - The new height\n * @param direction - The active resize direction\n * @returns Dimensions adjusted to preserve aspect ratio\n */\n applyAspectRatio(width, height, direction) {\n const isHorizontal = direction === \"left\" || direction === \"right\";\n const isVertical = direction === \"top\" || direction === \"bottom\";\n if (isHorizontal) {\n return {\n width,\n height: width / this.aspectRatio\n };\n }\n if (isVertical) {\n return {\n width: height * this.aspectRatio,\n height\n };\n }\n return {\n width,\n height: width / this.aspectRatio\n };\n }\n};\nvar ResizableNodeview = ResizableNodeView;\n\n// src/utilities/canInsertNode.ts\n\nfunction canInsertNode(state, nodeType) {\n const { selection } = state;\n const { $from } = selection;\n if (selection instanceof _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.NodeSelection) {\n const index = $from.index();\n const parent = $from.parent;\n return parent.canReplaceWith(index, index + 1, nodeType);\n }\n let depth = $from.depth;\n while (depth >= 0) {\n const index = $from.index(depth);\n const parent = $from.node(depth);\n const match = parent.contentMatchAt(index);\n if (match.matchType(nodeType)) {\n return true;\n }\n depth -= 1;\n }\n return false;\n}\n\n// src/utilities/escapeForRegEx.ts\nfunction escapeForRegEx(string) {\n return string.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n}\n\n// src/utilities/isFirefox.ts\nfunction isFirefox() {\n return typeof navigator !== \"undefined\" ? /Firefox/.test(navigator.userAgent) : false;\n}\n\n// src/utilities/isString.ts\nfunction isString(value) {\n return typeof value === \"string\";\n}\n\n// src/utilities/markdown/index.ts\nvar markdown_exports = {};\n__export(markdown_exports, {\n createAtomBlockMarkdownSpec: () => createAtomBlockMarkdownSpec,\n createBlockMarkdownSpec: () => createBlockMarkdownSpec,\n createInlineMarkdownSpec: () => createInlineMarkdownSpec,\n parseAttributes: () => parseAttributes,\n parseIndentedBlocks: () => parseIndentedBlocks,\n renderNestedMarkdownContent: () => renderNestedMarkdownContent,\n serializeAttributes: () => serializeAttributes\n});\n\n// src/utilities/markdown/attributeUtils.ts\nfunction parseAttributes(attrString) {\n if (!(attrString == null ? void 0 : attrString.trim())) {\n return {};\n }\n const attributes = {};\n const quotedStrings = [];\n const tempString = attrString.replace(/[\"']([^\"']*)[\"']/g, (match) => {\n quotedStrings.push(match);\n return `__QUOTED_${quotedStrings.length - 1}__`;\n });\n const classMatches = tempString.match(/(?:^|\\s)\\.([a-zA-Z][\\w-]*)/g);\n if (classMatches) {\n const classes = classMatches.map((match) => match.trim().slice(1));\n attributes.class = classes.join(\" \");\n }\n const idMatch = tempString.match(/(?:^|\\s)#([a-zA-Z][\\w-]*)/);\n if (idMatch) {\n attributes.id = idMatch[1];\n }\n const kvRegex = /([a-zA-Z][\\w-]*)\\s*=\\s*(__QUOTED_\\d+__)/g;\n const kvMatches = Array.from(tempString.matchAll(kvRegex));\n kvMatches.forEach(([, key, quotedRef]) => {\n var _a;\n const quotedIndex = parseInt(((_a = quotedRef.match(/__QUOTED_(\\d+)__/)) == null ? void 0 : _a[1]) || \"0\", 10);\n const quotedValue = quotedStrings[quotedIndex];\n if (quotedValue) {\n attributes[key] = quotedValue.slice(1, -1);\n }\n });\n const cleanString = tempString.replace(/(?:^|\\s)\\.([a-zA-Z][\\w-]*)/g, \"\").replace(/(?:^|\\s)#([a-zA-Z][\\w-]*)/g, \"\").replace(/([a-zA-Z][\\w-]*)\\s*=\\s*__QUOTED_\\d+__/g, \"\").trim();\n if (cleanString) {\n const booleanAttrs = cleanString.split(/\\s+/).filter(Boolean);\n booleanAttrs.forEach((attr) => {\n if (attr.match(/^[a-zA-Z][\\w-]*$/)) {\n attributes[attr] = true;\n }\n });\n }\n return attributes;\n}\nfunction serializeAttributes(attributes) {\n if (!attributes || Object.keys(attributes).length === 0) {\n return \"\";\n }\n const parts = [];\n if (attributes.class) {\n const classes = String(attributes.class).split(/\\s+/).filter(Boolean);\n classes.forEach((cls) => parts.push(`.${cls}`));\n }\n if (attributes.id) {\n parts.push(`#${attributes.id}`);\n }\n Object.entries(attributes).forEach(([key, value]) => {\n if (key === \"class\" || key === \"id\") {\n return;\n }\n if (value === true) {\n parts.push(key);\n } else if (value !== false && value != null) {\n parts.push(`${key}=\"${String(value)}\"`);\n }\n });\n return parts.join(\" \");\n}\n\n// src/utilities/markdown/createAtomBlockMarkdownSpec.ts\nfunction createAtomBlockMarkdownSpec(options) {\n const {\n nodeName,\n name: markdownName,\n parseAttributes: parseAttributes2 = parseAttributes,\n serializeAttributes: serializeAttributes2 = serializeAttributes,\n defaultAttributes = {},\n requiredAttributes = [],\n allowedAttributes\n } = options;\n const blockName = markdownName || nodeName;\n const filterAttributes = (attrs) => {\n if (!allowedAttributes) {\n return attrs;\n }\n const filtered = {};\n allowedAttributes.forEach((key) => {\n if (key in attrs) {\n filtered[key] = attrs[key];\n }\n });\n return filtered;\n };\n return {\n parseMarkdown: (token, h2) => {\n const attrs = { ...defaultAttributes, ...token.attributes };\n return h2.createNode(nodeName, attrs, []);\n },\n markdownTokenizer: {\n name: nodeName,\n level: \"block\",\n start(src) {\n var _a;\n const regex = new RegExp(`^:::${blockName}(?:\\\\s|$)`, \"m\");\n const index = (_a = src.match(regex)) == null ? void 0 : _a.index;\n return index !== void 0 ? index : -1;\n },\n tokenize(src, _tokens, _lexer) {\n const regex = new RegExp(`^:::${blockName}(?:\\\\s+\\\\{([^}]*)\\\\})?\\\\s*:::(?:\\\\n|$)`);\n const match = src.match(regex);\n if (!match) {\n return void 0;\n }\n const attrString = match[1] || \"\";\n const attributes = parseAttributes2(attrString);\n const missingRequired = requiredAttributes.find((required) => !(required in attributes));\n if (missingRequired) {\n return void 0;\n }\n return {\n type: nodeName,\n raw: match[0],\n attributes\n };\n }\n },\n renderMarkdown: (node) => {\n const filteredAttrs = filterAttributes(node.attrs || {});\n const attrs = serializeAttributes2(filteredAttrs);\n const attrString = attrs ? ` {${attrs}}` : \"\";\n return `:::${blockName}${attrString} :::`;\n }\n };\n}\n\n// src/utilities/markdown/createBlockMarkdownSpec.ts\nfunction createBlockMarkdownSpec(options) {\n const {\n nodeName,\n name: markdownName,\n getContent,\n parseAttributes: parseAttributes2 = parseAttributes,\n serializeAttributes: serializeAttributes2 = serializeAttributes,\n defaultAttributes = {},\n content = \"block\",\n allowedAttributes\n } = options;\n const blockName = markdownName || nodeName;\n const filterAttributes = (attrs) => {\n if (!allowedAttributes) {\n return attrs;\n }\n const filtered = {};\n allowedAttributes.forEach((key) => {\n if (key in attrs) {\n filtered[key] = attrs[key];\n }\n });\n return filtered;\n };\n return {\n parseMarkdown: (token, h2) => {\n let nodeContent;\n if (getContent) {\n const contentResult = getContent(token);\n nodeContent = typeof contentResult === \"string\" ? [{ type: \"text\", text: contentResult }] : contentResult;\n } else if (content === \"block\") {\n nodeContent = h2.parseChildren(token.tokens || []);\n } else {\n nodeContent = h2.parseInline(token.tokens || []);\n }\n const attrs = { ...defaultAttributes, ...token.attributes };\n return h2.createNode(nodeName, attrs, nodeContent);\n },\n markdownTokenizer: {\n name: nodeName,\n level: \"block\",\n start(src) {\n var _a;\n const regex = new RegExp(`^:::${blockName}`, \"m\");\n const index = (_a = src.match(regex)) == null ? void 0 : _a.index;\n return index !== void 0 ? index : -1;\n },\n tokenize(src, _tokens, lexer) {\n var _a;\n const openingRegex = new RegExp(`^:::${blockName}(?:\\\\s+\\\\{([^}]*)\\\\})?\\\\s*\\\\n`);\n const openingMatch = src.match(openingRegex);\n if (!openingMatch) {\n return void 0;\n }\n const [openingTag, attrString = \"\"] = openingMatch;\n const attributes = parseAttributes2(attrString);\n let level = 1;\n const position = openingTag.length;\n let matchedContent = \"\";\n const blockPattern = /^:::([\\w-]*)(\\s.*)?/gm;\n const remaining = src.slice(position);\n blockPattern.lastIndex = 0;\n for (; ; ) {\n const match = blockPattern.exec(remaining);\n if (match === null) {\n break;\n }\n const matchPos = match.index;\n const blockType = match[1];\n if ((_a = match[2]) == null ? void 0 : _a.endsWith(\":::\")) {\n continue;\n }\n if (blockType) {\n level += 1;\n } else {\n level -= 1;\n if (level === 0) {\n const rawContent = remaining.slice(0, matchPos);\n matchedContent = rawContent.trim();\n const fullMatch = src.slice(0, position + matchPos + match[0].length);\n let contentTokens = [];\n if (matchedContent) {\n if (content === \"block\") {\n contentTokens = lexer.blockTokens(rawContent);\n contentTokens.forEach((token) => {\n if (token.text && (!token.tokens || token.tokens.length === 0)) {\n token.tokens = lexer.inlineTokens(token.text);\n }\n });\n while (contentTokens.length > 0) {\n const lastToken = contentTokens[contentTokens.length - 1];\n if (lastToken.type === \"paragraph\" && (!lastToken.text || lastToken.text.trim() === \"\")) {\n contentTokens.pop();\n } else {\n break;\n }\n }\n } else {\n contentTokens = lexer.inlineTokens(matchedContent);\n }\n }\n return {\n type: nodeName,\n raw: fullMatch,\n attributes,\n content: matchedContent,\n tokens: contentTokens\n };\n }\n }\n }\n return void 0;\n }\n },\n renderMarkdown: (node, h2) => {\n const filteredAttrs = filterAttributes(node.attrs || {});\n const attrs = serializeAttributes2(filteredAttrs);\n const attrString = attrs ? ` {${attrs}}` : \"\";\n const renderedContent = h2.renderChildren(node.content || [], \"\\n\\n\");\n return `:::${blockName}${attrString}\n\n${renderedContent}\n\n:::`;\n }\n };\n}\n\n// src/utilities/markdown/createInlineMarkdownSpec.ts\nfunction parseShortcodeAttributes(attrString) {\n if (!attrString.trim()) {\n return {};\n }\n const attributes = {};\n const regex = /(\\w+)=(?:\"([^\"]*)\"|'([^']*)')/g;\n let match = regex.exec(attrString);\n while (match !== null) {\n const [, key, doubleQuoted, singleQuoted] = match;\n attributes[key] = doubleQuoted || singleQuoted;\n match = regex.exec(attrString);\n }\n return attributes;\n}\nfunction serializeShortcodeAttributes(attrs) {\n return Object.entries(attrs).filter(([, value]) => value !== void 0 && value !== null).map(([key, value]) => `${key}=\"${value}\"`).join(\" \");\n}\nfunction createInlineMarkdownSpec(options) {\n const {\n nodeName,\n name: shortcodeName,\n getContent,\n parseAttributes: parseAttributes2 = parseShortcodeAttributes,\n serializeAttributes: serializeAttributes2 = serializeShortcodeAttributes,\n defaultAttributes = {},\n selfClosing = false,\n allowedAttributes\n } = options;\n const shortcode = shortcodeName || nodeName;\n const filterAttributes = (attrs) => {\n if (!allowedAttributes) {\n return attrs;\n }\n const filtered = {};\n allowedAttributes.forEach((attr) => {\n const attrName = typeof attr === \"string\" ? attr : attr.name;\n const skipIfDefault = typeof attr === \"string\" ? void 0 : attr.skipIfDefault;\n if (attrName in attrs) {\n const value = attrs[attrName];\n if (skipIfDefault !== void 0 && value === skipIfDefault) {\n return;\n }\n filtered[attrName] = value;\n }\n });\n return filtered;\n };\n const escapedShortcode = shortcode.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n return {\n parseMarkdown: (token, h2) => {\n const attrs = { ...defaultAttributes, ...token.attributes };\n if (selfClosing) {\n return h2.createNode(nodeName, attrs);\n }\n const content = getContent ? getContent(token) : token.content || \"\";\n if (content) {\n return h2.createNode(nodeName, attrs, [h2.createTextNode(content)]);\n }\n return h2.createNode(nodeName, attrs, []);\n },\n markdownTokenizer: {\n name: nodeName,\n level: \"inline\",\n start(src) {\n const startPattern = selfClosing ? new RegExp(`\\\\[${escapedShortcode}\\\\s*[^\\\\]]*\\\\]`) : new RegExp(`\\\\[${escapedShortcode}\\\\s*[^\\\\]]*\\\\][\\\\s\\\\S]*?\\\\[\\\\/${escapedShortcode}\\\\]`);\n const match = src.match(startPattern);\n const index = match == null ? void 0 : match.index;\n return index !== void 0 ? index : -1;\n },\n tokenize(src, _tokens, _lexer) {\n const tokenPattern = selfClosing ? new RegExp(`^\\\\[${escapedShortcode}\\\\s*([^\\\\]]*)\\\\]`) : new RegExp(`^\\\\[${escapedShortcode}\\\\s*([^\\\\]]*)\\\\]([\\\\s\\\\S]*?)\\\\[\\\\/${escapedShortcode}\\\\]`);\n const match = src.match(tokenPattern);\n if (!match) {\n return void 0;\n }\n let content = \"\";\n let attrString = \"\";\n if (selfClosing) {\n const [, attrs] = match;\n attrString = attrs;\n } else {\n const [, attrs, contentMatch] = match;\n attrString = attrs;\n content = contentMatch || \"\";\n }\n const attributes = parseAttributes2(attrString.trim());\n return {\n type: nodeName,\n raw: match[0],\n content: content.trim(),\n attributes\n };\n }\n },\n renderMarkdown: (node) => {\n let content = \"\";\n if (getContent) {\n content = getContent(node);\n } else if (node.content && node.content.length > 0) {\n content = node.content.filter((child) => child.type === \"text\").map((child) => child.text).join(\"\");\n }\n const filteredAttrs = filterAttributes(node.attrs || {});\n const attrs = serializeAttributes2(filteredAttrs);\n const attrString = attrs ? ` ${attrs}` : \"\";\n if (selfClosing) {\n return `[${shortcode}${attrString}]`;\n }\n return `[${shortcode}${attrString}]${content}[/${shortcode}]`;\n }\n };\n}\n\n// src/utilities/markdown/parseIndentedBlocks.ts\nfunction parseIndentedBlocks(src, config, lexer) {\n var _a, _b, _c, _d;\n const lines = src.split(\"\\n\");\n const items = [];\n let totalRaw = \"\";\n let i = 0;\n const baseIndentSize = config.baseIndentSize || 2;\n while (i < lines.length) {\n const currentLine = lines[i];\n const itemMatch = currentLine.match(config.itemPattern);\n if (!itemMatch) {\n if (items.length > 0) {\n break;\n } else if (currentLine.trim() === \"\") {\n i += 1;\n totalRaw = `${totalRaw}${currentLine}\n`;\n continue;\n } else {\n return void 0;\n }\n }\n const itemData = config.extractItemData(itemMatch);\n const { indentLevel, mainContent } = itemData;\n totalRaw = `${totalRaw}${currentLine}\n`;\n const itemContent = [mainContent];\n i += 1;\n while (i < lines.length) {\n const nextLine = lines[i];\n if (nextLine.trim() === \"\") {\n const nextNonEmptyIndex = lines.slice(i + 1).findIndex((l) => l.trim() !== \"\");\n if (nextNonEmptyIndex === -1) {\n break;\n }\n const nextNonEmpty = lines[i + 1 + nextNonEmptyIndex];\n const nextIndent2 = ((_b = (_a = nextNonEmpty.match(/^(\\s*)/)) == null ? void 0 : _a[1]) == null ? void 0 : _b.length) || 0;\n if (nextIndent2 > indentLevel) {\n itemContent.push(nextLine);\n totalRaw = `${totalRaw}${nextLine}\n`;\n i += 1;\n continue;\n } else {\n break;\n }\n }\n const nextIndent = ((_d = (_c = nextLine.match(/^(\\s*)/)) == null ? void 0 : _c[1]) == null ? void 0 : _d.length) || 0;\n if (nextIndent > indentLevel) {\n itemContent.push(nextLine);\n totalRaw = `${totalRaw}${nextLine}\n`;\n i += 1;\n } else {\n break;\n }\n }\n let nestedTokens;\n const nestedContent = itemContent.slice(1);\n if (nestedContent.length > 0) {\n const dedentedNested = nestedContent.map((nestedLine) => nestedLine.slice(indentLevel + baseIndentSize)).join(\"\\n\");\n if (dedentedNested.trim()) {\n if (config.customNestedParser) {\n nestedTokens = config.customNestedParser(dedentedNested);\n } else {\n nestedTokens = lexer.blockTokens(dedentedNested);\n }\n }\n }\n const token = config.createToken(itemData, nestedTokens);\n items.push(token);\n }\n if (items.length === 0) {\n return void 0;\n }\n return {\n items,\n raw: totalRaw\n };\n}\n\n// src/utilities/markdown/renderNestedMarkdownContent.ts\nfunction renderNestedMarkdownContent(node, h2, prefixOrGenerator, ctx) {\n if (!node || !Array.isArray(node.content)) {\n return \"\";\n }\n const prefix = typeof prefixOrGenerator === \"function\" ? prefixOrGenerator(ctx) : prefixOrGenerator;\n const [content, ...children] = node.content;\n const mainContent = h2.renderChildren([content]);\n const output = [`${prefix}${mainContent}`];\n if (children && children.length > 0) {\n children.forEach((child) => {\n const childContent = h2.renderChildren([child]);\n if (childContent) {\n const indentedChild = childContent.split(\"\\n\").map((line) => line ? h2.indent(line) : \"\").join(\"\\n\");\n output.push(indentedChild);\n }\n });\n }\n return output.join(\"\\n\");\n}\n\n// src/MarkView.ts\nfunction updateMarkViewAttributes(checkMark, editor, attrs = {}) {\n const { state } = editor;\n const { doc, tr } = state;\n const thisMark = checkMark;\n doc.descendants((node, pos) => {\n const from = tr.mapping.map(pos);\n const to = tr.mapping.map(pos) + node.nodeSize;\n let foundMark = null;\n node.marks.forEach((mark) => {\n if (mark !== thisMark) {\n return false;\n }\n foundMark = mark;\n });\n if (!foundMark) {\n return;\n }\n let needsUpdate = false;\n Object.keys(attrs).forEach((k) => {\n if (attrs[k] !== foundMark.attrs[k]) {\n needsUpdate = true;\n }\n });\n if (needsUpdate) {\n const updatedMark = checkMark.type.create({\n ...checkMark.attrs,\n ...attrs\n });\n tr.removeMark(from, to, checkMark.type);\n tr.addMark(from, to, updatedMark);\n }\n });\n if (tr.docChanged) {\n editor.view.dispatch(tr);\n }\n}\nvar MarkView = class {\n constructor(component, props, options) {\n this.component = component;\n this.editor = props.editor;\n this.options = { ...options };\n this.mark = props.mark;\n this.HTMLAttributes = props.HTMLAttributes;\n }\n get dom() {\n return this.editor.view.dom;\n }\n get contentDOM() {\n return null;\n }\n /**\n * Update the attributes of the mark in the document.\n * @param attrs The attributes to update.\n */\n updateAttributes(attrs, checkMark) {\n updateMarkViewAttributes(checkMark || this.mark, this.editor, attrs);\n }\n ignoreMutation(mutation) {\n if (!this.dom || !this.contentDOM) {\n return true;\n }\n if (typeof this.options.ignoreMutation === \"function\") {\n return this.options.ignoreMutation({ mutation });\n }\n if (mutation.type === \"selection\") {\n return false;\n }\n if (this.dom.contains(mutation.target) && mutation.type === \"childList\" && (isiOS() || isAndroid()) && this.editor.isFocused) {\n const changedNodes = [...Array.from(mutation.addedNodes), ...Array.from(mutation.removedNodes)];\n if (changedNodes.every((node) => node.isContentEditable)) {\n return false;\n }\n }\n if (this.contentDOM === mutation.target && mutation.type === \"attributes\") {\n return true;\n }\n if (this.contentDOM.contains(mutation.target)) {\n return false;\n }\n return true;\n }\n};\n\n// src/Node.ts\nvar Node3 = class _Node extends Extendable {\n constructor() {\n super(...arguments);\n this.type = \"node\";\n }\n /**\n * Create a new Node instance\n * @param config - Node configuration object or a function that returns a configuration object\n */\n static create(config = {}) {\n const resolvedConfig = typeof config === \"function\" ? config() : config;\n return new _Node(resolvedConfig);\n }\n configure(options) {\n return super.configure(options);\n }\n extend(extendedConfig) {\n const resolvedConfig = typeof extendedConfig === \"function\" ? extendedConfig() : extendedConfig;\n return super.extend(resolvedConfig);\n }\n};\n\n// src/NodeView.ts\n\nvar NodeView = class {\n constructor(component, props, options) {\n this.isDragging = false;\n this.component = component;\n this.editor = props.editor;\n this.options = {\n stopEvent: null,\n ignoreMutation: null,\n ...options\n };\n this.extension = props.extension;\n this.node = props.node;\n this.decorations = props.decorations;\n this.innerDecorations = props.innerDecorations;\n this.view = props.view;\n this.HTMLAttributes = props.HTMLAttributes;\n this.getPos = props.getPos;\n this.mount();\n }\n mount() {\n return;\n }\n get dom() {\n return this.editor.view.dom;\n }\n get contentDOM() {\n return null;\n }\n onDragStart(event) {\n var _a, _b, _c, _d, _e, _f, _g;\n const { view } = this.editor;\n const target = event.target;\n const dragHandle = target.nodeType === 3 ? (_a = target.parentElement) == null ? void 0 : _a.closest(\"[data-drag-handle]\") : target.closest(\"[data-drag-handle]\");\n if (!this.dom || ((_b = this.contentDOM) == null ? void 0 : _b.contains(target)) || !dragHandle) {\n return;\n }\n let x = 0;\n let y = 0;\n if (this.dom !== dragHandle) {\n const domBox = this.dom.getBoundingClientRect();\n const handleBox = dragHandle.getBoundingClientRect();\n const offsetX = (_d = event.offsetX) != null ? _d : (_c = event.nativeEvent) == null ? void 0 : _c.offsetX;\n const offsetY = (_f = event.offsetY) != null ? _f : (_e = event.nativeEvent) == null ? void 0 : _e.offsetY;\n x = handleBox.x - domBox.x + offsetX;\n y = handleBox.y - domBox.y + offsetY;\n }\n const clonedNode = this.dom.cloneNode(true);\n try {\n const domBox = this.dom.getBoundingClientRect();\n clonedNode.style.width = `${Math.round(domBox.width)}px`;\n clonedNode.style.height = `${Math.round(domBox.height)}px`;\n clonedNode.style.boxSizing = \"border-box\";\n clonedNode.style.pointerEvents = \"none\";\n } catch {\n }\n let dragImageWrapper = null;\n try {\n dragImageWrapper = document.createElement(\"div\");\n dragImageWrapper.style.position = \"absolute\";\n dragImageWrapper.style.top = \"-9999px\";\n dragImageWrapper.style.left = \"-9999px\";\n dragImageWrapper.style.pointerEvents = \"none\";\n dragImageWrapper.appendChild(clonedNode);\n document.body.appendChild(dragImageWrapper);\n (_g = event.dataTransfer) == null ? void 0 : _g.setDragImage(clonedNode, x, y);\n } finally {\n if (dragImageWrapper) {\n setTimeout(() => {\n try {\n dragImageWrapper == null ? void 0 : dragImageWrapper.remove();\n } catch {\n }\n }, 0);\n }\n }\n const pos = this.getPos();\n if (typeof pos !== \"number\") {\n return;\n }\n const selection = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.NodeSelection.create(view.state.doc, pos);\n const transaction = view.state.tr.setSelection(selection);\n view.dispatch(transaction);\n }\n stopEvent(event) {\n var _a;\n if (!this.dom) {\n return false;\n }\n if (typeof this.options.stopEvent === \"function\") {\n return this.options.stopEvent({ event });\n }\n const target = event.target;\n const isInElement = this.dom.contains(target) && !((_a = this.contentDOM) == null ? void 0 : _a.contains(target));\n if (!isInElement) {\n return false;\n }\n const isDragEvent = event.type.startsWith(\"drag\");\n const isDropEvent = event.type === \"drop\";\n const isInput = [\"INPUT\", \"BUTTON\", \"SELECT\", \"TEXTAREA\"].includes(target.tagName) || target.isContentEditable;\n if (isInput && !isDropEvent && !isDragEvent) {\n return true;\n }\n const { isEditable } = this.editor;\n const { isDragging } = this;\n const isDraggable = !!this.node.type.spec.draggable;\n const isSelectable = _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_2__.NodeSelection.isSelectable(this.node);\n const isCopyEvent = event.type === \"copy\";\n const isPasteEvent = event.type === \"paste\";\n const isCutEvent = event.type === \"cut\";\n const isClickEvent = event.type === \"mousedown\";\n if (!isDraggable && isSelectable && isDragEvent && event.target === this.dom) {\n event.preventDefault();\n }\n if (isDraggable && isDragEvent && !isDragging && event.target === this.dom) {\n event.preventDefault();\n return false;\n }\n if (isDraggable && isEditable && !isDragging && isClickEvent) {\n const dragHandle = target.closest(\"[data-drag-handle]\");\n const isValidDragHandle = dragHandle && (this.dom === dragHandle || this.dom.contains(dragHandle));\n if (isValidDragHandle) {\n this.isDragging = true;\n document.addEventListener(\n \"dragend\",\n () => {\n this.isDragging = false;\n },\n { once: true }\n );\n document.addEventListener(\n \"drop\",\n () => {\n this.isDragging = false;\n },\n { once: true }\n );\n document.addEventListener(\n \"mouseup\",\n () => {\n this.isDragging = false;\n },\n { once: true }\n );\n }\n }\n if (isDragging || isDropEvent || isCopyEvent || isPasteEvent || isCutEvent || isClickEvent && isSelectable) {\n return false;\n }\n return true;\n }\n /**\n * Called when a DOM [mutation](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver) or a selection change happens within the view.\n * @return `false` if the editor should re-read the selection or re-parse the range around the mutation\n * @return `true` if it can safely be ignored.\n */\n ignoreMutation(mutation) {\n if (!this.dom || !this.contentDOM) {\n return true;\n }\n if (typeof this.options.ignoreMutation === \"function\") {\n return this.options.ignoreMutation({ mutation });\n }\n if (this.node.isLeaf || this.node.isAtom) {\n return true;\n }\n if (mutation.type === \"selection\") {\n return false;\n }\n if (this.dom.contains(mutation.target) && mutation.type === \"childList\" && (isiOS() || isAndroid()) && this.editor.isFocused) {\n const changedNodes = [...Array.from(mutation.addedNodes), ...Array.from(mutation.removedNodes)];\n if (changedNodes.every((node) => node.isContentEditable)) {\n return false;\n }\n }\n if (this.contentDOM === mutation.target && mutation.type === \"attributes\") {\n return true;\n }\n if (this.contentDOM.contains(mutation.target)) {\n return false;\n }\n return true;\n }\n /**\n * Update the attributes of the prosemirror node.\n */\n updateAttributes(attributes) {\n this.editor.commands.command(({ tr }) => {\n const pos = this.getPos();\n if (typeof pos !== \"number\") {\n return false;\n }\n tr.setNodeMarkup(pos, void 0, {\n ...this.node.attrs,\n ...attributes\n });\n return true;\n });\n }\n /**\n * Delete the node.\n */\n deleteNode() {\n const from = this.getPos();\n if (typeof from !== \"number\") {\n return;\n }\n const to = from + this.node.nodeSize;\n this.editor.commands.deleteRange({ from, to });\n }\n};\n\n// src/pasteRules/markPasteRule.ts\nfunction markPasteRule(config) {\n return new PasteRule({\n find: config.find,\n handler: ({ state, range, match, pasteEvent }) => {\n const attributes = callOrReturn(config.getAttributes, void 0, match, pasteEvent);\n if (attributes === false || attributes === null) {\n return null;\n }\n const { tr } = state;\n const captureGroup = match[match.length - 1];\n const fullMatch = match[0];\n let markEnd = range.to;\n if (captureGroup) {\n const startSpaces = fullMatch.search(/\\S/);\n const textStart = range.from + fullMatch.indexOf(captureGroup);\n const textEnd = textStart + captureGroup.length;\n const excludedMarks = getMarksBetween(range.from, range.to, state.doc).filter((item) => {\n const excluded = item.mark.type.excluded;\n return excluded.find((type) => type === config.type && type !== item.mark.type);\n }).filter((item) => item.to > textStart);\n if (excludedMarks.length) {\n return null;\n }\n if (textEnd < range.to) {\n tr.delete(textEnd, range.to);\n }\n if (textStart > range.from) {\n tr.delete(range.from + startSpaces, textStart);\n }\n markEnd = range.from + startSpaces + captureGroup.length;\n tr.addMark(range.from + startSpaces, markEnd, config.type.create(attributes || {}));\n tr.removeStoredMark(config.type);\n }\n }\n });\n}\n\n// src/pasteRules/nodePasteRule.ts\nfunction nodePasteRule(config) {\n return new PasteRule({\n find: config.find,\n handler({ match, chain, range, pasteEvent }) {\n const attributes = callOrReturn(config.getAttributes, void 0, match, pasteEvent);\n const content = callOrReturn(config.getContent, void 0, attributes);\n if (attributes === false || attributes === null) {\n return null;\n }\n const node = { type: config.type.name, attrs: attributes };\n if (content) {\n node.content = content;\n }\n if (match.input) {\n chain().deleteRange(range).insertContentAt(range.from, node);\n }\n }\n });\n}\n\n// src/pasteRules/textPasteRule.ts\nfunction textPasteRule(config) {\n return new PasteRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n let insert = config.replace;\n let start = range.from;\n const end = range.to;\n if (match[1]) {\n const offset = match[0].lastIndexOf(match[1]);\n insert += match[0].slice(offset + match[1].length);\n start += offset;\n const cutOff = start - end;\n if (cutOff > 0) {\n insert = match[0].slice(offset - cutOff, offset) + insert;\n start = end;\n }\n }\n state.tr.insertText(insert, start, end);\n }\n });\n}\n\n// src/Tracker.ts\nvar Tracker = class {\n constructor(transaction) {\n this.transaction = transaction;\n this.currentStep = this.transaction.steps.length;\n }\n map(position) {\n let deleted = false;\n const mappedPosition = this.transaction.steps.slice(this.currentStep).reduce((newPosition, step) => {\n const mapResult = step.getMap().mapResult(newPosition);\n if (mapResult.deleted) {\n deleted = true;\n }\n return mapResult.pos;\n }, position);\n return {\n position: mappedPosition,\n deleted\n };\n }\n};\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9jb3JlL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLGtDQUFrQztBQUNoRTs7QUFFQTtBQUNBO0FBQ0EsVUFBVSxxQkFBcUI7QUFDL0IsUUFBUSxZQUFZO0FBQ3BCLFFBQVEsTUFBTTtBQUNkLFFBQVEsY0FBYztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSw2QkFBNkI7QUFDekMsWUFBWSxPQUFPO0FBQ25CLFlBQVksS0FBSztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHFCQUFxQjtBQUNqQztBQUNBO0FBQ0E7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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDeUQ7QUFDSjs7QUFFckQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxVQUFVLHVEQUF1RDtBQUNqRSxVQUFVLHVCQUF1QjtBQUNqQztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsZ0JBQWdCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsb0RBQU87QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIseUJBQXlCO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7QUFDQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxZQUFZLEtBQUs7QUFDakI7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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RSx3QkFBd0I7QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsWUFBWSxzQkFBc0I7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxnREFBZ0Q7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IscUJBQXFCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxLQUFLO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlGQUF5RjtBQUN6RjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLHFCQUFxQjtBQUNyQztBQUNBLGNBQWMsS0FBSztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IscUJBQXFCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixxQkFBcUI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUN5RTtBQUN6RTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsNEJBQTRCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLGtFQUFZO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IseUJBQXlCO0FBQ3pDLGdCQUFnQixrQkFBa0I7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCw2REFBUTtBQUMzRDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLG9CQUFvQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBeUhFO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEB0aXB0YXBcXGNvcmVcXGRpc3RcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlZlByb3AgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG52YXIgX19leHBvcnQgPSAodGFyZ2V0LCBhbGwpID0+IHtcbiAgZm9yICh2YXIgbmFtZSBpbiBhbGwpXG4gICAgX19kZWZQcm9wKHRhcmdldCwgbmFtZSwgeyBnZXQ6IGFsbFtuYW1lXSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbn07XG5cbi8vIHNyYy9oZWxwZXJzL2NyZWF0ZUNoYWluYWJsZVN0YXRlLnRzXG5mdW5jdGlvbiBjcmVhdGVDaGFpbmFibGVTdGF0ZShjb25maWcpIHtcbiAgY29uc3QgeyBzdGF0ZSwgdHJhbnNhY3Rpb24gfSA9IGNvbmZpZztcbiAgbGV0IHsgc2VsZWN0aW9uIH0gPSB0cmFuc2FjdGlvbjtcbiAgbGV0IHsgZG9jIH0gPSB0cmFuc2FjdGlvbjtcbiAgbGV0IHsgc3RvcmVkTWFya3MgfSA9IHRyYW5zYWN0aW9uO1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIGFwcGx5OiBzdGF0ZS5hcHBseS5iaW5kKHN0YXRlKSxcbiAgICBhcHBseVRyYW5zYWN0aW9uOiBzdGF0ZS5hcHBseVRyYW5zYWN0aW9uLmJpbmQoc3RhdGUpLFxuICAgIHBsdWdpbnM6IHN0YXRlLnBsdWdpbnMsXG4gICAgc2NoZW1hOiBzdGF0ZS5zY2hlbWEsXG4gICAgcmVjb25maWd1cmU6IHN0YXRlLnJlY29uZmlndXJlLmJpbmQoc3RhdGUpLFxuICAgIHRvSlNPTjogc3RhdGUudG9KU09OLmJpbmQoc3RhdGUpLFxuICAgIGdldCBzdG9yZWRNYXJrcygpIHtcbiAgICAgIHJldHVybiBzdG9yZWRNYXJrcztcbiAgICB9LFxuICAgIGdldCBzZWxlY3Rpb24oKSB7XG4gICAgICByZXR1cm4gc2VsZWN0aW9uO1xuICAgIH0sXG4gICAgZ2V0IGRvYygpIHtcbiAgICAgIHJldHVybiBkb2M7XG4gICAgfSxcbiAgICBnZXQgdHIoKSB7XG4gICAgICBzZWxlY3Rpb24gPSB0cmFuc2FjdGlvbi5zZWxlY3Rpb247XG4gICAgICBkb2MgPSB0cmFuc2FjdGlvbi5kb2M7XG4gICAgICBzdG9yZWRNYXJrcyA9IHRyYW5zYWN0aW9uLnN0b3JlZE1hcmtzO1xuICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uO1xuICAgIH1cbiAgfTtcbn1cblxuLy8gc3JjL0NvbW1hbmRNYW5hZ2VyLnRzXG52YXIgQ29tbWFuZE1hbmFnZXIgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgdGhpcy5lZGl0b3IgPSBwcm9wcy5lZGl0b3I7XG4gICAgdGhpcy5yYXdDb21tYW5kcyA9IHRoaXMuZWRpdG9yLmV4dGVuc2lvbk1hbmFnZXIuY29tbWFuZHM7XG4gICAgdGhpcy5jdXN0b21TdGF0ZSA9IHByb3BzLnN0YXRlO1xuICB9XG4gIGdldCBoYXNDdXN0b21TdGF0ZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLmN1c3RvbVN0YXRlO1xuICB9XG4gIGdldCBzdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXN0b21TdGF0ZSB8fCB0aGlzLmVkaXRvci5zdGF0ZTtcbiAgfVxuICBnZXQgY29tbWFuZHMoKSB7XG4gICAgY29uc3QgeyByYXdDb21tYW5kcywgZWRpdG9yLCBzdGF0ZSB9ID0gdGhpcztcbiAgICBjb25zdCB7IHZpZXcgfSA9IGVkaXRvcjtcbiAgICBjb25zdCB7IHRyIH0gPSBzdGF0ZTtcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMuYnVpbGRQcm9wcyh0cik7XG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJhd0NvbW1hbmRzKS5tYXAoKFtuYW1lLCBjb21tYW5kMl0pID0+IHtcbiAgICAgICAgY29uc3QgbWV0aG9kID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICBjb25zdCBjYWxsYmFjayA9IGNvbW1hbmQyKC4uLmFyZ3MpKHByb3BzKTtcbiAgICAgICAgICBpZiAoIXRyLmdldE1ldGEoXCJwcmV2ZW50RGlzcGF0Y2hcIikgJiYgIXRoaXMuaGFzQ3VzdG9tU3RhdGUpIHtcbiAgICAgICAgICAgIHZpZXcuZGlzcGF0Y2godHIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2s7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBbbmFtZSwgbWV0aG9kXTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuICBnZXQgY2hhaW4oKSB7XG4gICAgcmV0dXJuICgpID0+IHRoaXMuY3JlYXRlQ2hhaW4oKTtcbiAgfVxuICBnZXQgY2FuKCkge1xuICAgIHJldHVybiAoKSA9PiB0aGlzLmNyZWF0ZUNhbigpO1xuICB9XG4gIGNyZWF0ZUNoYWluKHN0YXJ0VHIsIHNob3VsZERpc3BhdGNoID0gdHJ1ZSkge1xuICAgIGNvbnN0IHsgcmF3Q29tbWFuZHMsIGVkaXRvciwgc3RhdGUgfSA9IHRoaXM7XG4gICAgY29uc3QgeyB2aWV3IH0gPSBlZGl0b3I7XG4gICAgY29uc3QgY2FsbGJhY2tzID0gW107XG4gICAgY29uc3QgaGFzU3RhcnRUcmFuc2FjdGlvbiA9ICEhc3RhcnRUcjtcbiAgICBjb25zdCB0ciA9IHN0YXJ0VHIgfHwgc3RhdGUudHI7XG4gICAgY29uc3QgcnVuMyA9ICgpID0+IHtcbiAgICAgIGlmICghaGFzU3RhcnRUcmFuc2FjdGlvbiAmJiBzaG91bGREaXNwYXRjaCAmJiAhdHIuZ2V0TWV0YShcInByZXZlbnREaXNwYXRjaFwiKSAmJiAhdGhpcy5oYXNDdXN0b21TdGF0ZSkge1xuICAgICAgICB2aWV3LmRpc3BhdGNoKHRyKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWxsYmFja3MuZXZlcnkoKGNhbGxiYWNrKSA9PiBjYWxsYmFjayA9PT0gdHJ1ZSk7XG4gICAgfTtcbiAgICBjb25zdCBjaGFpbiA9IHtcbiAgICAgIC4uLk9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgT2JqZWN0LmVudHJpZXMocmF3Q29tbWFuZHMpLm1hcCgoW25hbWUsIGNvbW1hbmQyXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNoYWluZWRDb21tYW5kID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5idWlsZFByb3BzKHRyLCBzaG91bGREaXNwYXRjaCk7XG4gICAgICAgICAgICBjb25zdCBjYWxsYmFjayA9IGNvbW1hbmQyKC4uLmFyZ3MpKHByb3BzKTtcbiAgICAgICAgICAgIGNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcbiAgICAgICAgICAgIHJldHVybiBjaGFpbjtcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBbbmFtZSwgY2hhaW5lZENvbW1hbmRdO1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHJ1bjogcnVuM1xuICAgIH07XG4gICAgcmV0dXJuIGNoYWluO1xuICB9XG4gIGNyZWF0ZUNhbihzdGFydFRyKSB7XG4gICAgY29uc3QgeyByYXdDb21tYW5kcywgc3RhdGUgfSA9IHRoaXM7XG4gICAgY29uc3QgZGlzcGF0Y2ggPSBmYWxzZTtcbiAgICBjb25zdCB0ciA9IHN0YXJ0VHIgfHwgc3RhdGUudHI7XG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLmJ1aWxkUHJvcHModHIsIGRpc3BhdGNoKTtcbiAgICBjb25zdCBmb3JtYXR0ZWRDb21tYW5kcyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJhd0NvbW1hbmRzKS5tYXAoKFtuYW1lLCBjb21tYW5kMl0pID0+IHtcbiAgICAgICAgcmV0dXJuIFtuYW1lLCAoLi4uYXJncykgPT4gY29tbWFuZDIoLi4uYXJncykoeyAuLi5wcm9wcywgZGlzcGF0Y2g6IHZvaWQgMCB9KV07XG4gICAgICB9KVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmZvcm1hdHRlZENvbW1hbmRzLFxuICAgICAgY2hhaW46ICgpID0+IHRoaXMuY3JlYXRlQ2hhaW4odHIsIGRpc3BhdGNoKVxuICAgIH07XG4gIH1cbiAgYnVpbGRQcm9wcyh0ciwgc2hvdWxkRGlzcGF0Y2ggPSB0cnVlKSB7XG4gICAgY29uc3QgeyByYXdDb21tYW5kcywgZWRpdG9yLCBzdGF0ZSB9ID0gdGhpcztcbiAgICBjb25zdCB7IHZpZXcgfSA9IGVkaXRvcjtcbiAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgIHRyLFxuICAgICAgZWRpdG9yLFxuICAgICAgdmlldyxcbiAgICAgIHN0YXRlOiBjcmVhdGVDaGFpbmFibGVTdGF0ZSh7XG4gICAgICAgIHN0YXRlLFxuICAgICAgICB0cmFuc2FjdGlvbjogdHJcbiAgICAgIH0pLFxuICAgICAgZGlzcGF0Y2g6IHNob3VsZERpc3BhdGNoID8gKCkgPT4gdm9pZCAwIDogdm9pZCAwLFxuICAgICAgY2hhaW46ICgpID0+IHRoaXMuY3JlYXRlQ2hhaW4odHIsIHNob3VsZERpc3BhdGNoKSxcbiAgICAgIGNhbjogKCkgPT4gdGhpcy5jcmVhdGVDYW4odHIpLFxuICAgICAgZ2V0IGNvbW1hbmRzKCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHJhd0NvbW1hbmRzKS5tYXAoKFtuYW1lLCBjb21tYW5kMl0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBbbmFtZSwgKC4uLmFyZ3MpID0+IGNvbW1hbmQyKC4uLmFyZ3MpKHByb3BzKV07XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBwcm9wcztcbiAgfVxufTtcblxuLy8gc3JjL2NvbW1hbmRzL2luZGV4LnRzXG52YXIgY29tbWFuZHNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoY29tbWFuZHNfZXhwb3J0cywge1xuICBibHVyOiAoKSA9PiBibHVyLFxuICBjbGVhckNvbnRlbnQ6ICgpID0+IGNsZWFyQ29udGVudCxcbiAgY2xlYXJOb2RlczogKCkgPT4gY2xlYXJOb2RlcyxcbiAgY29tbWFuZDogKCkgPT4gY29tbWFuZCxcbiAgY3JlYXRlUGFyYWdyYXBoTmVhcjogKCkgPT4gY3JlYXRlUGFyYWdyYXBoTmVhcixcbiAgY3V0OiAoKSA9PiBjdXQsXG4gIGRlbGV0ZUN1cnJlbnROb2RlOiAoKSA9PiBkZWxldGVDdXJyZW50Tm9kZSxcbiAgZGVsZXRlTm9kZTogKCkgPT4gZGVsZXRlTm9kZSxcbiAgZGVsZXRlUmFuZ2U6ICgpID0+IGRlbGV0ZVJhbmdlLFxuICBkZWxldGVTZWxlY3Rpb246ICgpID0+IGRlbGV0ZVNlbGVjdGlvbixcbiAgZW50ZXI6ICgpID0+IGVudGVyLFxuICBleGl0Q29kZTogKCkgPT4gZXhpdENvZGUsXG4gIGV4dGVuZE1hcmtSYW5nZTogKCkgPT4gZXh0ZW5kTWFya1JhbmdlLFxuICBmaXJzdDogKCkgPT4gZmlyc3QsXG4gIGZvY3VzOiAoKSA9PiBmb2N1cyxcbiAgZm9yRWFjaDogKCkgPT4gZm9yRWFjaCxcbiAgaW5zZXJ0Q29udGVudDogKCkgPT4gaW5zZXJ0Q29udGVudCxcbiAgaW5zZXJ0Q29udGVudEF0OiAoKSA9PiBpbnNlcnRDb250ZW50QXQsXG4gIGpvaW5CYWNrd2FyZDogKCkgPT4gam9pbkJhY2t3YXJkLFxuICBqb2luRG93bjogKCkgPT4gam9pbkRvd24sXG4gIGpvaW5Gb3J3YXJkOiAoKSA9PiBqb2luRm9yd2FyZCxcbiAgam9pbkl0ZW1CYWNrd2FyZDogKCkgPT4gam9pbkl0ZW1CYWNrd2FyZCxcbiAgam9pbkl0ZW1Gb3J3YXJkOiAoKSA9PiBqb2luSXRlbUZvcndhcmQsXG4gIGpvaW5UZXh0YmxvY2tCYWNrd2FyZDogKCkgPT4gam9pblRleHRibG9ja0JhY2t3YXJkLFxuICBqb2luVGV4dGJsb2NrRm9yd2FyZDogKCkgPT4gam9pblRleHRibG9ja0ZvcndhcmQsXG4gIGpvaW5VcDogKCkgPT4gam9pblVwLFxuICBrZXlib2FyZFNob3J0Y3V0OiAoKSA9PiBrZXlib2FyZFNob3J0Y3V0LFxuICBsaWZ0OiAoKSA9PiBsaWZ0LFxuICBsaWZ0RW1wdHlCbG9jazogKCkgPT4gbGlmdEVtcHR5QmxvY2ssXG4gIGxpZnRMaXN0SXRlbTogKCkgPT4gbGlmdExpc3RJdGVtLFxuICBuZXdsaW5lSW5Db2RlOiAoKSA9PiBuZXdsaW5lSW5Db2RlLFxuICByZXNldEF0dHJpYnV0ZXM6ICgpID0+IHJlc2V0QXR0cmlidXRlcyxcbiAgc2Nyb2xsSW50b1ZpZXc6ICgpID0+IHNjcm9sbEludG9WaWV3LFxuICBzZWxlY3RBbGw6ICgpID0+IHNlbGVjdEFsbCxcbiAgc2VsZWN0Tm9kZUJhY2t3YXJkOiAoKSA9PiBzZWxlY3ROb2RlQmFja3dhcmQsXG4gIHNlbGVjdE5vZGVGb3J3YXJkOiAoKSA9PiBzZWxlY3ROb2RlRm9yd2FyZCxcbiAgc2VsZWN0UGFyZW50Tm9kZTogKCkgPT4gc2VsZWN0UGFyZW50Tm9kZSxcbiAgc2VsZWN0VGV4dGJsb2NrRW5kOiAoKSA9PiBzZWxlY3RUZXh0YmxvY2tFbmQsXG4gIHNlbGVjdFRleHRibG9ja1N0YXJ0OiAoKSA9PiBzZWxlY3RUZXh0YmxvY2tTdGFydCxcbiAgc2V0Q29udGVudDogKCkgPT4gc2V0Q29udGVudCxcbiAgc2V0TWFyazogKCkgPT4gc2V0TWFyayxcbiAgc2V0TWV0YTogKCkgPT4gc2V0TWV0YSxcbiAgc2V0Tm9kZTogKCkgPT4gc2V0Tm9kZSxcbiAgc2V0Tm9kZVNlbGVjdGlvbjogKCkgPT4gc2V0Tm9kZVNlbGVjdGlvbixcbiAgc2V0VGV4dERpcmVjdGlvbjogKCkgPT4gc2V0VGV4dERpcmVjdGlvbixcbiAgc2V0VGV4dFNlbGVjdGlvbjogKCkgPT4gc2V0VGV4dFNlbGVjdGlvbixcbiAgc2lua0xpc3RJdGVtOiAoKSA9PiBzaW5rTGlzdEl0ZW0sXG4gIHNwbGl0QmxvY2s6ICgpID0+IHNwbGl0QmxvY2ssXG4gIHNwbGl0TGlzdEl0ZW06ICgpID0+IHNwbGl0TGlzdEl0ZW0sXG4gIHRvZ2dsZUxpc3Q6ICgpID0+IHRvZ2dsZUxpc3QsXG4gIHRvZ2dsZU1hcms6ICgpID0+IHRvZ2dsZU1hcmssXG4gIHRvZ2dsZU5vZGU6ICgpID0+IHRvZ2dsZU5vZGUsXG4gIHRvZ2dsZVdyYXA6ICgpID0+IHRvZ2dsZVdyYXAsXG4gIHVuZG9JbnB1dFJ1bGU6ICgpID0+IHVuZG9JbnB1dFJ1bGUsXG4gIHVuc2V0QWxsTWFya3M6ICgpID0+IHVuc2V0QWxsTWFya3MsXG4gIHVuc2V0TWFyazogKCkgPT4gdW5zZXRNYXJrLFxuICB1bnNldFRleHREaXJlY3Rpb246ICgpID0+IHVuc2V0VGV4dERpcmVjdGlvbixcbiAgdXBkYXRlQXR0cmlidXRlczogKCkgPT4gdXBkYXRlQXR0cmlidXRlcyxcbiAgd3JhcEluOiAoKSA9PiB3cmFwSW4sXG4gIHdyYXBJbkxpc3Q6ICgpID0+IHdyYXBJbkxpc3Rcbn0pO1xuXG4vLyBzcmMvY29tbWFuZHMvYmx1ci50c1xudmFyIGJsdXIgPSAoKSA9PiAoeyBlZGl0b3IsIHZpZXcgfSkgPT4ge1xuICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgIHZhciBfYTtcbiAgICBpZiAoIWVkaXRvci5pc0Rlc3Ryb3llZCkge1xuICAgICAgO1xuICAgICAgdmlldy5kb20uYmx1cigpO1xuICAgICAgKF9hID0gd2luZG93ID09IG51bGwgPyB2b2lkIDAgOiB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkpID09IG51bGwgPyB2b2lkIDAgOiBfYS5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9jbGVhckNvbnRlbnQudHNcbnZhciBjbGVhckNvbnRlbnQgPSAoZW1pdFVwZGF0ZSA9IHRydWUpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgcmV0dXJuIGNvbW1hbmRzLnNldENvbnRlbnQoXCJcIiwgeyBlbWl0VXBkYXRlIH0pO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL2NsZWFyTm9kZXMudHNcbmltcG9ydCB7IGxpZnRUYXJnZXQgfSBmcm9tIFwiQHRpcHRhcC9wbS90cmFuc2Zvcm1cIjtcbnZhciBjbGVhck5vZGVzID0gKCkgPT4gKHsgc3RhdGUsIHRyLCBkaXNwYXRjaCB9KSA9PiB7XG4gIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSB0cjtcbiAgY29uc3QgeyByYW5nZXMgfSA9IHNlbGVjdGlvbjtcbiAgaWYgKCFkaXNwYXRjaCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJhbmdlcy5mb3JFYWNoKCh7ICRmcm9tLCAkdG8gfSkgPT4ge1xuICAgIHN0YXRlLmRvYy5ub2Rlc0JldHdlZW4oJGZyb20ucG9zLCAkdG8ucG9zLCAobm9kZSwgcG9zKSA9PiB7XG4gICAgICBpZiAobm9kZS50eXBlLmlzVGV4dCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCB7IGRvYywgbWFwcGluZyB9ID0gdHI7XG4gICAgICBjb25zdCAkbWFwcGVkRnJvbSA9IGRvYy5yZXNvbHZlKG1hcHBpbmcubWFwKHBvcykpO1xuICAgICAgY29uc3QgJG1hcHBlZFRvID0gZG9jLnJlc29sdmUobWFwcGluZy5tYXAocG9zICsgbm9kZS5ub2RlU2l6ZSkpO1xuICAgICAgY29uc3Qgbm9kZVJhbmdlID0gJG1hcHBlZEZyb20uYmxvY2tSYW5nZSgkbWFwcGVkVG8pO1xuICAgICAgaWYgKCFub2RlUmFuZ2UpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgdGFyZ2V0TGlmdERlcHRoID0gbGlmdFRhcmdldChub2RlUmFuZ2UpO1xuICAgICAgaWYgKG5vZGUudHlwZS5pc1RleHRibG9jaykge1xuICAgICAgICBjb25zdCB7IGRlZmF1bHRUeXBlIH0gPSAkbWFwcGVkRnJvbS5wYXJlbnQuY29udGVudE1hdGNoQXQoJG1hcHBlZEZyb20uaW5kZXgoKSk7XG4gICAgICAgIHRyLnNldE5vZGVNYXJrdXAobm9kZVJhbmdlLnN0YXJ0LCBkZWZhdWx0VHlwZSk7XG4gICAgICB9XG4gICAgICBpZiAodGFyZ2V0TGlmdERlcHRoIHx8IHRhcmdldExpZnREZXB0aCA9PT0gMCkge1xuICAgICAgICB0ci5saWZ0KG5vZGVSYW5nZSwgdGFyZ2V0TGlmdERlcHRoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiB0cnVlO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL2NvbW1hbmQudHNcbnZhciBjb21tYW5kID0gKGZuKSA9PiAocHJvcHMpID0+IHtcbiAgcmV0dXJuIGZuKHByb3BzKTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9jcmVhdGVQYXJhZ3JhcGhOZWFyLnRzXG5pbXBvcnQgeyBjcmVhdGVQYXJhZ3JhcGhOZWFyIGFzIG9yaWdpbmFsQ3JlYXRlUGFyYWdyYXBoTmVhciB9IGZyb20gXCJAdGlwdGFwL3BtL2NvbW1hbmRzXCI7XG52YXIgY3JlYXRlUGFyYWdyYXBoTmVhciA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIHJldHVybiBvcmlnaW5hbENyZWF0ZVBhcmFncmFwaE5lYXIoc3RhdGUsIGRpc3BhdGNoKTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9jdXQudHNcbmltcG9ydCB7IFRleHRTZWxlY3Rpb24gfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xudmFyIGN1dCA9IChvcmlnaW5SYW5nZSwgdGFyZ2V0UG9zKSA9PiAoeyBlZGl0b3IsIHRyIH0pID0+IHtcbiAgY29uc3QgeyBzdGF0ZSB9ID0gZWRpdG9yO1xuICBjb25zdCBjb250ZW50U2xpY2UgPSBzdGF0ZS5kb2Muc2xpY2Uob3JpZ2luUmFuZ2UuZnJvbSwgb3JpZ2luUmFuZ2UudG8pO1xuICB0ci5kZWxldGVSYW5nZShvcmlnaW5SYW5nZS5mcm9tLCBvcmlnaW5SYW5nZS50byk7XG4gIGNvbnN0IG5ld1BvcyA9IHRyLm1hcHBpbmcubWFwKHRhcmdldFBvcyk7XG4gIHRyLmluc2VydChuZXdQb3MsIGNvbnRlbnRTbGljZS5jb250ZW50KTtcbiAgdHIuc2V0U2VsZWN0aW9uKG5ldyBUZXh0U2VsZWN0aW9uKHRyLmRvYy5yZXNvbHZlKE1hdGgubWF4KG5ld1BvcyAtIDEsIDApKSkpO1xuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9kZWxldGVDdXJyZW50Tm9kZS50c1xudmFyIGRlbGV0ZUN1cnJlbnROb2RlID0gKCkgPT4gKHsgdHIsIGRpc3BhdGNoIH0pID0+IHtcbiAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IHRyO1xuICBjb25zdCBjdXJyZW50Tm9kZSA9IHNlbGVjdGlvbi4kYW5jaG9yLm5vZGUoKTtcbiAgaWYgKGN1cnJlbnROb2RlLmNvbnRlbnQuc2l6ZSA+IDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgJHBvcyA9IHRyLnNlbGVjdGlvbi4kYW5jaG9yO1xuICBmb3IgKGxldCBkZXB0aCA9ICRwb3MuZGVwdGg7IGRlcHRoID4gMDsgZGVwdGggLT0gMSkge1xuICAgIGNvbnN0IG5vZGUgPSAkcG9zLm5vZGUoZGVwdGgpO1xuICAgIGlmIChub2RlLnR5cGUgPT09IGN1cnJlbnROb2RlLnR5cGUpIHtcbiAgICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgICBjb25zdCBmcm9tID0gJHBvcy5iZWZvcmUoZGVwdGgpO1xuICAgICAgICBjb25zdCB0byA9ICRwb3MuYWZ0ZXIoZGVwdGgpO1xuICAgICAgICB0ci5kZWxldGUoZnJvbSwgdG8pLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLy8gc3JjL2hlbHBlcnMvZ2V0Tm9kZVR5cGUudHNcbmZ1bmN0aW9uIGdldE5vZGVUeXBlKG5hbWVPclR5cGUsIHNjaGVtYSkge1xuICBpZiAodHlwZW9mIG5hbWVPclR5cGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICBpZiAoIXNjaGVtYS5ub2Rlc1tuYW1lT3JUeXBlXSkge1xuICAgICAgdGhyb3cgRXJyb3IoYFRoZXJlIGlzIG5vIG5vZGUgdHlwZSBuYW1lZCAnJHtuYW1lT3JUeXBlfScuIE1heWJlIHlvdSBmb3Jnb3QgdG8gYWRkIHRoZSBleHRlbnNpb24/YCk7XG4gICAgfVxuICAgIHJldHVybiBzY2hlbWEubm9kZXNbbmFtZU9yVHlwZV07XG4gIH1cbiAgcmV0dXJuIG5hbWVPclR5cGU7XG59XG5cbi8vIHNyYy9jb21tYW5kcy9kZWxldGVOb2RlLnRzXG52YXIgZGVsZXRlTm9kZSA9ICh0eXBlT3JOYW1lKSA9PiAoeyB0ciwgc3RhdGUsIGRpc3BhdGNoIH0pID0+IHtcbiAgY29uc3QgdHlwZSA9IGdldE5vZGVUeXBlKHR5cGVPck5hbWUsIHN0YXRlLnNjaGVtYSk7XG4gIGNvbnN0ICRwb3MgPSB0ci5zZWxlY3Rpb24uJGFuY2hvcjtcbiAgZm9yIChsZXQgZGVwdGggPSAkcG9zLmRlcHRoOyBkZXB0aCA+IDA7IGRlcHRoIC09IDEpIHtcbiAgICBjb25zdCBub2RlID0gJHBvcy5ub2RlKGRlcHRoKTtcbiAgICBpZiAobm9kZS50eXBlID09PSB0eXBlKSB7XG4gICAgICBpZiAoZGlzcGF0Y2gpIHtcbiAgICAgICAgY29uc3QgZnJvbSA9ICRwb3MuYmVmb3JlKGRlcHRoKTtcbiAgICAgICAgY29uc3QgdG8gPSAkcG9zLmFmdGVyKGRlcHRoKTtcbiAgICAgICAgdHIuZGVsZXRlKGZyb20sIHRvKS5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9kZWxldGVSYW5nZS50c1xudmFyIGRlbGV0ZVJhbmdlID0gKHJhbmdlKSA9PiAoeyB0ciwgZGlzcGF0Y2ggfSkgPT4ge1xuICBjb25zdCB7IGZyb20sIHRvIH0gPSByYW5nZTtcbiAgaWYgKGRpc3BhdGNoKSB7XG4gICAgdHIuZGVsZXRlKGZyb20sIHRvKTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9kZWxldGVTZWxlY3Rpb24udHNcbmltcG9ydCB7IGRlbGV0ZVNlbGVjdGlvbiBhcyBvcmlnaW5hbERlbGV0ZVNlbGVjdGlvbiB9IGZyb20gXCJAdGlwdGFwL3BtL2NvbW1hbmRzXCI7XG52YXIgZGVsZXRlU2VsZWN0aW9uID0gKCkgPT4gKHsgc3RhdGUsIGRpc3BhdGNoIH0pID0+IHtcbiAgcmV0dXJuIG9yaWdpbmFsRGVsZXRlU2VsZWN0aW9uKHN0YXRlLCBkaXNwYXRjaCk7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvZW50ZXIudHNcbnZhciBlbnRlciA9ICgpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgcmV0dXJuIGNvbW1hbmRzLmtleWJvYXJkU2hvcnRjdXQoXCJFbnRlclwiKTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9leGl0Q29kZS50c1xuaW1wb3J0IHsgZXhpdENvZGUgYXMgb3JpZ2luYWxFeGl0Q29kZSB9IGZyb20gXCJAdGlwdGFwL3BtL2NvbW1hbmRzXCI7XG52YXIgZXhpdENvZGUgPSAoKSA9PiAoeyBzdGF0ZSwgZGlzcGF0Y2ggfSkgPT4ge1xuICByZXR1cm4gb3JpZ2luYWxFeGl0Q29kZShzdGF0ZSwgZGlzcGF0Y2gpO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL2V4dGVuZE1hcmtSYW5nZS50c1xuaW1wb3J0IHsgVGV4dFNlbGVjdGlvbiBhcyBUZXh0U2VsZWN0aW9uMiB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG5cbi8vIHNyYy91dGlsaXRpZXMvaXNSZWdFeHAudHNcbmZ1bmN0aW9uIGlzUmVnRXhwKHZhbHVlKSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpID09PSBcIltvYmplY3QgUmVnRXhwXVwiO1xufVxuXG4vLyBzcmMvdXRpbGl0aWVzL29iamVjdEluY2x1ZGVzLnRzXG5mdW5jdGlvbiBvYmplY3RJbmNsdWRlcyhvYmplY3QxLCBvYmplY3QyLCBvcHRpb25zID0geyBzdHJpY3Q6IHRydWUgfSkge1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0Mik7XG4gIGlmICgha2V5cy5sZW5ndGgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4ga2V5cy5ldmVyeSgoa2V5KSA9PiB7XG4gICAgaWYgKG9wdGlvbnMuc3RyaWN0KSB7XG4gICAgICByZXR1cm4gb2JqZWN0MltrZXldID09PSBvYmplY3QxW2tleV07XG4gICAgfVxuICAgIGlmIChpc1JlZ0V4cChvYmplY3QyW2tleV0pKSB7XG4gICAgICByZXR1cm4gb2JqZWN0MltrZXldLnRlc3Qob2JqZWN0MVtrZXldKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iamVjdDJba2V5XSA9PT0gb2JqZWN0MVtrZXldO1xuICB9KTtcbn1cblxuLy8gc3JjL2hlbHBlcnMvZ2V0TWFya1JhbmdlLnRzXG5mdW5jdGlvbiBmaW5kTWFya0luU2V0KG1hcmtzLCB0eXBlLCBhdHRyaWJ1dGVzID0ge30pIHtcbiAgcmV0dXJuIG1hcmtzLmZpbmQoKGl0ZW0pID0+IHtcbiAgICByZXR1cm4gaXRlbS50eXBlID09PSB0eXBlICYmIG9iamVjdEluY2x1ZGVzKFxuICAgICAgLy8gT25seSBjaGVjayBlcXVhbGl0eSBmb3IgdGhlIGF0dHJpYnV0ZXMgdGhhdCBhcmUgcHJvdmlkZWRcbiAgICAgIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5tYXAoKGspID0+IFtrLCBpdGVtLmF0dHJzW2tdXSkpLFxuICAgICAgYXR0cmlidXRlc1xuICAgICk7XG4gIH0pO1xufVxuZnVuY3Rpb24gaXNNYXJrSW5TZXQobWFya3MsIHR5cGUsIGF0dHJpYnV0ZXMgPSB7fSkge1xuICByZXR1cm4gISFmaW5kTWFya0luU2V0KG1hcmtzLCB0eXBlLCBhdHRyaWJ1dGVzKTtcbn1cbmZ1bmN0aW9uIGdldE1hcmtSYW5nZSgkcG9zLCB0eXBlLCBhdHRyaWJ1dGVzKSB7XG4gIHZhciBfYTtcbiAgaWYgKCEkcG9zIHx8ICF0eXBlKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGxldCBzdGFydCA9ICRwb3MucGFyZW50LmNoaWxkQWZ0ZXIoJHBvcy5wYXJlbnRPZmZzZXQpO1xuICBpZiAoIXN0YXJ0Lm5vZGUgfHwgIXN0YXJ0Lm5vZGUubWFya3Muc29tZSgobWFyazIpID0+IG1hcmsyLnR5cGUgPT09IHR5cGUpKSB7XG4gICAgc3RhcnQgPSAkcG9zLnBhcmVudC5jaGlsZEJlZm9yZSgkcG9zLnBhcmVudE9mZnNldCk7XG4gIH1cbiAgaWYgKCFzdGFydC5ub2RlIHx8ICFzdGFydC5ub2RlLm1hcmtzLnNvbWUoKG1hcmsyKSA9PiBtYXJrMi50eXBlID09PSB0eXBlKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBhdHRyaWJ1dGVzID0gYXR0cmlidXRlcyB8fCAoKF9hID0gc3RhcnQubm9kZS5tYXJrc1swXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmF0dHJzKTtcbiAgY29uc3QgbWFyayA9IGZpbmRNYXJrSW5TZXQoWy4uLnN0YXJ0Lm5vZGUubWFya3NdLCB0eXBlLCBhdHRyaWJ1dGVzKTtcbiAgaWYgKCFtYXJrKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGxldCBzdGFydEluZGV4ID0gc3RhcnQuaW5kZXg7XG4gIGxldCBzdGFydFBvcyA9ICRwb3Muc3RhcnQoKSArIHN0YXJ0Lm9mZnNldDtcbiAgbGV0IGVuZEluZGV4ID0gc3RhcnRJbmRleCArIDE7XG4gIGxldCBlbmRQb3MgPSBzdGFydFBvcyArIHN0YXJ0Lm5vZGUubm9kZVNpemU7XG4gIHdoaWxlIChzdGFydEluZGV4ID4gMCAmJiBpc01hcmtJblNldChbLi4uJHBvcy5wYXJlbnQuY2hpbGQoc3RhcnRJbmRleCAtIDEpLm1hcmtzXSwgdHlwZSwgYXR0cmlidXRlcykpIHtcbiAgICBzdGFydEluZGV4IC09IDE7XG4gICAgc3RhcnRQb3MgLT0gJHBvcy5wYXJlbnQuY2hpbGQoc3RhcnRJbmRleCkubm9kZVNpemU7XG4gIH1cbiAgd2hpbGUgKGVuZEluZGV4IDwgJHBvcy5wYXJlbnQuY2hpbGRDb3VudCAmJiBpc01hcmtJblNldChbLi4uJHBvcy5wYXJlbnQuY2hpbGQoZW5kSW5kZXgpLm1hcmtzXSwgdHlwZSwgYXR0cmlidXRlcykpIHtcbiAgICBlbmRQb3MgKz0gJHBvcy5wYXJlbnQuY2hpbGQoZW5kSW5kZXgpLm5vZGVTaXplO1xuICAgIGVuZEluZGV4ICs9IDE7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBmcm9tOiBzdGFydFBvcyxcbiAgICB0bzogZW5kUG9zXG4gIH07XG59XG5cbi8vIHNyYy9oZWxwZXJzL2dldE1hcmtUeXBlLnRzXG5mdW5jdGlvbiBnZXRNYXJrVHlwZShuYW1lT3JUeXBlLCBzY2hlbWEpIHtcbiAgaWYgKHR5cGVvZiBuYW1lT3JUeXBlID09PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKCFzY2hlbWEubWFya3NbbmFtZU9yVHlwZV0pIHtcbiAgICAgIHRocm93IEVycm9yKGBUaGVyZSBpcyBubyBtYXJrIHR5cGUgbmFtZWQgJyR7bmFtZU9yVHlwZX0nLiBNYXliZSB5b3UgZm9yZ290IHRvIGFkZCB0aGUgZXh0ZW5zaW9uP2ApO1xuICAgIH1cbiAgICByZXR1cm4gc2NoZW1hLm1hcmtzW25hbWVPclR5cGVdO1xuICB9XG4gIHJldHVybiBuYW1lT3JUeXBlO1xufVxuXG4vLyBzcmMvY29tbWFuZHMvZXh0ZW5kTWFya1JhbmdlLnRzXG52YXIgZXh0ZW5kTWFya1JhbmdlID0gKHR5cGVPck5hbWUsIGF0dHJpYnV0ZXMgPSB7fSkgPT4gKHsgdHIsIHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIGNvbnN0IHR5cGUgPSBnZXRNYXJrVHlwZSh0eXBlT3JOYW1lLCBzdGF0ZS5zY2hlbWEpO1xuICBjb25zdCB7IGRvYywgc2VsZWN0aW9uIH0gPSB0cjtcbiAgY29uc3QgeyAkZnJvbSwgZnJvbSwgdG8gfSA9IHNlbGVjdGlvbjtcbiAgaWYgKGRpc3BhdGNoKSB7XG4gICAgY29uc3QgcmFuZ2UgPSBnZXRNYXJrUmFuZ2UoJGZyb20sIHR5cGUsIGF0dHJpYnV0ZXMpO1xuICAgIGlmIChyYW5nZSAmJiByYW5nZS5mcm9tIDw9IGZyb20gJiYgcmFuZ2UudG8gPj0gdG8pIHtcbiAgICAgIGNvbnN0IG5ld1NlbGVjdGlvbiA9IFRleHRTZWxlY3Rpb24yLmNyZWF0ZShkb2MsIHJhbmdlLmZyb20sIHJhbmdlLnRvKTtcbiAgICAgIHRyLnNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb24pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9maXJzdC50c1xudmFyIGZpcnN0ID0gKGNvbW1hbmRzKSA9PiAocHJvcHMpID0+IHtcbiAgY29uc3QgaXRlbXMgPSB0eXBlb2YgY29tbWFuZHMgPT09IFwiZnVuY3Rpb25cIiA/IGNvbW1hbmRzKHByb3BzKSA6IGNvbW1hbmRzO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgaWYgKGl0ZW1zW2ldKHByb3BzKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbi8vIHNyYy9oZWxwZXJzL2lzVGV4dFNlbGVjdGlvbi50c1xuaW1wb3J0IHsgVGV4dFNlbGVjdGlvbiBhcyBUZXh0U2VsZWN0aW9uMyB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG5mdW5jdGlvbiBpc1RleHRTZWxlY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGV4dFNlbGVjdGlvbjM7XG59XG5cbi8vIHNyYy9oZWxwZXJzL3Jlc29sdmVGb2N1c1Bvc2l0aW9uLnRzXG5pbXBvcnQgeyBTZWxlY3Rpb24sIFRleHRTZWxlY3Rpb24gYXMgVGV4dFNlbGVjdGlvbjQgfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xuXG4vLyBzcmMvdXRpbGl0aWVzL21pbk1heC50c1xuZnVuY3Rpb24gbWluTWF4KHZhbHVlID0gMCwgbWluID0gMCwgbWF4ID0gMCkge1xuICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgodmFsdWUsIG1pbiksIG1heCk7XG59XG5cbi8vIHNyYy9oZWxwZXJzL3Jlc29sdmVGb2N1c1Bvc2l0aW9uLnRzXG5mdW5jdGlvbiByZXNvbHZlRm9jdXNQb3NpdGlvbihkb2MsIHBvc2l0aW9uID0gbnVsbCkge1xuICBpZiAoIXBvc2l0aW9uKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgc2VsZWN0aW9uQXRTdGFydCA9IFNlbGVjdGlvbi5hdFN0YXJ0KGRvYyk7XG4gIGNvbnN0IHNlbGVjdGlvbkF0RW5kID0gU2VsZWN0aW9uLmF0RW5kKGRvYyk7XG4gIGlmIChwb3NpdGlvbiA9PT0gXCJzdGFydFwiIHx8IHBvc2l0aW9uID09PSB0cnVlKSB7XG4gICAgcmV0dXJuIHNlbGVjdGlvbkF0U3RhcnQ7XG4gIH1cbiAgaWYgKHBvc2l0aW9uID09PSBcImVuZFwiKSB7XG4gICAgcmV0dXJuIHNlbGVjdGlvbkF0RW5kO1xuICB9XG4gIGNvbnN0IG1pblBvcyA9IHNlbGVjdGlvbkF0U3RhcnQuZnJvbTtcbiAgY29uc3QgbWF4UG9zID0gc2VsZWN0aW9uQXRFbmQudG87XG4gIGlmIChwb3NpdGlvbiA9PT0gXCJhbGxcIikge1xuICAgIHJldHVybiBUZXh0U2VsZWN0aW9uNC5jcmVhdGUoZG9jLCBtaW5NYXgoMCwgbWluUG9zLCBtYXhQb3MpLCBtaW5NYXgoZG9jLmNvbnRlbnQuc2l6ZSwgbWluUG9zLCBtYXhQb3MpKTtcbiAgfVxuICByZXR1cm4gVGV4dFNlbGVjdGlvbjQuY3JlYXRlKGRvYywgbWluTWF4KHBvc2l0aW9uLCBtaW5Qb3MsIG1heFBvcyksIG1pbk1heChwb3NpdGlvbiwgbWluUG9zLCBtYXhQb3MpKTtcbn1cblxuLy8gc3JjL3V0aWxpdGllcy9pc0FuZHJvaWQudHNcbmZ1bmN0aW9uIGlzQW5kcm9pZCgpIHtcbiAgcmV0dXJuIG5hdmlnYXRvci5wbGF0Zm9ybSA9PT0gXCJBbmRyb2lkXCIgfHwgL2FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xufVxuXG4vLyBzcmMvdXRpbGl0aWVzL2lzaU9TLnRzXG5mdW5jdGlvbiBpc2lPUygpIHtcbiAgcmV0dXJuIFtcImlQYWQgU2ltdWxhdG9yXCIsIFwiaVBob25lIFNpbXVsYXRvclwiLCBcImlQb2QgU2ltdWxhdG9yXCIsIFwiaVBhZFwiLCBcImlQaG9uZVwiLCBcImlQb2RcIl0uaW5jbHVkZXMobmF2aWdhdG9yLnBsYXRmb3JtKSB8fCAvLyBpUGFkIG9uIGlPUyAxMyBkZXRlY3Rpb25cbiAgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcyhcIk1hY1wiKSAmJiBcIm9udG91Y2hlbmRcIiBpbiBkb2N1bWVudDtcbn1cblxuLy8gc3JjL3V0aWxpdGllcy9pc1NhZmFyaS50c1xuZnVuY3Rpb24gaXNTYWZhcmkoKSB7XG4gIHJldHVybiB0eXBlb2YgbmF2aWdhdG9yICE9PSBcInVuZGVmaW5lZFwiID8gL14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSA6IGZhbHNlO1xufVxuXG4vLyBzcmMvY29tbWFuZHMvZm9jdXMudHNcbnZhciBmb2N1cyA9IChwb3NpdGlvbiA9IG51bGwsIG9wdGlvbnMgPSB7fSkgPT4gKHsgZWRpdG9yLCB2aWV3LCB0ciwgZGlzcGF0Y2ggfSkgPT4ge1xuICBvcHRpb25zID0ge1xuICAgIHNjcm9sbEludG9WaWV3OiB0cnVlLFxuICAgIC4uLm9wdGlvbnNcbiAgfTtcbiAgY29uc3QgZGVsYXllZEZvY3VzID0gKCkgPT4ge1xuICAgIGlmIChpc2lPUygpIHx8IGlzQW5kcm9pZCgpKSB7XG4gICAgICA7XG4gICAgICB2aWV3LmRvbS5mb2N1cygpO1xuICAgIH1cbiAgICBpZiAoaXNTYWZhcmkoKSAmJiAhaXNpT1MoKSAmJiAhaXNBbmRyb2lkKCkpIHtcbiAgICAgIDtcbiAgICAgIHZpZXcuZG9tLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmICghZWRpdG9yLmlzRGVzdHJveWVkKSB7XG4gICAgICAgIHZpZXcuZm9jdXMoKTtcbiAgICAgICAgaWYgKG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMuc2Nyb2xsSW50b1ZpZXcpIHtcbiAgICAgICAgICBlZGl0b3IuY29tbWFuZHMuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9O1xuICB0cnkge1xuICAgIGlmICh2aWV3Lmhhc0ZvY3VzKCkgJiYgcG9zaXRpb24gPT09IG51bGwgfHwgcG9zaXRpb24gPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoZGlzcGF0Y2ggJiYgcG9zaXRpb24gPT09IG51bGwgJiYgIWlzVGV4dFNlbGVjdGlvbihlZGl0b3Iuc3RhdGUuc2VsZWN0aW9uKSkge1xuICAgIGRlbGF5ZWRGb2N1cygpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IHNlbGVjdGlvbiA9IHJlc29sdmVGb2N1c1Bvc2l0aW9uKHRyLmRvYywgcG9zaXRpb24pIHx8IGVkaXRvci5zdGF0ZS5zZWxlY3Rpb247XG4gIGNvbnN0IGlzU2FtZVNlbGVjdGlvbiA9IGVkaXRvci5zdGF0ZS5zZWxlY3Rpb24uZXEoc2VsZWN0aW9uKTtcbiAgaWYgKGRpc3BhdGNoKSB7XG4gICAgaWYgKCFpc1NhbWVTZWxlY3Rpb24pIHtcbiAgICAgIHRyLnNldFNlbGVjdGlvbihzZWxlY3Rpb24pO1xuICAgIH1cbiAgICBpZiAoaXNTYW1lU2VsZWN0aW9uICYmIHRyLnN0b3JlZE1hcmtzKSB7XG4gICAgICB0ci5zZXRTdG9yZWRNYXJrcyh0ci5zdG9yZWRNYXJrcyk7XG4gICAgfVxuICAgIGRlbGF5ZWRGb2N1cygpO1xuICB9XG4gIHJldHVybiB0cnVlO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL2ZvckVhY2gudHNcbnZhciBmb3JFYWNoID0gKGl0ZW1zLCBmbikgPT4gKHByb3BzKSA9PiB7XG4gIHJldHVybiBpdGVtcy5ldmVyeSgoaXRlbSwgaW5kZXgpID0+IGZuKGl0ZW0sIHsgLi4ucHJvcHMsIGluZGV4IH0pKTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9pbnNlcnRDb250ZW50LnRzXG52YXIgaW5zZXJ0Q29udGVudCA9ICh2YWx1ZSwgb3B0aW9ucykgPT4gKHsgdHIsIGNvbW1hbmRzIH0pID0+IHtcbiAgcmV0dXJuIGNvbW1hbmRzLmluc2VydENvbnRlbnRBdCh7IGZyb206IHRyLnNlbGVjdGlvbi5mcm9tLCB0bzogdHIuc2VsZWN0aW9uLnRvIH0sIHZhbHVlLCBvcHRpb25zKTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9pbnNlcnRDb250ZW50QXQudHNcbmltcG9ydCB7IEZyYWdtZW50IGFzIEZyYWdtZW50MiB9IGZyb20gXCJAdGlwdGFwL3BtL21vZGVsXCI7XG5cbi8vIHNyYy9oZWxwZXJzL2NyZWF0ZU5vZGVGcm9tQ29udGVudC50c1xuaW1wb3J0IHsgRE9NUGFyc2VyLCBGcmFnbWVudCwgTm9kZSBhcyBQcm9zZU1pcnJvck5vZGUsIFNjaGVtYSB9IGZyb20gXCJAdGlwdGFwL3BtL21vZGVsXCI7XG5cbi8vIHNyYy91dGlsaXRpZXMvZWxlbWVudEZyb21TdHJpbmcudHNcbnZhciByZW1vdmVXaGl0ZXNwYWNlcyA9IChub2RlKSA9PiB7XG4gIGNvbnN0IGNoaWxkcmVuID0gbm9kZS5jaGlsZE5vZGVzO1xuICBmb3IgKGxldCBpID0gY2hpbGRyZW4ubGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDEpIHtcbiAgICBjb25zdCBjaGlsZCA9IGNoaWxkcmVuW2ldO1xuICAgIGlmIChjaGlsZC5ub2RlVHlwZSA9PT0gMyAmJiBjaGlsZC5ub2RlVmFsdWUgJiYgL14oXFxuXFxzXFxzfFxcbikkLy50ZXN0KGNoaWxkLm5vZGVWYWx1ZSkpIHtcbiAgICAgIG5vZGUucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuICAgIH0gZWxzZSBpZiAoY2hpbGQubm9kZVR5cGUgPT09IDEpIHtcbiAgICAgIHJlbW92ZVdoaXRlc3BhY2VzKGNoaWxkKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5vZGU7XG59O1xuZnVuY3Rpb24gZWxlbWVudEZyb21TdHJpbmcodmFsdWUpIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJbdGlwdGFwIGVycm9yXTogdGhlcmUgaXMgbm8gd2luZG93IG9iamVjdCBhdmFpbGFibGUsIHNvIHRoaXMgZnVuY3Rpb24gY2Fubm90IGJlIHVzZWRcIik7XG4gIH1cbiAgY29uc3Qgd3JhcHBlZFZhbHVlID0gYDxib2R5PiR7dmFsdWV9PC9ib2R5PmA7XG4gIGNvbnN0IGh0bWwgPSBuZXcgd2luZG93LkRPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyh3cmFwcGVkVmFsdWUsIFwidGV4dC9odG1sXCIpLmJvZHk7XG4gIHJldHVybiByZW1vdmVXaGl0ZXNwYWNlcyhodG1sKTtcbn1cblxuLy8gc3JjL2hlbHBlcnMvY3JlYXRlTm9kZUZyb21Db250ZW50LnRzXG5mdW5jdGlvbiBjcmVhdGVOb2RlRnJvbUNvbnRlbnQoY29udGVudCwgc2NoZW1hLCBvcHRpb25zKSB7XG4gIGlmIChjb250ZW50IGluc3RhbmNlb2YgUHJvc2VNaXJyb3JOb2RlIHx8IGNvbnRlbnQgaW5zdGFuY2VvZiBGcmFnbWVudCkge1xuICAgIHJldHVybiBjb250ZW50O1xuICB9XG4gIG9wdGlvbnMgPSB7XG4gICAgc2xpY2U6IHRydWUsXG4gICAgcGFyc2VPcHRpb25zOiB7fSxcbiAgICAuLi5vcHRpb25zXG4gIH07XG4gIGNvbnN0IGlzSlNPTkNvbnRlbnQgPSB0eXBlb2YgY29udGVudCA9PT0gXCJvYmplY3RcIiAmJiBjb250ZW50ICE9PSBudWxsO1xuICBjb25zdCBpc1RleHRDb250ZW50ID0gdHlwZW9mIGNvbnRlbnQgPT09IFwic3RyaW5nXCI7XG4gIGlmIChpc0pTT05Db250ZW50KSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGlzQXJyYXlDb250ZW50ID0gQXJyYXkuaXNBcnJheShjb250ZW50KSAmJiBjb250ZW50Lmxlbmd0aCA+IDA7XG4gICAgICBpZiAoaXNBcnJheUNvbnRlbnQpIHtcbiAgICAgICAgcmV0dXJuIEZyYWdtZW50LmZyb21BcnJheShjb250ZW50Lm1hcCgoaXRlbSkgPT4gc2NoZW1hLm5vZGVGcm9tSlNPTihpdGVtKSkpO1xuICAgICAgfVxuICAgICAgY29uc3Qgbm9kZSA9IHNjaGVtYS5ub2RlRnJvbUpTT04oY29udGVudCk7XG4gICAgICBpZiAob3B0aW9ucy5lcnJvck9uSW52YWxpZENvbnRlbnQpIHtcbiAgICAgICAgbm9kZS5jaGVjaygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChvcHRpb25zLmVycm9yT25JbnZhbGlkQ29udGVudCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJbdGlwdGFwIGVycm9yXTogSW52YWxpZCBKU09OIGNvbnRlbnRcIiwgeyBjYXVzZTogZXJyb3IgfSk7XG4gICAgICB9XG4gICAgICBjb25zb2xlLndhcm4oXCJbdGlwdGFwIHdhcm5dOiBJbnZhbGlkIGNvbnRlbnQuXCIsIFwiUGFzc2VkIHZhbHVlOlwiLCBjb250ZW50LCBcIkVycm9yOlwiLCBlcnJvcik7XG4gICAgICByZXR1cm4gY3JlYXRlTm9kZUZyb21Db250ZW50KFwiXCIsIHNjaGVtYSwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG4gIGlmIChpc1RleHRDb250ZW50KSB7XG4gICAgaWYgKG9wdGlvbnMuZXJyb3JPbkludmFsaWRDb250ZW50KSB7XG4gICAgICBsZXQgaGFzSW52YWxpZENvbnRlbnQgPSBmYWxzZTtcbiAgICAgIGxldCBpbnZhbGlkQ29udGVudCA9IFwiXCI7XG4gICAgICBjb25zdCBjb250ZW50Q2hlY2tTY2hlbWEgPSBuZXcgU2NoZW1hKHtcbiAgICAgICAgdG9wTm9kZTogc2NoZW1hLnNwZWMudG9wTm9kZSxcbiAgICAgICAgbWFya3M6IHNjaGVtYS5zcGVjLm1hcmtzLFxuICAgICAgICAvLyBQcm9zZW1pcnJvcidzIHNjaGVtYXMgYXJlIGV4ZWN1dGVkIHN1Y2ggdGhhdDogdGhlIGxhc3QgdG8gZXhlY3V0ZSwgbWF0Y2hlcyBsYXN0XG4gICAgICAgIC8vIFRoaXMgbWVhbnMgdGhhdCB3ZSBjYW4gYWRkIGEgY2F0Y2gtYWxsIG5vZGUgYXQgdGhlIGVuZCBvZiB0aGUgc2NoZW1hIHRvIGNhdGNoIGFueSBjb250ZW50IHRoYXQgd2UgZG9uJ3Qga25vdyBob3cgdG8gaGFuZGxlXG4gICAgICAgIG5vZGVzOiBzY2hlbWEuc3BlYy5ub2Rlcy5hcHBlbmQoe1xuICAgICAgICAgIF9fdGlwdGFwX19wcml2YXRlX191bmtub3duX19jYXRjaF9fYWxsX19ub2RlOiB7XG4gICAgICAgICAgICBjb250ZW50OiBcImlubGluZSpcIixcbiAgICAgICAgICAgIGdyb3VwOiBcImJsb2NrXCIsXG4gICAgICAgICAgICBwYXJzZURPTTogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGFnOiBcIipcIixcbiAgICAgICAgICAgICAgICBnZXRBdHRyczogKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGhhc0ludmFsaWRDb250ZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGludmFsaWRDb250ZW50ID0gdHlwZW9mIGUgPT09IFwic3RyaW5nXCIgPyBlIDogZS5vdXRlckhUTUw7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9KTtcbiAgICAgIGlmIChvcHRpb25zLnNsaWNlKSB7XG4gICAgICAgIERPTVBhcnNlci5mcm9tU2NoZW1hKGNvbnRlbnRDaGVja1NjaGVtYSkucGFyc2VTbGljZShlbGVtZW50RnJvbVN0cmluZyhjb250ZW50KSwgb3B0aW9ucy5wYXJzZU9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgRE9NUGFyc2VyLmZyb21TY2hlbWEoY29udGVudENoZWNrU2NoZW1hKS5wYXJzZShlbGVtZW50RnJvbVN0cmluZyhjb250ZW50KSwgb3B0aW9ucy5wYXJzZU9wdGlvbnMpO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnMuZXJyb3JPbkludmFsaWRDb250ZW50ICYmIGhhc0ludmFsaWRDb250ZW50KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlt0aXB0YXAgZXJyb3JdOiBJbnZhbGlkIEhUTUwgY29udGVudFwiLCB7XG4gICAgICAgICAgY2F1c2U6IG5ldyBFcnJvcihgSW52YWxpZCBlbGVtZW50IGZvdW5kOiAke2ludmFsaWRDb250ZW50fWApXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBwYXJzZXIgPSBET01QYXJzZXIuZnJvbVNjaGVtYShzY2hlbWEpO1xuICAgIGlmIChvcHRpb25zLnNsaWNlKSB7XG4gICAgICByZXR1cm4gcGFyc2VyLnBhcnNlU2xpY2UoZWxlbWVudEZyb21TdHJpbmcoY29udGVudCksIG9wdGlvbnMucGFyc2VPcHRpb25zKS5jb250ZW50O1xuICAgIH1cbiAgICByZXR1cm4gcGFyc2VyLnBhcnNlKGVsZW1lbnRGcm9tU3RyaW5nKGNvbnRlbnQpLCBvcHRpb25zLnBhcnNlT3B0aW9ucyk7XG4gIH1cbiAgcmV0dXJuIGNyZWF0ZU5vZGVGcm9tQ29udGVudChcIlwiLCBzY2hlbWEsIG9wdGlvbnMpO1xufVxuXG4vLyBzcmMvaGVscGVycy9zZWxlY3Rpb25Ub0luc2VydGlvbkVuZC50c1xuaW1wb3J0IHsgU2VsZWN0aW9uIGFzIFNlbGVjdGlvbjIgfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xuaW1wb3J0IHsgUmVwbGFjZUFyb3VuZFN0ZXAsIFJlcGxhY2VTdGVwIH0gZnJvbSBcIkB0aXB0YXAvcG0vdHJhbnNmb3JtXCI7XG5mdW5jdGlvbiBzZWxlY3Rpb25Ub0luc2VydGlvbkVuZCh0ciwgc3RhcnRMZW4sIGJpYXMpIHtcbiAgY29uc3QgbGFzdCA9IHRyLnN0ZXBzLmxlbmd0aCAtIDE7XG4gIGlmIChsYXN0IDwgc3RhcnRMZW4pIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3Qgc3RlcCA9IHRyLnN0ZXBzW2xhc3RdO1xuICBpZiAoIShzdGVwIGluc3RhbmNlb2YgUmVwbGFjZVN0ZXAgfHwgc3RlcCBpbnN0YW5jZW9mIFJlcGxhY2VBcm91bmRTdGVwKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBtYXAgPSB0ci5tYXBwaW5nLm1hcHNbbGFzdF07XG4gIGxldCBlbmQgPSAwO1xuICBtYXAuZm9yRWFjaCgoX2Zyb20sIF90bywgX25ld0Zyb20sIG5ld1RvKSA9PiB7XG4gICAgaWYgKGVuZCA9PT0gMCkge1xuICAgICAgZW5kID0gbmV3VG87XG4gICAgfVxuICB9KTtcbiAgdHIuc2V0U2VsZWN0aW9uKFNlbGVjdGlvbjIubmVhcih0ci5kb2MucmVzb2x2ZShlbmQpLCBiaWFzKSk7XG59XG5cbi8vIHNyYy9jb21tYW5kcy9pbnNlcnRDb250ZW50QXQudHNcbnZhciBpc0ZyYWdtZW50ID0gKG5vZGVPckZyYWdtZW50KSA9PiB7XG4gIHJldHVybiAhKFwidHlwZVwiIGluIG5vZGVPckZyYWdtZW50KTtcbn07XG52YXIgaW5zZXJ0Q29udGVudEF0ID0gKHBvc2l0aW9uLCB2YWx1ZSwgb3B0aW9ucykgPT4gKHsgdHIsIGRpc3BhdGNoLCBlZGl0b3IgfSkgPT4ge1xuICB2YXIgX2E7XG4gIGlmIChkaXNwYXRjaCkge1xuICAgIG9wdGlvbnMgPSB7XG4gICAgICBwYXJzZU9wdGlvbnM6IGVkaXRvci5vcHRpb25zLnBhcnNlT3B0aW9ucyxcbiAgICAgIHVwZGF0ZVNlbGVjdGlvbjogdHJ1ZSxcbiAgICAgIGFwcGx5SW5wdXRSdWxlczogZmFsc2UsXG4gICAgICBhcHBseVBhc3RlUnVsZXM6IGZhbHNlLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG4gICAgbGV0IGNvbnRlbnQ7XG4gICAgY29uc3QgZW1pdENvbnRlbnRFcnJvciA9IChlcnJvcikgPT4ge1xuICAgICAgZWRpdG9yLmVtaXQoXCJjb250ZW50RXJyb3JcIiwge1xuICAgICAgICBlZGl0b3IsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBkaXNhYmxlQ29sbGFib3JhdGlvbjogKCkgPT4ge1xuICAgICAgICAgIGlmIChcImNvbGxhYm9yYXRpb25cIiBpbiBlZGl0b3Iuc3RvcmFnZSAmJiB0eXBlb2YgZWRpdG9yLnN0b3JhZ2UuY29sbGFib3JhdGlvbiA9PT0gXCJvYmplY3RcIiAmJiBlZGl0b3Iuc3RvcmFnZS5jb2xsYWJvcmF0aW9uKSB7XG4gICAgICAgICAgICA7XG4gICAgICAgICAgICBlZGl0b3Iuc3RvcmFnZS5jb2xsYWJvcmF0aW9uLmlzRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcbiAgICBjb25zdCBwYXJzZU9wdGlvbnMgPSB7XG4gICAgICBwcmVzZXJ2ZVdoaXRlc3BhY2U6IFwiZnVsbFwiLFxuICAgICAgLi4ub3B0aW9ucy5wYXJzZU9wdGlvbnNcbiAgICB9O1xuICAgIGlmICghb3B0aW9ucy5lcnJvck9uSW52YWxpZENvbnRlbnQgJiYgIWVkaXRvci5vcHRpb25zLmVuYWJsZUNvbnRlbnRDaGVjayAmJiBlZGl0b3Iub3B0aW9ucy5lbWl0Q29udGVudEVycm9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjcmVhdGVOb2RlRnJvbUNvbnRlbnQodmFsdWUsIGVkaXRvci5zY2hlbWEsIHtcbiAgICAgICAgICBwYXJzZU9wdGlvbnMsXG4gICAgICAgICAgZXJyb3JPbkludmFsaWRDb250ZW50OiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBlbWl0Q29udGVudEVycm9yKGUpO1xuICAgICAgfVxuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29udGVudCA9IGNyZWF0ZU5vZGVGcm9tQ29udGVudCh2YWx1ZSwgZWRpdG9yLnNjaGVtYSwge1xuICAgICAgICBwYXJzZU9wdGlvbnMsXG4gICAgICAgIGVycm9yT25JbnZhbGlkQ29udGVudDogKF9hID0gb3B0aW9ucy5lcnJvck9uSW52YWxpZENvbnRlbnQpICE9IG51bGwgPyBfYSA6IGVkaXRvci5vcHRpb25zLmVuYWJsZUNvbnRlbnRDaGVja1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgZW1pdENvbnRlbnRFcnJvcihlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgbGV0IHsgZnJvbSwgdG8gfSA9IHR5cGVvZiBwb3NpdGlvbiA9PT0gXCJudW1iZXJcIiA/IHsgZnJvbTogcG9zaXRpb24sIHRvOiBwb3NpdGlvbiB9IDogeyBmcm9tOiBwb3NpdGlvbi5mcm9tLCB0bzogcG9zaXRpb24udG8gfTtcbiAgICBsZXQgaXNPbmx5VGV4dENvbnRlbnQgPSB0cnVlO1xuICAgIGxldCBpc09ubHlCbG9ja0NvbnRlbnQgPSB0cnVlO1xuICAgIGNvbnN0IG5vZGVzID0gaXNGcmFnbWVudChjb250ZW50KSA/IGNvbnRlbnQgOiBbY29udGVudF07XG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgbm9kZS5jaGVjaygpO1xuICAgICAgaXNPbmx5VGV4dENvbnRlbnQgPSBpc09ubHlUZXh0Q29udGVudCA/IG5vZGUuaXNUZXh0ICYmIG5vZGUubWFya3MubGVuZ3RoID09PSAwIDogZmFsc2U7XG4gICAgICBpc09ubHlCbG9ja0NvbnRlbnQgPSBpc09ubHlCbG9ja0NvbnRlbnQgPyBub2RlLmlzQmxvY2sgOiBmYWxzZTtcbiAgICB9KTtcbiAgICBpZiAoZnJvbSA9PT0gdG8gJiYgaXNPbmx5QmxvY2tDb250ZW50KSB7XG4gICAgICBjb25zdCB7IHBhcmVudCB9ID0gdHIuZG9jLnJlc29sdmUoZnJvbSk7XG4gICAgICBjb25zdCBpc0VtcHR5VGV4dEJsb2NrID0gcGFyZW50LmlzVGV4dGJsb2NrICYmICFwYXJlbnQudHlwZS5zcGVjLmNvZGUgJiYgIXBhcmVudC5jaGlsZENvdW50O1xuICAgICAgaWYgKGlzRW1wdHlUZXh0QmxvY2spIHtcbiAgICAgICAgZnJvbSAtPSAxO1xuICAgICAgICB0byArPSAxO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgbmV3Q29udGVudDtcbiAgICBpZiAoaXNPbmx5VGV4dENvbnRlbnQpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBuZXdDb250ZW50ID0gdmFsdWUubWFwKCh2KSA9PiB2LnRleHQgfHwgXCJcIikuam9pbihcIlwiKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBGcmFnbWVudDIpIHtcbiAgICAgICAgbGV0IHRleHQgPSBcIlwiO1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICAgICAgaWYgKG5vZGUudGV4dCkge1xuICAgICAgICAgICAgdGV4dCArPSBub2RlLnRleHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbmV3Q29udGVudCA9IHRleHQ7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiAhIXZhbHVlICYmICEhdmFsdWUudGV4dCkge1xuICAgICAgICBuZXdDb250ZW50ID0gdmFsdWUudGV4dDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld0NvbnRlbnQgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHRyLmluc2VydFRleHQobmV3Q29udGVudCwgZnJvbSwgdG8pO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdDb250ZW50ID0gY29udGVudDtcbiAgICAgIGNvbnN0ICRmcm9tID0gdHIuZG9jLnJlc29sdmUoZnJvbSk7XG4gICAgICBjb25zdCAkZnJvbU5vZGUgPSAkZnJvbS5ub2RlKCk7XG4gICAgICBjb25zdCBmcm9tU2VsZWN0aW9uQXRTdGFydCA9ICRmcm9tLnBhcmVudE9mZnNldCA9PT0gMDtcbiAgICAgIGNvbnN0IGlzVGV4dFNlbGVjdGlvbjIgPSAkZnJvbU5vZGUuaXNUZXh0IHx8ICRmcm9tTm9kZS5pc1RleHRibG9jaztcbiAgICAgIGNvbnN0IGhhc0NvbnRlbnQgPSAkZnJvbU5vZGUuY29udGVudC5zaXplID4gMDtcbiAgICAgIGlmIChmcm9tU2VsZWN0aW9uQXRTdGFydCAmJiBpc1RleHRTZWxlY3Rpb24yICYmIGhhc0NvbnRlbnQpIHtcbiAgICAgICAgZnJvbSA9IE1hdGgubWF4KDAsIGZyb20gLSAxKTtcbiAgICAgIH1cbiAgICAgIHRyLnJlcGxhY2VXaXRoKGZyb20sIHRvLCBuZXdDb250ZW50KTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMudXBkYXRlU2VsZWN0aW9uKSB7XG4gICAgICBzZWxlY3Rpb25Ub0luc2VydGlvbkVuZCh0ciwgdHIuc3RlcHMubGVuZ3RoIC0gMSwgLTEpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5hcHBseUlucHV0UnVsZXMpIHtcbiAgICAgIHRyLnNldE1ldGEoXCJhcHBseUlucHV0UnVsZXNcIiwgeyBmcm9tLCB0ZXh0OiBuZXdDb250ZW50IH0pO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5hcHBseVBhc3RlUnVsZXMpIHtcbiAgICAgIHRyLnNldE1ldGEoXCJhcHBseVBhc3RlUnVsZXNcIiwgeyBmcm9tLCB0ZXh0OiBuZXdDb250ZW50IH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9qb2luLnRzXG5pbXBvcnQge1xuICBqb2luQmFja3dhcmQgYXMgb3JpZ2luYWxKb2luQmFja3dhcmQsXG4gIGpvaW5Eb3duIGFzIG9yaWdpbmFsSm9pbkRvd24sXG4gIGpvaW5Gb3J3YXJkIGFzIG9yaWdpbmFsSm9pbkZvcndhcmQsXG4gIGpvaW5VcCBhcyBvcmlnaW5hbEpvaW5VcFxufSBmcm9tIFwiQHRpcHRhcC9wbS9jb21tYW5kc1wiO1xudmFyIGpvaW5VcCA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIHJldHVybiBvcmlnaW5hbEpvaW5VcChzdGF0ZSwgZGlzcGF0Y2gpO1xufTtcbnZhciBqb2luRG93biA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIHJldHVybiBvcmlnaW5hbEpvaW5Eb3duKHN0YXRlLCBkaXNwYXRjaCk7XG59O1xudmFyIGpvaW5CYWNrd2FyZCA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIHJldHVybiBvcmlnaW5hbEpvaW5CYWNrd2FyZChzdGF0ZSwgZGlzcGF0Y2gpO1xufTtcbnZhciBqb2luRm9yd2FyZCA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIHJldHVybiBvcmlnaW5hbEpvaW5Gb3J3YXJkKHN0YXRlLCBkaXNwYXRjaCk7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvam9pbkl0ZW1CYWNrd2FyZC50c1xuaW1wb3J0IHsgam9pblBvaW50IH0gZnJvbSBcIkB0aXB0YXAvcG0vdHJhbnNmb3JtXCI7XG52YXIgam9pbkl0ZW1CYWNrd2FyZCA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCwgdHIgfSkgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBvaW50ID0gam9pblBvaW50KHN0YXRlLmRvYywgc3RhdGUuc2VsZWN0aW9uLiRmcm9tLnBvcywgLTEpO1xuICAgIGlmIChwb2ludCA9PT0gbnVsbCB8fCBwb2ludCA9PT0gdm9pZCAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRyLmpvaW4ocG9pbnQsIDIpO1xuICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgZGlzcGF0Y2godHIpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvam9pbkl0ZW1Gb3J3YXJkLnRzXG5pbXBvcnQgeyBqb2luUG9pbnQgYXMgam9pblBvaW50MiB9IGZyb20gXCJAdGlwdGFwL3BtL3RyYW5zZm9ybVwiO1xudmFyIGpvaW5JdGVtRm9yd2FyZCA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCwgdHIgfSkgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBvaW50ID0gam9pblBvaW50MihzdGF0ZS5kb2MsIHN0YXRlLnNlbGVjdGlvbi4kZnJvbS5wb3MsIDEpO1xuICAgIGlmIChwb2ludCA9PT0gbnVsbCB8fCBwb2ludCA9PT0gdm9pZCAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRyLmpvaW4ocG9pbnQsIDIpO1xuICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgZGlzcGF0Y2godHIpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvam9pblRleHRibG9ja0JhY2t3YXJkLnRzXG5pbXBvcnQgeyBqb2luVGV4dGJsb2NrQmFja3dhcmQgYXMgb3JpZ2luYWxDb21tYW5kIH0gZnJvbSBcIkB0aXB0YXAvcG0vY29tbWFuZHNcIjtcbnZhciBqb2luVGV4dGJsb2NrQmFja3dhcmQgPSAoKSA9PiAoeyBzdGF0ZSwgZGlzcGF0Y2ggfSkgPT4ge1xuICByZXR1cm4gb3JpZ2luYWxDb21tYW5kKHN0YXRlLCBkaXNwYXRjaCk7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvam9pblRleHRibG9ja0ZvcndhcmQudHNcbmltcG9ydCB7IGpvaW5UZXh0YmxvY2tGb3J3YXJkIGFzIG9yaWdpbmFsQ29tbWFuZDIgfSBmcm9tIFwiQHRpcHRhcC9wbS9jb21tYW5kc1wiO1xudmFyIGpvaW5UZXh0YmxvY2tGb3J3YXJkID0gKCkgPT4gKHsgc3RhdGUsIGRpc3BhdGNoIH0pID0+IHtcbiAgcmV0dXJuIG9yaWdpbmFsQ29tbWFuZDIoc3RhdGUsIGRpc3BhdGNoKTtcbn07XG5cbi8vIHNyYy91dGlsaXRpZXMvaXNNYWNPUy50c1xuZnVuY3Rpb24gaXNNYWNPUygpIHtcbiAgcmV0dXJuIHR5cGVvZiBuYXZpZ2F0b3IgIT09IFwidW5kZWZpbmVkXCIgPyAvTWFjLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkgOiBmYWxzZTtcbn1cblxuLy8gc3JjL2NvbW1hbmRzL2tleWJvYXJkU2hvcnRjdXQudHNcbmZ1bmN0aW9uIG5vcm1hbGl6ZUtleU5hbWUobmFtZSkge1xuICBjb25zdCBwYXJ0cyA9IG5hbWUuc3BsaXQoLy0oPyEkKS8pO1xuICBsZXQgcmVzdWx0ID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV07XG4gIGlmIChyZXN1bHQgPT09IFwiU3BhY2VcIikge1xuICAgIHJlc3VsdCA9IFwiIFwiO1xuICB9XG4gIGxldCBhbHQ7XG4gIGxldCBjdHJsO1xuICBsZXQgc2hpZnQ7XG4gIGxldCBtZXRhO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aCAtIDE7IGkgKz0gMSkge1xuICAgIGNvbnN0IG1vZCA9IHBhcnRzW2ldO1xuICAgIGlmICgvXihjbWR8bWV0YXxtKSQvaS50ZXN0KG1vZCkpIHtcbiAgICAgIG1ldGEgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoL15hKGx0KT8kL2kudGVzdChtb2QpKSB7XG4gICAgICBhbHQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoL14oY3xjdHJsfGNvbnRyb2wpJC9pLnRlc3QobW9kKSkge1xuICAgICAgY3RybCA9IHRydWU7XG4gICAgfSBlbHNlIGlmICgvXnMoaGlmdCk/JC9pLnRlc3QobW9kKSkge1xuICAgICAgc2hpZnQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoL15tb2QkL2kudGVzdChtb2QpKSB7XG4gICAgICBpZiAoaXNpT1MoKSB8fCBpc01hY09TKCkpIHtcbiAgICAgICAgbWV0YSA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdHJsID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgbW9kaWZpZXIgbmFtZTogJHttb2R9YCk7XG4gICAgfVxuICB9XG4gIGlmIChhbHQpIHtcbiAgICByZXN1bHQgPSBgQWx0LSR7cmVzdWx0fWA7XG4gIH1cbiAgaWYgKGN0cmwpIHtcbiAgICByZXN1bHQgPSBgQ3RybC0ke3Jlc3VsdH1gO1xuICB9XG4gIGlmIChtZXRhKSB7XG4gICAgcmVzdWx0ID0gYE1ldGEtJHtyZXN1bHR9YDtcbiAgfVxuICBpZiAoc2hpZnQpIHtcbiAgICByZXN1bHQgPSBgU2hpZnQtJHtyZXN1bHR9YDtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxudmFyIGtleWJvYXJkU2hvcnRjdXQgPSAobmFtZSkgPT4gKHsgZWRpdG9yLCB2aWV3LCB0ciwgZGlzcGF0Y2ggfSkgPT4ge1xuICBjb25zdCBrZXlzID0gbm9ybWFsaXplS2V5TmFtZShuYW1lKS5zcGxpdCgvLSg/ISQpLyk7XG4gIGNvbnN0IGtleSA9IGtleXMuZmluZCgoaXRlbSkgPT4gIVtcIkFsdFwiLCBcIkN0cmxcIiwgXCJNZXRhXCIsIFwiU2hpZnRcIl0uaW5jbHVkZXMoaXRlbSkpO1xuICBjb25zdCBldmVudCA9IG5ldyBLZXlib2FyZEV2ZW50KFwia2V5ZG93blwiLCB7XG4gICAga2V5OiBrZXkgPT09IFwiU3BhY2VcIiA/IFwiIFwiIDoga2V5LFxuICAgIGFsdEtleToga2V5cy5pbmNsdWRlcyhcIkFsdFwiKSxcbiAgICBjdHJsS2V5OiBrZXlzLmluY2x1ZGVzKFwiQ3RybFwiKSxcbiAgICBtZXRhS2V5OiBrZXlzLmluY2x1ZGVzKFwiTWV0YVwiKSxcbiAgICBzaGlmdEtleToga2V5cy5pbmNsdWRlcyhcIlNoaWZ0XCIpLFxuICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgY2FuY2VsYWJsZTogdHJ1ZVxuICB9KTtcbiAgY29uc3QgY2FwdHVyZWRUcmFuc2FjdGlvbiA9IGVkaXRvci5jYXB0dXJlVHJhbnNhY3Rpb24oKCkgPT4ge1xuICAgIHZpZXcuc29tZVByb3AoXCJoYW5kbGVLZXlEb3duXCIsIChmKSA9PiBmKHZpZXcsIGV2ZW50KSk7XG4gIH0pO1xuICBjYXB0dXJlZFRyYW5zYWN0aW9uID09IG51bGwgPyB2b2lkIDAgOiBjYXB0dXJlZFRyYW5zYWN0aW9uLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICBjb25zdCBuZXdTdGVwID0gc3RlcC5tYXAodHIubWFwcGluZyk7XG4gICAgaWYgKG5ld1N0ZXAgJiYgZGlzcGF0Y2gpIHtcbiAgICAgIHRyLm1heWJlU3RlcChuZXdTdGVwKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy9saWZ0LnRzXG5pbXBvcnQgeyBsaWZ0IGFzIG9yaWdpbmFsTGlmdCB9IGZyb20gXCJAdGlwdGFwL3BtL2NvbW1hbmRzXCI7XG5cbi8vIHNyYy9oZWxwZXJzL2lzTm9kZUFjdGl2ZS50c1xuZnVuY3Rpb24gaXNOb2RlQWN0aXZlKHN0YXRlLCB0eXBlT3JOYW1lLCBhdHRyaWJ1dGVzID0ge30pIHtcbiAgY29uc3QgeyBmcm9tLCB0bywgZW1wdHkgfSA9IHN0YXRlLnNlbGVjdGlvbjtcbiAgY29uc3QgdHlwZSA9IHR5cGVPck5hbWUgPyBnZXROb2RlVHlwZSh0eXBlT3JOYW1lLCBzdGF0ZS5zY2hlbWEpIDogbnVsbDtcbiAgY29uc3Qgbm9kZVJhbmdlcyA9IFtdO1xuICBzdGF0ZS5kb2Mubm9kZXNCZXR3ZWVuKGZyb20sIHRvLCAobm9kZSwgcG9zKSA9PiB7XG4gICAgaWYgKG5vZGUuaXNUZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlbGF0aXZlRnJvbSA9IE1hdGgubWF4KGZyb20sIHBvcyk7XG4gICAgY29uc3QgcmVsYXRpdmVUbyA9IE1hdGgubWluKHRvLCBwb3MgKyBub2RlLm5vZGVTaXplKTtcbiAgICBub2RlUmFuZ2VzLnB1c2goe1xuICAgICAgbm9kZSxcbiAgICAgIGZyb206IHJlbGF0aXZlRnJvbSxcbiAgICAgIHRvOiByZWxhdGl2ZVRvXG4gICAgfSk7XG4gIH0pO1xuICBjb25zdCBzZWxlY3Rpb25SYW5nZSA9IHRvIC0gZnJvbTtcbiAgY29uc3QgbWF0Y2hlZE5vZGVSYW5nZXMgPSBub2RlUmFuZ2VzLmZpbHRlcigobm9kZVJhbmdlKSA9PiB7XG4gICAgaWYgKCF0eXBlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHR5cGUubmFtZSA9PT0gbm9kZVJhbmdlLm5vZGUudHlwZS5uYW1lO1xuICB9KS5maWx0ZXIoKG5vZGVSYW5nZSkgPT4gb2JqZWN0SW5jbHVkZXMobm9kZVJhbmdlLm5vZGUuYXR0cnMsIGF0dHJpYnV0ZXMsIHsgc3RyaWN0OiBmYWxzZSB9KSk7XG4gIGlmIChlbXB0eSkge1xuICAgIHJldHVybiAhIW1hdGNoZWROb2RlUmFuZ2VzLmxlbmd0aDtcbiAgfVxuICBjb25zdCByYW5nZSA9IG1hdGNoZWROb2RlUmFuZ2VzLnJlZHVjZSgoc3VtLCBub2RlUmFuZ2UpID0+IHN1bSArIG5vZGVSYW5nZS50byAtIG5vZGVSYW5nZS5mcm9tLCAwKTtcbiAgcmV0dXJuIHJhbmdlID49IHNlbGVjdGlvblJhbmdlO1xufVxuXG4vLyBzcmMvY29tbWFuZHMvbGlmdC50c1xudmFyIGxpZnQgPSAodHlwZU9yTmFtZSwgYXR0cmlidXRlcyA9IHt9KSA9PiAoeyBzdGF0ZSwgZGlzcGF0Y2ggfSkgPT4ge1xuICBjb25zdCB0eXBlID0gZ2V0Tm9kZVR5cGUodHlwZU9yTmFtZSwgc3RhdGUuc2NoZW1hKTtcbiAgY29uc3QgaXNBY3RpdmUyID0gaXNOb2RlQWN0aXZlKHN0YXRlLCB0eXBlLCBhdHRyaWJ1dGVzKTtcbiAgaWYgKCFpc0FjdGl2ZTIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIG9yaWdpbmFsTGlmdChzdGF0ZSwgZGlzcGF0Y2gpO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL2xpZnRFbXB0eUJsb2NrLnRzXG5pbXBvcnQgeyBsaWZ0RW1wdHlCbG9jayBhcyBvcmlnaW5hbExpZnRFbXB0eUJsb2NrIH0gZnJvbSBcIkB0aXB0YXAvcG0vY29tbWFuZHNcIjtcbnZhciBsaWZ0RW1wdHlCbG9jayA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIHJldHVybiBvcmlnaW5hbExpZnRFbXB0eUJsb2NrKHN0YXRlLCBkaXNwYXRjaCk7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvbGlmdExpc3RJdGVtLnRzXG5pbXBvcnQgeyBsaWZ0TGlzdEl0ZW0gYXMgb3JpZ2luYWxMaWZ0TGlzdEl0ZW0gfSBmcm9tIFwiQHRpcHRhcC9wbS9zY2hlbWEtbGlzdFwiO1xudmFyIGxpZnRMaXN0SXRlbSA9ICh0eXBlT3JOYW1lKSA9PiAoeyBzdGF0ZSwgZGlzcGF0Y2ggfSkgPT4ge1xuICBjb25zdCB0eXBlID0gZ2V0Tm9kZVR5cGUodHlwZU9yTmFtZSwgc3RhdGUuc2NoZW1hKTtcbiAgcmV0dXJuIG9yaWdpbmFsTGlmdExpc3RJdGVtKHR5cGUpKHN0YXRlLCBkaXNwYXRjaCk7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvbmV3bGluZUluQ29kZS50c1xuaW1wb3J0IHsgbmV3bGluZUluQ29kZSBhcyBvcmlnaW5hbE5ld2xpbmVJbkNvZGUgfSBmcm9tIFwiQHRpcHRhcC9wbS9jb21tYW5kc1wiO1xudmFyIG5ld2xpbmVJbkNvZGUgPSAoKSA9PiAoeyBzdGF0ZSwgZGlzcGF0Y2ggfSkgPT4ge1xuICByZXR1cm4gb3JpZ2luYWxOZXdsaW5lSW5Db2RlKHN0YXRlLCBkaXNwYXRjaCk7XG59O1xuXG4vLyBzcmMvaGVscGVycy9nZXRTY2hlbWFUeXBlTmFtZUJ5TmFtZS50c1xuZnVuY3Rpb24gZ2V0U2NoZW1hVHlwZU5hbWVCeU5hbWUobmFtZSwgc2NoZW1hKSB7XG4gIGlmIChzY2hlbWEubm9kZXNbbmFtZV0pIHtcbiAgICByZXR1cm4gXCJub2RlXCI7XG4gIH1cbiAgaWYgKHNjaGVtYS5tYXJrc1tuYW1lXSkge1xuICAgIHJldHVybiBcIm1hcmtcIjtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gc3JjL3V0aWxpdGllcy9kZWxldGVQcm9wcy50c1xuZnVuY3Rpb24gZGVsZXRlUHJvcHMob2JqLCBwcm9wT3JQcm9wcykge1xuICBjb25zdCBwcm9wcyA9IHR5cGVvZiBwcm9wT3JQcm9wcyA9PT0gXCJzdHJpbmdcIiA/IFtwcm9wT3JQcm9wc10gOiBwcm9wT3JQcm9wcztcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikucmVkdWNlKChuZXdPYmosIHByb3ApID0+IHtcbiAgICBpZiAoIXByb3BzLmluY2x1ZGVzKHByb3ApKSB7XG4gICAgICBuZXdPYmpbcHJvcF0gPSBvYmpbcHJvcF07XG4gICAgfVxuICAgIHJldHVybiBuZXdPYmo7XG4gIH0sIHt9KTtcbn1cblxuLy8gc3JjL2NvbW1hbmRzL3Jlc2V0QXR0cmlidXRlcy50c1xudmFyIHJlc2V0QXR0cmlidXRlcyA9ICh0eXBlT3JOYW1lLCBhdHRyaWJ1dGVzKSA9PiAoeyB0ciwgc3RhdGUsIGRpc3BhdGNoIH0pID0+IHtcbiAgbGV0IG5vZGVUeXBlID0gbnVsbDtcbiAgbGV0IG1hcmtUeXBlID0gbnVsbDtcbiAgY29uc3Qgc2NoZW1hVHlwZSA9IGdldFNjaGVtYVR5cGVOYW1lQnlOYW1lKFxuICAgIHR5cGVvZiB0eXBlT3JOYW1lID09PSBcInN0cmluZ1wiID8gdHlwZU9yTmFtZSA6IHR5cGVPck5hbWUubmFtZSxcbiAgICBzdGF0ZS5zY2hlbWFcbiAgKTtcbiAgaWYgKCFzY2hlbWFUeXBlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChzY2hlbWFUeXBlID09PSBcIm5vZGVcIikge1xuICAgIG5vZGVUeXBlID0gZ2V0Tm9kZVR5cGUodHlwZU9yTmFtZSwgc3RhdGUuc2NoZW1hKTtcbiAgfVxuICBpZiAoc2NoZW1hVHlwZSA9PT0gXCJtYXJrXCIpIHtcbiAgICBtYXJrVHlwZSA9IGdldE1hcmtUeXBlKHR5cGVPck5hbWUsIHN0YXRlLnNjaGVtYSk7XG4gIH1cbiAgbGV0IGNhblJlc2V0ID0gZmFsc2U7XG4gIHRyLnNlbGVjdGlvbi5yYW5nZXMuZm9yRWFjaCgocmFuZ2UpID0+IHtcbiAgICBzdGF0ZS5kb2Mubm9kZXNCZXR3ZWVuKHJhbmdlLiRmcm9tLnBvcywgcmFuZ2UuJHRvLnBvcywgKG5vZGUsIHBvcykgPT4ge1xuICAgICAgaWYgKG5vZGVUeXBlICYmIG5vZGVUeXBlID09PSBub2RlLnR5cGUpIHtcbiAgICAgICAgY2FuUmVzZXQgPSB0cnVlO1xuICAgICAgICBpZiAoZGlzcGF0Y2gpIHtcbiAgICAgICAgICB0ci5zZXROb2RlTWFya3VwKHBvcywgdm9pZCAwLCBkZWxldGVQcm9wcyhub2RlLmF0dHJzLCBhdHRyaWJ1dGVzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChtYXJrVHlwZSAmJiBub2RlLm1hcmtzLmxlbmd0aCkge1xuICAgICAgICBub2RlLm1hcmtzLmZvckVhY2goKG1hcmspID0+IHtcbiAgICAgICAgICBpZiAobWFya1R5cGUgPT09IG1hcmsudHlwZSkge1xuICAgICAgICAgICAgY2FuUmVzZXQgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKGRpc3BhdGNoKSB7XG4gICAgICAgICAgICAgIHRyLmFkZE1hcmsocG9zLCBwb3MgKyBub2RlLm5vZGVTaXplLCBtYXJrVHlwZS5jcmVhdGUoZGVsZXRlUHJvcHMobWFyay5hdHRycywgYXR0cmlidXRlcykpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIGNhblJlc2V0O1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL3Njcm9sbEludG9WaWV3LnRzXG52YXIgc2Nyb2xsSW50b1ZpZXcgPSAoKSA9PiAoeyB0ciwgZGlzcGF0Y2ggfSkgPT4ge1xuICBpZiAoZGlzcGF0Y2gpIHtcbiAgICB0ci5zY3JvbGxJbnRvVmlldygpO1xuICB9XG4gIHJldHVybiB0cnVlO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL3NlbGVjdEFsbC50c1xuaW1wb3J0IHsgQWxsU2VsZWN0aW9uIH0gZnJvbSBcIkB0aXB0YXAvcG0vc3RhdGVcIjtcbnZhciBzZWxlY3RBbGwgPSAoKSA9PiAoeyB0ciwgZGlzcGF0Y2ggfSkgPT4ge1xuICBpZiAoZGlzcGF0Y2gpIHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSBuZXcgQWxsU2VsZWN0aW9uKHRyLmRvYyk7XG4gICAgdHIuc2V0U2VsZWN0aW9uKHNlbGVjdGlvbik7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvc2VsZWN0Tm9kZUJhY2t3YXJkLnRzXG5pbXBvcnQgeyBzZWxlY3ROb2RlQmFja3dhcmQgYXMgb3JpZ2luYWxTZWxlY3ROb2RlQmFja3dhcmQgfSBmcm9tIFwiQHRpcHRhcC9wbS9jb21tYW5kc1wiO1xudmFyIHNlbGVjdE5vZGVCYWNrd2FyZCA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIHJldHVybiBvcmlnaW5hbFNlbGVjdE5vZGVCYWNrd2FyZChzdGF0ZSwgZGlzcGF0Y2gpO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL3NlbGVjdE5vZGVGb3J3YXJkLnRzXG5pbXBvcnQgeyBzZWxlY3ROb2RlRm9yd2FyZCBhcyBvcmlnaW5hbFNlbGVjdE5vZGVGb3J3YXJkIH0gZnJvbSBcIkB0aXB0YXAvcG0vY29tbWFuZHNcIjtcbnZhciBzZWxlY3ROb2RlRm9yd2FyZCA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIHJldHVybiBvcmlnaW5hbFNlbGVjdE5vZGVGb3J3YXJkKHN0YXRlLCBkaXNwYXRjaCk7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvc2VsZWN0UGFyZW50Tm9kZS50c1xuaW1wb3J0IHsgc2VsZWN0UGFyZW50Tm9kZSBhcyBvcmlnaW5hbFNlbGVjdFBhcmVudE5vZGUgfSBmcm9tIFwiQHRpcHRhcC9wbS9jb21tYW5kc1wiO1xudmFyIHNlbGVjdFBhcmVudE5vZGUgPSAoKSA9PiAoeyBzdGF0ZSwgZGlzcGF0Y2ggfSkgPT4ge1xuICByZXR1cm4gb3JpZ2luYWxTZWxlY3RQYXJlbnROb2RlKHN0YXRlLCBkaXNwYXRjaCk7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvc2VsZWN0VGV4dGJsb2NrRW5kLnRzXG5pbXBvcnQgeyBzZWxlY3RUZXh0YmxvY2tFbmQgYXMgb3JpZ2luYWxTZWxlY3RUZXh0YmxvY2tFbmQgfSBmcm9tIFwiQHRpcHRhcC9wbS9jb21tYW5kc1wiO1xudmFyIHNlbGVjdFRleHRibG9ja0VuZCA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIHJldHVybiBvcmlnaW5hbFNlbGVjdFRleHRibG9ja0VuZChzdGF0ZSwgZGlzcGF0Y2gpO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL3NlbGVjdFRleHRibG9ja1N0YXJ0LnRzXG5pbXBvcnQgeyBzZWxlY3RUZXh0YmxvY2tTdGFydCBhcyBvcmlnaW5hbFNlbGVjdFRleHRibG9ja1N0YXJ0IH0gZnJvbSBcIkB0aXB0YXAvcG0vY29tbWFuZHNcIjtcbnZhciBzZWxlY3RUZXh0YmxvY2tTdGFydCA9ICgpID0+ICh7IHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIHJldHVybiBvcmlnaW5hbFNlbGVjdFRleHRibG9ja1N0YXJ0KHN0YXRlLCBkaXNwYXRjaCk7XG59O1xuXG4vLyBzcmMvaGVscGVycy9jcmVhdGVEb2N1bWVudC50c1xuZnVuY3Rpb24gY3JlYXRlRG9jdW1lbnQoY29udGVudCwgc2NoZW1hLCBwYXJzZU9wdGlvbnMgPSB7fSwgb3B0aW9ucyA9IHt9KSB7XG4gIHJldHVybiBjcmVhdGVOb2RlRnJvbUNvbnRlbnQoY29udGVudCwgc2NoZW1hLCB7XG4gICAgc2xpY2U6IGZhbHNlLFxuICAgIHBhcnNlT3B0aW9ucyxcbiAgICBlcnJvck9uSW52YWxpZENvbnRlbnQ6IG9wdGlvbnMuZXJyb3JPbkludmFsaWRDb250ZW50XG4gIH0pO1xufVxuXG4vLyBzcmMvY29tbWFuZHMvc2V0Q29udGVudC50c1xudmFyIHNldENvbnRlbnQgPSAoY29udGVudCwgeyBlcnJvck9uSW52YWxpZENvbnRlbnQsIGVtaXRVcGRhdGUgPSB0cnVlLCBwYXJzZU9wdGlvbnMgPSB7fSB9ID0ge30pID0+ICh7IGVkaXRvciwgdHIsIGRpc3BhdGNoLCBjb21tYW5kcyB9KSA9PiB7XG4gIGNvbnN0IHsgZG9jIH0gPSB0cjtcbiAgaWYgKHBhcnNlT3B0aW9ucy5wcmVzZXJ2ZVdoaXRlc3BhY2UgIT09IFwiZnVsbFwiKSB7XG4gICAgY29uc3QgZG9jdW1lbnQyID0gY3JlYXRlRG9jdW1lbnQoY29udGVudCwgZWRpdG9yLnNjaGVtYSwgcGFyc2VPcHRpb25zLCB7XG4gICAgICBlcnJvck9uSW52YWxpZENvbnRlbnQ6IGVycm9yT25JbnZhbGlkQ29udGVudCAhPSBudWxsID8gZXJyb3JPbkludmFsaWRDb250ZW50IDogZWRpdG9yLm9wdGlvbnMuZW5hYmxlQ29udGVudENoZWNrXG4gICAgfSk7XG4gICAgaWYgKGRpc3BhdGNoKSB7XG4gICAgICB0ci5yZXBsYWNlV2l0aCgwLCBkb2MuY29udGVudC5zaXplLCBkb2N1bWVudDIpLnNldE1ldGEoXCJwcmV2ZW50VXBkYXRlXCIsICFlbWl0VXBkYXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKGRpc3BhdGNoKSB7XG4gICAgdHIuc2V0TWV0YShcInByZXZlbnRVcGRhdGVcIiwgIWVtaXRVcGRhdGUpO1xuICB9XG4gIHJldHVybiBjb21tYW5kcy5pbnNlcnRDb250ZW50QXQoeyBmcm9tOiAwLCB0bzogZG9jLmNvbnRlbnQuc2l6ZSB9LCBjb250ZW50LCB7XG4gICAgcGFyc2VPcHRpb25zLFxuICAgIGVycm9yT25JbnZhbGlkQ29udGVudDogZXJyb3JPbkludmFsaWRDb250ZW50ICE9IG51bGwgPyBlcnJvck9uSW52YWxpZENvbnRlbnQgOiBlZGl0b3Iub3B0aW9ucy5lbmFibGVDb250ZW50Q2hlY2tcbiAgfSk7XG59O1xuXG4vLyBzcmMvaGVscGVycy9nZXRNYXJrQXR0cmlidXRlcy50c1xuZnVuY3Rpb24gZ2V0TWFya0F0dHJpYnV0ZXMoc3RhdGUsIHR5cGVPck5hbWUpIHtcbiAgY29uc3QgdHlwZSA9IGdldE1hcmtUeXBlKHR5cGVPck5hbWUsIHN0YXRlLnNjaGVtYSk7XG4gIGNvbnN0IHsgZnJvbSwgdG8sIGVtcHR5IH0gPSBzdGF0ZS5zZWxlY3Rpb247XG4gIGNvbnN0IG1hcmtzID0gW107XG4gIGlmIChlbXB0eSkge1xuICAgIGlmIChzdGF0ZS5zdG9yZWRNYXJrcykge1xuICAgICAgbWFya3MucHVzaCguLi5zdGF0ZS5zdG9yZWRNYXJrcyk7XG4gICAgfVxuICAgIG1hcmtzLnB1c2goLi4uc3RhdGUuc2VsZWN0aW9uLiRoZWFkLm1hcmtzKCkpO1xuICB9IGVsc2Uge1xuICAgIHN0YXRlLmRvYy5ub2Rlc0JldHdlZW4oZnJvbSwgdG8sIChub2RlKSA9PiB7XG4gICAgICBtYXJrcy5wdXNoKC4uLm5vZGUubWFya3MpO1xuICAgIH0pO1xuICB9XG4gIGNvbnN0IG1hcmsgPSBtYXJrcy5maW5kKChtYXJrSXRlbSkgPT4gbWFya0l0ZW0udHlwZS5uYW1lID09PSB0eXBlLm5hbWUpO1xuICBpZiAoIW1hcmspIHtcbiAgICByZXR1cm4ge307XG4gIH1cbiAgcmV0dXJuIHsgLi4ubWFyay5hdHRycyB9O1xufVxuXG4vLyBzcmMvaGVscGVycy9jb21iaW5lVHJhbnNhY3Rpb25TdGVwcy50c1xuaW1wb3J0IHsgVHJhbnNmb3JtIH0gZnJvbSBcIkB0aXB0YXAvcG0vdHJhbnNmb3JtXCI7XG5mdW5jdGlvbiBjb21iaW5lVHJhbnNhY3Rpb25TdGVwcyhvbGREb2MsIHRyYW5zYWN0aW9ucykge1xuICBjb25zdCB0cmFuc2Zvcm0gPSBuZXcgVHJhbnNmb3JtKG9sZERvYyk7XG4gIHRyYW5zYWN0aW9ucy5mb3JFYWNoKCh0cmFuc2FjdGlvbikgPT4ge1xuICAgIHRyYW5zYWN0aW9uLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIHRyYW5zZm9ybS5zdGVwKHN0ZXApO1xuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIHRyYW5zZm9ybTtcbn1cblxuLy8gc3JjL2hlbHBlcnMvZGVmYXVsdEJsb2NrQXQudHNcbmZ1bmN0aW9uIGRlZmF1bHRCbG9ja0F0KG1hdGNoKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWF0Y2guZWRnZUNvdW50OyBpICs9IDEpIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IG1hdGNoLmVkZ2UoaSk7XG4gICAgaWYgKHR5cGUuaXNUZXh0YmxvY2sgJiYgIXR5cGUuaGFzUmVxdWlyZWRBdHRycygpKSB7XG4gICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8vIHNyYy9oZWxwZXJzL2ZpbmRDaGlsZHJlbi50c1xuZnVuY3Rpb24gZmluZENoaWxkcmVuKG5vZGUsIHByZWRpY2F0ZSkge1xuICBjb25zdCBub2Rlc1dpdGhQb3MgPSBbXTtcbiAgbm9kZS5kZXNjZW5kYW50cygoY2hpbGQsIHBvcykgPT4ge1xuICAgIGlmIChwcmVkaWNhdGUoY2hpbGQpKSB7XG4gICAgICBub2Rlc1dpdGhQb3MucHVzaCh7XG4gICAgICAgIG5vZGU6IGNoaWxkLFxuICAgICAgICBwb3NcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBub2Rlc1dpdGhQb3M7XG59XG5cbi8vIHNyYy9oZWxwZXJzL2ZpbmRDaGlsZHJlbkluUmFuZ2UudHNcbmZ1bmN0aW9uIGZpbmRDaGlsZHJlbkluUmFuZ2Uobm9kZSwgcmFuZ2UsIHByZWRpY2F0ZSkge1xuICBjb25zdCBub2Rlc1dpdGhQb3MgPSBbXTtcbiAgbm9kZS5ub2Rlc0JldHdlZW4ocmFuZ2UuZnJvbSwgcmFuZ2UudG8sIChjaGlsZCwgcG9zKSA9PiB7XG4gICAgaWYgKHByZWRpY2F0ZShjaGlsZCkpIHtcbiAgICAgIG5vZGVzV2l0aFBvcy5wdXNoKHtcbiAgICAgICAgbm9kZTogY2hpbGQsXG4gICAgICAgIHBvc1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIG5vZGVzV2l0aFBvcztcbn1cblxuLy8gc3JjL2hlbHBlcnMvZmluZFBhcmVudE5vZGVDbG9zZXN0VG9Qb3MudHNcbmZ1bmN0aW9uIGZpbmRQYXJlbnROb2RlQ2xvc2VzdFRvUG9zKCRwb3MsIHByZWRpY2F0ZSkge1xuICBmb3IgKGxldCBpID0gJHBvcy5kZXB0aDsgaSA+IDA7IGkgLT0gMSkge1xuICAgIGNvbnN0IG5vZGUgPSAkcG9zLm5vZGUoaSk7XG4gICAgaWYgKHByZWRpY2F0ZShub2RlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcG9zOiBpID4gMCA/ICRwb3MuYmVmb3JlKGkpIDogMCxcbiAgICAgICAgc3RhcnQ6ICRwb3Muc3RhcnQoaSksXG4gICAgICAgIGRlcHRoOiBpLFxuICAgICAgICBub2RlXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuXG4vLyBzcmMvaGVscGVycy9maW5kUGFyZW50Tm9kZS50c1xuZnVuY3Rpb24gZmluZFBhcmVudE5vZGUocHJlZGljYXRlKSB7XG4gIHJldHVybiAoc2VsZWN0aW9uKSA9PiBmaW5kUGFyZW50Tm9kZUNsb3Nlc3RUb1BvcyhzZWxlY3Rpb24uJGZyb20sIHByZWRpY2F0ZSk7XG59XG5cbi8vIHNyYy9oZWxwZXJzL2dldEV4dGVuc2lvbkZpZWxkLnRzXG5mdW5jdGlvbiBnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIGZpZWxkLCBjb250ZXh0KSB7XG4gIGlmIChleHRlbnNpb24uY29uZmlnW2ZpZWxkXSA9PT0gdm9pZCAwICYmIGV4dGVuc2lvbi5wYXJlbnQpIHtcbiAgICByZXR1cm4gZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLnBhcmVudCwgZmllbGQsIGNvbnRleHQpO1xuICB9XG4gIGlmICh0eXBlb2YgZXh0ZW5zaW9uLmNvbmZpZ1tmaWVsZF0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGNvbnN0IHZhbHVlID0gZXh0ZW5zaW9uLmNvbmZpZ1tmaWVsZF0uYmluZCh7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgcGFyZW50OiBleHRlbnNpb24ucGFyZW50ID8gZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLnBhcmVudCwgZmllbGQsIGNvbnRleHQpIDogbnVsbFxuICAgIH0pO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZXh0ZW5zaW9uLmNvbmZpZ1tmaWVsZF07XG59XG5cbi8vIHNyYy9oZWxwZXJzL2ZsYXR0ZW5FeHRlbnNpb25zLnRzXG5mdW5jdGlvbiBmbGF0dGVuRXh0ZW5zaW9ucyhleHRlbnNpb25zKSB7XG4gIHJldHVybiBleHRlbnNpb25zLm1hcCgoZXh0ZW5zaW9uKSA9PiB7XG4gICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgIG5hbWU6IGV4dGVuc2lvbi5uYW1lLFxuICAgICAgb3B0aW9uczogZXh0ZW5zaW9uLm9wdGlvbnMsXG4gICAgICBzdG9yYWdlOiBleHRlbnNpb24uc3RvcmFnZVxuICAgIH07XG4gICAgY29uc3QgYWRkRXh0ZW5zaW9ucyA9IGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJhZGRFeHRlbnNpb25zXCIsIGNvbnRleHQpO1xuICAgIGlmIChhZGRFeHRlbnNpb25zKSB7XG4gICAgICByZXR1cm4gW2V4dGVuc2lvbiwgLi4uZmxhdHRlbkV4dGVuc2lvbnMoYWRkRXh0ZW5zaW9ucygpKV07XG4gICAgfVxuICAgIHJldHVybiBleHRlbnNpb247XG4gIH0pLmZsYXQoMTApO1xufVxuXG4vLyBzcmMvaGVscGVycy9nZW5lcmF0ZUhUTUwudHNcbmltcG9ydCB7IE5vZGUgfSBmcm9tIFwiQHRpcHRhcC9wbS9tb2RlbFwiO1xuXG4vLyBzcmMvaGVscGVycy9nZXRIVE1MRnJvbUZyYWdtZW50LnRzXG5pbXBvcnQgeyBET01TZXJpYWxpemVyIH0gZnJvbSBcIkB0aXB0YXAvcG0vbW9kZWxcIjtcbmZ1bmN0aW9uIGdldEhUTUxGcm9tRnJhZ21lbnQoZnJhZ21lbnQsIHNjaGVtYSkge1xuICBjb25zdCBkb2N1bWVudEZyYWdtZW50ID0gRE9NU2VyaWFsaXplci5mcm9tU2NoZW1hKHNjaGVtYSkuc2VyaWFsaXplRnJhZ21lbnQoZnJhZ21lbnQpO1xuICBjb25zdCB0ZW1wb3JhcnlEb2N1bWVudCA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgpO1xuICBjb25zdCBjb250YWluZXIgPSB0ZW1wb3JhcnlEb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnRGcmFnbWVudCk7XG4gIHJldHVybiBjb250YWluZXIuaW5uZXJIVE1MO1xufVxuXG4vLyBzcmMvaGVscGVycy9nZXRTY2hlbWFCeVJlc29sdmVkRXh0ZW5zaW9ucy50c1xuaW1wb3J0IHsgU2NoZW1hIGFzIFNjaGVtYTIgfSBmcm9tIFwiQHRpcHRhcC9wbS9tb2RlbFwiO1xuXG4vLyBzcmMvdXRpbGl0aWVzL2lzRnVuY3Rpb24udHNcbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiO1xufVxuXG4vLyBzcmMvdXRpbGl0aWVzL2NhbGxPclJldHVybi50c1xuZnVuY3Rpb24gY2FsbE9yUmV0dXJuKHZhbHVlLCBjb250ZXh0ID0gdm9pZCAwLCAuLi5wcm9wcykge1xuICBpZiAoaXNGdW5jdGlvbih2YWx1ZSkpIHtcbiAgICBpZiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIHZhbHVlLmJpbmQoY29udGV4dCkoLi4ucHJvcHMpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWUoLi4ucHJvcHMpO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLy8gc3JjL3V0aWxpdGllcy9pc0VtcHR5T2JqZWN0LnRzXG5mdW5jdGlvbiBpc0VtcHR5T2JqZWN0KHZhbHVlID0ge30pIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDAgJiYgdmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdDtcbn1cblxuLy8gc3JjL2hlbHBlcnMvc3BsaXRFeHRlbnNpb25zLnRzXG5mdW5jdGlvbiBzcGxpdEV4dGVuc2lvbnMoZXh0ZW5zaW9ucykge1xuICBjb25zdCBiYXNlRXh0ZW5zaW9ucyA9IGV4dGVuc2lvbnMuZmlsdGVyKChleHRlbnNpb24pID0+IGV4dGVuc2lvbi50eXBlID09PSBcImV4dGVuc2lvblwiKTtcbiAgY29uc3Qgbm9kZUV4dGVuc2lvbnMgPSBleHRlbnNpb25zLmZpbHRlcigoZXh0ZW5zaW9uKSA9PiBleHRlbnNpb24udHlwZSA9PT0gXCJub2RlXCIpO1xuICBjb25zdCBtYXJrRXh0ZW5zaW9ucyA9IGV4dGVuc2lvbnMuZmlsdGVyKChleHRlbnNpb24pID0+IGV4dGVuc2lvbi50eXBlID09PSBcIm1hcmtcIik7XG4gIHJldHVybiB7XG4gICAgYmFzZUV4dGVuc2lvbnMsXG4gICAgbm9kZUV4dGVuc2lvbnMsXG4gICAgbWFya0V4dGVuc2lvbnNcbiAgfTtcbn1cblxuLy8gc3JjL2hlbHBlcnMvZ2V0QXR0cmlidXRlc0Zyb21FeHRlbnNpb25zLnRzXG5mdW5jdGlvbiBnZXRBdHRyaWJ1dGVzRnJvbUV4dGVuc2lvbnMoZXh0ZW5zaW9ucykge1xuICBjb25zdCBleHRlbnNpb25BdHRyaWJ1dGVzID0gW107XG4gIGNvbnN0IHsgbm9kZUV4dGVuc2lvbnMsIG1hcmtFeHRlbnNpb25zIH0gPSBzcGxpdEV4dGVuc2lvbnMoZXh0ZW5zaW9ucyk7XG4gIGNvbnN0IG5vZGVBbmRNYXJrRXh0ZW5zaW9ucyA9IFsuLi5ub2RlRXh0ZW5zaW9ucywgLi4ubWFya0V4dGVuc2lvbnNdO1xuICBjb25zdCBkZWZhdWx0QXR0cmlidXRlID0ge1xuICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgdmFsaWRhdGU6IHZvaWQgMCxcbiAgICByZW5kZXJlZDogdHJ1ZSxcbiAgICByZW5kZXJIVE1MOiBudWxsLFxuICAgIHBhcnNlSFRNTDogbnVsbCxcbiAgICBrZWVwT25TcGxpdDogdHJ1ZSxcbiAgICBpc1JlcXVpcmVkOiBmYWxzZVxuICB9O1xuICBleHRlbnNpb25zLmZvckVhY2goKGV4dGVuc2lvbikgPT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICBuYW1lOiBleHRlbnNpb24ubmFtZSxcbiAgICAgIG9wdGlvbnM6IGV4dGVuc2lvbi5vcHRpb25zLFxuICAgICAgc3RvcmFnZTogZXh0ZW5zaW9uLnN0b3JhZ2UsXG4gICAgICBleHRlbnNpb25zOiBub2RlQW5kTWFya0V4dGVuc2lvbnNcbiAgICB9O1xuICAgIGNvbnN0IGFkZEdsb2JhbEF0dHJpYnV0ZXMgPSBnZXRFeHRlbnNpb25GaWVsZChcbiAgICAgIGV4dGVuc2lvbixcbiAgICAgIFwiYWRkR2xvYmFsQXR0cmlidXRlc1wiLFxuICAgICAgY29udGV4dFxuICAgICk7XG4gICAgaWYgKCFhZGRHbG9iYWxBdHRyaWJ1dGVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGdsb2JhbEF0dHJpYnV0ZXMgPSBhZGRHbG9iYWxBdHRyaWJ1dGVzKCk7XG4gICAgZ2xvYmFsQXR0cmlidXRlcy5mb3JFYWNoKChnbG9iYWxBdHRyaWJ1dGUpID0+IHtcbiAgICAgIGdsb2JhbEF0dHJpYnV0ZS50eXBlcy5mb3JFYWNoKCh0eXBlKSA9PiB7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGdsb2JhbEF0dHJpYnV0ZS5hdHRyaWJ1dGVzKS5mb3JFYWNoKChbbmFtZSwgYXR0cmlidXRlXSkgPT4ge1xuICAgICAgICAgIGV4dGVuc2lvbkF0dHJpYnV0ZXMucHVzaCh7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIGF0dHJpYnV0ZToge1xuICAgICAgICAgICAgICAuLi5kZWZhdWx0QXR0cmlidXRlLFxuICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG4gIG5vZGVBbmRNYXJrRXh0ZW5zaW9ucy5mb3JFYWNoKChleHRlbnNpb24pID0+IHtcbiAgICBjb25zdCBjb250ZXh0ID0ge1xuICAgICAgbmFtZTogZXh0ZW5zaW9uLm5hbWUsXG4gICAgICBvcHRpb25zOiBleHRlbnNpb24ub3B0aW9ucyxcbiAgICAgIHN0b3JhZ2U6IGV4dGVuc2lvbi5zdG9yYWdlXG4gICAgfTtcbiAgICBjb25zdCBhZGRBdHRyaWJ1dGVzID0gZ2V0RXh0ZW5zaW9uRmllbGQoXG4gICAgICBleHRlbnNpb24sXG4gICAgICBcImFkZEF0dHJpYnV0ZXNcIixcbiAgICAgIGNvbnRleHRcbiAgICApO1xuICAgIGlmICghYWRkQXR0cmlidXRlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gYWRkQXR0cmlidXRlcygpO1xuICAgIE9iamVjdC5lbnRyaWVzKGF0dHJpYnV0ZXMpLmZvckVhY2goKFtuYW1lLCBhdHRyaWJ1dGVdKSA9PiB7XG4gICAgICBjb25zdCBtZXJnZWRBdHRyID0ge1xuICAgICAgICAuLi5kZWZhdWx0QXR0cmlidXRlLFxuICAgICAgICAuLi5hdHRyaWJ1dGVcbiAgICAgIH07XG4gICAgICBpZiAodHlwZW9mIChtZXJnZWRBdHRyID09IG51bGwgPyB2b2lkIDAgOiBtZXJnZWRBdHRyLmRlZmF1bHQpID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgbWVyZ2VkQXR0ci5kZWZhdWx0ID0gbWVyZ2VkQXR0ci5kZWZhdWx0KCk7XG4gICAgICB9XG4gICAgICBpZiAoKG1lcmdlZEF0dHIgPT0gbnVsbCA/IHZvaWQgMCA6IG1lcmdlZEF0dHIuaXNSZXF1aXJlZCkgJiYgKG1lcmdlZEF0dHIgPT0gbnVsbCA/IHZvaWQgMCA6IG1lcmdlZEF0dHIuZGVmYXVsdCkgPT09IHZvaWQgMCkge1xuICAgICAgICBkZWxldGUgbWVyZ2VkQXR0ci5kZWZhdWx0O1xuICAgICAgfVxuICAgICAgZXh0ZW5zaW9uQXR0cmlidXRlcy5wdXNoKHtcbiAgICAgICAgdHlwZTogZXh0ZW5zaW9uLm5hbWUsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIGF0dHJpYnV0ZTogbWVyZ2VkQXR0clxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gZXh0ZW5zaW9uQXR0cmlidXRlcztcbn1cblxuLy8gc3JjL3V0aWxpdGllcy9tZXJnZUF0dHJpYnV0ZXMudHNcbmZ1bmN0aW9uIG1lcmdlQXR0cmlidXRlcyguLi5vYmplY3RzKSB7XG4gIHJldHVybiBvYmplY3RzLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKS5yZWR1Y2UoKGl0ZW1zLCBpdGVtKSA9PiB7XG4gICAgY29uc3QgbWVyZ2VkQXR0cmlidXRlcyA9IHsgLi4uaXRlbXMgfTtcbiAgICBPYmplY3QuZW50cmllcyhpdGVtKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGNvbnN0IGV4aXN0cyA9IG1lcmdlZEF0dHJpYnV0ZXNba2V5XTtcbiAgICAgIGlmICghZXhpc3RzKSB7XG4gICAgICAgIG1lcmdlZEF0dHJpYnV0ZXNba2V5XSA9IHZhbHVlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoa2V5ID09PSBcImNsYXNzXCIpIHtcbiAgICAgICAgY29uc3QgdmFsdWVDbGFzc2VzID0gdmFsdWUgPyBTdHJpbmcodmFsdWUpLnNwbGl0KFwiIFwiKSA6IFtdO1xuICAgICAgICBjb25zdCBleGlzdGluZ0NsYXNzZXMgPSBtZXJnZWRBdHRyaWJ1dGVzW2tleV0gPyBtZXJnZWRBdHRyaWJ1dGVzW2tleV0uc3BsaXQoXCIgXCIpIDogW107XG4gICAgICAgIGNvbnN0IGluc2VydENsYXNzZXMgPSB2YWx1ZUNsYXNzZXMuZmlsdGVyKCh2YWx1ZUNsYXNzKSA9PiAhZXhpc3RpbmdDbGFzc2VzLmluY2x1ZGVzKHZhbHVlQ2xhc3MpKTtcbiAgICAgICAgbWVyZ2VkQXR0cmlidXRlc1trZXldID0gWy4uLmV4aXN0aW5nQ2xhc3NlcywgLi4uaW5zZXJ0Q2xhc3Nlc10uam9pbihcIiBcIik7XG4gICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJzdHlsZVwiKSB7XG4gICAgICAgIGNvbnN0IG5ld1N0eWxlcyA9IHZhbHVlID8gdmFsdWUuc3BsaXQoXCI7XCIpLm1hcCgoc3R5bGUyKSA9PiBzdHlsZTIudHJpbSgpKS5maWx0ZXIoQm9vbGVhbikgOiBbXTtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdTdHlsZXMgPSBtZXJnZWRBdHRyaWJ1dGVzW2tleV0gPyBtZXJnZWRBdHRyaWJ1dGVzW2tleV0uc3BsaXQoXCI7XCIpLm1hcCgoc3R5bGUyKSA9PiBzdHlsZTIudHJpbSgpKS5maWx0ZXIoQm9vbGVhbikgOiBbXTtcbiAgICAgICAgY29uc3Qgc3R5bGVNYXAgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICAgICAgICBleGlzdGluZ1N0eWxlcy5mb3JFYWNoKChzdHlsZTIpID0+IHtcbiAgICAgICAgICBjb25zdCBbcHJvcGVydHksIHZhbF0gPSBzdHlsZTIuc3BsaXQoXCI6XCIpLm1hcCgocGFydCkgPT4gcGFydC50cmltKCkpO1xuICAgICAgICAgIHN0eWxlTWFwLnNldChwcm9wZXJ0eSwgdmFsKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG5ld1N0eWxlcy5mb3JFYWNoKChzdHlsZTIpID0+IHtcbiAgICAgICAgICBjb25zdCBbcHJvcGVydHksIHZhbF0gPSBzdHlsZTIuc3BsaXQoXCI6XCIpLm1hcCgocGFydCkgPT4gcGFydC50cmltKCkpO1xuICAgICAgICAgIHN0eWxlTWFwLnNldChwcm9wZXJ0eSwgdmFsKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG1lcmdlZEF0dHJpYnV0ZXNba2V5XSA9IEFycmF5LmZyb20oc3R5bGVNYXAuZW50cmllcygpKS5tYXAoKFtwcm9wZXJ0eSwgdmFsXSkgPT4gYCR7cHJvcGVydHl9OiAke3ZhbH1gKS5qb2luKFwiOyBcIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXJnZWRBdHRyaWJ1dGVzW2tleV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbWVyZ2VkQXR0cmlidXRlcztcbiAgfSwge30pO1xufVxuXG4vLyBzcmMvaGVscGVycy9nZXRSZW5kZXJlZEF0dHJpYnV0ZXMudHNcbmZ1bmN0aW9uIGdldFJlbmRlcmVkQXR0cmlidXRlcyhub2RlT3JNYXJrLCBleHRlbnNpb25BdHRyaWJ1dGVzKSB7XG4gIHJldHVybiBleHRlbnNpb25BdHRyaWJ1dGVzLmZpbHRlcigoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUudHlwZSA9PT0gbm9kZU9yTWFyay50eXBlLm5hbWUpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5hdHRyaWJ1dGUucmVuZGVyZWQpLm1hcCgoaXRlbSkgPT4ge1xuICAgIGlmICghaXRlbS5hdHRyaWJ1dGUucmVuZGVySFRNTCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgW2l0ZW0ubmFtZV06IG5vZGVPck1hcmsuYXR0cnNbaXRlbS5uYW1lXVxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW0uYXR0cmlidXRlLnJlbmRlckhUTUwobm9kZU9yTWFyay5hdHRycykgfHwge307XG4gIH0pLnJlZHVjZSgoYXR0cmlidXRlcywgYXR0cmlidXRlKSA9PiBtZXJnZUF0dHJpYnV0ZXMoYXR0cmlidXRlcywgYXR0cmlidXRlKSwge30pO1xufVxuXG4vLyBzcmMvdXRpbGl0aWVzL2Zyb21TdHJpbmcudHNcbmZ1bmN0aW9uIGZyb21TdHJpbmcodmFsdWUpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBpZiAodmFsdWUubWF0Y2goL15bKy1dPyg/OlxcZCpcXC4pP1xcZCskLykpIHtcbiAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcbiAgfVxuICBpZiAodmFsdWUgPT09IFwidHJ1ZVwiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKHZhbHVlID09PSBcImZhbHNlXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG4vLyBzcmMvaGVscGVycy9pbmplY3RFeHRlbnNpb25BdHRyaWJ1dGVzVG9QYXJzZVJ1bGUudHNcbmZ1bmN0aW9uIGluamVjdEV4dGVuc2lvbkF0dHJpYnV0ZXNUb1BhcnNlUnVsZShwYXJzZVJ1bGUsIGV4dGVuc2lvbkF0dHJpYnV0ZXMpIHtcbiAgaWYgKFwic3R5bGVcIiBpbiBwYXJzZVJ1bGUpIHtcbiAgICByZXR1cm4gcGFyc2VSdWxlO1xuICB9XG4gIHJldHVybiB7XG4gICAgLi4ucGFyc2VSdWxlLFxuICAgIGdldEF0dHJzOiAobm9kZSkgPT4ge1xuICAgICAgY29uc3Qgb2xkQXR0cmlidXRlcyA9IHBhcnNlUnVsZS5nZXRBdHRycyA/IHBhcnNlUnVsZS5nZXRBdHRycyhub2RlKSA6IHBhcnNlUnVsZS5hdHRycztcbiAgICAgIGlmIChvbGRBdHRyaWJ1dGVzID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdBdHRyaWJ1dGVzID0gZXh0ZW5zaW9uQXR0cmlidXRlcy5yZWR1Y2UoKGl0ZW1zLCBpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaXRlbS5hdHRyaWJ1dGUucGFyc2VIVE1MID8gaXRlbS5hdHRyaWJ1dGUucGFyc2VIVE1MKG5vZGUpIDogZnJvbVN0cmluZyhub2RlLmdldEF0dHJpYnV0ZShpdGVtLm5hbWUpKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB2b2lkIDApIHtcbiAgICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5pdGVtcyxcbiAgICAgICAgICBbaXRlbS5uYW1lXTogdmFsdWVcbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcbiAgICAgIHJldHVybiB7IC4uLm9sZEF0dHJpYnV0ZXMsIC4uLm5ld0F0dHJpYnV0ZXMgfTtcbiAgICB9XG4gIH07XG59XG5cbi8vIHNyYy9oZWxwZXJzL2dldFNjaGVtYUJ5UmVzb2x2ZWRFeHRlbnNpb25zLnRzXG5mdW5jdGlvbiBjbGVhblVwU2NoZW1hSXRlbShkYXRhKSB7XG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZpbHRlcigoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoa2V5ID09PSBcImF0dHJzXCIgJiYgaXNFbXB0eU9iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB2b2lkIDA7XG4gICAgfSlcbiAgKTtcbn1cbmZ1bmN0aW9uIGJ1aWxkQXR0cmlidXRlU3BlYyhleHRlbnNpb25BdHRyaWJ1dGUpIHtcbiAgdmFyIF9hLCBfYjtcbiAgY29uc3Qgc3BlYyA9IHt9O1xuICBpZiAoISgoX2EgPSBleHRlbnNpb25BdHRyaWJ1dGUgPT0gbnVsbCA/IHZvaWQgMCA6IGV4dGVuc2lvbkF0dHJpYnV0ZS5hdHRyaWJ1dGUpID09IG51bGwgPyB2b2lkIDAgOiBfYS5pc1JlcXVpcmVkKSAmJiBcImRlZmF1bHRcIiBpbiAoKGV4dGVuc2lvbkF0dHJpYnV0ZSA9PSBudWxsID8gdm9pZCAwIDogZXh0ZW5zaW9uQXR0cmlidXRlLmF0dHJpYnV0ZSkgfHwge30pKSB7XG4gICAgc3BlYy5kZWZhdWx0ID0gZXh0ZW5zaW9uQXR0cmlidXRlLmF0dHJpYnV0ZS5kZWZhdWx0O1xuICB9XG4gIGlmICgoKF9iID0gZXh0ZW5zaW9uQXR0cmlidXRlID09IG51bGwgPyB2b2lkIDAgOiBleHRlbnNpb25BdHRyaWJ1dGUuYXR0cmlidXRlKSA9PSBudWxsID8gdm9pZCAwIDogX2IudmFsaWRhdGUpICE9PSB2b2lkIDApIHtcbiAgICBzcGVjLnZhbGlkYXRlID0gZXh0ZW5zaW9uQXR0cmlidXRlLmF0dHJpYnV0ZS52YWxpZGF0ZTtcbiAgfVxuICByZXR1cm4gW2V4dGVuc2lvbkF0dHJpYnV0ZS5uYW1lLCBzcGVjXTtcbn1cbmZ1bmN0aW9uIGdldFNjaGVtYUJ5UmVzb2x2ZWRFeHRlbnNpb25zKGV4dGVuc2lvbnMsIGVkaXRvcikge1xuICB2YXIgX2E7XG4gIGNvbnN0IGFsbEF0dHJpYnV0ZXMgPSBnZXRBdHRyaWJ1dGVzRnJvbUV4dGVuc2lvbnMoZXh0ZW5zaW9ucyk7XG4gIGNvbnN0IHsgbm9kZUV4dGVuc2lvbnMsIG1hcmtFeHRlbnNpb25zIH0gPSBzcGxpdEV4dGVuc2lvbnMoZXh0ZW5zaW9ucyk7XG4gIGNvbnN0IHRvcE5vZGUgPSAoX2EgPSBub2RlRXh0ZW5zaW9ucy5maW5kKChleHRlbnNpb24pID0+IGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJ0b3BOb2RlXCIpKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLm5hbWU7XG4gIGNvbnN0IG5vZGVzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIG5vZGVFeHRlbnNpb25zLm1hcCgoZXh0ZW5zaW9uKSA9PiB7XG4gICAgICBjb25zdCBleHRlbnNpb25BdHRyaWJ1dGVzID0gYWxsQXR0cmlidXRlcy5maWx0ZXIoKGF0dHJpYnV0ZSkgPT4gYXR0cmlidXRlLnR5cGUgPT09IGV4dGVuc2lvbi5uYW1lKTtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAgIG5hbWU6IGV4dGVuc2lvbi5uYW1lLFxuICAgICAgICBvcHRpb25zOiBleHRlbnNpb24ub3B0aW9ucyxcbiAgICAgICAgc3RvcmFnZTogZXh0ZW5zaW9uLnN0b3JhZ2UsXG4gICAgICAgIGVkaXRvclxuICAgICAgfTtcbiAgICAgIGNvbnN0IGV4dHJhTm9kZUZpZWxkcyA9IGV4dGVuc2lvbnMucmVkdWNlKChmaWVsZHMsIGUpID0+IHtcbiAgICAgICAgY29uc3QgZXh0ZW5kTm9kZVNjaGVtYSA9IGdldEV4dGVuc2lvbkZpZWxkKGUsIFwiZXh0ZW5kTm9kZVNjaGVtYVwiLCBjb250ZXh0KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5maWVsZHMsXG4gICAgICAgICAgLi4uZXh0ZW5kTm9kZVNjaGVtYSA/IGV4dGVuZE5vZGVTY2hlbWEoZXh0ZW5zaW9uKSA6IHt9XG4gICAgICAgIH07XG4gICAgICB9LCB7fSk7XG4gICAgICBjb25zdCBzY2hlbWEgPSBjbGVhblVwU2NoZW1hSXRlbSh7XG4gICAgICAgIC4uLmV4dHJhTm9kZUZpZWxkcyxcbiAgICAgICAgY29udGVudDogY2FsbE9yUmV0dXJuKGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJjb250ZW50XCIsIGNvbnRleHQpKSxcbiAgICAgICAgbWFya3M6IGNhbGxPclJldHVybihnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwibWFya3NcIiwgY29udGV4dCkpLFxuICAgICAgICBncm91cDogY2FsbE9yUmV0dXJuKGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJncm91cFwiLCBjb250ZXh0KSksXG4gICAgICAgIGlubGluZTogY2FsbE9yUmV0dXJuKGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJpbmxpbmVcIiwgY29udGV4dCkpLFxuICAgICAgICBhdG9tOiBjYWxsT3JSZXR1cm4oZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcImF0b21cIiwgY29udGV4dCkpLFxuICAgICAgICBzZWxlY3RhYmxlOiBjYWxsT3JSZXR1cm4oZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcInNlbGVjdGFibGVcIiwgY29udGV4dCkpLFxuICAgICAgICBkcmFnZ2FibGU6IGNhbGxPclJldHVybihnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwiZHJhZ2dhYmxlXCIsIGNvbnRleHQpKSxcbiAgICAgICAgY29kZTogY2FsbE9yUmV0dXJuKGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJjb2RlXCIsIGNvbnRleHQpKSxcbiAgICAgICAgd2hpdGVzcGFjZTogY2FsbE9yUmV0dXJuKGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJ3aGl0ZXNwYWNlXCIsIGNvbnRleHQpKSxcbiAgICAgICAgbGluZWJyZWFrUmVwbGFjZW1lbnQ6IGNhbGxPclJldHVybihcbiAgICAgICAgICBnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwibGluZWJyZWFrUmVwbGFjZW1lbnRcIiwgY29udGV4dClcbiAgICAgICAgKSxcbiAgICAgICAgZGVmaW5pbmc6IGNhbGxPclJldHVybihnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwiZGVmaW5pbmdcIiwgY29udGV4dCkpLFxuICAgICAgICBpc29sYXRpbmc6IGNhbGxPclJldHVybihnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwiaXNvbGF0aW5nXCIsIGNvbnRleHQpKSxcbiAgICAgICAgYXR0cnM6IE9iamVjdC5mcm9tRW50cmllcyhleHRlbnNpb25BdHRyaWJ1dGVzLm1hcChidWlsZEF0dHJpYnV0ZVNwZWMpKVxuICAgICAgfSk7XG4gICAgICBjb25zdCBwYXJzZUhUTUwgPSBjYWxsT3JSZXR1cm4oZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcInBhcnNlSFRNTFwiLCBjb250ZXh0KSk7XG4gICAgICBpZiAocGFyc2VIVE1MKSB7XG4gICAgICAgIHNjaGVtYS5wYXJzZURPTSA9IHBhcnNlSFRNTC5tYXAoXG4gICAgICAgICAgKHBhcnNlUnVsZSkgPT4gaW5qZWN0RXh0ZW5zaW9uQXR0cmlidXRlc1RvUGFyc2VSdWxlKHBhcnNlUnVsZSwgZXh0ZW5zaW9uQXR0cmlidXRlcylcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlbmRlckhUTUwgPSBnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwicmVuZGVySFRNTFwiLCBjb250ZXh0KTtcbiAgICAgIGlmIChyZW5kZXJIVE1MKSB7XG4gICAgICAgIHNjaGVtYS50b0RPTSA9IChub2RlKSA9PiByZW5kZXJIVE1MKHtcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIEhUTUxBdHRyaWJ1dGVzOiBnZXRSZW5kZXJlZEF0dHJpYnV0ZXMobm9kZSwgZXh0ZW5zaW9uQXR0cmlidXRlcylcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBjb25zdCByZW5kZXJUZXh0ID0gZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcInJlbmRlclRleHRcIiwgY29udGV4dCk7XG4gICAgICBpZiAocmVuZGVyVGV4dCkge1xuICAgICAgICBzY2hlbWEudG9UZXh0ID0gcmVuZGVyVGV4dDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbZXh0ZW5zaW9uLm5hbWUsIHNjaGVtYV07XG4gICAgfSlcbiAgKTtcbiAgY29uc3QgbWFya3MgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgbWFya0V4dGVuc2lvbnMubWFwKChleHRlbnNpb24pID0+IHtcbiAgICAgIGNvbnN0IGV4dGVuc2lvbkF0dHJpYnV0ZXMgPSBhbGxBdHRyaWJ1dGVzLmZpbHRlcigoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUudHlwZSA9PT0gZXh0ZW5zaW9uLm5hbWUpO1xuICAgICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgICAgbmFtZTogZXh0ZW5zaW9uLm5hbWUsXG4gICAgICAgIG9wdGlvbnM6IGV4dGVuc2lvbi5vcHRpb25zLFxuICAgICAgICBzdG9yYWdlOiBleHRlbnNpb24uc3RvcmFnZSxcbiAgICAgICAgZWRpdG9yXG4gICAgICB9O1xuICAgICAgY29uc3QgZXh0cmFNYXJrRmllbGRzID0gZXh0ZW5zaW9ucy5yZWR1Y2UoKGZpZWxkcywgZSkgPT4ge1xuICAgICAgICBjb25zdCBleHRlbmRNYXJrU2NoZW1hID0gZ2V0RXh0ZW5zaW9uRmllbGQoZSwgXCJleHRlbmRNYXJrU2NoZW1hXCIsIGNvbnRleHQpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmZpZWxkcyxcbiAgICAgICAgICAuLi5leHRlbmRNYXJrU2NoZW1hID8gZXh0ZW5kTWFya1NjaGVtYShleHRlbnNpb24pIDoge31cbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcbiAgICAgIGNvbnN0IHNjaGVtYSA9IGNsZWFuVXBTY2hlbWFJdGVtKHtcbiAgICAgICAgLi4uZXh0cmFNYXJrRmllbGRzLFxuICAgICAgICBpbmNsdXNpdmU6IGNhbGxPclJldHVybihnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwiaW5jbHVzaXZlXCIsIGNvbnRleHQpKSxcbiAgICAgICAgZXhjbHVkZXM6IGNhbGxPclJldHVybihnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwiZXhjbHVkZXNcIiwgY29udGV4dCkpLFxuICAgICAgICBncm91cDogY2FsbE9yUmV0dXJuKGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJncm91cFwiLCBjb250ZXh0KSksXG4gICAgICAgIHNwYW5uaW5nOiBjYWxsT3JSZXR1cm4oZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcInNwYW5uaW5nXCIsIGNvbnRleHQpKSxcbiAgICAgICAgY29kZTogY2FsbE9yUmV0dXJuKGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJjb2RlXCIsIGNvbnRleHQpKSxcbiAgICAgICAgYXR0cnM6IE9iamVjdC5mcm9tRW50cmllcyhleHRlbnNpb25BdHRyaWJ1dGVzLm1hcChidWlsZEF0dHJpYnV0ZVNwZWMpKVxuICAgICAgfSk7XG4gICAgICBjb25zdCBwYXJzZUhUTUwgPSBjYWxsT3JSZXR1cm4oZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcInBhcnNlSFRNTFwiLCBjb250ZXh0KSk7XG4gICAgICBpZiAocGFyc2VIVE1MKSB7XG4gICAgICAgIHNjaGVtYS5wYXJzZURPTSA9IHBhcnNlSFRNTC5tYXAoXG4gICAgICAgICAgKHBhcnNlUnVsZSkgPT4gaW5qZWN0RXh0ZW5zaW9uQXR0cmlidXRlc1RvUGFyc2VSdWxlKHBhcnNlUnVsZSwgZXh0ZW5zaW9uQXR0cmlidXRlcylcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlbmRlckhUTUwgPSBnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwicmVuZGVySFRNTFwiLCBjb250ZXh0KTtcbiAgICAgIGlmIChyZW5kZXJIVE1MKSB7XG4gICAgICAgIHNjaGVtYS50b0RPTSA9IChtYXJrKSA9PiByZW5kZXJIVE1MKHtcbiAgICAgICAgICBtYXJrLFxuICAgICAgICAgIEhUTUxBdHRyaWJ1dGVzOiBnZXRSZW5kZXJlZEF0dHJpYnV0ZXMobWFyaywgZXh0ZW5zaW9uQXR0cmlidXRlcylcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gW2V4dGVuc2lvbi5uYW1lLCBzY2hlbWFdO1xuICAgIH0pXG4gICk7XG4gIHJldHVybiBuZXcgU2NoZW1hMih7XG4gICAgdG9wTm9kZSxcbiAgICBub2RlcyxcbiAgICBtYXJrc1xuICB9KTtcbn1cblxuLy8gc3JjL3V0aWxpdGllcy9maW5kRHVwbGljYXRlcy50c1xuZnVuY3Rpb24gZmluZER1cGxpY2F0ZXMoaXRlbXMpIHtcbiAgY29uc3QgZmlsdGVyZWQgPSBpdGVtcy5maWx0ZXIoKGVsLCBpbmRleCkgPT4gaXRlbXMuaW5kZXhPZihlbCkgIT09IGluZGV4KTtcbiAgcmV0dXJuIEFycmF5LmZyb20obmV3IFNldChmaWx0ZXJlZCkpO1xufVxuXG4vLyBzcmMvaGVscGVycy9zb3J0RXh0ZW5zaW9ucy50c1xuZnVuY3Rpb24gc29ydEV4dGVuc2lvbnMoZXh0ZW5zaW9ucykge1xuICBjb25zdCBkZWZhdWx0UHJpb3JpdHkgPSAxMDA7XG4gIHJldHVybiBleHRlbnNpb25zLnNvcnQoKGEsIGIpID0+IHtcbiAgICBjb25zdCBwcmlvcml0eUEgPSBnZXRFeHRlbnNpb25GaWVsZChhLCBcInByaW9yaXR5XCIpIHx8IGRlZmF1bHRQcmlvcml0eTtcbiAgICBjb25zdCBwcmlvcml0eUIgPSBnZXRFeHRlbnNpb25GaWVsZChiLCBcInByaW9yaXR5XCIpIHx8IGRlZmF1bHRQcmlvcml0eTtcbiAgICBpZiAocHJpb3JpdHlBID4gcHJpb3JpdHlCKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIGlmIChwcmlvcml0eUEgPCBwcmlvcml0eUIpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfSk7XG59XG5cbi8vIHNyYy9oZWxwZXJzL3Jlc29sdmVFeHRlbnNpb25zLnRzXG5mdW5jdGlvbiByZXNvbHZlRXh0ZW5zaW9ucyhleHRlbnNpb25zKSB7XG4gIGNvbnN0IHJlc29sdmVkRXh0ZW5zaW9ucyA9IHNvcnRFeHRlbnNpb25zKGZsYXR0ZW5FeHRlbnNpb25zKGV4dGVuc2lvbnMpKTtcbiAgY29uc3QgZHVwbGljYXRlZE5hbWVzID0gZmluZER1cGxpY2F0ZXMocmVzb2x2ZWRFeHRlbnNpb25zLm1hcCgoZXh0ZW5zaW9uKSA9PiBleHRlbnNpb24ubmFtZSkpO1xuICBpZiAoZHVwbGljYXRlZE5hbWVzLmxlbmd0aCkge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBbdGlwdGFwIHdhcm5dOiBEdXBsaWNhdGUgZXh0ZW5zaW9uIG5hbWVzIGZvdW5kOiBbJHtkdXBsaWNhdGVkTmFtZXMubWFwKChpdGVtKSA9PiBgJyR7aXRlbX0nYCkuam9pbihcIiwgXCIpfV0uIFRoaXMgY2FuIGxlYWQgdG8gaXNzdWVzLmBcbiAgICApO1xuICB9XG4gIHJldHVybiByZXNvbHZlZEV4dGVuc2lvbnM7XG59XG5cbi8vIHNyYy9oZWxwZXJzL2dldFNjaGVtYS50c1xuZnVuY3Rpb24gZ2V0U2NoZW1hKGV4dGVuc2lvbnMsIGVkaXRvcikge1xuICBjb25zdCByZXNvbHZlZEV4dGVuc2lvbnMgPSByZXNvbHZlRXh0ZW5zaW9ucyhleHRlbnNpb25zKTtcbiAgcmV0dXJuIGdldFNjaGVtYUJ5UmVzb2x2ZWRFeHRlbnNpb25zKHJlc29sdmVkRXh0ZW5zaW9ucywgZWRpdG9yKTtcbn1cblxuLy8gc3JjL2hlbHBlcnMvZ2VuZXJhdGVIVE1MLnRzXG5mdW5jdGlvbiBnZW5lcmF0ZUhUTUwoZG9jLCBleHRlbnNpb25zKSB7XG4gIGNvbnN0IHNjaGVtYSA9IGdldFNjaGVtYShleHRlbnNpb25zKTtcbiAgY29uc3QgY29udGVudE5vZGUgPSBOb2RlLmZyb21KU09OKHNjaGVtYSwgZG9jKTtcbiAgcmV0dXJuIGdldEhUTUxGcm9tRnJhZ21lbnQoY29udGVudE5vZGUuY29udGVudCwgc2NoZW1hKTtcbn1cblxuLy8gc3JjL2hlbHBlcnMvZ2VuZXJhdGVKU09OLnRzXG5pbXBvcnQgeyBET01QYXJzZXIgYXMgRE9NUGFyc2VyMiB9IGZyb20gXCJAdGlwdGFwL3BtL21vZGVsXCI7XG5mdW5jdGlvbiBnZW5lcmF0ZUpTT04oaHRtbCwgZXh0ZW5zaW9ucykge1xuICBjb25zdCBzY2hlbWEgPSBnZXRTY2hlbWEoZXh0ZW5zaW9ucyk7XG4gIGNvbnN0IGRvbSA9IGVsZW1lbnRGcm9tU3RyaW5nKGh0bWwpO1xuICByZXR1cm4gRE9NUGFyc2VyMi5mcm9tU2NoZW1hKHNjaGVtYSkucGFyc2UoZG9tKS50b0pTT04oKTtcbn1cblxuLy8gc3JjL2hlbHBlcnMvZ2VuZXJhdGVUZXh0LnRzXG5pbXBvcnQgeyBOb2RlIGFzIE5vZGUyIH0gZnJvbSBcIkB0aXB0YXAvcG0vbW9kZWxcIjtcblxuLy8gc3JjL2hlbHBlcnMvZ2V0VGV4dEJldHdlZW4udHNcbmZ1bmN0aW9uIGdldFRleHRCZXR3ZWVuKHN0YXJ0Tm9kZSwgcmFuZ2UsIG9wdGlvbnMpIHtcbiAgY29uc3QgeyBmcm9tLCB0byB9ID0gcmFuZ2U7XG4gIGNvbnN0IHsgYmxvY2tTZXBhcmF0b3IgPSBcIlxcblxcblwiLCB0ZXh0U2VyaWFsaXplcnMgPSB7fSB9ID0gb3B0aW9ucyB8fCB7fTtcbiAgbGV0IHRleHQgPSBcIlwiO1xuICBzdGFydE5vZGUubm9kZXNCZXR3ZWVuKGZyb20sIHRvLCAobm9kZSwgcG9zLCBwYXJlbnQsIGluZGV4KSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGlmIChub2RlLmlzQmxvY2sgJiYgcG9zID4gZnJvbSkge1xuICAgICAgdGV4dCArPSBibG9ja1NlcGFyYXRvcjtcbiAgICB9XG4gICAgY29uc3QgdGV4dFNlcmlhbGl6ZXIgPSB0ZXh0U2VyaWFsaXplcnMgPT0gbnVsbCA/IHZvaWQgMCA6IHRleHRTZXJpYWxpemVyc1tub2RlLnR5cGUubmFtZV07XG4gICAgaWYgKHRleHRTZXJpYWxpemVyKSB7XG4gICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgIHRleHQgKz0gdGV4dFNlcmlhbGl6ZXIoe1xuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgcG9zLFxuICAgICAgICAgIHBhcmVudCxcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgICByYW5nZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKG5vZGUuaXNUZXh0KSB7XG4gICAgICB0ZXh0ICs9IChfYSA9IG5vZGUgPT0gbnVsbCA/IHZvaWQgMCA6IG5vZGUudGV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLnNsaWNlKE1hdGgubWF4KGZyb20sIHBvcykgLSBwb3MsIHRvIC0gcG9zKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gdGV4dDtcbn1cblxuLy8gc3JjL2hlbHBlcnMvZ2V0VGV4dC50c1xuZnVuY3Rpb24gZ2V0VGV4dChub2RlLCBvcHRpb25zKSB7XG4gIGNvbnN0IHJhbmdlID0ge1xuICAgIGZyb206IDAsXG4gICAgdG86IG5vZGUuY29udGVudC5zaXplXG4gIH07XG4gIHJldHVybiBnZXRUZXh0QmV0d2Vlbihub2RlLCByYW5nZSwgb3B0aW9ucyk7XG59XG5cbi8vIHNyYy9oZWxwZXJzL2dldFRleHRTZXJpYWxpemVyc0Zyb21TY2hlbWEudHNcbmZ1bmN0aW9uIGdldFRleHRTZXJpYWxpemVyc0Zyb21TY2hlbWEoc2NoZW1hKSB7XG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMoc2NoZW1hLm5vZGVzKS5maWx0ZXIoKFssIG5vZGVdKSA9PiBub2RlLnNwZWMudG9UZXh0KS5tYXAoKFtuYW1lLCBub2RlXSkgPT4gW25hbWUsIG5vZGUuc3BlYy50b1RleHRdKVxuICApO1xufVxuXG4vLyBzcmMvaGVscGVycy9nZW5lcmF0ZVRleHQudHNcbmZ1bmN0aW9uIGdlbmVyYXRlVGV4dChkb2MsIGV4dGVuc2lvbnMsIG9wdGlvbnMpIHtcbiAgY29uc3QgeyBibG9ja1NlcGFyYXRvciA9IFwiXFxuXFxuXCIsIHRleHRTZXJpYWxpemVycyA9IHt9IH0gPSBvcHRpb25zIHx8IHt9O1xuICBjb25zdCBzY2hlbWEgPSBnZXRTY2hlbWEoZXh0ZW5zaW9ucyk7XG4gIGNvbnN0IGNvbnRlbnROb2RlID0gTm9kZTIuZnJvbUpTT04oc2NoZW1hLCBkb2MpO1xuICByZXR1cm4gZ2V0VGV4dChjb250ZW50Tm9kZSwge1xuICAgIGJsb2NrU2VwYXJhdG9yLFxuICAgIHRleHRTZXJpYWxpemVyczoge1xuICAgICAgLi4uZ2V0VGV4dFNlcmlhbGl6ZXJzRnJvbVNjaGVtYShzY2hlbWEpLFxuICAgICAgLi4udGV4dFNlcmlhbGl6ZXJzXG4gICAgfVxuICB9KTtcbn1cblxuLy8gc3JjL2hlbHBlcnMvZ2V0Tm9kZUF0dHJpYnV0ZXMudHNcbmZ1bmN0aW9uIGdldE5vZGVBdHRyaWJ1dGVzKHN0YXRlLCB0eXBlT3JOYW1lKSB7XG4gIGNvbnN0IHR5cGUgPSBnZXROb2RlVHlwZSh0eXBlT3JOYW1lLCBzdGF0ZS5zY2hlbWEpO1xuICBjb25zdCB7IGZyb20sIHRvIH0gPSBzdGF0ZS5zZWxlY3Rpb247XG4gIGNvbnN0IG5vZGVzID0gW107XG4gIHN0YXRlLmRvYy5ub2Rlc0JldHdlZW4oZnJvbSwgdG8sIChub2RlMikgPT4ge1xuICAgIG5vZGVzLnB1c2gobm9kZTIpO1xuICB9KTtcbiAgY29uc3Qgbm9kZSA9IG5vZGVzLnJldmVyc2UoKS5maW5kKChub2RlSXRlbSkgPT4gbm9kZUl0ZW0udHlwZS5uYW1lID09PSB0eXBlLm5hbWUpO1xuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4ge307XG4gIH1cbiAgcmV0dXJuIHsgLi4ubm9kZS5hdHRycyB9O1xufVxuXG4vLyBzcmMvaGVscGVycy9nZXRBdHRyaWJ1dGVzLnRzXG5mdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKHN0YXRlLCB0eXBlT3JOYW1lKSB7XG4gIGNvbnN0IHNjaGVtYVR5cGUgPSBnZXRTY2hlbWFUeXBlTmFtZUJ5TmFtZShcbiAgICB0eXBlb2YgdHlwZU9yTmFtZSA9PT0gXCJzdHJpbmdcIiA/IHR5cGVPck5hbWUgOiB0eXBlT3JOYW1lLm5hbWUsXG4gICAgc3RhdGUuc2NoZW1hXG4gICk7XG4gIGlmIChzY2hlbWFUeXBlID09PSBcIm5vZGVcIikge1xuICAgIHJldHVybiBnZXROb2RlQXR0cmlidXRlcyhzdGF0ZSwgdHlwZU9yTmFtZSk7XG4gIH1cbiAgaWYgKHNjaGVtYVR5cGUgPT09IFwibWFya1wiKSB7XG4gICAgcmV0dXJuIGdldE1hcmtBdHRyaWJ1dGVzKHN0YXRlLCB0eXBlT3JOYW1lKTtcbiAgfVxuICByZXR1cm4ge307XG59XG5cbi8vIHNyYy91dGlsaXRpZXMvcmVtb3ZlRHVwbGljYXRlcy50c1xuZnVuY3Rpb24gcmVtb3ZlRHVwbGljYXRlcyhhcnJheSwgYnkgPSBKU09OLnN0cmluZ2lmeSkge1xuICBjb25zdCBzZWVuID0ge307XG4gIHJldHVybiBhcnJheS5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICBjb25zdCBrZXkgPSBieShpdGVtKTtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNlZW4sIGtleSkgPyBmYWxzZSA6IHNlZW5ba2V5XSA9IHRydWU7XG4gIH0pO1xufVxuXG4vLyBzcmMvaGVscGVycy9nZXRDaGFuZ2VkUmFuZ2VzLnRzXG5mdW5jdGlvbiBzaW1wbGlmeUNoYW5nZWRSYW5nZXMoY2hhbmdlcykge1xuICBjb25zdCB1bmlxdWVDaGFuZ2VzID0gcmVtb3ZlRHVwbGljYXRlcyhjaGFuZ2VzKTtcbiAgcmV0dXJuIHVuaXF1ZUNoYW5nZXMubGVuZ3RoID09PSAxID8gdW5pcXVlQ2hhbmdlcyA6IHVuaXF1ZUNoYW5nZXMuZmlsdGVyKChjaGFuZ2UsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcmVzdCA9IHVuaXF1ZUNoYW5nZXMuZmlsdGVyKChfLCBpKSA9PiBpICE9PSBpbmRleCk7XG4gICAgcmV0dXJuICFyZXN0LnNvbWUoKG90aGVyQ2hhbmdlKSA9PiB7XG4gICAgICByZXR1cm4gY2hhbmdlLm9sZFJhbmdlLmZyb20gPj0gb3RoZXJDaGFuZ2Uub2xkUmFuZ2UuZnJvbSAmJiBjaGFuZ2Uub2xkUmFuZ2UudG8gPD0gb3RoZXJDaGFuZ2Uub2xkUmFuZ2UudG8gJiYgY2hhbmdlLm5ld1JhbmdlLmZyb20gPj0gb3RoZXJDaGFuZ2UubmV3UmFuZ2UuZnJvbSAmJiBjaGFuZ2UubmV3UmFuZ2UudG8gPD0gb3RoZXJDaGFuZ2UubmV3UmFuZ2UudG87XG4gICAgfSk7XG4gIH0pO1xufVxuZnVuY3Rpb24gZ2V0Q2hhbmdlZFJhbmdlcyh0cmFuc2Zvcm0pIHtcbiAgY29uc3QgeyBtYXBwaW5nLCBzdGVwcyB9ID0gdHJhbnNmb3JtO1xuICBjb25zdCBjaGFuZ2VzID0gW107XG4gIG1hcHBpbmcubWFwcy5mb3JFYWNoKChzdGVwTWFwLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHJhbmdlcyA9IFtdO1xuICAgIGlmICghc3RlcE1hcC5yYW5nZXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCB7IGZyb20sIHRvIH0gPSBzdGVwc1tpbmRleF07XG4gICAgICBpZiAoZnJvbSA9PT0gdm9pZCAwIHx8IHRvID09PSB2b2lkIDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmFuZ2VzLnB1c2goeyBmcm9tLCB0byB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RlcE1hcC5mb3JFYWNoKChmcm9tLCB0bykgPT4ge1xuICAgICAgICByYW5nZXMucHVzaCh7IGZyb20sIHRvIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJhbmdlcy5mb3JFYWNoKCh7IGZyb20sIHRvIH0pID0+IHtcbiAgICAgIGNvbnN0IG5ld1N0YXJ0ID0gbWFwcGluZy5zbGljZShpbmRleCkubWFwKGZyb20sIC0xKTtcbiAgICAgIGNvbnN0IG5ld0VuZCA9IG1hcHBpbmcuc2xpY2UoaW5kZXgpLm1hcCh0byk7XG4gICAgICBjb25zdCBvbGRTdGFydCA9IG1hcHBpbmcuaW52ZXJ0KCkubWFwKG5ld1N0YXJ0LCAtMSk7XG4gICAgICBjb25zdCBvbGRFbmQgPSBtYXBwaW5nLmludmVydCgpLm1hcChuZXdFbmQpO1xuICAgICAgY2hhbmdlcy5wdXNoKHtcbiAgICAgICAgb2xkUmFuZ2U6IHtcbiAgICAgICAgICBmcm9tOiBvbGRTdGFydCxcbiAgICAgICAgICB0bzogb2xkRW5kXG4gICAgICAgIH0sXG4gICAgICAgIG5ld1JhbmdlOiB7XG4gICAgICAgICAgZnJvbTogbmV3U3RhcnQsXG4gICAgICAgICAgdG86IG5ld0VuZFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBzaW1wbGlmeUNoYW5nZWRSYW5nZXMoY2hhbmdlcyk7XG59XG5cbi8vIHNyYy9oZWxwZXJzL2dldERlYnVnSlNPTi50c1xuZnVuY3Rpb24gZ2V0RGVidWdKU09OKG5vZGUsIHN0YXJ0T2Zmc2V0ID0gMCkge1xuICBjb25zdCBpc1RvcE5vZGUgPSBub2RlLnR5cGUgPT09IG5vZGUudHlwZS5zY2hlbWEudG9wTm9kZVR5cGU7XG4gIGNvbnN0IGluY3JlbWVudCA9IGlzVG9wTm9kZSA/IDAgOiAxO1xuICBjb25zdCBmcm9tID0gc3RhcnRPZmZzZXQ7XG4gIGNvbnN0IHRvID0gZnJvbSArIG5vZGUubm9kZVNpemU7XG4gIGNvbnN0IG1hcmtzID0gbm9kZS5tYXJrcy5tYXAoKG1hcmspID0+IHtcbiAgICBjb25zdCBvdXRwdXQyID0ge1xuICAgICAgdHlwZTogbWFyay50eXBlLm5hbWVcbiAgICB9O1xuICAgIGlmIChPYmplY3Qua2V5cyhtYXJrLmF0dHJzKS5sZW5ndGgpIHtcbiAgICAgIG91dHB1dDIuYXR0cnMgPSB7IC4uLm1hcmsuYXR0cnMgfTtcbiAgICB9XG4gICAgcmV0dXJuIG91dHB1dDI7XG4gIH0pO1xuICBjb25zdCBhdHRycyA9IHsgLi4ubm9kZS5hdHRycyB9O1xuICBjb25zdCBvdXRwdXQgPSB7XG4gICAgdHlwZTogbm9kZS50eXBlLm5hbWUsXG4gICAgZnJvbSxcbiAgICB0b1xuICB9O1xuICBpZiAoT2JqZWN0LmtleXMoYXR0cnMpLmxlbmd0aCkge1xuICAgIG91dHB1dC5hdHRycyA9IGF0dHJzO1xuICB9XG4gIGlmIChtYXJrcy5sZW5ndGgpIHtcbiAgICBvdXRwdXQubWFya3MgPSBtYXJrcztcbiAgfVxuICBpZiAobm9kZS5jb250ZW50LmNoaWxkQ291bnQpIHtcbiAgICBvdXRwdXQuY29udGVudCA9IFtdO1xuICAgIG5vZGUuZm9yRWFjaCgoY2hpbGQsIG9mZnNldCkgPT4ge1xuICAgICAgdmFyIF9hO1xuICAgICAgKF9hID0gb3V0cHV0LmNvbnRlbnQpID09IG51bGwgPyB2b2lkIDAgOiBfYS5wdXNoKGdldERlYnVnSlNPTihjaGlsZCwgc3RhcnRPZmZzZXQgKyBvZmZzZXQgKyBpbmNyZW1lbnQpKTtcbiAgICB9KTtcbiAgfVxuICBpZiAobm9kZS50ZXh0KSB7XG4gICAgb3V0cHV0LnRleHQgPSBub2RlLnRleHQ7XG4gIH1cbiAgcmV0dXJuIG91dHB1dDtcbn1cblxuLy8gc3JjL2hlbHBlcnMvZ2V0TWFya3NCZXR3ZWVuLnRzXG5mdW5jdGlvbiBnZXRNYXJrc0JldHdlZW4oZnJvbSwgdG8sIGRvYykge1xuICBjb25zdCBtYXJrcyA9IFtdO1xuICBpZiAoZnJvbSA9PT0gdG8pIHtcbiAgICBkb2MucmVzb2x2ZShmcm9tKS5tYXJrcygpLmZvckVhY2goKG1hcmspID0+IHtcbiAgICAgIGNvbnN0ICRwb3MgPSBkb2MucmVzb2x2ZShmcm9tKTtcbiAgICAgIGNvbnN0IHJhbmdlID0gZ2V0TWFya1JhbmdlKCRwb3MsIG1hcmsudHlwZSk7XG4gICAgICBpZiAoIXJhbmdlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIG1hcmtzLnB1c2goe1xuICAgICAgICBtYXJrLFxuICAgICAgICAuLi5yYW5nZVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgZG9jLm5vZGVzQmV0d2Vlbihmcm9tLCB0bywgKG5vZGUsIHBvcykgPT4ge1xuICAgICAgaWYgKCFub2RlIHx8IChub2RlID09IG51bGwgPyB2b2lkIDAgOiBub2RlLm5vZGVTaXplKSA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIG1hcmtzLnB1c2goXG4gICAgICAgIC4uLm5vZGUubWFya3MubWFwKChtYXJrKSA9PiAoe1xuICAgICAgICAgIGZyb206IHBvcyxcbiAgICAgICAgICB0bzogcG9zICsgbm9kZS5ub2RlU2l6ZSxcbiAgICAgICAgICBtYXJrXG4gICAgICAgIH0pKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gbWFya3M7XG59XG5cbi8vIHNyYy9oZWxwZXJzL2dldE5vZGVBdFBvc2l0aW9uLnRzXG52YXIgZ2V0Tm9kZUF0UG9zaXRpb24gPSAoc3RhdGUsIHR5cGVPck5hbWUsIHBvcywgbWF4RGVwdGggPSAyMCkgPT4ge1xuICBjb25zdCAkcG9zID0gc3RhdGUuZG9jLnJlc29sdmUocG9zKTtcbiAgbGV0IGN1cnJlbnREZXB0aCA9IG1heERlcHRoO1xuICBsZXQgbm9kZSA9IG51bGw7XG4gIHdoaWxlIChjdXJyZW50RGVwdGggPiAwICYmIG5vZGUgPT09IG51bGwpIHtcbiAgICBjb25zdCBjdXJyZW50Tm9kZSA9ICRwb3Mubm9kZShjdXJyZW50RGVwdGgpO1xuICAgIGlmICgoY3VycmVudE5vZGUgPT0gbnVsbCA/IHZvaWQgMCA6IGN1cnJlbnROb2RlLnR5cGUubmFtZSkgPT09IHR5cGVPck5hbWUpIHtcbiAgICAgIG5vZGUgPSBjdXJyZW50Tm9kZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudERlcHRoIC09IDE7XG4gICAgfVxuICB9XG4gIHJldHVybiBbbm9kZSwgY3VycmVudERlcHRoXTtcbn07XG5cbi8vIHNyYy9oZWxwZXJzL2dldFNjaGVtYVR5cGVCeU5hbWUudHNcbmZ1bmN0aW9uIGdldFNjaGVtYVR5cGVCeU5hbWUobmFtZSwgc2NoZW1hKSB7XG4gIHJldHVybiBzY2hlbWEubm9kZXNbbmFtZV0gfHwgc2NoZW1hLm1hcmtzW25hbWVdIHx8IG51bGw7XG59XG5cbi8vIHNyYy9oZWxwZXJzL2dldFNwbGl0dGVkQXR0cmlidXRlcy50c1xuZnVuY3Rpb24gZ2V0U3BsaXR0ZWRBdHRyaWJ1dGVzKGV4dGVuc2lvbkF0dHJpYnV0ZXMsIHR5cGVOYW1lLCBhdHRyaWJ1dGVzKSB7XG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMoYXR0cmlidXRlcykuZmlsdGVyKChbbmFtZV0pID0+IHtcbiAgICAgIGNvbnN0IGV4dGVuc2lvbkF0dHJpYnV0ZSA9IGV4dGVuc2lvbkF0dHJpYnV0ZXMuZmluZCgoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gaXRlbS50eXBlID09PSB0eXBlTmFtZSAmJiBpdGVtLm5hbWUgPT09IG5hbWU7XG4gICAgICB9KTtcbiAgICAgIGlmICghZXh0ZW5zaW9uQXR0cmlidXRlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBleHRlbnNpb25BdHRyaWJ1dGUuYXR0cmlidXRlLmtlZXBPblNwbGl0O1xuICAgIH0pXG4gICk7XG59XG5cbi8vIHNyYy9oZWxwZXJzL2dldFRleHRDb250ZW50RnJvbU5vZGVzLnRzXG52YXIgZ2V0VGV4dENvbnRlbnRGcm9tTm9kZXMgPSAoJGZyb20sIG1heE1hdGNoID0gNTAwKSA9PiB7XG4gIGxldCB0ZXh0QmVmb3JlID0gXCJcIjtcbiAgY29uc3Qgc2xpY2VFbmRQb3MgPSAkZnJvbS5wYXJlbnRPZmZzZXQ7XG4gICRmcm9tLnBhcmVudC5ub2Rlc0JldHdlZW4oTWF0aC5tYXgoMCwgc2xpY2VFbmRQb3MgLSBtYXhNYXRjaCksIHNsaWNlRW5kUG9zLCAobm9kZSwgcG9zLCBwYXJlbnQsIGluZGV4KSA9PiB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBjb25zdCBjaHVuayA9ICgoX2IgPSAoX2EgPSBub2RlLnR5cGUuc3BlYykudG9UZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX2IuY2FsbChfYSwge1xuICAgICAgbm9kZSxcbiAgICAgIHBvcyxcbiAgICAgIHBhcmVudCxcbiAgICAgIGluZGV4XG4gICAgfSkpIHx8IG5vZGUudGV4dENvbnRlbnQgfHwgXCIlbGVhZiVcIjtcbiAgICB0ZXh0QmVmb3JlICs9IG5vZGUuaXNBdG9tICYmICFub2RlLmlzVGV4dCA/IGNodW5rIDogY2h1bmsuc2xpY2UoMCwgTWF0aC5tYXgoMCwgc2xpY2VFbmRQb3MgLSBwb3MpKTtcbiAgfSk7XG4gIHJldHVybiB0ZXh0QmVmb3JlO1xufTtcblxuLy8gc3JjL2hlbHBlcnMvaXNNYXJrQWN0aXZlLnRzXG5mdW5jdGlvbiBpc01hcmtBY3RpdmUoc3RhdGUsIHR5cGVPck5hbWUsIGF0dHJpYnV0ZXMgPSB7fSkge1xuICBjb25zdCB7IGVtcHR5LCByYW5nZXMgfSA9IHN0YXRlLnNlbGVjdGlvbjtcbiAgY29uc3QgdHlwZSA9IHR5cGVPck5hbWUgPyBnZXRNYXJrVHlwZSh0eXBlT3JOYW1lLCBzdGF0ZS5zY2hlbWEpIDogbnVsbDtcbiAgaWYgKGVtcHR5KSB7XG4gICAgcmV0dXJuICEhKHN0YXRlLnN0b3JlZE1hcmtzIHx8IHN0YXRlLnNlbGVjdGlvbi4kZnJvbS5tYXJrcygpKS5maWx0ZXIoKG1hcmspID0+IHtcbiAgICAgIGlmICghdHlwZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0eXBlLm5hbWUgPT09IG1hcmsudHlwZS5uYW1lO1xuICAgIH0pLmZpbmQoKG1hcmspID0+IG9iamVjdEluY2x1ZGVzKG1hcmsuYXR0cnMsIGF0dHJpYnV0ZXMsIHsgc3RyaWN0OiBmYWxzZSB9KSk7XG4gIH1cbiAgbGV0IHNlbGVjdGlvblJhbmdlID0gMDtcbiAgY29uc3QgbWFya1JhbmdlcyA9IFtdO1xuICByYW5nZXMuZm9yRWFjaCgoeyAkZnJvbSwgJHRvIH0pID0+IHtcbiAgICBjb25zdCBmcm9tID0gJGZyb20ucG9zO1xuICAgIGNvbnN0IHRvID0gJHRvLnBvcztcbiAgICBzdGF0ZS5kb2Mubm9kZXNCZXR3ZWVuKGZyb20sIHRvLCAobm9kZSwgcG9zKSA9PiB7XG4gICAgICBpZiAoIW5vZGUuaXNUZXh0ICYmICFub2RlLm1hcmtzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCByZWxhdGl2ZUZyb20gPSBNYXRoLm1heChmcm9tLCBwb3MpO1xuICAgICAgY29uc3QgcmVsYXRpdmVUbyA9IE1hdGgubWluKHRvLCBwb3MgKyBub2RlLm5vZGVTaXplKTtcbiAgICAgIGNvbnN0IHJhbmdlMiA9IHJlbGF0aXZlVG8gLSByZWxhdGl2ZUZyb207XG4gICAgICBzZWxlY3Rpb25SYW5nZSArPSByYW5nZTI7XG4gICAgICBtYXJrUmFuZ2VzLnB1c2goXG4gICAgICAgIC4uLm5vZGUubWFya3MubWFwKChtYXJrKSA9PiAoe1xuICAgICAgICAgIG1hcmssXG4gICAgICAgICAgZnJvbTogcmVsYXRpdmVGcm9tLFxuICAgICAgICAgIHRvOiByZWxhdGl2ZVRvXG4gICAgICAgIH0pKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG4gIGlmIChzZWxlY3Rpb25SYW5nZSA9PT0gMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBtYXRjaGVkUmFuZ2UgPSBtYXJrUmFuZ2VzLmZpbHRlcigobWFya1JhbmdlKSA9PiB7XG4gICAgaWYgKCF0eXBlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHR5cGUubmFtZSA9PT0gbWFya1JhbmdlLm1hcmsudHlwZS5uYW1lO1xuICB9KS5maWx0ZXIoKG1hcmtSYW5nZSkgPT4gb2JqZWN0SW5jbHVkZXMobWFya1JhbmdlLm1hcmsuYXR0cnMsIGF0dHJpYnV0ZXMsIHsgc3RyaWN0OiBmYWxzZSB9KSkucmVkdWNlKChzdW0sIG1hcmtSYW5nZSkgPT4gc3VtICsgbWFya1JhbmdlLnRvIC0gbWFya1JhbmdlLmZyb20sIDApO1xuICBjb25zdCBleGNsdWRlZFJhbmdlID0gbWFya1Jhbmdlcy5maWx0ZXIoKG1hcmtSYW5nZSkgPT4ge1xuICAgIGlmICghdHlwZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBtYXJrUmFuZ2UubWFyay50eXBlICE9PSB0eXBlICYmIG1hcmtSYW5nZS5tYXJrLnR5cGUuZXhjbHVkZXModHlwZSk7XG4gIH0pLnJlZHVjZSgoc3VtLCBtYXJrUmFuZ2UpID0+IHN1bSArIG1hcmtSYW5nZS50byAtIG1hcmtSYW5nZS5mcm9tLCAwKTtcbiAgY29uc3QgcmFuZ2UgPSBtYXRjaGVkUmFuZ2UgPiAwID8gbWF0Y2hlZFJhbmdlICsgZXhjbHVkZWRSYW5nZSA6IG1hdGNoZWRSYW5nZTtcbiAgcmV0dXJuIHJhbmdlID49IHNlbGVjdGlvblJhbmdlO1xufVxuXG4vLyBzcmMvaGVscGVycy9pc0FjdGl2ZS50c1xuZnVuY3Rpb24gaXNBY3RpdmUoc3RhdGUsIG5hbWUsIGF0dHJpYnV0ZXMgPSB7fSkge1xuICBpZiAoIW5hbWUpIHtcbiAgICByZXR1cm4gaXNOb2RlQWN0aXZlKHN0YXRlLCBudWxsLCBhdHRyaWJ1dGVzKSB8fCBpc01hcmtBY3RpdmUoc3RhdGUsIG51bGwsIGF0dHJpYnV0ZXMpO1xuICB9XG4gIGNvbnN0IHNjaGVtYVR5cGUgPSBnZXRTY2hlbWFUeXBlTmFtZUJ5TmFtZShuYW1lLCBzdGF0ZS5zY2hlbWEpO1xuICBpZiAoc2NoZW1hVHlwZSA9PT0gXCJub2RlXCIpIHtcbiAgICByZXR1cm4gaXNOb2RlQWN0aXZlKHN0YXRlLCBuYW1lLCBhdHRyaWJ1dGVzKTtcbiAgfVxuICBpZiAoc2NoZW1hVHlwZSA9PT0gXCJtYXJrXCIpIHtcbiAgICByZXR1cm4gaXNNYXJrQWN0aXZlKHN0YXRlLCBuYW1lLCBhdHRyaWJ1dGVzKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8vIHNyYy9oZWxwZXJzL2lzQXRFbmRPZk5vZGUudHNcbnZhciBpc0F0RW5kT2ZOb2RlID0gKHN0YXRlLCBub2RlVHlwZSkgPT4ge1xuICBjb25zdCB7ICRmcm9tLCAkdG8sICRhbmNob3IgfSA9IHN0YXRlLnNlbGVjdGlvbjtcbiAgaWYgKG5vZGVUeXBlKSB7XG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IGZpbmRQYXJlbnROb2RlKChub2RlKSA9PiBub2RlLnR5cGUubmFtZSA9PT0gbm9kZVR5cGUpKHN0YXRlLnNlbGVjdGlvbik7XG4gICAgaWYgKCFwYXJlbnROb2RlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0ICRwYXJlbnRQb3MgPSBzdGF0ZS5kb2MucmVzb2x2ZShwYXJlbnROb2RlLnBvcyArIDEpO1xuICAgIGlmICgkYW5jaG9yLnBvcyArIDEgPT09ICRwYXJlbnRQb3MuZW5kKCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKCR0by5wYXJlbnRPZmZzZXQgPCAkdG8ucGFyZW50Lm5vZGVTaXplIC0gMiB8fCAkZnJvbS5wb3MgIT09ICR0by5wb3MpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vLyBzcmMvaGVscGVycy9pc0F0U3RhcnRPZk5vZGUudHNcbnZhciBpc0F0U3RhcnRPZk5vZGUgPSAoc3RhdGUpID0+IHtcbiAgY29uc3QgeyAkZnJvbSwgJHRvIH0gPSBzdGF0ZS5zZWxlY3Rpb247XG4gIGlmICgkZnJvbS5wYXJlbnRPZmZzZXQgPiAwIHx8ICRmcm9tLnBvcyAhPT0gJHRvLnBvcykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8vIHNyYy9oZWxwZXJzL2lzRXh0ZW5zaW9uUnVsZXNFbmFibGVkLnRzXG5mdW5jdGlvbiBpc0V4dGVuc2lvblJ1bGVzRW5hYmxlZChleHRlbnNpb24sIGVuYWJsZWQpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZW5hYmxlZCkpIHtcbiAgICByZXR1cm4gZW5hYmxlZC5zb21lKChlbmFibGVkRXh0ZW5zaW9uKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gdHlwZW9mIGVuYWJsZWRFeHRlbnNpb24gPT09IFwic3RyaW5nXCIgPyBlbmFibGVkRXh0ZW5zaW9uIDogZW5hYmxlZEV4dGVuc2lvbi5uYW1lO1xuICAgICAgcmV0dXJuIG5hbWUgPT09IGV4dGVuc2lvbi5uYW1lO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBlbmFibGVkO1xufVxuXG4vLyBzcmMvaGVscGVycy9pc0xpc3QudHNcbmZ1bmN0aW9uIGlzTGlzdChuYW1lLCBleHRlbnNpb25zKSB7XG4gIGNvbnN0IHsgbm9kZUV4dGVuc2lvbnMgfSA9IHNwbGl0RXh0ZW5zaW9ucyhleHRlbnNpb25zKTtcbiAgY29uc3QgZXh0ZW5zaW9uID0gbm9kZUV4dGVuc2lvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBuYW1lKTtcbiAgaWYgKCFleHRlbnNpb24pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgY29udGV4dCA9IHtcbiAgICBuYW1lOiBleHRlbnNpb24ubmFtZSxcbiAgICBvcHRpb25zOiBleHRlbnNpb24ub3B0aW9ucyxcbiAgICBzdG9yYWdlOiBleHRlbnNpb24uc3RvcmFnZVxuICB9O1xuICBjb25zdCBncm91cCA9IGNhbGxPclJldHVybihnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwiZ3JvdXBcIiwgY29udGV4dCkpO1xuICBpZiAodHlwZW9mIGdyb3VwICE9PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBncm91cC5zcGxpdChcIiBcIikuaW5jbHVkZXMoXCJsaXN0XCIpO1xufVxuXG4vLyBzcmMvaGVscGVycy9pc05vZGVFbXB0eS50c1xuZnVuY3Rpb24gaXNOb2RlRW1wdHkobm9kZSwge1xuICBjaGVja0NoaWxkcmVuID0gdHJ1ZSxcbiAgaWdub3JlV2hpdGVzcGFjZSA9IGZhbHNlXG59ID0ge30pIHtcbiAgdmFyIF9hO1xuICBpZiAoaWdub3JlV2hpdGVzcGFjZSkge1xuICAgIGlmIChub2RlLnR5cGUubmFtZSA9PT0gXCJoYXJkQnJlYWtcIikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChub2RlLmlzVGV4dCkge1xuICAgICAgcmV0dXJuIC9eXFxzKiQvbS50ZXN0KChfYSA9IG5vZGUudGV4dCkgIT0gbnVsbCA/IF9hIDogXCJcIik7XG4gICAgfVxuICB9XG4gIGlmIChub2RlLmlzVGV4dCkge1xuICAgIHJldHVybiAhbm9kZS50ZXh0O1xuICB9XG4gIGlmIChub2RlLmlzQXRvbSB8fCBub2RlLmlzTGVhZikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAobm9kZS5jb250ZW50LmNoaWxkQ291bnQgPT09IDApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoY2hlY2tDaGlsZHJlbikge1xuICAgIGxldCBpc0NvbnRlbnRFbXB0eSA9IHRydWU7XG4gICAgbm9kZS5jb250ZW50LmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgaWYgKGlzQ29udGVudEVtcHR5ID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoIWlzTm9kZUVtcHR5KGNoaWxkTm9kZSwgeyBpZ25vcmVXaGl0ZXNwYWNlLCBjaGVja0NoaWxkcmVuIH0pKSB7XG4gICAgICAgIGlzQ29udGVudEVtcHR5ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGlzQ29udGVudEVtcHR5O1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLy8gc3JjL2hlbHBlcnMvaXNOb2RlU2VsZWN0aW9uLnRzXG5pbXBvcnQgeyBOb2RlU2VsZWN0aW9uIH0gZnJvbSBcIkB0aXB0YXAvcG0vc3RhdGVcIjtcbmZ1bmN0aW9uIGlzTm9kZVNlbGVjdGlvbih2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBOb2RlU2VsZWN0aW9uO1xufVxuXG4vLyBzcmMvaGVscGVycy9NYXBwYWJsZVBvc2l0aW9uLnRzXG52YXIgTWFwcGFibGVQb3NpdGlvbiA9IGNsYXNzIF9NYXBwYWJsZVBvc2l0aW9uIHtcbiAgY29uc3RydWN0b3IocG9zaXRpb24pIHtcbiAgICB0aGlzLnBvc2l0aW9uID0gcG9zaXRpb247XG4gIH1cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBNYXBwYWJsZVBvc2l0aW9uIGZyb20gYSBKU09OIG9iamVjdC5cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgcmV0dXJuIG5ldyBfTWFwcGFibGVQb3NpdGlvbihqc29uLnBvc2l0aW9uKTtcbiAgfVxuICAvKipcbiAgICogQ29udmVydHMgdGhlIE1hcHBhYmxlUG9zaXRpb24gdG8gYSBKU09OIG9iamVjdC5cbiAgICovXG4gIHRvSlNPTigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IHRoaXMucG9zaXRpb25cbiAgICB9O1xuICB9XG59O1xuZnVuY3Rpb24gZ2V0VXBkYXRlZFBvc2l0aW9uKHBvc2l0aW9uLCB0cmFuc2FjdGlvbikge1xuICBjb25zdCBtYXBSZXN1bHQgPSB0cmFuc2FjdGlvbi5tYXBwaW5nLm1hcFJlc3VsdChwb3NpdGlvbi5wb3NpdGlvbik7XG4gIHJldHVybiB7XG4gICAgcG9zaXRpb246IG5ldyBNYXBwYWJsZVBvc2l0aW9uKG1hcFJlc3VsdC5wb3MpLFxuICAgIG1hcFJlc3VsdFxuICB9O1xufVxuZnVuY3Rpb24gY3JlYXRlTWFwcGFibGVQb3NpdGlvbihwb3NpdGlvbikge1xuICByZXR1cm4gbmV3IE1hcHBhYmxlUG9zaXRpb24ocG9zaXRpb24pO1xufVxuXG4vLyBzcmMvaGVscGVycy9wb3NUb0RPTVJlY3QudHNcbmZ1bmN0aW9uIHBvc1RvRE9NUmVjdCh2aWV3LCBmcm9tLCB0bykge1xuICBjb25zdCBtaW5Qb3MgPSAwO1xuICBjb25zdCBtYXhQb3MgPSB2aWV3LnN0YXRlLmRvYy5jb250ZW50LnNpemU7XG4gIGNvbnN0IHJlc29sdmVkRnJvbSA9IG1pbk1heChmcm9tLCBtaW5Qb3MsIG1heFBvcyk7XG4gIGNvbnN0IHJlc29sdmVkRW5kID0gbWluTWF4KHRvLCBtaW5Qb3MsIG1heFBvcyk7XG4gIGNvbnN0IHN0YXJ0ID0gdmlldy5jb29yZHNBdFBvcyhyZXNvbHZlZEZyb20pO1xuICBjb25zdCBlbmQgPSB2aWV3LmNvb3Jkc0F0UG9zKHJlc29sdmVkRW5kLCAtMSk7XG4gIGNvbnN0IHRvcCA9IE1hdGgubWluKHN0YXJ0LnRvcCwgZW5kLnRvcCk7XG4gIGNvbnN0IGJvdHRvbSA9IE1hdGgubWF4KHN0YXJ0LmJvdHRvbSwgZW5kLmJvdHRvbSk7XG4gIGNvbnN0IGxlZnQgPSBNYXRoLm1pbihzdGFydC5sZWZ0LCBlbmQubGVmdCk7XG4gIGNvbnN0IHJpZ2h0ID0gTWF0aC5tYXgoc3RhcnQucmlnaHQsIGVuZC5yaWdodCk7XG4gIGNvbnN0IHdpZHRoID0gcmlnaHQgLSBsZWZ0O1xuICBjb25zdCBoZWlnaHQgPSBib3R0b20gLSB0b3A7XG4gIGNvbnN0IHggPSBsZWZ0O1xuICBjb25zdCB5ID0gdG9wO1xuICBjb25zdCBkYXRhID0ge1xuICAgIHRvcCxcbiAgICBib3R0b20sXG4gICAgbGVmdCxcbiAgICByaWdodCxcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgeCxcbiAgICB5XG4gIH07XG4gIHJldHVybiB7XG4gICAgLi4uZGF0YSxcbiAgICB0b0pTT046ICgpID0+IGRhdGFcbiAgfTtcbn1cblxuLy8gc3JjL2hlbHBlcnMvcmV3cml0ZVVua25vd25Db250ZW50LnRzXG5mdW5jdGlvbiByZXdyaXRlVW5rbm93bkNvbnRlbnRJbm5lcih7XG4gIGpzb24sXG4gIHZhbGlkTWFya3MsXG4gIHZhbGlkTm9kZXMsXG4gIG9wdGlvbnMsXG4gIHJld3JpdHRlbkNvbnRlbnQgPSBbXVxufSkge1xuICBpZiAoanNvbi5tYXJrcyAmJiBBcnJheS5pc0FycmF5KGpzb24ubWFya3MpKSB7XG4gICAganNvbi5tYXJrcyA9IGpzb24ubWFya3MuZmlsdGVyKChtYXJrKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gdHlwZW9mIG1hcmsgPT09IFwic3RyaW5nXCIgPyBtYXJrIDogbWFyay50eXBlO1xuICAgICAgaWYgKHZhbGlkTWFya3MuaGFzKG5hbWUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV3cml0dGVuQ29udGVudC5wdXNoKHtcbiAgICAgICAgb3JpZ2luYWw6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobWFyaykpLFxuICAgICAgICB1bnN1cHBvcnRlZDogbmFtZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cbiAgaWYgKGpzb24uY29udGVudCAmJiBBcnJheS5pc0FycmF5KGpzb24uY29udGVudCkpIHtcbiAgICBqc29uLmNvbnRlbnQgPSBqc29uLmNvbnRlbnQubWFwKFxuICAgICAgKHZhbHVlKSA9PiByZXdyaXRlVW5rbm93bkNvbnRlbnRJbm5lcih7XG4gICAgICAgIGpzb246IHZhbHVlLFxuICAgICAgICB2YWxpZE1hcmtzLFxuICAgICAgICB2YWxpZE5vZGVzLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICByZXdyaXR0ZW5Db250ZW50XG4gICAgICB9KS5qc29uXG4gICAgKS5maWx0ZXIoKGEpID0+IGEgIT09IG51bGwgJiYgYSAhPT0gdm9pZCAwKTtcbiAgfVxuICBpZiAoanNvbi50eXBlICYmICF2YWxpZE5vZGVzLmhhcyhqc29uLnR5cGUpKSB7XG4gICAgcmV3cml0dGVuQ29udGVudC5wdXNoKHtcbiAgICAgIG9yaWdpbmFsOiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGpzb24pKSxcbiAgICAgIHVuc3VwcG9ydGVkOiBqc29uLnR5cGVcbiAgICB9KTtcbiAgICBpZiAoanNvbi5jb250ZW50ICYmIEFycmF5LmlzQXJyYXkoanNvbi5jb250ZW50KSAmJiAob3B0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogb3B0aW9ucy5mYWxsYmFja1RvUGFyYWdyYXBoKSAhPT0gZmFsc2UpIHtcbiAgICAgIGpzb24udHlwZSA9IFwicGFyYWdyYXBoXCI7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBqc29uLFxuICAgICAgICByZXdyaXR0ZW5Db250ZW50XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAganNvbjogbnVsbCxcbiAgICAgIHJld3JpdHRlbkNvbnRlbnRcbiAgICB9O1xuICB9XG4gIHJldHVybiB7IGpzb24sIHJld3JpdHRlbkNvbnRlbnQgfTtcbn1cbmZ1bmN0aW9uIHJld3JpdGVVbmtub3duQ29udGVudChqc29uLCBzY2hlbWEsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIHJld3JpdGVVbmtub3duQ29udGVudElubmVyKHtcbiAgICBqc29uLFxuICAgIHZhbGlkTm9kZXM6IG5ldyBTZXQoT2JqZWN0LmtleXMoc2NoZW1hLm5vZGVzKSksXG4gICAgdmFsaWRNYXJrczogbmV3IFNldChPYmplY3Qua2V5cyhzY2hlbWEubWFya3MpKSxcbiAgICBvcHRpb25zXG4gIH0pO1xufVxuXG4vLyBzcmMvY29tbWFuZHMvc2V0TWFyay50c1xuZnVuY3Rpb24gY2FuU2V0TWFyayhzdGF0ZSwgdHIsIG5ld01hcmtUeXBlKSB7XG4gIHZhciBfYTtcbiAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IHRyO1xuICBsZXQgY3Vyc29yID0gbnVsbDtcbiAgaWYgKGlzVGV4dFNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgY3Vyc29yID0gc2VsZWN0aW9uLiRjdXJzb3I7XG4gIH1cbiAgaWYgKGN1cnNvcikge1xuICAgIGNvbnN0IGN1cnJlbnRNYXJrcyA9IChfYSA9IHN0YXRlLnN0b3JlZE1hcmtzKSAhPSBudWxsID8gX2EgOiBjdXJzb3IubWFya3MoKTtcbiAgICBjb25zdCBwYXJlbnRBbGxvd3NNYXJrVHlwZSA9IGN1cnNvci5wYXJlbnQudHlwZS5hbGxvd3NNYXJrVHlwZShuZXdNYXJrVHlwZSk7XG4gICAgcmV0dXJuIHBhcmVudEFsbG93c01hcmtUeXBlICYmICghIW5ld01hcmtUeXBlLmlzSW5TZXQoY3VycmVudE1hcmtzKSB8fCAhY3VycmVudE1hcmtzLnNvbWUoKG1hcmspID0+IG1hcmsudHlwZS5leGNsdWRlcyhuZXdNYXJrVHlwZSkpKTtcbiAgfVxuICBjb25zdCB7IHJhbmdlcyB9ID0gc2VsZWN0aW9uO1xuICByZXR1cm4gcmFuZ2VzLnNvbWUoKHsgJGZyb20sICR0byB9KSA9PiB7XG4gICAgbGV0IHNvbWVOb2RlU3VwcG9ydHNNYXJrID0gJGZyb20uZGVwdGggPT09IDAgPyBzdGF0ZS5kb2MuaW5saW5lQ29udGVudCAmJiBzdGF0ZS5kb2MudHlwZS5hbGxvd3NNYXJrVHlwZShuZXdNYXJrVHlwZSkgOiBmYWxzZTtcbiAgICBzdGF0ZS5kb2Mubm9kZXNCZXR3ZWVuKCRmcm9tLnBvcywgJHRvLnBvcywgKG5vZGUsIF9wb3MsIHBhcmVudCkgPT4ge1xuICAgICAgaWYgKHNvbWVOb2RlU3VwcG9ydHNNYXJrKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChub2RlLmlzSW5saW5lKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudEFsbG93c01hcmtUeXBlID0gIXBhcmVudCB8fCBwYXJlbnQudHlwZS5hbGxvd3NNYXJrVHlwZShuZXdNYXJrVHlwZSk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRNYXJrc0FsbG93TWFya1R5cGUgPSAhIW5ld01hcmtUeXBlLmlzSW5TZXQobm9kZS5tYXJrcykgfHwgIW5vZGUubWFya3Muc29tZSgob3RoZXJNYXJrKSA9PiBvdGhlck1hcmsudHlwZS5leGNsdWRlcyhuZXdNYXJrVHlwZSkpO1xuICAgICAgICBzb21lTm9kZVN1cHBvcnRzTWFyayA9IHBhcmVudEFsbG93c01hcmtUeXBlICYmIGN1cnJlbnRNYXJrc0FsbG93TWFya1R5cGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gIXNvbWVOb2RlU3VwcG9ydHNNYXJrO1xuICAgIH0pO1xuICAgIHJldHVybiBzb21lTm9kZVN1cHBvcnRzTWFyaztcbiAgfSk7XG59XG52YXIgc2V0TWFyayA9ICh0eXBlT3JOYW1lLCBhdHRyaWJ1dGVzID0ge30pID0+ICh7IHRyLCBzdGF0ZSwgZGlzcGF0Y2ggfSkgPT4ge1xuICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gdHI7XG4gIGNvbnN0IHsgZW1wdHksIHJhbmdlcyB9ID0gc2VsZWN0aW9uO1xuICBjb25zdCB0eXBlID0gZ2V0TWFya1R5cGUodHlwZU9yTmFtZSwgc3RhdGUuc2NoZW1hKTtcbiAgaWYgKGRpc3BhdGNoKSB7XG4gICAgaWYgKGVtcHR5KSB7XG4gICAgICBjb25zdCBvbGRBdHRyaWJ1dGVzID0gZ2V0TWFya0F0dHJpYnV0ZXMoc3RhdGUsIHR5cGUpO1xuICAgICAgdHIuYWRkU3RvcmVkTWFyayhcbiAgICAgICAgdHlwZS5jcmVhdGUoe1xuICAgICAgICAgIC4uLm9sZEF0dHJpYnV0ZXMsXG4gICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmFuZ2VzLmZvckVhY2goKHJhbmdlKSA9PiB7XG4gICAgICAgIGNvbnN0IGZyb20gPSByYW5nZS4kZnJvbS5wb3M7XG4gICAgICAgIGNvbnN0IHRvID0gcmFuZ2UuJHRvLnBvcztcbiAgICAgICAgc3RhdGUuZG9jLm5vZGVzQmV0d2Vlbihmcm9tLCB0bywgKG5vZGUsIHBvcykgPT4ge1xuICAgICAgICAgIGNvbnN0IHRyaW1tZWRGcm9tID0gTWF0aC5tYXgocG9zLCBmcm9tKTtcbiAgICAgICAgICBjb25zdCB0cmltbWVkVG8gPSBNYXRoLm1pbihwb3MgKyBub2RlLm5vZGVTaXplLCB0byk7XG4gICAgICAgICAgY29uc3Qgc29tZUhhc01hcmsgPSBub2RlLm1hcmtzLmZpbmQoKG1hcmspID0+IG1hcmsudHlwZSA9PT0gdHlwZSk7XG4gICAgICAgICAgaWYgKHNvbWVIYXNNYXJrKSB7XG4gICAgICAgICAgICBub2RlLm1hcmtzLmZvckVhY2goKG1hcmspID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT09IG1hcmsudHlwZSkge1xuICAgICAgICAgICAgICAgIHRyLmFkZE1hcmsoXG4gICAgICAgICAgICAgICAgICB0cmltbWVkRnJvbSxcbiAgICAgICAgICAgICAgICAgIHRyaW1tZWRUbyxcbiAgICAgICAgICAgICAgICAgIHR5cGUuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgLi4ubWFyay5hdHRycyxcbiAgICAgICAgICAgICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHIuYWRkTWFyayh0cmltbWVkRnJvbSwgdHJpbW1lZFRvLCB0eXBlLmNyZWF0ZShhdHRyaWJ1dGVzKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY2FuU2V0TWFyayhzdGF0ZSwgdHIsIHR5cGUpO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL3NldE1ldGEudHNcbnZhciBzZXRNZXRhID0gKGtleSwgdmFsdWUpID0+ICh7IHRyIH0pID0+IHtcbiAgdHIuc2V0TWV0YShrZXksIHZhbHVlKTtcbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvc2V0Tm9kZS50c1xuaW1wb3J0IHsgc2V0QmxvY2tUeXBlIH0gZnJvbSBcIkB0aXB0YXAvcG0vY29tbWFuZHNcIjtcbnZhciBzZXROb2RlID0gKHR5cGVPck5hbWUsIGF0dHJpYnV0ZXMgPSB7fSkgPT4gKHsgc3RhdGUsIGRpc3BhdGNoLCBjaGFpbiB9KSA9PiB7XG4gIGNvbnN0IHR5cGUgPSBnZXROb2RlVHlwZSh0eXBlT3JOYW1lLCBzdGF0ZS5zY2hlbWEpO1xuICBsZXQgYXR0cmlidXRlc1RvQ29weTtcbiAgaWYgKHN0YXRlLnNlbGVjdGlvbi4kYW5jaG9yLnNhbWVQYXJlbnQoc3RhdGUuc2VsZWN0aW9uLiRoZWFkKSkge1xuICAgIGF0dHJpYnV0ZXNUb0NvcHkgPSBzdGF0ZS5zZWxlY3Rpb24uJGFuY2hvci5wYXJlbnQuYXR0cnM7XG4gIH1cbiAgaWYgKCF0eXBlLmlzVGV4dGJsb2NrKSB7XG4gICAgY29uc29sZS53YXJuKCdbdGlwdGFwIHdhcm5dOiBDdXJyZW50bHkgXCJzZXROb2RlKClcIiBvbmx5IHN1cHBvcnRzIHRleHQgYmxvY2sgbm9kZXMuJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBjaGFpbigpLmNvbW1hbmQoKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgIGNvbnN0IGNhblNldEJsb2NrID0gc2V0QmxvY2tUeXBlKHR5cGUsIHsgLi4uYXR0cmlidXRlc1RvQ29weSwgLi4uYXR0cmlidXRlcyB9KShzdGF0ZSk7XG4gICAgaWYgKGNhblNldEJsb2NrKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbW1hbmRzLmNsZWFyTm9kZXMoKTtcbiAgfSkuY29tbWFuZCgoeyBzdGF0ZTogdXBkYXRlZFN0YXRlIH0pID0+IHtcbiAgICByZXR1cm4gc2V0QmxvY2tUeXBlKHR5cGUsIHsgLi4uYXR0cmlidXRlc1RvQ29weSwgLi4uYXR0cmlidXRlcyB9KSh1cGRhdGVkU3RhdGUsIGRpc3BhdGNoKTtcbiAgfSkucnVuKCk7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvc2V0Tm9kZVNlbGVjdGlvbi50c1xuaW1wb3J0IHsgTm9kZVNlbGVjdGlvbiBhcyBOb2RlU2VsZWN0aW9uMiB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG52YXIgc2V0Tm9kZVNlbGVjdGlvbiA9IChwb3NpdGlvbikgPT4gKHsgdHIsIGRpc3BhdGNoIH0pID0+IHtcbiAgaWYgKGRpc3BhdGNoKSB7XG4gICAgY29uc3QgeyBkb2MgfSA9IHRyO1xuICAgIGNvbnN0IGZyb20gPSBtaW5NYXgocG9zaXRpb24sIDAsIGRvYy5jb250ZW50LnNpemUpO1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9IE5vZGVTZWxlY3Rpb24yLmNyZWF0ZShkb2MsIGZyb20pO1xuICAgIHRyLnNldFNlbGVjdGlvbihzZWxlY3Rpb24pO1xuICB9XG4gIHJldHVybiB0cnVlO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL3NldFRleHREaXJlY3Rpb24udHNcbnZhciBzZXRUZXh0RGlyZWN0aW9uID0gKGRpcmVjdGlvbiwgcG9zaXRpb24pID0+ICh7IHRyLCBzdGF0ZSwgZGlzcGF0Y2ggfSkgPT4ge1xuICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gc3RhdGU7XG4gIGxldCBmcm9tO1xuICBsZXQgdG87XG4gIGlmICh0eXBlb2YgcG9zaXRpb24gPT09IFwibnVtYmVyXCIpIHtcbiAgICBmcm9tID0gcG9zaXRpb247XG4gICAgdG8gPSBwb3NpdGlvbjtcbiAgfSBlbHNlIGlmIChwb3NpdGlvbiAmJiBcImZyb21cIiBpbiBwb3NpdGlvbiAmJiBcInRvXCIgaW4gcG9zaXRpb24pIHtcbiAgICBmcm9tID0gcG9zaXRpb24uZnJvbTtcbiAgICB0byA9IHBvc2l0aW9uLnRvO1xuICB9IGVsc2Uge1xuICAgIGZyb20gPSBzZWxlY3Rpb24uZnJvbTtcbiAgICB0byA9IHNlbGVjdGlvbi50bztcbiAgfVxuICBpZiAoZGlzcGF0Y2gpIHtcbiAgICB0ci5kb2Mubm9kZXNCZXR3ZWVuKGZyb20sIHRvLCAobm9kZSwgcG9zKSA9PiB7XG4gICAgICBpZiAobm9kZS5pc1RleHQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdHIuc2V0Tm9kZU1hcmt1cChwb3MsIHZvaWQgMCwge1xuICAgICAgICAuLi5ub2RlLmF0dHJzLFxuICAgICAgICBkaXI6IGRpcmVjdGlvblxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvc2V0VGV4dFNlbGVjdGlvbi50c1xuaW1wb3J0IHsgVGV4dFNlbGVjdGlvbiBhcyBUZXh0U2VsZWN0aW9uNSB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG52YXIgc2V0VGV4dFNlbGVjdGlvbiA9IChwb3NpdGlvbikgPT4gKHsgdHIsIGRpc3BhdGNoIH0pID0+IHtcbiAgaWYgKGRpc3BhdGNoKSB7XG4gICAgY29uc3QgeyBkb2MgfSA9IHRyO1xuICAgIGNvbnN0IHsgZnJvbSwgdG8gfSA9IHR5cGVvZiBwb3NpdGlvbiA9PT0gXCJudW1iZXJcIiA/IHsgZnJvbTogcG9zaXRpb24sIHRvOiBwb3NpdGlvbiB9IDogcG9zaXRpb247XG4gICAgY29uc3QgbWluUG9zID0gVGV4dFNlbGVjdGlvbjUuYXRTdGFydChkb2MpLmZyb207XG4gICAgY29uc3QgbWF4UG9zID0gVGV4dFNlbGVjdGlvbjUuYXRFbmQoZG9jKS50bztcbiAgICBjb25zdCByZXNvbHZlZEZyb20gPSBtaW5NYXgoZnJvbSwgbWluUG9zLCBtYXhQb3MpO1xuICAgIGNvbnN0IHJlc29sdmVkRW5kID0gbWluTWF4KHRvLCBtaW5Qb3MsIG1heFBvcyk7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gVGV4dFNlbGVjdGlvbjUuY3JlYXRlKGRvYywgcmVzb2x2ZWRGcm9tLCByZXNvbHZlZEVuZCk7XG4gICAgdHIuc2V0U2VsZWN0aW9uKHNlbGVjdGlvbik7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvc2lua0xpc3RJdGVtLnRzXG5pbXBvcnQgeyBzaW5rTGlzdEl0ZW0gYXMgb3JpZ2luYWxTaW5rTGlzdEl0ZW0gfSBmcm9tIFwiQHRpcHRhcC9wbS9zY2hlbWEtbGlzdFwiO1xudmFyIHNpbmtMaXN0SXRlbSA9ICh0eXBlT3JOYW1lKSA9PiAoeyBzdGF0ZSwgZGlzcGF0Y2ggfSkgPT4ge1xuICBjb25zdCB0eXBlID0gZ2V0Tm9kZVR5cGUodHlwZU9yTmFtZSwgc3RhdGUuc2NoZW1hKTtcbiAgcmV0dXJuIG9yaWdpbmFsU2lua0xpc3RJdGVtKHR5cGUpKHN0YXRlLCBkaXNwYXRjaCk7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvc3BsaXRCbG9jay50c1xuaW1wb3J0IHsgTm9kZVNlbGVjdGlvbiBhcyBOb2RlU2VsZWN0aW9uMywgVGV4dFNlbGVjdGlvbiBhcyBUZXh0U2VsZWN0aW9uNiB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG5pbXBvcnQgeyBjYW5TcGxpdCB9IGZyb20gXCJAdGlwdGFwL3BtL3RyYW5zZm9ybVwiO1xuZnVuY3Rpb24gZW5zdXJlTWFya3Moc3RhdGUsIHNwbGl0dGFibGVNYXJrcykge1xuICBjb25zdCBtYXJrcyA9IHN0YXRlLnN0b3JlZE1hcmtzIHx8IHN0YXRlLnNlbGVjdGlvbi4kdG8ucGFyZW50T2Zmc2V0ICYmIHN0YXRlLnNlbGVjdGlvbi4kZnJvbS5tYXJrcygpO1xuICBpZiAobWFya3MpIHtcbiAgICBjb25zdCBmaWx0ZXJlZE1hcmtzID0gbWFya3MuZmlsdGVyKChtYXJrKSA9PiBzcGxpdHRhYmxlTWFya3MgPT0gbnVsbCA/IHZvaWQgMCA6IHNwbGl0dGFibGVNYXJrcy5pbmNsdWRlcyhtYXJrLnR5cGUubmFtZSkpO1xuICAgIHN0YXRlLnRyLmVuc3VyZU1hcmtzKGZpbHRlcmVkTWFya3MpO1xuICB9XG59XG52YXIgc3BsaXRCbG9jayA9ICh7IGtlZXBNYXJrcyA9IHRydWUgfSA9IHt9KSA9PiAoeyB0ciwgc3RhdGUsIGRpc3BhdGNoLCBlZGl0b3IgfSkgPT4ge1xuICBjb25zdCB7IHNlbGVjdGlvbiwgZG9jIH0gPSB0cjtcbiAgY29uc3QgeyAkZnJvbSwgJHRvIH0gPSBzZWxlY3Rpb247XG4gIGNvbnN0IGV4dGVuc2lvbkF0dHJpYnV0ZXMgPSBlZGl0b3IuZXh0ZW5zaW9uTWFuYWdlci5hdHRyaWJ1dGVzO1xuICBjb25zdCBuZXdBdHRyaWJ1dGVzID0gZ2V0U3BsaXR0ZWRBdHRyaWJ1dGVzKGV4dGVuc2lvbkF0dHJpYnV0ZXMsICRmcm9tLm5vZGUoKS50eXBlLm5hbWUsICRmcm9tLm5vZGUoKS5hdHRycyk7XG4gIGlmIChzZWxlY3Rpb24gaW5zdGFuY2VvZiBOb2RlU2VsZWN0aW9uMyAmJiBzZWxlY3Rpb24ubm9kZS5pc0Jsb2NrKSB7XG4gICAgaWYgKCEkZnJvbS5wYXJlbnRPZmZzZXQgfHwgIWNhblNwbGl0KGRvYywgJGZyb20ucG9zKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoZGlzcGF0Y2gpIHtcbiAgICAgIGlmIChrZWVwTWFya3MpIHtcbiAgICAgICAgZW5zdXJlTWFya3Moc3RhdGUsIGVkaXRvci5leHRlbnNpb25NYW5hZ2VyLnNwbGl0dGFibGVNYXJrcyk7XG4gICAgICB9XG4gICAgICB0ci5zcGxpdCgkZnJvbS5wb3MpLnNjcm9sbEludG9WaWV3KCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmICghJGZyb20ucGFyZW50LmlzQmxvY2spIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgYXRFbmQgPSAkdG8ucGFyZW50T2Zmc2V0ID09PSAkdG8ucGFyZW50LmNvbnRlbnQuc2l6ZTtcbiAgY29uc3QgZGVmbHQgPSAkZnJvbS5kZXB0aCA9PT0gMCA/IHZvaWQgMCA6IGRlZmF1bHRCbG9ja0F0KCRmcm9tLm5vZGUoLTEpLmNvbnRlbnRNYXRjaEF0KCRmcm9tLmluZGV4QWZ0ZXIoLTEpKSk7XG4gIGxldCB0eXBlcyA9IGF0RW5kICYmIGRlZmx0ID8gW1xuICAgIHtcbiAgICAgIHR5cGU6IGRlZmx0LFxuICAgICAgYXR0cnM6IG5ld0F0dHJpYnV0ZXNcbiAgICB9XG4gIF0gOiB2b2lkIDA7XG4gIGxldCBjYW4gPSBjYW5TcGxpdCh0ci5kb2MsIHRyLm1hcHBpbmcubWFwKCRmcm9tLnBvcyksIDEsIHR5cGVzKTtcbiAgaWYgKCF0eXBlcyAmJiAhY2FuICYmIGNhblNwbGl0KHRyLmRvYywgdHIubWFwcGluZy5tYXAoJGZyb20ucG9zKSwgMSwgZGVmbHQgPyBbeyB0eXBlOiBkZWZsdCB9XSA6IHZvaWQgMCkpIHtcbiAgICBjYW4gPSB0cnVlO1xuICAgIHR5cGVzID0gZGVmbHQgPyBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6IGRlZmx0LFxuICAgICAgICBhdHRyczogbmV3QXR0cmlidXRlc1xuICAgICAgfVxuICAgIF0gOiB2b2lkIDA7XG4gIH1cbiAgaWYgKGRpc3BhdGNoKSB7XG4gICAgaWYgKGNhbikge1xuICAgICAgaWYgKHNlbGVjdGlvbiBpbnN0YW5jZW9mIFRleHRTZWxlY3Rpb242KSB7XG4gICAgICAgIHRyLmRlbGV0ZVNlbGVjdGlvbigpO1xuICAgICAgfVxuICAgICAgdHIuc3BsaXQodHIubWFwcGluZy5tYXAoJGZyb20ucG9zKSwgMSwgdHlwZXMpO1xuICAgICAgaWYgKGRlZmx0ICYmICFhdEVuZCAmJiAhJGZyb20ucGFyZW50T2Zmc2V0ICYmICRmcm9tLnBhcmVudC50eXBlICE9PSBkZWZsdCkge1xuICAgICAgICBjb25zdCBmaXJzdDIgPSB0ci5tYXBwaW5nLm1hcCgkZnJvbS5iZWZvcmUoKSk7XG4gICAgICAgIGNvbnN0ICRmaXJzdCA9IHRyLmRvYy5yZXNvbHZlKGZpcnN0Mik7XG4gICAgICAgIGlmICgkZnJvbS5ub2RlKC0xKS5jYW5SZXBsYWNlV2l0aCgkZmlyc3QuaW5kZXgoKSwgJGZpcnN0LmluZGV4KCkgKyAxLCBkZWZsdCkpIHtcbiAgICAgICAgICB0ci5zZXROb2RlTWFya3VwKHRyLm1hcHBpbmcubWFwKCRmcm9tLmJlZm9yZSgpKSwgZGVmbHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChrZWVwTWFya3MpIHtcbiAgICAgIGVuc3VyZU1hcmtzKHN0YXRlLCBlZGl0b3IuZXh0ZW5zaW9uTWFuYWdlci5zcGxpdHRhYmxlTWFya3MpO1xuICAgIH1cbiAgICB0ci5zY3JvbGxJbnRvVmlldygpO1xuICB9XG4gIHJldHVybiBjYW47XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvc3BsaXRMaXN0SXRlbS50c1xuaW1wb3J0IHsgRnJhZ21lbnQgYXMgRnJhZ21lbnQzLCBTbGljZSB9IGZyb20gXCJAdGlwdGFwL3BtL21vZGVsXCI7XG5pbXBvcnQgeyBUZXh0U2VsZWN0aW9uIGFzIFRleHRTZWxlY3Rpb243IH0gZnJvbSBcIkB0aXB0YXAvcG0vc3RhdGVcIjtcbmltcG9ydCB7IGNhblNwbGl0IGFzIGNhblNwbGl0MiB9IGZyb20gXCJAdGlwdGFwL3BtL3RyYW5zZm9ybVwiO1xudmFyIHNwbGl0TGlzdEl0ZW0gPSAodHlwZU9yTmFtZSwgb3ZlcnJpZGVBdHRycyA9IHt9KSA9PiAoeyB0ciwgc3RhdGUsIGRpc3BhdGNoLCBlZGl0b3IgfSkgPT4ge1xuICB2YXIgX2E7XG4gIGNvbnN0IHR5cGUgPSBnZXROb2RlVHlwZSh0eXBlT3JOYW1lLCBzdGF0ZS5zY2hlbWEpO1xuICBjb25zdCB7ICRmcm9tLCAkdG8gfSA9IHN0YXRlLnNlbGVjdGlvbjtcbiAgY29uc3Qgbm9kZSA9IHN0YXRlLnNlbGVjdGlvbi5ub2RlO1xuICBpZiAobm9kZSAmJiBub2RlLmlzQmxvY2sgfHwgJGZyb20uZGVwdGggPCAyIHx8ICEkZnJvbS5zYW1lUGFyZW50KCR0bykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgZ3JhbmRQYXJlbnQgPSAkZnJvbS5ub2RlKC0xKTtcbiAgaWYgKGdyYW5kUGFyZW50LnR5cGUgIT09IHR5cGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgZXh0ZW5zaW9uQXR0cmlidXRlcyA9IGVkaXRvci5leHRlbnNpb25NYW5hZ2VyLmF0dHJpYnV0ZXM7XG4gIGlmICgkZnJvbS5wYXJlbnQuY29udGVudC5zaXplID09PSAwICYmICRmcm9tLm5vZGUoLTEpLmNoaWxkQ291bnQgPT09ICRmcm9tLmluZGV4QWZ0ZXIoLTEpKSB7XG4gICAgaWYgKCRmcm9tLmRlcHRoID09PSAyIHx8ICRmcm9tLm5vZGUoLTMpLnR5cGUgIT09IHR5cGUgfHwgJGZyb20uaW5kZXgoLTIpICE9PSAkZnJvbS5ub2RlKC0yKS5jaGlsZENvdW50IC0gMSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoZGlzcGF0Y2gpIHtcbiAgICAgIGxldCB3cmFwID0gRnJhZ21lbnQzLmVtcHR5O1xuICAgICAgY29uc3QgZGVwdGhCZWZvcmUgPSAkZnJvbS5pbmRleCgtMSkgPyAxIDogJGZyb20uaW5kZXgoLTIpID8gMiA6IDM7XG4gICAgICBmb3IgKGxldCBkID0gJGZyb20uZGVwdGggLSBkZXB0aEJlZm9yZTsgZCA+PSAkZnJvbS5kZXB0aCAtIDM7IGQgLT0gMSkge1xuICAgICAgICB3cmFwID0gRnJhZ21lbnQzLmZyb20oJGZyb20ubm9kZShkKS5jb3B5KHdyYXApKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRlcHRoQWZ0ZXIgPSAoXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXN0ZWQtdGVybmFyeVxuICAgICAgICAkZnJvbS5pbmRleEFmdGVyKC0xKSA8ICRmcm9tLm5vZGUoLTIpLmNoaWxkQ291bnQgPyAxIDogJGZyb20uaW5kZXhBZnRlcigtMikgPCAkZnJvbS5ub2RlKC0zKS5jaGlsZENvdW50ID8gMiA6IDNcbiAgICAgICk7XG4gICAgICBjb25zdCBuZXdOZXh0VHlwZUF0dHJpYnV0ZXMyID0ge1xuICAgICAgICAuLi5nZXRTcGxpdHRlZEF0dHJpYnV0ZXMoZXh0ZW5zaW9uQXR0cmlidXRlcywgJGZyb20ubm9kZSgpLnR5cGUubmFtZSwgJGZyb20ubm9kZSgpLmF0dHJzKSxcbiAgICAgICAgLi4ub3ZlcnJpZGVBdHRyc1xuICAgICAgfTtcbiAgICAgIGNvbnN0IG5leHRUeXBlMiA9ICgoX2EgPSB0eXBlLmNvbnRlbnRNYXRjaC5kZWZhdWx0VHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNyZWF0ZUFuZEZpbGwobmV3TmV4dFR5cGVBdHRyaWJ1dGVzMikpIHx8IHZvaWQgMDtcbiAgICAgIHdyYXAgPSB3cmFwLmFwcGVuZChGcmFnbWVudDMuZnJvbSh0eXBlLmNyZWF0ZUFuZEZpbGwobnVsbCwgbmV4dFR5cGUyKSB8fCB2b2lkIDApKTtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gJGZyb20uYmVmb3JlKCRmcm9tLmRlcHRoIC0gKGRlcHRoQmVmb3JlIC0gMSkpO1xuICAgICAgdHIucmVwbGFjZShzdGFydCwgJGZyb20uYWZ0ZXIoLWRlcHRoQWZ0ZXIpLCBuZXcgU2xpY2Uod3JhcCwgNCAtIGRlcHRoQmVmb3JlLCAwKSk7XG4gICAgICBsZXQgc2VsID0gLTE7XG4gICAgICB0ci5kb2Mubm9kZXNCZXR3ZWVuKHN0YXJ0LCB0ci5kb2MuY29udGVudC5zaXplLCAobiwgcG9zKSA9PiB7XG4gICAgICAgIGlmIChzZWwgPiAtMSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobi5pc1RleHRibG9jayAmJiBuLmNvbnRlbnQuc2l6ZSA9PT0gMCkge1xuICAgICAgICAgIHNlbCA9IHBvcyArIDE7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaWYgKHNlbCA+IC0xKSB7XG4gICAgICAgIHRyLnNldFNlbGVjdGlvbihUZXh0U2VsZWN0aW9uNy5uZWFyKHRyLmRvYy5yZXNvbHZlKHNlbCkpKTtcbiAgICAgIH1cbiAgICAgIHRyLnNjcm9sbEludG9WaWV3KCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IG5leHRUeXBlID0gJHRvLnBvcyA9PT0gJGZyb20uZW5kKCkgPyBncmFuZFBhcmVudC5jb250ZW50TWF0Y2hBdCgwKS5kZWZhdWx0VHlwZSA6IG51bGw7XG4gIGNvbnN0IG5ld1R5cGVBdHRyaWJ1dGVzID0ge1xuICAgIC4uLmdldFNwbGl0dGVkQXR0cmlidXRlcyhleHRlbnNpb25BdHRyaWJ1dGVzLCBncmFuZFBhcmVudC50eXBlLm5hbWUsIGdyYW5kUGFyZW50LmF0dHJzKSxcbiAgICAuLi5vdmVycmlkZUF0dHJzXG4gIH07XG4gIGNvbnN0IG5ld05leHRUeXBlQXR0cmlidXRlcyA9IHtcbiAgICAuLi5nZXRTcGxpdHRlZEF0dHJpYnV0ZXMoZXh0ZW5zaW9uQXR0cmlidXRlcywgJGZyb20ubm9kZSgpLnR5cGUubmFtZSwgJGZyb20ubm9kZSgpLmF0dHJzKSxcbiAgICAuLi5vdmVycmlkZUF0dHJzXG4gIH07XG4gIHRyLmRlbGV0ZSgkZnJvbS5wb3MsICR0by5wb3MpO1xuICBjb25zdCB0eXBlcyA9IG5leHRUeXBlID8gW1xuICAgIHsgdHlwZSwgYXR0cnM6IG5ld1R5cGVBdHRyaWJ1dGVzIH0sXG4gICAgeyB0eXBlOiBuZXh0VHlwZSwgYXR0cnM6IG5ld05leHRUeXBlQXR0cmlidXRlcyB9XG4gIF0gOiBbeyB0eXBlLCBhdHRyczogbmV3VHlwZUF0dHJpYnV0ZXMgfV07XG4gIGlmICghY2FuU3BsaXQyKHRyLmRvYywgJGZyb20ucG9zLCAyKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoZGlzcGF0Y2gpIHtcbiAgICBjb25zdCB7IHNlbGVjdGlvbiwgc3RvcmVkTWFya3MgfSA9IHN0YXRlO1xuICAgIGNvbnN0IHsgc3BsaXR0YWJsZU1hcmtzIH0gPSBlZGl0b3IuZXh0ZW5zaW9uTWFuYWdlcjtcbiAgICBjb25zdCBtYXJrcyA9IHN0b3JlZE1hcmtzIHx8IHNlbGVjdGlvbi4kdG8ucGFyZW50T2Zmc2V0ICYmIHNlbGVjdGlvbi4kZnJvbS5tYXJrcygpO1xuICAgIHRyLnNwbGl0KCRmcm9tLnBvcywgMiwgdHlwZXMpLnNjcm9sbEludG9WaWV3KCk7XG4gICAgaWYgKCFtYXJrcyB8fCAhZGlzcGF0Y2gpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBmaWx0ZXJlZE1hcmtzID0gbWFya3MuZmlsdGVyKChtYXJrKSA9PiBzcGxpdHRhYmxlTWFya3MuaW5jbHVkZXMobWFyay50eXBlLm5hbWUpKTtcbiAgICB0ci5lbnN1cmVNYXJrcyhmaWx0ZXJlZE1hcmtzKTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy90b2dnbGVMaXN0LnRzXG5pbXBvcnQgeyBjYW5Kb2luIH0gZnJvbSBcIkB0aXB0YXAvcG0vdHJhbnNmb3JtXCI7XG52YXIgam9pbkxpc3RCYWNrd2FyZHMgPSAodHIsIGxpc3RUeXBlKSA9PiB7XG4gIGNvbnN0IGxpc3QgPSBmaW5kUGFyZW50Tm9kZSgobm9kZSkgPT4gbm9kZS50eXBlID09PSBsaXN0VHlwZSkodHIuc2VsZWN0aW9uKTtcbiAgaWYgKCFsaXN0KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgY29uc3QgYmVmb3JlID0gdHIuZG9jLnJlc29sdmUoTWF0aC5tYXgoMCwgbGlzdC5wb3MgLSAxKSkuYmVmb3JlKGxpc3QuZGVwdGgpO1xuICBpZiAoYmVmb3JlID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBjb25zdCBub2RlQmVmb3JlID0gdHIuZG9jLm5vZGVBdChiZWZvcmUpO1xuICBjb25zdCBjYW5Kb2luQmFja3dhcmRzID0gbGlzdC5ub2RlLnR5cGUgPT09IChub2RlQmVmb3JlID09IG51bGwgPyB2b2lkIDAgOiBub2RlQmVmb3JlLnR5cGUpICYmIGNhbkpvaW4odHIuZG9jLCBsaXN0LnBvcyk7XG4gIGlmICghY2FuSm9pbkJhY2t3YXJkcykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHRyLmpvaW4obGlzdC5wb3MpO1xuICByZXR1cm4gdHJ1ZTtcbn07XG52YXIgam9pbkxpc3RGb3J3YXJkcyA9ICh0ciwgbGlzdFR5cGUpID0+IHtcbiAgY29uc3QgbGlzdCA9IGZpbmRQYXJlbnROb2RlKChub2RlKSA9PiBub2RlLnR5cGUgPT09IGxpc3RUeXBlKSh0ci5zZWxlY3Rpb24pO1xuICBpZiAoIWxpc3QpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBjb25zdCBhZnRlciA9IHRyLmRvYy5yZXNvbHZlKGxpc3Quc3RhcnQpLmFmdGVyKGxpc3QuZGVwdGgpO1xuICBpZiAoYWZ0ZXIgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IG5vZGVBZnRlciA9IHRyLmRvYy5ub2RlQXQoYWZ0ZXIpO1xuICBjb25zdCBjYW5Kb2luRm9yd2FyZHMgPSBsaXN0Lm5vZGUudHlwZSA9PT0gKG5vZGVBZnRlciA9PSBudWxsID8gdm9pZCAwIDogbm9kZUFmdGVyLnR5cGUpICYmIGNhbkpvaW4odHIuZG9jLCBhZnRlcik7XG4gIGlmICghY2FuSm9pbkZvcndhcmRzKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdHIuam9pbihhZnRlcik7XG4gIHJldHVybiB0cnVlO1xufTtcbnZhciB0b2dnbGVMaXN0ID0gKGxpc3RUeXBlT3JOYW1lLCBpdGVtVHlwZU9yTmFtZSwga2VlcE1hcmtzLCBhdHRyaWJ1dGVzID0ge30pID0+ICh7IGVkaXRvciwgdHIsIHN0YXRlLCBkaXNwYXRjaCwgY2hhaW4sIGNvbW1hbmRzLCBjYW4gfSkgPT4ge1xuICBjb25zdCB7IGV4dGVuc2lvbnMsIHNwbGl0dGFibGVNYXJrcyB9ID0gZWRpdG9yLmV4dGVuc2lvbk1hbmFnZXI7XG4gIGNvbnN0IGxpc3RUeXBlID0gZ2V0Tm9kZVR5cGUobGlzdFR5cGVPck5hbWUsIHN0YXRlLnNjaGVtYSk7XG4gIGNvbnN0IGl0ZW1UeXBlID0gZ2V0Tm9kZVR5cGUoaXRlbVR5cGVPck5hbWUsIHN0YXRlLnNjaGVtYSk7XG4gIGNvbnN0IHsgc2VsZWN0aW9uLCBzdG9yZWRNYXJrcyB9ID0gc3RhdGU7XG4gIGNvbnN0IHsgJGZyb20sICR0byB9ID0gc2VsZWN0aW9uO1xuICBjb25zdCByYW5nZSA9ICRmcm9tLmJsb2NrUmFuZ2UoJHRvKTtcbiAgY29uc3QgbWFya3MgPSBzdG9yZWRNYXJrcyB8fCBzZWxlY3Rpb24uJHRvLnBhcmVudE9mZnNldCAmJiBzZWxlY3Rpb24uJGZyb20ubWFya3MoKTtcbiAgaWYgKCFyYW5nZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBwYXJlbnRMaXN0ID0gZmluZFBhcmVudE5vZGUoKG5vZGUpID0+IGlzTGlzdChub2RlLnR5cGUubmFtZSwgZXh0ZW5zaW9ucykpKHNlbGVjdGlvbik7XG4gIGlmIChyYW5nZS5kZXB0aCA+PSAxICYmIHBhcmVudExpc3QgJiYgcmFuZ2UuZGVwdGggLSBwYXJlbnRMaXN0LmRlcHRoIDw9IDEpIHtcbiAgICBpZiAocGFyZW50TGlzdC5ub2RlLnR5cGUgPT09IGxpc3RUeXBlKSB7XG4gICAgICByZXR1cm4gY29tbWFuZHMubGlmdExpc3RJdGVtKGl0ZW1UeXBlKTtcbiAgICB9XG4gICAgaWYgKGlzTGlzdChwYXJlbnRMaXN0Lm5vZGUudHlwZS5uYW1lLCBleHRlbnNpb25zKSAmJiBsaXN0VHlwZS52YWxpZENvbnRlbnQocGFyZW50TGlzdC5ub2RlLmNvbnRlbnQpICYmIGRpc3BhdGNoKSB7XG4gICAgICByZXR1cm4gY2hhaW4oKS5jb21tYW5kKCgpID0+IHtcbiAgICAgICAgdHIuc2V0Tm9kZU1hcmt1cChwYXJlbnRMaXN0LnBvcywgbGlzdFR5cGUpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pLmNvbW1hbmQoKCkgPT4gam9pbkxpc3RCYWNrd2FyZHModHIsIGxpc3RUeXBlKSkuY29tbWFuZCgoKSA9PiBqb2luTGlzdEZvcndhcmRzKHRyLCBsaXN0VHlwZSkpLnJ1bigpO1xuICAgIH1cbiAgfVxuICBpZiAoIWtlZXBNYXJrcyB8fCAhbWFya3MgfHwgIWRpc3BhdGNoKSB7XG4gICAgcmV0dXJuIGNoYWluKCkuY29tbWFuZCgoKSA9PiB7XG4gICAgICBjb25zdCBjYW5XcmFwSW5MaXN0ID0gY2FuKCkud3JhcEluTGlzdChsaXN0VHlwZSwgYXR0cmlidXRlcyk7XG4gICAgICBpZiAoY2FuV3JhcEluTGlzdCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjb21tYW5kcy5jbGVhck5vZGVzKCk7XG4gICAgfSkud3JhcEluTGlzdChsaXN0VHlwZSwgYXR0cmlidXRlcykuY29tbWFuZCgoKSA9PiBqb2luTGlzdEJhY2t3YXJkcyh0ciwgbGlzdFR5cGUpKS5jb21tYW5kKCgpID0+IGpvaW5MaXN0Rm9yd2FyZHModHIsIGxpc3RUeXBlKSkucnVuKCk7XG4gIH1cbiAgcmV0dXJuIGNoYWluKCkuY29tbWFuZCgoKSA9PiB7XG4gICAgY29uc3QgY2FuV3JhcEluTGlzdCA9IGNhbigpLndyYXBJbkxpc3QobGlzdFR5cGUsIGF0dHJpYnV0ZXMpO1xuICAgIGNvbnN0IGZpbHRlcmVkTWFya3MgPSBtYXJrcy5maWx0ZXIoKG1hcmspID0+IHNwbGl0dGFibGVNYXJrcy5pbmNsdWRlcyhtYXJrLnR5cGUubmFtZSkpO1xuICAgIHRyLmVuc3VyZU1hcmtzKGZpbHRlcmVkTWFya3MpO1xuICAgIGlmIChjYW5XcmFwSW5MaXN0KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbW1hbmRzLmNsZWFyTm9kZXMoKTtcbiAgfSkud3JhcEluTGlzdChsaXN0VHlwZSwgYXR0cmlidXRlcykuY29tbWFuZCgoKSA9PiBqb2luTGlzdEJhY2t3YXJkcyh0ciwgbGlzdFR5cGUpKS5jb21tYW5kKCgpID0+IGpvaW5MaXN0Rm9yd2FyZHModHIsIGxpc3RUeXBlKSkucnVuKCk7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvdG9nZ2xlTWFyay50c1xudmFyIHRvZ2dsZU1hcmsgPSAodHlwZU9yTmFtZSwgYXR0cmlidXRlcyA9IHt9LCBvcHRpb25zID0ge30pID0+ICh7IHN0YXRlLCBjb21tYW5kcyB9KSA9PiB7XG4gIGNvbnN0IHsgZXh0ZW5kRW1wdHlNYXJrUmFuZ2UgPSBmYWxzZSB9ID0gb3B0aW9ucztcbiAgY29uc3QgdHlwZSA9IGdldE1hcmtUeXBlKHR5cGVPck5hbWUsIHN0YXRlLnNjaGVtYSk7XG4gIGNvbnN0IGlzQWN0aXZlMiA9IGlzTWFya0FjdGl2ZShzdGF0ZSwgdHlwZSwgYXR0cmlidXRlcyk7XG4gIGlmIChpc0FjdGl2ZTIpIHtcbiAgICByZXR1cm4gY29tbWFuZHMudW5zZXRNYXJrKHR5cGUsIHsgZXh0ZW5kRW1wdHlNYXJrUmFuZ2UgfSk7XG4gIH1cbiAgcmV0dXJuIGNvbW1hbmRzLnNldE1hcmsodHlwZSwgYXR0cmlidXRlcyk7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvdG9nZ2xlTm9kZS50c1xudmFyIHRvZ2dsZU5vZGUgPSAodHlwZU9yTmFtZSwgdG9nZ2xlVHlwZU9yTmFtZSwgYXR0cmlidXRlcyA9IHt9KSA9PiAoeyBzdGF0ZSwgY29tbWFuZHMgfSkgPT4ge1xuICBjb25zdCB0eXBlID0gZ2V0Tm9kZVR5cGUodHlwZU9yTmFtZSwgc3RhdGUuc2NoZW1hKTtcbiAgY29uc3QgdG9nZ2xlVHlwZSA9IGdldE5vZGVUeXBlKHRvZ2dsZVR5cGVPck5hbWUsIHN0YXRlLnNjaGVtYSk7XG4gIGNvbnN0IGlzQWN0aXZlMiA9IGlzTm9kZUFjdGl2ZShzdGF0ZSwgdHlwZSwgYXR0cmlidXRlcyk7XG4gIGxldCBhdHRyaWJ1dGVzVG9Db3B5O1xuICBpZiAoc3RhdGUuc2VsZWN0aW9uLiRhbmNob3Iuc2FtZVBhcmVudChzdGF0ZS5zZWxlY3Rpb24uJGhlYWQpKSB7XG4gICAgYXR0cmlidXRlc1RvQ29weSA9IHN0YXRlLnNlbGVjdGlvbi4kYW5jaG9yLnBhcmVudC5hdHRycztcbiAgfVxuICBpZiAoaXNBY3RpdmUyKSB7XG4gICAgcmV0dXJuIGNvbW1hbmRzLnNldE5vZGUodG9nZ2xlVHlwZSwgYXR0cmlidXRlc1RvQ29weSk7XG4gIH1cbiAgcmV0dXJuIGNvbW1hbmRzLnNldE5vZGUodHlwZSwgeyAuLi5hdHRyaWJ1dGVzVG9Db3B5LCAuLi5hdHRyaWJ1dGVzIH0pO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL3RvZ2dsZVdyYXAudHNcbnZhciB0b2dnbGVXcmFwID0gKHR5cGVPck5hbWUsIGF0dHJpYnV0ZXMgPSB7fSkgPT4gKHsgc3RhdGUsIGNvbW1hbmRzIH0pID0+IHtcbiAgY29uc3QgdHlwZSA9IGdldE5vZGVUeXBlKHR5cGVPck5hbWUsIHN0YXRlLnNjaGVtYSk7XG4gIGNvbnN0IGlzQWN0aXZlMiA9IGlzTm9kZUFjdGl2ZShzdGF0ZSwgdHlwZSwgYXR0cmlidXRlcyk7XG4gIGlmIChpc0FjdGl2ZTIpIHtcbiAgICByZXR1cm4gY29tbWFuZHMubGlmdCh0eXBlKTtcbiAgfVxuICByZXR1cm4gY29tbWFuZHMud3JhcEluKHR5cGUsIGF0dHJpYnV0ZXMpO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL3VuZG9JbnB1dFJ1bGUudHNcbnZhciB1bmRvSW5wdXRSdWxlID0gKCkgPT4gKHsgc3RhdGUsIGRpc3BhdGNoIH0pID0+IHtcbiAgY29uc3QgcGx1Z2lucyA9IHN0YXRlLnBsdWdpbnM7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGNvbnN0IHBsdWdpbiA9IHBsdWdpbnNbaV07XG4gICAgbGV0IHVuZG9hYmxlO1xuICAgIGlmIChwbHVnaW4uc3BlYy5pc0lucHV0UnVsZXMgJiYgKHVuZG9hYmxlID0gcGx1Z2luLmdldFN0YXRlKHN0YXRlKSkpIHtcbiAgICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgICBjb25zdCB0ciA9IHN0YXRlLnRyO1xuICAgICAgICBjb25zdCB0b1VuZG8gPSB1bmRvYWJsZS50cmFuc2Zvcm07XG4gICAgICAgIGZvciAobGV0IGogPSB0b1VuZG8uc3RlcHMubGVuZ3RoIC0gMTsgaiA+PSAwOyBqIC09IDEpIHtcbiAgICAgICAgICB0ci5zdGVwKHRvVW5kby5zdGVwc1tqXS5pbnZlcnQodG9VbmRvLmRvY3Nbal0pKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodW5kb2FibGUudGV4dCkge1xuICAgICAgICAgIGNvbnN0IG1hcmtzID0gdHIuZG9jLnJlc29sdmUodW5kb2FibGUuZnJvbSkubWFya3MoKTtcbiAgICAgICAgICB0ci5yZXBsYWNlV2l0aCh1bmRvYWJsZS5mcm9tLCB1bmRvYWJsZS50bywgc3RhdGUuc2NoZW1hLnRleHQodW5kb2FibGUudGV4dCwgbWFya3MpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0ci5kZWxldGUodW5kb2FibGUuZnJvbSwgdW5kb2FibGUudG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL3Vuc2V0QWxsTWFya3MudHNcbnZhciB1bnNldEFsbE1hcmtzID0gKCkgPT4gKHsgdHIsIGRpc3BhdGNoIH0pID0+IHtcbiAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IHRyO1xuICBjb25zdCB7IGVtcHR5LCByYW5nZXMgfSA9IHNlbGVjdGlvbjtcbiAgaWYgKGVtcHR5KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKGRpc3BhdGNoKSB7XG4gICAgcmFuZ2VzLmZvckVhY2goKHJhbmdlKSA9PiB7XG4gICAgICB0ci5yZW1vdmVNYXJrKHJhbmdlLiRmcm9tLnBvcywgcmFuZ2UuJHRvLnBvcyk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvdW5zZXRNYXJrLnRzXG52YXIgdW5zZXRNYXJrID0gKHR5cGVPck5hbWUsIG9wdGlvbnMgPSB7fSkgPT4gKHsgdHIsIHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIHZhciBfYTtcbiAgY29uc3QgeyBleHRlbmRFbXB0eU1hcmtSYW5nZSA9IGZhbHNlIH0gPSBvcHRpb25zO1xuICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gdHI7XG4gIGNvbnN0IHR5cGUgPSBnZXRNYXJrVHlwZSh0eXBlT3JOYW1lLCBzdGF0ZS5zY2hlbWEpO1xuICBjb25zdCB7ICRmcm9tLCBlbXB0eSwgcmFuZ2VzIH0gPSBzZWxlY3Rpb247XG4gIGlmICghZGlzcGF0Y2gpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoZW1wdHkgJiYgZXh0ZW5kRW1wdHlNYXJrUmFuZ2UpIHtcbiAgICBsZXQgeyBmcm9tLCB0byB9ID0gc2VsZWN0aW9uO1xuICAgIGNvbnN0IGF0dHJzID0gKF9hID0gJGZyb20ubWFya3MoKS5maW5kKChtYXJrKSA9PiBtYXJrLnR5cGUgPT09IHR5cGUpKSA9PSBudWxsID8gdm9pZCAwIDogX2EuYXR0cnM7XG4gICAgY29uc3QgcmFuZ2UgPSBnZXRNYXJrUmFuZ2UoJGZyb20sIHR5cGUsIGF0dHJzKTtcbiAgICBpZiAocmFuZ2UpIHtcbiAgICAgIGZyb20gPSByYW5nZS5mcm9tO1xuICAgICAgdG8gPSByYW5nZS50bztcbiAgICB9XG4gICAgdHIucmVtb3ZlTWFyayhmcm9tLCB0bywgdHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgcmFuZ2VzLmZvckVhY2goKHJhbmdlKSA9PiB7XG4gICAgICB0ci5yZW1vdmVNYXJrKHJhbmdlLiRmcm9tLnBvcywgcmFuZ2UuJHRvLnBvcywgdHlwZSk7XG4gICAgfSk7XG4gIH1cbiAgdHIucmVtb3ZlU3RvcmVkTWFyayh0eXBlKTtcbiAgcmV0dXJuIHRydWU7XG59O1xuXG4vLyBzcmMvY29tbWFuZHMvdW5zZXRUZXh0RGlyZWN0aW9uLnRzXG52YXIgdW5zZXRUZXh0RGlyZWN0aW9uID0gKHBvc2l0aW9uKSA9PiAoeyB0ciwgc3RhdGUsIGRpc3BhdGNoIH0pID0+IHtcbiAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IHN0YXRlO1xuICBsZXQgZnJvbTtcbiAgbGV0IHRvO1xuICBpZiAodHlwZW9mIHBvc2l0aW9uID09PSBcIm51bWJlclwiKSB7XG4gICAgZnJvbSA9IHBvc2l0aW9uO1xuICAgIHRvID0gcG9zaXRpb247XG4gIH0gZWxzZSBpZiAocG9zaXRpb24gJiYgXCJmcm9tXCIgaW4gcG9zaXRpb24gJiYgXCJ0b1wiIGluIHBvc2l0aW9uKSB7XG4gICAgZnJvbSA9IHBvc2l0aW9uLmZyb207XG4gICAgdG8gPSBwb3NpdGlvbi50bztcbiAgfSBlbHNlIHtcbiAgICBmcm9tID0gc2VsZWN0aW9uLmZyb207XG4gICAgdG8gPSBzZWxlY3Rpb24udG87XG4gIH1cbiAgaWYgKGRpc3BhdGNoKSB7XG4gICAgdHIuZG9jLm5vZGVzQmV0d2Vlbihmcm9tLCB0bywgKG5vZGUsIHBvcykgPT4ge1xuICAgICAgaWYgKG5vZGUuaXNUZXh0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld0F0dHJzID0geyAuLi5ub2RlLmF0dHJzIH07XG4gICAgICBkZWxldGUgbmV3QXR0cnMuZGlyO1xuICAgICAgdHIuc2V0Tm9kZU1hcmt1cChwb3MsIHZvaWQgMCwgbmV3QXR0cnMpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiB0cnVlO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL3VwZGF0ZUF0dHJpYnV0ZXMudHNcbnZhciB1cGRhdGVBdHRyaWJ1dGVzID0gKHR5cGVPck5hbWUsIGF0dHJpYnV0ZXMgPSB7fSkgPT4gKHsgdHIsIHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gIGxldCBub2RlVHlwZSA9IG51bGw7XG4gIGxldCBtYXJrVHlwZSA9IG51bGw7XG4gIGNvbnN0IHNjaGVtYVR5cGUgPSBnZXRTY2hlbWFUeXBlTmFtZUJ5TmFtZShcbiAgICB0eXBlb2YgdHlwZU9yTmFtZSA9PT0gXCJzdHJpbmdcIiA/IHR5cGVPck5hbWUgOiB0eXBlT3JOYW1lLm5hbWUsXG4gICAgc3RhdGUuc2NoZW1hXG4gICk7XG4gIGlmICghc2NoZW1hVHlwZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoc2NoZW1hVHlwZSA9PT0gXCJub2RlXCIpIHtcbiAgICBub2RlVHlwZSA9IGdldE5vZGVUeXBlKHR5cGVPck5hbWUsIHN0YXRlLnNjaGVtYSk7XG4gIH1cbiAgaWYgKHNjaGVtYVR5cGUgPT09IFwibWFya1wiKSB7XG4gICAgbWFya1R5cGUgPSBnZXRNYXJrVHlwZSh0eXBlT3JOYW1lLCBzdGF0ZS5zY2hlbWEpO1xuICB9XG4gIGxldCBjYW5VcGRhdGUgPSBmYWxzZTtcbiAgdHIuc2VsZWN0aW9uLnJhbmdlcy5mb3JFYWNoKChyYW5nZSkgPT4ge1xuICAgIGNvbnN0IGZyb20gPSByYW5nZS4kZnJvbS5wb3M7XG4gICAgY29uc3QgdG8gPSByYW5nZS4kdG8ucG9zO1xuICAgIGxldCBsYXN0UG9zO1xuICAgIGxldCBsYXN0Tm9kZTtcbiAgICBsZXQgdHJpbW1lZEZyb207XG4gICAgbGV0IHRyaW1tZWRUbztcbiAgICBpZiAodHIuc2VsZWN0aW9uLmVtcHR5KSB7XG4gICAgICBzdGF0ZS5kb2Mubm9kZXNCZXR3ZWVuKGZyb20sIHRvLCAobm9kZSwgcG9zKSA9PiB7XG4gICAgICAgIGlmIChub2RlVHlwZSAmJiBub2RlVHlwZSA9PT0gbm9kZS50eXBlKSB7XG4gICAgICAgICAgY2FuVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICB0cmltbWVkRnJvbSA9IE1hdGgubWF4KHBvcywgZnJvbSk7XG4gICAgICAgICAgdHJpbW1lZFRvID0gTWF0aC5taW4ocG9zICsgbm9kZS5ub2RlU2l6ZSwgdG8pO1xuICAgICAgICAgIGxhc3RQb3MgPSBwb3M7XG4gICAgICAgICAgbGFzdE5vZGUgPSBub2RlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUuZG9jLm5vZGVzQmV0d2Vlbihmcm9tLCB0bywgKG5vZGUsIHBvcykgPT4ge1xuICAgICAgICBpZiAocG9zIDwgZnJvbSAmJiBub2RlVHlwZSAmJiBub2RlVHlwZSA9PT0gbm9kZS50eXBlKSB7XG4gICAgICAgICAgY2FuVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICB0cmltbWVkRnJvbSA9IE1hdGgubWF4KHBvcywgZnJvbSk7XG4gICAgICAgICAgdHJpbW1lZFRvID0gTWF0aC5taW4ocG9zICsgbm9kZS5ub2RlU2l6ZSwgdG8pO1xuICAgICAgICAgIGxhc3RQb3MgPSBwb3M7XG4gICAgICAgICAgbGFzdE5vZGUgPSBub2RlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwb3MgPj0gZnJvbSAmJiBwb3MgPD0gdG8pIHtcbiAgICAgICAgICBpZiAobm9kZVR5cGUgJiYgbm9kZVR5cGUgPT09IG5vZGUudHlwZSkge1xuICAgICAgICAgICAgY2FuVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgICAgICAgICB0ci5zZXROb2RlTWFya3VwKHBvcywgdm9pZCAwLCB7XG4gICAgICAgICAgICAgICAgLi4ubm9kZS5hdHRycyxcbiAgICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobWFya1R5cGUgJiYgbm9kZS5tYXJrcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIG5vZGUubWFya3MuZm9yRWFjaCgobWFyaykgPT4ge1xuICAgICAgICAgICAgICBpZiAobWFya1R5cGUgPT09IG1hcmsudHlwZSkge1xuICAgICAgICAgICAgICAgIGNhblVwZGF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKGRpc3BhdGNoKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB0cmltbWVkRnJvbTIgPSBNYXRoLm1heChwb3MsIGZyb20pO1xuICAgICAgICAgICAgICAgICAgY29uc3QgdHJpbW1lZFRvMiA9IE1hdGgubWluKHBvcyArIG5vZGUubm9kZVNpemUsIHRvKTtcbiAgICAgICAgICAgICAgICAgIHRyLmFkZE1hcmsoXG4gICAgICAgICAgICAgICAgICAgIHRyaW1tZWRGcm9tMixcbiAgICAgICAgICAgICAgICAgICAgdHJpbW1lZFRvMixcbiAgICAgICAgICAgICAgICAgICAgbWFya1R5cGUuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5tYXJrLmF0dHJzLFxuICAgICAgICAgICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAobGFzdE5vZGUpIHtcbiAgICAgIGlmIChsYXN0UG9zICE9PSB2b2lkIDAgJiYgZGlzcGF0Y2gpIHtcbiAgICAgICAgdHIuc2V0Tm9kZU1hcmt1cChsYXN0UG9zLCB2b2lkIDAsIHtcbiAgICAgICAgICAuLi5sYXN0Tm9kZS5hdHRycyxcbiAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKG1hcmtUeXBlICYmIGxhc3ROb2RlLm1hcmtzLmxlbmd0aCkge1xuICAgICAgICBsYXN0Tm9kZS5tYXJrcy5mb3JFYWNoKChtYXJrKSA9PiB7XG4gICAgICAgICAgaWYgKG1hcmtUeXBlID09PSBtYXJrLnR5cGUgJiYgZGlzcGF0Y2gpIHtcbiAgICAgICAgICAgIHRyLmFkZE1hcmsoXG4gICAgICAgICAgICAgIHRyaW1tZWRGcm9tLFxuICAgICAgICAgICAgICB0cmltbWVkVG8sXG4gICAgICAgICAgICAgIG1hcmtUeXBlLmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgLi4ubWFyay5hdHRycyxcbiAgICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGNhblVwZGF0ZTtcbn07XG5cbi8vIHNyYy9jb21tYW5kcy93cmFwSW4udHNcbmltcG9ydCB7IHdyYXBJbiBhcyBvcmlnaW5hbFdyYXBJbiB9IGZyb20gXCJAdGlwdGFwL3BtL2NvbW1hbmRzXCI7XG52YXIgd3JhcEluID0gKHR5cGVPck5hbWUsIGF0dHJpYnV0ZXMgPSB7fSkgPT4gKHsgc3RhdGUsIGRpc3BhdGNoIH0pID0+IHtcbiAgY29uc3QgdHlwZSA9IGdldE5vZGVUeXBlKHR5cGVPck5hbWUsIHN0YXRlLnNjaGVtYSk7XG4gIHJldHVybiBvcmlnaW5hbFdyYXBJbih0eXBlLCBhdHRyaWJ1dGVzKShzdGF0ZSwgZGlzcGF0Y2gpO1xufTtcblxuLy8gc3JjL2NvbW1hbmRzL3dyYXBJbkxpc3QudHNcbmltcG9ydCB7IHdyYXBJbkxpc3QgYXMgb3JpZ2luYWxXcmFwSW5MaXN0IH0gZnJvbSBcIkB0aXB0YXAvcG0vc2NoZW1hLWxpc3RcIjtcbnZhciB3cmFwSW5MaXN0ID0gKHR5cGVPck5hbWUsIGF0dHJpYnV0ZXMgPSB7fSkgPT4gKHsgc3RhdGUsIGRpc3BhdGNoIH0pID0+IHtcbiAgY29uc3QgdHlwZSA9IGdldE5vZGVUeXBlKHR5cGVPck5hbWUsIHN0YXRlLnNjaGVtYSk7XG4gIHJldHVybiBvcmlnaW5hbFdyYXBJbkxpc3QodHlwZSwgYXR0cmlidXRlcykoc3RhdGUsIGRpc3BhdGNoKTtcbn07XG5cbi8vIHNyYy9FZGl0b3IudHNcbmltcG9ydCB7IEVkaXRvclN0YXRlIH0gZnJvbSBcIkB0aXB0YXAvcG0vc3RhdGVcIjtcbmltcG9ydCB7IEVkaXRvclZpZXcgfSBmcm9tIFwiQHRpcHRhcC9wbS92aWV3XCI7XG5cbi8vIHNyYy9FdmVudEVtaXR0ZXIudHNcbnZhciBFdmVudEVtaXR0ZXIgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY2FsbGJhY2tzID0ge307XG4gIH1cbiAgb24oZXZlbnQsIGZuKSB7XG4gICAgaWYgKCF0aGlzLmNhbGxiYWNrc1tldmVudF0pIHtcbiAgICAgIHRoaXMuY2FsbGJhY2tzW2V2ZW50XSA9IFtdO1xuICAgIH1cbiAgICB0aGlzLmNhbGxiYWNrc1tldmVudF0ucHVzaChmbik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgZW1pdChldmVudCwgLi4uYXJncykge1xuICAgIGNvbnN0IGNhbGxiYWNrcyA9IHRoaXMuY2FsbGJhY2tzW2V2ZW50XTtcbiAgICBpZiAoY2FsbGJhY2tzKSB7XG4gICAgICBjYWxsYmFja3MuZm9yRWFjaCgoY2FsbGJhY2spID0+IGNhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3MpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgb2ZmKGV2ZW50LCBmbikge1xuICAgIGNvbnN0IGNhbGxiYWNrcyA9IHRoaXMuY2FsbGJhY2tzW2V2ZW50XTtcbiAgICBpZiAoY2FsbGJhY2tzKSB7XG4gICAgICBpZiAoZm4pIHtcbiAgICAgICAgdGhpcy5jYWxsYmFja3NbZXZlbnRdID0gY2FsbGJhY2tzLmZpbHRlcigoY2FsbGJhY2spID0+IGNhbGxiYWNrICE9PSBmbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGUgdGhpcy5jYWxsYmFja3NbZXZlbnRdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICBvbmNlKGV2ZW50LCBmbikge1xuICAgIGNvbnN0IG9uY2VGbiA9ICguLi5hcmdzKSA9PiB7XG4gICAgICB0aGlzLm9mZihldmVudCwgb25jZUZuKTtcbiAgICAgIGZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH07XG4gICAgcmV0dXJuIHRoaXMub24oZXZlbnQsIG9uY2VGbik7XG4gIH1cbiAgcmVtb3ZlQWxsTGlzdGVuZXJzKCkge1xuICAgIHRoaXMuY2FsbGJhY2tzID0ge307XG4gIH1cbn07XG5cbi8vIHNyYy9FeHRlbnNpb25NYW5hZ2VyLnRzXG5pbXBvcnQgeyBrZXltYXAgfSBmcm9tIFwiQHRpcHRhcC9wbS9rZXltYXBcIjtcblxuLy8gc3JjL0lucHV0UnVsZS50c1xuaW1wb3J0IHsgRnJhZ21lbnQgYXMgRnJhZ21lbnQ0IH0gZnJvbSBcIkB0aXB0YXAvcG0vbW9kZWxcIjtcbmltcG9ydCB7IFBsdWdpbiB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG52YXIgSW5wdXRSdWxlID0gY2xhc3Mge1xuICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcbiAgICB2YXIgX2E7XG4gICAgdGhpcy5maW5kID0gY29uZmlnLmZpbmQ7XG4gICAgdGhpcy5oYW5kbGVyID0gY29uZmlnLmhhbmRsZXI7XG4gICAgdGhpcy51bmRvYWJsZSA9IChfYSA9IGNvbmZpZy51bmRvYWJsZSkgIT0gbnVsbCA/IF9hIDogdHJ1ZTtcbiAgfVxufTtcbnZhciBpbnB1dFJ1bGVNYXRjaGVySGFuZGxlciA9ICh0ZXh0LCBmaW5kKSA9PiB7XG4gIGlmIChpc1JlZ0V4cChmaW5kKSkge1xuICAgIHJldHVybiBmaW5kLmV4ZWModGV4dCk7XG4gIH1cbiAgY29uc3QgaW5wdXRSdWxlTWF0Y2ggPSBmaW5kKHRleHQpO1xuICBpZiAoIWlucHV0UnVsZU1hdGNoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0gW2lucHV0UnVsZU1hdGNoLnRleHRdO1xuICByZXN1bHQuaW5kZXggPSBpbnB1dFJ1bGVNYXRjaC5pbmRleDtcbiAgcmVzdWx0LmlucHV0ID0gdGV4dDtcbiAgcmVzdWx0LmRhdGEgPSBpbnB1dFJ1bGVNYXRjaC5kYXRhO1xuICBpZiAoaW5wdXRSdWxlTWF0Y2gucmVwbGFjZVdpdGgpIHtcbiAgICBpZiAoIWlucHV0UnVsZU1hdGNoLnRleHQuaW5jbHVkZXMoaW5wdXRSdWxlTWF0Y2gucmVwbGFjZVdpdGgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1t0aXB0YXAgd2Fybl06IFwiaW5wdXRSdWxlTWF0Y2gucmVwbGFjZVdpdGhcIiBtdXN0IGJlIHBhcnQgb2YgXCJpbnB1dFJ1bGVNYXRjaC50ZXh0XCIuJyk7XG4gICAgfVxuICAgIHJlc3VsdC5wdXNoKGlucHV0UnVsZU1hdGNoLnJlcGxhY2VXaXRoKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcbmZ1bmN0aW9uIHJ1bihjb25maWcpIHtcbiAgdmFyIF9hO1xuICBjb25zdCB7IGVkaXRvciwgZnJvbSwgdG8sIHRleHQsIHJ1bGVzLCBwbHVnaW4gfSA9IGNvbmZpZztcbiAgY29uc3QgeyB2aWV3IH0gPSBlZGl0b3I7XG4gIGlmICh2aWV3LmNvbXBvc2luZykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCAkZnJvbSA9IHZpZXcuc3RhdGUuZG9jLnJlc29sdmUoZnJvbSk7XG4gIGlmIChcbiAgICAvLyBjaGVjayBmb3IgY29kZSBub2RlXG4gICAgJGZyb20ucGFyZW50LnR5cGUuc3BlYy5jb2RlIHx8IC8vIGNoZWNrIGZvciBjb2RlIG1hcmtcbiAgICAhISgoX2EgPSAkZnJvbS5ub2RlQmVmb3JlIHx8ICRmcm9tLm5vZGVBZnRlcikgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLm1hcmtzLmZpbmQoKG1hcmspID0+IG1hcmsudHlwZS5zcGVjLmNvZGUpKVxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgbGV0IG1hdGNoZWQgPSBmYWxzZTtcbiAgY29uc3QgdGV4dEJlZm9yZSA9IGdldFRleHRDb250ZW50RnJvbU5vZGVzKCRmcm9tKSArIHRleHQ7XG4gIHJ1bGVzLmZvckVhY2goKHJ1bGUpID0+IHtcbiAgICBpZiAobWF0Y2hlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBtYXRjaCA9IGlucHV0UnVsZU1hdGNoZXJIYW5kbGVyKHRleHRCZWZvcmUsIHJ1bGUuZmluZCk7XG4gICAgaWYgKCFtYXRjaCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0ciA9IHZpZXcuc3RhdGUudHI7XG4gICAgY29uc3Qgc3RhdGUgPSBjcmVhdGVDaGFpbmFibGVTdGF0ZSh7XG4gICAgICBzdGF0ZTogdmlldy5zdGF0ZSxcbiAgICAgIHRyYW5zYWN0aW9uOiB0clxuICAgIH0pO1xuICAgIGNvbnN0IHJhbmdlID0ge1xuICAgICAgZnJvbTogZnJvbSAtIChtYXRjaFswXS5sZW5ndGggLSB0ZXh0Lmxlbmd0aCksXG4gICAgICB0b1xuICAgIH07XG4gICAgY29uc3QgeyBjb21tYW5kcywgY2hhaW4sIGNhbiB9ID0gbmV3IENvbW1hbmRNYW5hZ2VyKHtcbiAgICAgIGVkaXRvcixcbiAgICAgIHN0YXRlXG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlciA9IHJ1bGUuaGFuZGxlcih7XG4gICAgICBzdGF0ZSxcbiAgICAgIHJhbmdlLFxuICAgICAgbWF0Y2gsXG4gICAgICBjb21tYW5kcyxcbiAgICAgIGNoYWluLFxuICAgICAgY2FuXG4gICAgfSk7XG4gICAgaWYgKGhhbmRsZXIgPT09IG51bGwgfHwgIXRyLnN0ZXBzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAocnVsZS51bmRvYWJsZSkge1xuICAgICAgdHIuc2V0TWV0YShwbHVnaW4sIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cixcbiAgICAgICAgZnJvbSxcbiAgICAgICAgdG8sXG4gICAgICAgIHRleHRcbiAgICAgIH0pO1xuICAgIH1cbiAgICB2aWV3LmRpc3BhdGNoKHRyKTtcbiAgICBtYXRjaGVkID0gdHJ1ZTtcbiAgfSk7XG4gIHJldHVybiBtYXRjaGVkO1xufVxuZnVuY3Rpb24gaW5wdXRSdWxlc1BsdWdpbihwcm9wcykge1xuICBjb25zdCB7IGVkaXRvciwgcnVsZXMgfSA9IHByb3BzO1xuICBjb25zdCBwbHVnaW4gPSBuZXcgUGx1Z2luKHtcbiAgICBzdGF0ZToge1xuICAgICAgaW5pdCgpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9LFxuICAgICAgYXBwbHkodHIsIHByZXYsIHN0YXRlKSB7XG4gICAgICAgIGNvbnN0IHN0b3JlZCA9IHRyLmdldE1ldGEocGx1Z2luKTtcbiAgICAgICAgaWYgKHN0b3JlZCkge1xuICAgICAgICAgIHJldHVybiBzdG9yZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2ltdWxhdGVkSW5wdXRNZXRhID0gdHIuZ2V0TWV0YShcImFwcGx5SW5wdXRSdWxlc1wiKTtcbiAgICAgICAgY29uc3QgaXNTaW11bGF0ZWRJbnB1dCA9ICEhc2ltdWxhdGVkSW5wdXRNZXRhO1xuICAgICAgICBpZiAoaXNTaW11bGF0ZWRJbnB1dCkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgbGV0IHsgdGV4dCB9ID0gc2ltdWxhdGVkSW5wdXRNZXRhO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgIHRleHQgPSB0ZXh0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGV4dCA9IGdldEhUTUxGcm9tRnJhZ21lbnQoRnJhZ21lbnQ0LmZyb20odGV4dCksIHN0YXRlLnNjaGVtYSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB7IGZyb20gfSA9IHNpbXVsYXRlZElucHV0TWV0YTtcbiAgICAgICAgICAgIGNvbnN0IHRvID0gZnJvbSArIHRleHQubGVuZ3RoO1xuICAgICAgICAgICAgcnVuKHtcbiAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICBmcm9tLFxuICAgICAgICAgICAgICB0byxcbiAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgcnVsZXMsXG4gICAgICAgICAgICAgIHBsdWdpblxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyLnNlbGVjdGlvblNldCB8fCB0ci5kb2NDaGFuZ2VkID8gbnVsbCA6IHByZXY7XG4gICAgICB9XG4gICAgfSxcbiAgICBwcm9wczoge1xuICAgICAgaGFuZGxlVGV4dElucHV0KHZpZXcsIGZyb20sIHRvLCB0ZXh0KSB7XG4gICAgICAgIHJldHVybiBydW4oe1xuICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICBmcm9tLFxuICAgICAgICAgIHRvLFxuICAgICAgICAgIHRleHQsXG4gICAgICAgICAgcnVsZXMsXG4gICAgICAgICAgcGx1Z2luXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGhhbmRsZURPTUV2ZW50czoge1xuICAgICAgICBjb21wb3NpdGlvbmVuZDogKHZpZXcpID0+IHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgJGN1cnNvciB9ID0gdmlldy5zdGF0ZS5zZWxlY3Rpb247XG4gICAgICAgICAgICBpZiAoJGN1cnNvcikge1xuICAgICAgICAgICAgICBydW4oe1xuICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICBmcm9tOiAkY3Vyc29yLnBvcyxcbiAgICAgICAgICAgICAgICB0bzogJGN1cnNvci5wb3MsXG4gICAgICAgICAgICAgICAgdGV4dDogXCJcIixcbiAgICAgICAgICAgICAgICBydWxlcyxcbiAgICAgICAgICAgICAgICBwbHVnaW5cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8gYWRkIHN1cHBvcnQgZm9yIGlucHV0IHJ1bGVzIHRvIHRyaWdnZXIgb24gZW50ZXJcbiAgICAgIC8vIHRoaXMgaXMgdXNlZnVsIGZvciBleGFtcGxlIGZvciBjb2RlIGJsb2Nrc1xuICAgICAgaGFuZGxlS2V5RG93bih2aWV3LCBldmVudCkge1xuICAgICAgICBpZiAoZXZlbnQua2V5ICE9PSBcIkVudGVyXCIpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyAkY3Vyc29yIH0gPSB2aWV3LnN0YXRlLnNlbGVjdGlvbjtcbiAgICAgICAgaWYgKCRjdXJzb3IpIHtcbiAgICAgICAgICByZXR1cm4gcnVuKHtcbiAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgIGZyb206ICRjdXJzb3IucG9zLFxuICAgICAgICAgICAgdG86ICRjdXJzb3IucG9zLFxuICAgICAgICAgICAgdGV4dDogXCJcXG5cIixcbiAgICAgICAgICAgIHJ1bGVzLFxuICAgICAgICAgICAgcGx1Z2luXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlzSW5wdXRSdWxlczogdHJ1ZVxuICB9KTtcbiAgcmV0dXJuIHBsdWdpbjtcbn1cblxuLy8gc3JjL3V0aWxpdGllcy9pc1BsYWluT2JqZWN0LnRzXG5mdW5jdGlvbiBnZXRUeXBlKHZhbHVlKSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLnNsaWNlKDgsIC0xKTtcbn1cbmZ1bmN0aW9uIGlzUGxhaW5PYmplY3QodmFsdWUpIHtcbiAgaWYgKGdldFR5cGUodmFsdWUpICE9PSBcIk9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB2YWx1ZS5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0ICYmIE9iamVjdC5nZXRQcm90b3R5cGVPZih2YWx1ZSkgPT09IE9iamVjdC5wcm90b3R5cGU7XG59XG5cbi8vIHNyYy91dGlsaXRpZXMvbWVyZ2VEZWVwLnRzXG5mdW5jdGlvbiBtZXJnZURlZXAodGFyZ2V0LCBzb3VyY2UpIHtcbiAgY29uc3Qgb3V0cHV0ID0geyAuLi50YXJnZXQgfTtcbiAgaWYgKGlzUGxhaW5PYmplY3QodGFyZ2V0KSAmJiBpc1BsYWluT2JqZWN0KHNvdXJjZSkpIHtcbiAgICBPYmplY3Qua2V5cyhzb3VyY2UpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKGlzUGxhaW5PYmplY3Qoc291cmNlW2tleV0pICYmIGlzUGxhaW5PYmplY3QodGFyZ2V0W2tleV0pKSB7XG4gICAgICAgIG91dHB1dFtrZXldID0gbWVyZ2VEZWVwKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXRwdXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHJldHVybiBvdXRwdXQ7XG59XG5cbi8vIHNyYy9FeHRlbmRhYmxlLnRzXG52YXIgRXh0ZW5kYWJsZSA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IoY29uZmlnID0ge30pIHtcbiAgICB0aGlzLnR5cGUgPSBcImV4dGVuZGFibGVcIjtcbiAgICB0aGlzLnBhcmVudCA9IG51bGw7XG4gICAgdGhpcy5jaGlsZCA9IG51bGw7XG4gICAgdGhpcy5uYW1lID0gXCJcIjtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZVxuICAgIH07XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAuLi50aGlzLmNvbmZpZyxcbiAgICAgIC4uLmNvbmZpZ1xuICAgIH07XG4gICAgdGhpcy5uYW1lID0gdGhpcy5jb25maWcubmFtZTtcbiAgfVxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY2FsbE9yUmV0dXJuKFxuICAgICAgICBnZXRFeHRlbnNpb25GaWVsZCh0aGlzLCBcImFkZE9wdGlvbnNcIiwge1xuICAgICAgICAgIG5hbWU6IHRoaXMubmFtZVxuICAgICAgICB9KVxuICAgICAgKSB8fCB7fVxuICAgIH07XG4gIH1cbiAgZ2V0IHN0b3JhZ2UoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNhbGxPclJldHVybihcbiAgICAgICAgZ2V0RXh0ZW5zaW9uRmllbGQodGhpcywgXCJhZGRTdG9yYWdlXCIsIHtcbiAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zXG4gICAgICAgIH0pXG4gICAgICApIHx8IHt9XG4gICAgfTtcbiAgfVxuICBjb25maWd1cmUob3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gdGhpcy5leHRlbmQoe1xuICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgICBhZGRPcHRpb25zOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBtZXJnZURlZXAodGhpcy5vcHRpb25zLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBleHRlbnNpb24ubmFtZSA9IHRoaXMubmFtZTtcbiAgICBleHRlbnNpb24ucGFyZW50ID0gdGhpcy5wYXJlbnQ7XG4gICAgcmV0dXJuIGV4dGVuc2lvbjtcbiAgfVxuICBleHRlbmQoZXh0ZW5kZWRDb25maWcgPSB7fSkge1xuICAgIGNvbnN0IGV4dGVuc2lvbiA9IG5ldyB0aGlzLmNvbnN0cnVjdG9yKHsgLi4udGhpcy5jb25maWcsIC4uLmV4dGVuZGVkQ29uZmlnIH0pO1xuICAgIGV4dGVuc2lvbi5wYXJlbnQgPSB0aGlzO1xuICAgIHRoaXMuY2hpbGQgPSBleHRlbnNpb247XG4gICAgZXh0ZW5zaW9uLm5hbWUgPSBcIm5hbWVcIiBpbiBleHRlbmRlZENvbmZpZyA/IGV4dGVuZGVkQ29uZmlnLm5hbWUgOiBleHRlbnNpb24ucGFyZW50Lm5hbWU7XG4gICAgcmV0dXJuIGV4dGVuc2lvbjtcbiAgfVxufTtcblxuLy8gc3JjL01hcmsudHNcbnZhciBNYXJrID0gY2xhc3MgX01hcmsgZXh0ZW5kcyBFeHRlbmRhYmxlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICB0aGlzLnR5cGUgPSBcIm1hcmtcIjtcbiAgfVxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IE1hcmsgaW5zdGFuY2VcbiAgICogQHBhcmFtIGNvbmZpZyAtIE1hcmsgY29uZmlndXJhdGlvbiBvYmplY3Qgb3IgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjb25maWd1cmF0aW9uIG9iamVjdFxuICAgKi9cbiAgc3RhdGljIGNyZWF0ZShjb25maWcgPSB7fSkge1xuICAgIGNvbnN0IHJlc29sdmVkQ29uZmlnID0gdHlwZW9mIGNvbmZpZyA9PT0gXCJmdW5jdGlvblwiID8gY29uZmlnKCkgOiBjb25maWc7XG4gICAgcmV0dXJuIG5ldyBfTWFyayhyZXNvbHZlZENvbmZpZyk7XG4gIH1cbiAgc3RhdGljIGhhbmRsZUV4aXQoeyBlZGl0b3IsIG1hcmsgfSkge1xuICAgIGNvbnN0IHsgdHIgfSA9IGVkaXRvci5zdGF0ZTtcbiAgICBjb25zdCBjdXJyZW50UG9zID0gZWRpdG9yLnN0YXRlLnNlbGVjdGlvbi4kZnJvbTtcbiAgICBjb25zdCBpc0F0RW5kID0gY3VycmVudFBvcy5wb3MgPT09IGN1cnJlbnRQb3MuZW5kKCk7XG4gICAgaWYgKGlzQXRFbmQpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRNYXJrcyA9IGN1cnJlbnRQb3MubWFya3MoKTtcbiAgICAgIGNvbnN0IGlzSW5NYXJrID0gISFjdXJyZW50TWFya3MuZmluZCgobSkgPT4gKG0gPT0gbnVsbCA/IHZvaWQgMCA6IG0udHlwZS5uYW1lKSA9PT0gbWFyay5uYW1lKTtcbiAgICAgIGlmICghaXNJbk1hcmspIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVtb3ZlTWFyayA9IGN1cnJlbnRNYXJrcy5maW5kKChtKSA9PiAobSA9PSBudWxsID8gdm9pZCAwIDogbS50eXBlLm5hbWUpID09PSBtYXJrLm5hbWUpO1xuICAgICAgaWYgKHJlbW92ZU1hcmspIHtcbiAgICAgICAgdHIucmVtb3ZlU3RvcmVkTWFyayhyZW1vdmVNYXJrKTtcbiAgICAgIH1cbiAgICAgIHRyLmluc2VydFRleHQoXCIgXCIsIGN1cnJlbnRQb3MucG9zKTtcbiAgICAgIGVkaXRvci52aWV3LmRpc3BhdGNoKHRyKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uZmlndXJlKG9wdGlvbnMpIHtcbiAgICByZXR1cm4gc3VwZXIuY29uZmlndXJlKG9wdGlvbnMpO1xuICB9XG4gIGV4dGVuZChleHRlbmRlZENvbmZpZykge1xuICAgIGNvbnN0IHJlc29sdmVkQ29uZmlnID0gdHlwZW9mIGV4dGVuZGVkQ29uZmlnID09PSBcImZ1bmN0aW9uXCIgPyBleHRlbmRlZENvbmZpZygpIDogZXh0ZW5kZWRDb25maWc7XG4gICAgcmV0dXJuIHN1cGVyLmV4dGVuZChyZXNvbHZlZENvbmZpZyk7XG4gIH1cbn07XG5cbi8vIHNyYy9QYXN0ZVJ1bGUudHNcbmltcG9ydCB7IEZyYWdtZW50IGFzIEZyYWdtZW50NSB9IGZyb20gXCJAdGlwdGFwL3BtL21vZGVsXCI7XG5pbXBvcnQgeyBQbHVnaW4gYXMgUGx1Z2luMiB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG5cbi8vIHNyYy91dGlsaXRpZXMvaXNOdW1iZXIudHNcbmZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCI7XG59XG5cbi8vIHNyYy9QYXN0ZVJ1bGUudHNcbnZhciBQYXN0ZVJ1bGUgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKGNvbmZpZykge1xuICAgIHRoaXMuZmluZCA9IGNvbmZpZy5maW5kO1xuICAgIHRoaXMuaGFuZGxlciA9IGNvbmZpZy5oYW5kbGVyO1xuICB9XG59O1xudmFyIHBhc3RlUnVsZU1hdGNoZXJIYW5kbGVyID0gKHRleHQsIGZpbmQsIGV2ZW50KSA9PiB7XG4gIGlmIChpc1JlZ0V4cChmaW5kKSkge1xuICAgIHJldHVybiBbLi4udGV4dC5tYXRjaEFsbChmaW5kKV07XG4gIH1cbiAgY29uc3QgbWF0Y2hlcyA9IGZpbmQodGV4dCwgZXZlbnQpO1xuICBpZiAoIW1hdGNoZXMpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIG1hdGNoZXMubWFwKChwYXN0ZVJ1bGVNYXRjaCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtwYXN0ZVJ1bGVNYXRjaC50ZXh0XTtcbiAgICByZXN1bHQuaW5kZXggPSBwYXN0ZVJ1bGVNYXRjaC5pbmRleDtcbiAgICByZXN1bHQuaW5wdXQgPSB0ZXh0O1xuICAgIHJlc3VsdC5kYXRhID0gcGFzdGVSdWxlTWF0Y2guZGF0YTtcbiAgICBpZiAocGFzdGVSdWxlTWF0Y2gucmVwbGFjZVdpdGgpIHtcbiAgICAgIGlmICghcGFzdGVSdWxlTWF0Y2gudGV4dC5pbmNsdWRlcyhwYXN0ZVJ1bGVNYXRjaC5yZXBsYWNlV2l0aCkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdbdGlwdGFwIHdhcm5dOiBcInBhc3RlUnVsZU1hdGNoLnJlcGxhY2VXaXRoXCIgbXVzdCBiZSBwYXJ0IG9mIFwicGFzdGVSdWxlTWF0Y2gudGV4dFwiLicpO1xuICAgICAgfVxuICAgICAgcmVzdWx0LnB1c2gocGFzdGVSdWxlTWF0Y2gucmVwbGFjZVdpdGgpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcbn07XG5mdW5jdGlvbiBydW4yKGNvbmZpZykge1xuICBjb25zdCB7IGVkaXRvciwgc3RhdGUsIGZyb20sIHRvLCBydWxlLCBwYXN0ZUV2ZW50LCBkcm9wRXZlbnQgfSA9IGNvbmZpZztcbiAgY29uc3QgeyBjb21tYW5kcywgY2hhaW4sIGNhbiB9ID0gbmV3IENvbW1hbmRNYW5hZ2VyKHtcbiAgICBlZGl0b3IsXG4gICAgc3RhdGVcbiAgfSk7XG4gIGNvbnN0IGhhbmRsZXJzID0gW107XG4gIHN0YXRlLmRvYy5ub2Rlc0JldHdlZW4oZnJvbSwgdG8sIChub2RlLCBwb3MpID0+IHtcbiAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lO1xuICAgIGlmICgoKF9iID0gKF9hID0gbm9kZS50eXBlKSA9PSBudWxsID8gdm9pZCAwIDogX2Euc3BlYykgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLmNvZGUpIHx8ICEobm9kZS5pc1RleHQgfHwgbm9kZS5pc1RleHRibG9jayB8fCBub2RlLmlzSW5saW5lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjb250ZW50U2l6ZSA9IChfZSA9IChfZCA9IChfYyA9IG5vZGUuY29udGVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jLnNpemUpICE9IG51bGwgPyBfZCA6IG5vZGUubm9kZVNpemUpICE9IG51bGwgPyBfZSA6IDA7XG4gICAgY29uc3QgcmVzb2x2ZWRGcm9tID0gTWF0aC5tYXgoZnJvbSwgcG9zKTtcbiAgICBjb25zdCByZXNvbHZlZFRvID0gTWF0aC5taW4odG8sIHBvcyArIGNvbnRlbnRTaXplKTtcbiAgICBpZiAocmVzb2x2ZWRGcm9tID49IHJlc29sdmVkVG8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGV4dFRvTWF0Y2ggPSBub2RlLmlzVGV4dCA/IG5vZGUudGV4dCB8fCBcIlwiIDogbm9kZS50ZXh0QmV0d2VlbihyZXNvbHZlZEZyb20gLSBwb3MsIHJlc29sdmVkVG8gLSBwb3MsIHZvaWQgMCwgXCJcXHVGRkZDXCIpO1xuICAgIGNvbnN0IG1hdGNoZXMgPSBwYXN0ZVJ1bGVNYXRjaGVySGFuZGxlcih0ZXh0VG9NYXRjaCwgcnVsZS5maW5kLCBwYXN0ZUV2ZW50KTtcbiAgICBtYXRjaGVzLmZvckVhY2goKG1hdGNoKSA9PiB7XG4gICAgICBpZiAobWF0Y2guaW5kZXggPT09IHZvaWQgMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBzdGFydCA9IHJlc29sdmVkRnJvbSArIG1hdGNoLmluZGV4ICsgMTtcbiAgICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgbWF0Y2hbMF0ubGVuZ3RoO1xuICAgICAgY29uc3QgcmFuZ2UgPSB7XG4gICAgICAgIGZyb206IHN0YXRlLnRyLm1hcHBpbmcubWFwKHN0YXJ0KSxcbiAgICAgICAgdG86IHN0YXRlLnRyLm1hcHBpbmcubWFwKGVuZClcbiAgICAgIH07XG4gICAgICBjb25zdCBoYW5kbGVyID0gcnVsZS5oYW5kbGVyKHtcbiAgICAgICAgc3RhdGUsXG4gICAgICAgIHJhbmdlLFxuICAgICAgICBtYXRjaCxcbiAgICAgICAgY29tbWFuZHMsXG4gICAgICAgIGNoYWluLFxuICAgICAgICBjYW4sXG4gICAgICAgIHBhc3RlRXZlbnQsXG4gICAgICAgIGRyb3BFdmVudFxuICAgICAgfSk7XG4gICAgICBoYW5kbGVycy5wdXNoKGhhbmRsZXIpO1xuICAgIH0pO1xuICB9KTtcbiAgY29uc3Qgc3VjY2VzcyA9IGhhbmRsZXJzLmV2ZXJ5KChoYW5kbGVyKSA9PiBoYW5kbGVyICE9PSBudWxsKTtcbiAgcmV0dXJuIHN1Y2Nlc3M7XG59XG52YXIgdGlwdGFwRHJhZ0Zyb21PdGhlckVkaXRvciA9IG51bGw7XG52YXIgY3JlYXRlQ2xpcGJvYXJkUGFzdGVFdmVudCA9ICh0ZXh0KSA9PiB7XG4gIHZhciBfYTtcbiAgY29uc3QgZXZlbnQgPSBuZXcgQ2xpcGJvYXJkRXZlbnQoXCJwYXN0ZVwiLCB7XG4gICAgY2xpcGJvYXJkRGF0YTogbmV3IERhdGFUcmFuc2ZlcigpXG4gIH0pO1xuICAoX2EgPSBldmVudC5jbGlwYm9hcmREYXRhKSA9PSBudWxsID8gdm9pZCAwIDogX2Euc2V0RGF0YShcInRleHQvaHRtbFwiLCB0ZXh0KTtcbiAgcmV0dXJuIGV2ZW50O1xufTtcbmZ1bmN0aW9uIHBhc3RlUnVsZXNQbHVnaW4ocHJvcHMpIHtcbiAgY29uc3QgeyBlZGl0b3IsIHJ1bGVzIH0gPSBwcm9wcztcbiAgbGV0IGRyYWdTb3VyY2VFbGVtZW50ID0gbnVsbDtcbiAgbGV0IGlzUGFzdGVkRnJvbVByb3NlTWlycm9yID0gZmFsc2U7XG4gIGxldCBpc0Ryb3BwZWRGcm9tUHJvc2VNaXJyb3IgPSBmYWxzZTtcbiAgbGV0IHBhc3RlRXZlbnQgPSB0eXBlb2YgQ2xpcGJvYXJkRXZlbnQgIT09IFwidW5kZWZpbmVkXCIgPyBuZXcgQ2xpcGJvYXJkRXZlbnQoXCJwYXN0ZVwiKSA6IG51bGw7XG4gIGxldCBkcm9wRXZlbnQ7XG4gIHRyeSB7XG4gICAgZHJvcEV2ZW50ID0gdHlwZW9mIERyYWdFdmVudCAhPT0gXCJ1bmRlZmluZWRcIiA/IG5ldyBEcmFnRXZlbnQoXCJkcm9wXCIpIDogbnVsbDtcbiAgfSBjYXRjaCB7XG4gICAgZHJvcEV2ZW50ID0gbnVsbDtcbiAgfVxuICBjb25zdCBwcm9jZXNzRXZlbnQgPSAoe1xuICAgIHN0YXRlLFxuICAgIGZyb20sXG4gICAgdG8sXG4gICAgcnVsZSxcbiAgICBwYXN0ZUV2dFxuICB9KSA9PiB7XG4gICAgY29uc3QgdHIgPSBzdGF0ZS50cjtcbiAgICBjb25zdCBjaGFpbmFibGVTdGF0ZSA9IGNyZWF0ZUNoYWluYWJsZVN0YXRlKHtcbiAgICAgIHN0YXRlLFxuICAgICAgdHJhbnNhY3Rpb246IHRyXG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlciA9IHJ1bjIoe1xuICAgICAgZWRpdG9yLFxuICAgICAgc3RhdGU6IGNoYWluYWJsZVN0YXRlLFxuICAgICAgZnJvbTogTWF0aC5tYXgoZnJvbSAtIDEsIDApLFxuICAgICAgdG86IHRvLmIgLSAxLFxuICAgICAgcnVsZSxcbiAgICAgIHBhc3RlRXZlbnQ6IHBhc3RlRXZ0LFxuICAgICAgZHJvcEV2ZW50XG4gICAgfSk7XG4gICAgaWYgKCFoYW5kbGVyIHx8ICF0ci5zdGVwcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGRyb3BFdmVudCA9IHR5cGVvZiBEcmFnRXZlbnQgIT09IFwidW5kZWZpbmVkXCIgPyBuZXcgRHJhZ0V2ZW50KFwiZHJvcFwiKSA6IG51bGw7XG4gICAgfSBjYXRjaCB7XG4gICAgICBkcm9wRXZlbnQgPSBudWxsO1xuICAgIH1cbiAgICBwYXN0ZUV2ZW50ID0gdHlwZW9mIENsaXBib2FyZEV2ZW50ICE9PSBcInVuZGVmaW5lZFwiID8gbmV3IENsaXBib2FyZEV2ZW50KFwicGFzdGVcIikgOiBudWxsO1xuICAgIHJldHVybiB0cjtcbiAgfTtcbiAgY29uc3QgcGx1Z2lucyA9IHJ1bGVzLm1hcCgocnVsZSkgPT4ge1xuICAgIHJldHVybiBuZXcgUGx1Z2luMih7XG4gICAgICAvLyB3ZSByZWdpc3RlciBhIGdsb2JhbCBkcmFnIGhhbmRsZXIgdG8gdHJhY2sgdGhlIGN1cnJlbnQgZHJhZyBzb3VyY2UgZWxlbWVudFxuICAgICAgdmlldyh2aWV3KSB7XG4gICAgICAgIGNvbnN0IGhhbmRsZURyYWdzdGFydCA9IChldmVudCkgPT4ge1xuICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICBkcmFnU291cmNlRWxlbWVudCA9ICgoX2EgPSB2aWV3LmRvbS5wYXJlbnRFbGVtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX2EuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkgPyB2aWV3LmRvbS5wYXJlbnRFbGVtZW50IDogbnVsbDtcbiAgICAgICAgICBpZiAoZHJhZ1NvdXJjZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRpcHRhcERyYWdGcm9tT3RoZXJFZGl0b3IgPSBlZGl0b3I7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBoYW5kbGVEcmFnZW5kID0gKCkgPT4ge1xuICAgICAgICAgIGlmICh0aXB0YXBEcmFnRnJvbU90aGVyRWRpdG9yKSB7XG4gICAgICAgICAgICB0aXB0YXBEcmFnRnJvbU90aGVyRWRpdG9yID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZHJhZ3N0YXJ0XCIsIGhhbmRsZURyYWdzdGFydCk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZHJhZ2VuZFwiLCBoYW5kbGVEcmFnZW5kKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkZXN0cm95KCkge1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJkcmFnc3RhcnRcIiwgaGFuZGxlRHJhZ3N0YXJ0KTtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwiZHJhZ2VuZFwiLCBoYW5kbGVEcmFnZW5kKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgcHJvcHM6IHtcbiAgICAgICAgaGFuZGxlRE9NRXZlbnRzOiB7XG4gICAgICAgICAgZHJvcDogKHZpZXcsIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpc0Ryb3BwZWRGcm9tUHJvc2VNaXJyb3IgPSBkcmFnU291cmNlRWxlbWVudCA9PT0gdmlldy5kb20ucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIGRyb3BFdmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgaWYgKCFpc0Ryb3BwZWRGcm9tUHJvc2VNaXJyb3IpIHtcbiAgICAgICAgICAgICAgY29uc3QgZHJhZ0Zyb21PdGhlckVkaXRvciA9IHRpcHRhcERyYWdGcm9tT3RoZXJFZGl0b3I7XG4gICAgICAgICAgICAgIGlmIChkcmFnRnJvbU90aGVyRWRpdG9yID09IG51bGwgPyB2b2lkIDAgOiBkcmFnRnJvbU90aGVyRWRpdG9yLmlzRWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IGRyYWdGcm9tT3RoZXJFZGl0b3Iuc3RhdGUuc2VsZWN0aW9uO1xuICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBkcmFnRnJvbU90aGVyRWRpdG9yLmNvbW1hbmRzLmRlbGV0ZVJhbmdlKHsgZnJvbTogc2VsZWN0aW9uLmZyb20sIHRvOiBzZWxlY3Rpb24udG8gfSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgMTApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYXN0ZTogKF92aWV3LCBldmVudCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3QgaHRtbCA9IChfYSA9IGV2ZW50LmNsaXBib2FyZERhdGEpID09IG51bGwgPyB2b2lkIDAgOiBfYS5nZXREYXRhKFwidGV4dC9odG1sXCIpO1xuICAgICAgICAgICAgcGFzdGVFdmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgaXNQYXN0ZWRGcm9tUHJvc2VNaXJyb3IgPSAhIShodG1sID09IG51bGwgPyB2b2lkIDAgOiBodG1sLmluY2x1ZGVzKFwiZGF0YS1wbS1zbGljZVwiKSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgYXBwZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbnMsIG9sZFN0YXRlLCBzdGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uc1swXTtcbiAgICAgICAgY29uc3QgaXNQYXN0ZSA9IHRyYW5zYWN0aW9uLmdldE1ldGEoXCJ1aUV2ZW50XCIpID09PSBcInBhc3RlXCIgJiYgIWlzUGFzdGVkRnJvbVByb3NlTWlycm9yO1xuICAgICAgICBjb25zdCBpc0Ryb3AgPSB0cmFuc2FjdGlvbi5nZXRNZXRhKFwidWlFdmVudFwiKSA9PT0gXCJkcm9wXCIgJiYgIWlzRHJvcHBlZEZyb21Qcm9zZU1pcnJvcjtcbiAgICAgICAgY29uc3Qgc2ltdWxhdGVkUGFzdGVNZXRhID0gdHJhbnNhY3Rpb24uZ2V0TWV0YShcImFwcGx5UGFzdGVSdWxlc1wiKTtcbiAgICAgICAgY29uc3QgaXNTaW11bGF0ZWRQYXN0ZSA9ICEhc2ltdWxhdGVkUGFzdGVNZXRhO1xuICAgICAgICBpZiAoIWlzUGFzdGUgJiYgIWlzRHJvcCAmJiAhaXNTaW11bGF0ZWRQYXN0ZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNTaW11bGF0ZWRQYXN0ZSkge1xuICAgICAgICAgIGxldCB7IHRleHQgfSA9IHNpbXVsYXRlZFBhc3RlTWV0YTtcbiAgICAgICAgICBpZiAodHlwZW9mIHRleHQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHRleHQgPSB0ZXh0O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0ZXh0ID0gZ2V0SFRNTEZyb21GcmFnbWVudChGcmFnbWVudDUuZnJvbSh0ZXh0KSwgc3RhdGUuc2NoZW1hKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgeyBmcm9tOiBmcm9tMiB9ID0gc2ltdWxhdGVkUGFzdGVNZXRhO1xuICAgICAgICAgIGNvbnN0IHRvMiA9IGZyb20yICsgdGV4dC5sZW5ndGg7XG4gICAgICAgICAgY29uc3QgcGFzdGVFdnQgPSBjcmVhdGVDbGlwYm9hcmRQYXN0ZUV2ZW50KHRleHQpO1xuICAgICAgICAgIHJldHVybiBwcm9jZXNzRXZlbnQoe1xuICAgICAgICAgICAgcnVsZSxcbiAgICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgICAgZnJvbTogZnJvbTIsXG4gICAgICAgICAgICB0bzogeyBiOiB0bzIgfSxcbiAgICAgICAgICAgIHBhc3RlRXZ0XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZnJvbSA9IG9sZFN0YXRlLmRvYy5jb250ZW50LmZpbmREaWZmU3RhcnQoc3RhdGUuZG9jLmNvbnRlbnQpO1xuICAgICAgICBjb25zdCB0byA9IG9sZFN0YXRlLmRvYy5jb250ZW50LmZpbmREaWZmRW5kKHN0YXRlLmRvYy5jb250ZW50KTtcbiAgICAgICAgaWYgKCFpc051bWJlcihmcm9tKSB8fCAhdG8gfHwgZnJvbSA9PT0gdG8uYikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJvY2Vzc0V2ZW50KHtcbiAgICAgICAgICBydWxlLFxuICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgIGZyb20sXG4gICAgICAgICAgdG8sXG4gICAgICAgICAgcGFzdGVFdnQ6IHBhc3RlRXZlbnRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gcGx1Z2lucztcbn1cblxuLy8gc3JjL0V4dGVuc2lvbk1hbmFnZXIudHNcbnZhciBFeHRlbnNpb25NYW5hZ2VyID0gY2xhc3Mge1xuICBjb25zdHJ1Y3RvcihleHRlbnNpb25zLCBlZGl0b3IpIHtcbiAgICB0aGlzLnNwbGl0dGFibGVNYXJrcyA9IFtdO1xuICAgIHRoaXMuZWRpdG9yID0gZWRpdG9yO1xuICAgIHRoaXMuYmFzZUV4dGVuc2lvbnMgPSBleHRlbnNpb25zO1xuICAgIHRoaXMuZXh0ZW5zaW9ucyA9IHJlc29sdmVFeHRlbnNpb25zKGV4dGVuc2lvbnMpO1xuICAgIHRoaXMuc2NoZW1hID0gZ2V0U2NoZW1hQnlSZXNvbHZlZEV4dGVuc2lvbnModGhpcy5leHRlbnNpb25zLCBlZGl0b3IpO1xuICAgIHRoaXMuc2V0dXBFeHRlbnNpb25zKCk7XG4gIH1cbiAgLyoqXG4gICAqIEdldCBhbGwgY29tbWFuZHMgZnJvbSB0aGUgZXh0ZW5zaW9ucy5cbiAgICogQHJldHVybnMgQW4gb2JqZWN0IHdpdGggYWxsIGNvbW1hbmRzIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGNvbW1hbmQgbmFtZSBhbmQgdGhlIHZhbHVlIGlzIHRoZSBjb21tYW5kIGZ1bmN0aW9uXG4gICAqL1xuICBnZXQgY29tbWFuZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5zaW9ucy5yZWR1Y2UoKGNvbW1hbmRzLCBleHRlbnNpb24pID0+IHtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAgIG5hbWU6IGV4dGVuc2lvbi5uYW1lLFxuICAgICAgICBvcHRpb25zOiBleHRlbnNpb24ub3B0aW9ucyxcbiAgICAgICAgc3RvcmFnZTogdGhpcy5lZGl0b3IuZXh0ZW5zaW9uU3RvcmFnZVtleHRlbnNpb24ubmFtZV0sXG4gICAgICAgIGVkaXRvcjogdGhpcy5lZGl0b3IsXG4gICAgICAgIHR5cGU6IGdldFNjaGVtYVR5cGVCeU5hbWUoZXh0ZW5zaW9uLm5hbWUsIHRoaXMuc2NoZW1hKVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGFkZENvbW1hbmRzID0gZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcImFkZENvbW1hbmRzXCIsIGNvbnRleHQpO1xuICAgICAgaWYgKCFhZGRDb21tYW5kcykge1xuICAgICAgICByZXR1cm4gY29tbWFuZHM7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jb21tYW5kcyxcbiAgICAgICAgLi4uYWRkQ29tbWFuZHMoKVxuICAgICAgfTtcbiAgICB9LCB7fSk7XG4gIH1cbiAgLyoqXG4gICAqIEdldCBhbGwgcmVnaXN0ZXJlZCBQcm9zZW1pcnJvciBwbHVnaW5zIGZyb20gdGhlIGV4dGVuc2lvbnMuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIFByb3NlbWlycm9yIHBsdWdpbnNcbiAgICovXG4gIGdldCBwbHVnaW5zKCkge1xuICAgIGNvbnN0IHsgZWRpdG9yIH0gPSB0aGlzO1xuICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBzb3J0RXh0ZW5zaW9ucyhbLi4udGhpcy5leHRlbnNpb25zXS5yZXZlcnNlKCkpO1xuICAgIGNvbnN0IGFsbFBsdWdpbnMgPSBleHRlbnNpb25zLmZsYXRNYXAoKGV4dGVuc2lvbikgPT4ge1xuICAgICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgICAgbmFtZTogZXh0ZW5zaW9uLm5hbWUsXG4gICAgICAgIG9wdGlvbnM6IGV4dGVuc2lvbi5vcHRpb25zLFxuICAgICAgICBzdG9yYWdlOiB0aGlzLmVkaXRvci5leHRlbnNpb25TdG9yYWdlW2V4dGVuc2lvbi5uYW1lXSxcbiAgICAgICAgZWRpdG9yLFxuICAgICAgICB0eXBlOiBnZXRTY2hlbWFUeXBlQnlOYW1lKGV4dGVuc2lvbi5uYW1lLCB0aGlzLnNjaGVtYSlcbiAgICAgIH07XG4gICAgICBjb25zdCBwbHVnaW5zID0gW107XG4gICAgICBjb25zdCBhZGRLZXlib2FyZFNob3J0Y3V0cyA9IGdldEV4dGVuc2lvbkZpZWxkKFxuICAgICAgICBleHRlbnNpb24sXG4gICAgICAgIFwiYWRkS2V5Ym9hcmRTaG9ydGN1dHNcIixcbiAgICAgICAgY29udGV4dFxuICAgICAgKTtcbiAgICAgIGxldCBkZWZhdWx0QmluZGluZ3MgPSB7fTtcbiAgICAgIGlmIChleHRlbnNpb24udHlwZSA9PT0gXCJtYXJrXCIgJiYgZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcImV4aXRhYmxlXCIsIGNvbnRleHQpKSB7XG4gICAgICAgIGRlZmF1bHRCaW5kaW5ncy5BcnJvd1JpZ2h0ID0gKCkgPT4gTWFyay5oYW5kbGVFeGl0KHsgZWRpdG9yLCBtYXJrOiBleHRlbnNpb24gfSk7XG4gICAgICB9XG4gICAgICBpZiAoYWRkS2V5Ym9hcmRTaG9ydGN1dHMpIHtcbiAgICAgICAgY29uc3QgYmluZGluZ3MgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKSkubWFwKChbc2hvcnRjdXQsIG1ldGhvZF0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBbc2hvcnRjdXQsICgpID0+IG1ldGhvZCh7IGVkaXRvciB9KV07XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgZGVmYXVsdEJpbmRpbmdzID0geyAuLi5kZWZhdWx0QmluZGluZ3MsIC4uLmJpbmRpbmdzIH07XG4gICAgICB9XG4gICAgICBjb25zdCBrZXlNYXBQbHVnaW4gPSBrZXltYXAoZGVmYXVsdEJpbmRpbmdzKTtcbiAgICAgIHBsdWdpbnMucHVzaChrZXlNYXBQbHVnaW4pO1xuICAgICAgY29uc3QgYWRkSW5wdXRSdWxlcyA9IGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJhZGRJbnB1dFJ1bGVzXCIsIGNvbnRleHQpO1xuICAgICAgaWYgKGlzRXh0ZW5zaW9uUnVsZXNFbmFibGVkKGV4dGVuc2lvbiwgZWRpdG9yLm9wdGlvbnMuZW5hYmxlSW5wdXRSdWxlcykgJiYgYWRkSW5wdXRSdWxlcykge1xuICAgICAgICBjb25zdCBydWxlcyA9IGFkZElucHV0UnVsZXMoKTtcbiAgICAgICAgaWYgKHJ1bGVzICYmIHJ1bGVzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IGlucHV0UmVzdWx0ID0gaW5wdXRSdWxlc1BsdWdpbih7XG4gICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICBydWxlc1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnN0IGlucHV0UGx1Z2lucyA9IEFycmF5LmlzQXJyYXkoaW5wdXRSZXN1bHQpID8gaW5wdXRSZXN1bHQgOiBbaW5wdXRSZXN1bHRdO1xuICAgICAgICAgIHBsdWdpbnMucHVzaCguLi5pbnB1dFBsdWdpbnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBhZGRQYXN0ZVJ1bGVzID0gZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcImFkZFBhc3RlUnVsZXNcIiwgY29udGV4dCk7XG4gICAgICBpZiAoaXNFeHRlbnNpb25SdWxlc0VuYWJsZWQoZXh0ZW5zaW9uLCBlZGl0b3Iub3B0aW9ucy5lbmFibGVQYXN0ZVJ1bGVzKSAmJiBhZGRQYXN0ZVJ1bGVzKSB7XG4gICAgICAgIGNvbnN0IHJ1bGVzID0gYWRkUGFzdGVSdWxlcygpO1xuICAgICAgICBpZiAocnVsZXMgJiYgcnVsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgcGFzdGVSdWxlcyA9IHBhc3RlUnVsZXNQbHVnaW4oeyBlZGl0b3IsIHJ1bGVzIH0pO1xuICAgICAgICAgIHBsdWdpbnMucHVzaCguLi5wYXN0ZVJ1bGVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgYWRkUHJvc2VNaXJyb3JQbHVnaW5zID0gZ2V0RXh0ZW5zaW9uRmllbGQoXG4gICAgICAgIGV4dGVuc2lvbixcbiAgICAgICAgXCJhZGRQcm9zZU1pcnJvclBsdWdpbnNcIixcbiAgICAgICAgY29udGV4dFxuICAgICAgKTtcbiAgICAgIGlmIChhZGRQcm9zZU1pcnJvclBsdWdpbnMpIHtcbiAgICAgICAgY29uc3QgcHJvc2VNaXJyb3JQbHVnaW5zID0gYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCk7XG4gICAgICAgIHBsdWdpbnMucHVzaCguLi5wcm9zZU1pcnJvclBsdWdpbnMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBsdWdpbnM7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFsbFBsdWdpbnM7XG4gIH1cbiAgLyoqXG4gICAqIEdldCBhbGwgYXR0cmlidXRlcyBmcm9tIHRoZSBleHRlbnNpb25zLlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBhdHRyaWJ1dGVzXG4gICAqL1xuICBnZXQgYXR0cmlidXRlcygpIHtcbiAgICByZXR1cm4gZ2V0QXR0cmlidXRlc0Zyb21FeHRlbnNpb25zKHRoaXMuZXh0ZW5zaW9ucyk7XG4gIH1cbiAgLyoqXG4gICAqIEdldCBhbGwgbm9kZSB2aWV3cyBmcm9tIHRoZSBleHRlbnNpb25zLlxuICAgKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCBhbGwgbm9kZSB2aWV3cyB3aGVyZSB0aGUga2V5IGlzIHRoZSBub2RlIG5hbWUgYW5kIHRoZSB2YWx1ZSBpcyB0aGUgbm9kZSB2aWV3IGZ1bmN0aW9uXG4gICAqL1xuICBnZXQgbm9kZVZpZXdzKCkge1xuICAgIGNvbnN0IHsgZWRpdG9yIH0gPSB0aGlzO1xuICAgIGNvbnN0IHsgbm9kZUV4dGVuc2lvbnMgfSA9IHNwbGl0RXh0ZW5zaW9ucyh0aGlzLmV4dGVuc2lvbnMpO1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBub2RlRXh0ZW5zaW9ucy5maWx0ZXIoKGV4dGVuc2lvbikgPT4gISFnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwiYWRkTm9kZVZpZXdcIikpLm1hcCgoZXh0ZW5zaW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbkF0dHJpYnV0ZXMgPSB0aGlzLmF0dHJpYnV0ZXMuZmlsdGVyKChhdHRyaWJ1dGUpID0+IGF0dHJpYnV0ZS50eXBlID09PSBleHRlbnNpb24ubmFtZSk7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAgICAgbmFtZTogZXh0ZW5zaW9uLm5hbWUsXG4gICAgICAgICAgb3B0aW9uczogZXh0ZW5zaW9uLm9wdGlvbnMsXG4gICAgICAgICAgc3RvcmFnZTogdGhpcy5lZGl0b3IuZXh0ZW5zaW9uU3RvcmFnZVtleHRlbnNpb24ubmFtZV0sXG4gICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgIHR5cGU6IGdldE5vZGVUeXBlKGV4dGVuc2lvbi5uYW1lLCB0aGlzLnNjaGVtYSlcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYWRkTm9kZVZpZXcgPSBnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwiYWRkTm9kZVZpZXdcIiwgY29udGV4dCk7XG4gICAgICAgIGlmICghYWRkTm9kZVZpZXcpIHtcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9kZVZpZXdSZXN1bHQgPSBhZGROb2RlVmlldygpO1xuICAgICAgICBpZiAoIW5vZGVWaWV3UmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5vZGV2aWV3ID0gKG5vZGUsIHZpZXcsIGdldFBvcywgZGVjb3JhdGlvbnMsIGlubmVyRGVjb3JhdGlvbnMpID0+IHtcbiAgICAgICAgICBjb25zdCBIVE1MQXR0cmlidXRlcyA9IGdldFJlbmRlcmVkQXR0cmlidXRlcyhub2RlLCBleHRlbnNpb25BdHRyaWJ1dGVzKTtcbiAgICAgICAgICByZXR1cm4gbm9kZVZpZXdSZXN1bHQoe1xuICAgICAgICAgICAgLy8gcGFzcy10aHJvdWdoXG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgdmlldyxcbiAgICAgICAgICAgIGdldFBvcyxcbiAgICAgICAgICAgIGRlY29yYXRpb25zLFxuICAgICAgICAgICAgaW5uZXJEZWNvcmF0aW9ucyxcbiAgICAgICAgICAgIC8vIHRpcHRhcC1zcGVjaWZpY1xuICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgZXh0ZW5zaW9uLFxuICAgICAgICAgICAgSFRNTEF0dHJpYnV0ZXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIFtleHRlbnNpb24ubmFtZSwgbm9kZXZpZXddO1xuICAgICAgfSlcbiAgICApO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbXBvc2VkIGRpc3BhdGNoVHJhbnNhY3Rpb24gZnVuY3Rpb24gZnJvbSBhbGwgZXh0ZW5zaW9ucy5cbiAgICogQHBhcmFtIGJhc2VEaXNwYXRjaCBUaGUgYmFzZSBkaXNwYXRjaCBmdW5jdGlvbiAoZS5nLiBmcm9tIHRoZSBlZGl0b3Igb3IgdXNlciBwcm9wcylcbiAgICogQHJldHVybnMgQSBjb21wb3NlZCBkaXNwYXRjaCBmdW5jdGlvblxuICAgKi9cbiAgZGlzcGF0Y2hUcmFuc2FjdGlvbihiYXNlRGlzcGF0Y2gpIHtcbiAgICBjb25zdCB7IGVkaXRvciB9ID0gdGhpcztcbiAgICBjb25zdCBleHRlbnNpb25zID0gc29ydEV4dGVuc2lvbnMoWy4uLnRoaXMuZXh0ZW5zaW9uc10ucmV2ZXJzZSgpKTtcbiAgICByZXR1cm4gZXh0ZW5zaW9ucy5yZWR1Y2VSaWdodCgobmV4dCwgZXh0ZW5zaW9uKSA9PiB7XG4gICAgICBjb25zdCBjb250ZXh0ID0ge1xuICAgICAgICBuYW1lOiBleHRlbnNpb24ubmFtZSxcbiAgICAgICAgb3B0aW9uczogZXh0ZW5zaW9uLm9wdGlvbnMsXG4gICAgICAgIHN0b3JhZ2U6IHRoaXMuZWRpdG9yLmV4dGVuc2lvblN0b3JhZ2VbZXh0ZW5zaW9uLm5hbWVdLFxuICAgICAgICBlZGl0b3IsXG4gICAgICAgIHR5cGU6IGdldFNjaGVtYVR5cGVCeU5hbWUoZXh0ZW5zaW9uLm5hbWUsIHRoaXMuc2NoZW1hKVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGRpc3BhdGNoVHJhbnNhY3Rpb24gPSBnZXRFeHRlbnNpb25GaWVsZChcbiAgICAgICAgZXh0ZW5zaW9uLFxuICAgICAgICBcImRpc3BhdGNoVHJhbnNhY3Rpb25cIixcbiAgICAgICAgY29udGV4dFxuICAgICAgKTtcbiAgICAgIGlmICghZGlzcGF0Y2hUcmFuc2FjdGlvbikge1xuICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAodHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgZGlzcGF0Y2hUcmFuc2FjdGlvbi5jYWxsKGNvbnRleHQsIHsgdHJhbnNhY3Rpb24sIG5leHQgfSk7XG4gICAgICB9O1xuICAgIH0sIGJhc2VEaXNwYXRjaCk7XG4gIH1cbiAgZ2V0IG1hcmtWaWV3cygpIHtcbiAgICBjb25zdCB7IGVkaXRvciB9ID0gdGhpcztcbiAgICBjb25zdCB7IG1hcmtFeHRlbnNpb25zIH0gPSBzcGxpdEV4dGVuc2lvbnModGhpcy5leHRlbnNpb25zKTtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgbWFya0V4dGVuc2lvbnMuZmlsdGVyKChleHRlbnNpb24pID0+ICEhZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcImFkZE1hcmtWaWV3XCIpKS5tYXAoKGV4dGVuc2lvbikgPT4ge1xuICAgICAgICBjb25zdCBleHRlbnNpb25BdHRyaWJ1dGVzID0gdGhpcy5hdHRyaWJ1dGVzLmZpbHRlcigoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUudHlwZSA9PT0gZXh0ZW5zaW9uLm5hbWUpO1xuICAgICAgICBjb25zdCBjb250ZXh0ID0ge1xuICAgICAgICAgIG5hbWU6IGV4dGVuc2lvbi5uYW1lLFxuICAgICAgICAgIG9wdGlvbnM6IGV4dGVuc2lvbi5vcHRpb25zLFxuICAgICAgICAgIHN0b3JhZ2U6IHRoaXMuZWRpdG9yLmV4dGVuc2lvblN0b3JhZ2VbZXh0ZW5zaW9uLm5hbWVdLFxuICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICB0eXBlOiBnZXRNYXJrVHlwZShleHRlbnNpb24ubmFtZSwgdGhpcy5zY2hlbWEpXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGFkZE1hcmtWaWV3ID0gZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcImFkZE1hcmtWaWV3XCIsIGNvbnRleHQpO1xuICAgICAgICBpZiAoIWFkZE1hcmtWaWV3KSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hcmtWaWV3ID0gKG1hcmssIHZpZXcsIGlubGluZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IEhUTUxBdHRyaWJ1dGVzID0gZ2V0UmVuZGVyZWRBdHRyaWJ1dGVzKG1hcmssIGV4dGVuc2lvbkF0dHJpYnV0ZXMpO1xuICAgICAgICAgIHJldHVybiBhZGRNYXJrVmlldygpKHtcbiAgICAgICAgICAgIC8vIHBhc3MtdGhyb3VnaFxuICAgICAgICAgICAgbWFyayxcbiAgICAgICAgICAgIHZpZXcsXG4gICAgICAgICAgICBpbmxpbmUsXG4gICAgICAgICAgICAvLyB0aXB0YXAtc3BlY2lmaWNcbiAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgIGV4dGVuc2lvbixcbiAgICAgICAgICAgIEhUTUxBdHRyaWJ1dGVzLFxuICAgICAgICAgICAgdXBkYXRlQXR0cmlidXRlczogKGF0dHJzKSA9PiB7XG4gICAgICAgICAgICAgIHVwZGF0ZU1hcmtWaWV3QXR0cmlidXRlcyhtYXJrLCBlZGl0b3IsIGF0dHJzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIFtleHRlbnNpb24ubmFtZSwgbWFya1ZpZXddO1xuICAgICAgfSlcbiAgICApO1xuICB9XG4gIC8qKlxuICAgKiBHbyB0aHJvdWdoIGFsbCBleHRlbnNpb25zLCBjcmVhdGUgZXh0ZW5zaW9uIHN0b3JhZ2VzICYgc2V0dXAgbWFya3NcbiAgICogJiBiaW5kIGVkaXRvciBldmVudCBsaXN0ZW5lci5cbiAgICovXG4gIHNldHVwRXh0ZW5zaW9ucygpIHtcbiAgICBjb25zdCBleHRlbnNpb25zID0gdGhpcy5leHRlbnNpb25zO1xuICAgIHRoaXMuZWRpdG9yLmV4dGVuc2lvblN0b3JhZ2UgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBleHRlbnNpb25zLm1hcCgoZXh0ZW5zaW9uKSA9PiBbZXh0ZW5zaW9uLm5hbWUsIGV4dGVuc2lvbi5zdG9yYWdlXSlcbiAgICApO1xuICAgIGV4dGVuc2lvbnMuZm9yRWFjaCgoZXh0ZW5zaW9uKSA9PiB7XG4gICAgICB2YXIgX2E7XG4gICAgICBjb25zdCBjb250ZXh0ID0ge1xuICAgICAgICBuYW1lOiBleHRlbnNpb24ubmFtZSxcbiAgICAgICAgb3B0aW9uczogZXh0ZW5zaW9uLm9wdGlvbnMsXG4gICAgICAgIHN0b3JhZ2U6IHRoaXMuZWRpdG9yLmV4dGVuc2lvblN0b3JhZ2VbZXh0ZW5zaW9uLm5hbWVdLFxuICAgICAgICBlZGl0b3I6IHRoaXMuZWRpdG9yLFxuICAgICAgICB0eXBlOiBnZXRTY2hlbWFUeXBlQnlOYW1lKGV4dGVuc2lvbi5uYW1lLCB0aGlzLnNjaGVtYSlcbiAgICAgIH07XG4gICAgICBpZiAoZXh0ZW5zaW9uLnR5cGUgPT09IFwibWFya1wiKSB7XG4gICAgICAgIGNvbnN0IGtlZXBPblNwbGl0ID0gKF9hID0gY2FsbE9yUmV0dXJuKGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJrZWVwT25TcGxpdFwiLCBjb250ZXh0KSkpICE9IG51bGwgPyBfYSA6IHRydWU7XG4gICAgICAgIGlmIChrZWVwT25TcGxpdCkge1xuICAgICAgICAgIHRoaXMuc3BsaXR0YWJsZU1hcmtzLnB1c2goZXh0ZW5zaW9uLm5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBvbkJlZm9yZUNyZWF0ZSA9IGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJvbkJlZm9yZUNyZWF0ZVwiLCBjb250ZXh0KTtcbiAgICAgIGNvbnN0IG9uQ3JlYXRlID0gZ2V0RXh0ZW5zaW9uRmllbGQoZXh0ZW5zaW9uLCBcIm9uQ3JlYXRlXCIsIGNvbnRleHQpO1xuICAgICAgY29uc3Qgb25VcGRhdGUgPSBnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwib25VcGRhdGVcIiwgY29udGV4dCk7XG4gICAgICBjb25zdCBvblNlbGVjdGlvblVwZGF0ZSA9IGdldEV4dGVuc2lvbkZpZWxkKFxuICAgICAgICBleHRlbnNpb24sXG4gICAgICAgIFwib25TZWxlY3Rpb25VcGRhdGVcIixcbiAgICAgICAgY29udGV4dFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG9uVHJhbnNhY3Rpb24gPSBnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwib25UcmFuc2FjdGlvblwiLCBjb250ZXh0KTtcbiAgICAgIGNvbnN0IG9uRm9jdXMgPSBnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwib25Gb2N1c1wiLCBjb250ZXh0KTtcbiAgICAgIGNvbnN0IG9uQmx1ciA9IGdldEV4dGVuc2lvbkZpZWxkKGV4dGVuc2lvbiwgXCJvbkJsdXJcIiwgY29udGV4dCk7XG4gICAgICBjb25zdCBvbkRlc3Ryb3kgPSBnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwib25EZXN0cm95XCIsIGNvbnRleHQpO1xuICAgICAgaWYgKG9uQmVmb3JlQ3JlYXRlKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yLm9uKFwiYmVmb3JlQ3JlYXRlXCIsIG9uQmVmb3JlQ3JlYXRlKTtcbiAgICAgIH1cbiAgICAgIGlmIChvbkNyZWF0ZSkge1xuICAgICAgICB0aGlzLmVkaXRvci5vbihcImNyZWF0ZVwiLCBvbkNyZWF0ZSk7XG4gICAgICB9XG4gICAgICBpZiAob25VcGRhdGUpIHtcbiAgICAgICAgdGhpcy5lZGl0b3Iub24oXCJ1cGRhdGVcIiwgb25VcGRhdGUpO1xuICAgICAgfVxuICAgICAgaWYgKG9uU2VsZWN0aW9uVXBkYXRlKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yLm9uKFwic2VsZWN0aW9uVXBkYXRlXCIsIG9uU2VsZWN0aW9uVXBkYXRlKTtcbiAgICAgIH1cbiAgICAgIGlmIChvblRyYW5zYWN0aW9uKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yLm9uKFwidHJhbnNhY3Rpb25cIiwgb25UcmFuc2FjdGlvbik7XG4gICAgICB9XG4gICAgICBpZiAob25Gb2N1cykge1xuICAgICAgICB0aGlzLmVkaXRvci5vbihcImZvY3VzXCIsIG9uRm9jdXMpO1xuICAgICAgfVxuICAgICAgaWYgKG9uQmx1cikge1xuICAgICAgICB0aGlzLmVkaXRvci5vbihcImJsdXJcIiwgb25CbHVyKTtcbiAgICAgIH1cbiAgICAgIGlmIChvbkRlc3Ryb3kpIHtcbiAgICAgICAgdGhpcy5lZGl0b3Iub24oXCJkZXN0cm95XCIsIG9uRGVzdHJveSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn07XG5FeHRlbnNpb25NYW5hZ2VyLnJlc29sdmUgPSByZXNvbHZlRXh0ZW5zaW9ucztcbkV4dGVuc2lvbk1hbmFnZXIuc29ydCA9IHNvcnRFeHRlbnNpb25zO1xuRXh0ZW5zaW9uTWFuYWdlci5mbGF0dGVuID0gZmxhdHRlbkV4dGVuc2lvbnM7XG5cbi8vIHNyYy9leHRlbnNpb25zL2luZGV4LnRzXG52YXIgZXh0ZW5zaW9uc19leHBvcnRzID0ge307XG5fX2V4cG9ydChleHRlbnNpb25zX2V4cG9ydHMsIHtcbiAgQ2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXI6ICgpID0+IENsaXBib2FyZFRleHRTZXJpYWxpemVyLFxuICBDb21tYW5kczogKCkgPT4gQ29tbWFuZHMsXG4gIERlbGV0ZTogKCkgPT4gRGVsZXRlLFxuICBEcm9wOiAoKSA9PiBEcm9wLFxuICBFZGl0YWJsZTogKCkgPT4gRWRpdGFibGUsXG4gIEZvY3VzRXZlbnRzOiAoKSA9PiBGb2N1c0V2ZW50cyxcbiAgS2V5bWFwOiAoKSA9PiBLZXltYXAsXG4gIFBhc3RlOiAoKSA9PiBQYXN0ZSxcbiAgVGFiaW5kZXg6ICgpID0+IFRhYmluZGV4LFxuICBUZXh0RGlyZWN0aW9uOiAoKSA9PiBUZXh0RGlyZWN0aW9uLFxuICBmb2N1c0V2ZW50c1BsdWdpbktleTogKCkgPT4gZm9jdXNFdmVudHNQbHVnaW5LZXlcbn0pO1xuXG4vLyBzcmMvZXh0ZW5zaW9ucy9jbGlwYm9hcmRUZXh0U2VyaWFsaXplci50c1xuaW1wb3J0IHsgUGx1Z2luIGFzIFBsdWdpbjMsIFBsdWdpbktleSB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG5cbi8vIHNyYy9FeHRlbnNpb24udHNcbnZhciBFeHRlbnNpb24gPSBjbGFzcyBfRXh0ZW5zaW9uIGV4dGVuZHMgRXh0ZW5kYWJsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgdGhpcy50eXBlID0gXCJleHRlbnNpb25cIjtcbiAgfVxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IEV4dGVuc2lvbiBpbnN0YW5jZVxuICAgKiBAcGFyYW0gY29uZmlnIC0gRXh0ZW5zaW9uIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG9yIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICovXG4gIHN0YXRpYyBjcmVhdGUoY29uZmlnID0ge30pIHtcbiAgICBjb25zdCByZXNvbHZlZENvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09IFwiZnVuY3Rpb25cIiA/IGNvbmZpZygpIDogY29uZmlnO1xuICAgIHJldHVybiBuZXcgX0V4dGVuc2lvbihyZXNvbHZlZENvbmZpZyk7XG4gIH1cbiAgY29uZmlndXJlKG9wdGlvbnMpIHtcbiAgICByZXR1cm4gc3VwZXIuY29uZmlndXJlKG9wdGlvbnMpO1xuICB9XG4gIGV4dGVuZChleHRlbmRlZENvbmZpZykge1xuICAgIGNvbnN0IHJlc29sdmVkQ29uZmlnID0gdHlwZW9mIGV4dGVuZGVkQ29uZmlnID09PSBcImZ1bmN0aW9uXCIgPyBleHRlbmRlZENvbmZpZygpIDogZXh0ZW5kZWRDb25maWc7XG4gICAgcmV0dXJuIHN1cGVyLmV4dGVuZChyZXNvbHZlZENvbmZpZyk7XG4gIH1cbn07XG5cbi8vIHNyYy9leHRlbnNpb25zL2NsaXBib2FyZFRleHRTZXJpYWxpemVyLnRzXG52YXIgQ2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIgPSBFeHRlbnNpb24uY3JlYXRlKHtcbiAgbmFtZTogXCJjbGlwYm9hcmRUZXh0U2VyaWFsaXplclwiLFxuICBhZGRPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBibG9ja1NlcGFyYXRvcjogdm9pZCAwXG4gICAgfTtcbiAgfSxcbiAgYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCkge1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgUGx1Z2luMyh7XG4gICAgICAgIGtleTogbmV3IFBsdWdpbktleShcImNsaXBib2FyZFRleHRTZXJpYWxpemVyXCIpLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIGNsaXBib2FyZFRleHRTZXJpYWxpemVyOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGVkaXRvciB9ID0gdGhpcztcbiAgICAgICAgICAgIGNvbnN0IHsgc3RhdGUsIHNjaGVtYSB9ID0gZWRpdG9yO1xuICAgICAgICAgICAgY29uc3QgeyBkb2MsIHNlbGVjdGlvbiB9ID0gc3RhdGU7XG4gICAgICAgICAgICBjb25zdCB7IHJhbmdlcyB9ID0gc2VsZWN0aW9uO1xuICAgICAgICAgICAgY29uc3QgZnJvbSA9IE1hdGgubWluKC4uLnJhbmdlcy5tYXAoKHJhbmdlMikgPT4gcmFuZ2UyLiRmcm9tLnBvcykpO1xuICAgICAgICAgICAgY29uc3QgdG8gPSBNYXRoLm1heCguLi5yYW5nZXMubWFwKChyYW5nZTIpID0+IHJhbmdlMi4kdG8ucG9zKSk7XG4gICAgICAgICAgICBjb25zdCB0ZXh0U2VyaWFsaXplcnMgPSBnZXRUZXh0U2VyaWFsaXplcnNGcm9tU2NoZW1hKHNjaGVtYSk7XG4gICAgICAgICAgICBjb25zdCByYW5nZSA9IHsgZnJvbSwgdG8gfTtcbiAgICAgICAgICAgIHJldHVybiBnZXRUZXh0QmV0d2Vlbihkb2MsIHJhbmdlLCB7XG4gICAgICAgICAgICAgIC4uLnRoaXMub3B0aW9ucy5ibG9ja1NlcGFyYXRvciAhPT0gdm9pZCAwID8geyBibG9ja1NlcGFyYXRvcjogdGhpcy5vcHRpb25zLmJsb2NrU2VwYXJhdG9yIH0gOiB7fSxcbiAgICAgICAgICAgICAgdGV4dFNlcmlhbGl6ZXJzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIHNyYy9leHRlbnNpb25zL2NvbW1hbmRzLnRzXG52YXIgQ29tbWFuZHMgPSBFeHRlbnNpb24uY3JlYXRlKHtcbiAgbmFtZTogXCJjb21tYW5kc1wiLFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29tbWFuZHNfZXhwb3J0c1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBzcmMvZXh0ZW5zaW9ucy9kZWxldGUudHNcbmltcG9ydCB7IFJlbW92ZU1hcmtTdGVwIH0gZnJvbSBcIkB0aXB0YXAvcG0vdHJhbnNmb3JtXCI7XG52YXIgRGVsZXRlID0gRXh0ZW5zaW9uLmNyZWF0ZSh7XG4gIG5hbWU6IFwiZGVsZXRlXCIsXG4gIG9uVXBkYXRlKHsgdHJhbnNhY3Rpb24sIGFwcGVuZGVkVHJhbnNhY3Rpb25zIH0pIHtcbiAgICB2YXIgX2EsIF9iLCBfYztcbiAgICBjb25zdCBjYWxsYmFjayA9ICgpID0+IHtcbiAgICAgIHZhciBfYTIsIF9iMiwgX2MyLCBfZDtcbiAgICAgIGlmICgoX2QgPSAoX2MyID0gKF9iMiA9IChfYTIgPSB0aGlzLmVkaXRvci5vcHRpb25zLmNvcmVFeHRlbnNpb25PcHRpb25zKSA9PSBudWxsID8gdm9pZCAwIDogX2EyLmRlbGV0ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iMi5maWx0ZXJUcmFuc2FjdGlvbikgPT0gbnVsbCA/IHZvaWQgMCA6IF9jMi5jYWxsKF9iMiwgdHJhbnNhY3Rpb24pKSAhPSBudWxsID8gX2QgOiB0cmFuc2FjdGlvbi5nZXRNZXRhKFwieS1zeW5jJFwiKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBuZXh0VHJhbnNhY3Rpb24gPSBjb21iaW5lVHJhbnNhY3Rpb25TdGVwcyh0cmFuc2FjdGlvbi5iZWZvcmUsIFt0cmFuc2FjdGlvbiwgLi4uYXBwZW5kZWRUcmFuc2FjdGlvbnNdKTtcbiAgICAgIGNvbnN0IGNoYW5nZXMgPSBnZXRDaGFuZ2VkUmFuZ2VzKG5leHRUcmFuc2FjdGlvbik7XG4gICAgICBjaGFuZ2VzLmZvckVhY2goKGNoYW5nZSkgPT4ge1xuICAgICAgICBpZiAobmV4dFRyYW5zYWN0aW9uLm1hcHBpbmcubWFwUmVzdWx0KGNoYW5nZS5vbGRSYW5nZS5mcm9tKS5kZWxldGVkQWZ0ZXIgJiYgbmV4dFRyYW5zYWN0aW9uLm1hcHBpbmcubWFwUmVzdWx0KGNoYW5nZS5vbGRSYW5nZS50bykuZGVsZXRlZEJlZm9yZSkge1xuICAgICAgICAgIG5leHRUcmFuc2FjdGlvbi5iZWZvcmUubm9kZXNCZXR3ZWVuKGNoYW5nZS5vbGRSYW5nZS5mcm9tLCBjaGFuZ2Uub2xkUmFuZ2UudG8sIChub2RlLCBmcm9tKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0byA9IGZyb20gKyBub2RlLm5vZGVTaXplIC0gMjtcbiAgICAgICAgICAgIGNvbnN0IGlzRnVsbHlXaXRoaW5SYW5nZSA9IGNoYW5nZS5vbGRSYW5nZS5mcm9tIDw9IGZyb20gJiYgdG8gPD0gY2hhbmdlLm9sZFJhbmdlLnRvO1xuICAgICAgICAgICAgdGhpcy5lZGl0b3IuZW1pdChcImRlbGV0ZVwiLCB7XG4gICAgICAgICAgICAgIHR5cGU6IFwibm9kZVwiLFxuICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICBmcm9tLFxuICAgICAgICAgICAgICB0byxcbiAgICAgICAgICAgICAgbmV3RnJvbTogbmV4dFRyYW5zYWN0aW9uLm1hcHBpbmcubWFwKGZyb20pLFxuICAgICAgICAgICAgICBuZXdUbzogbmV4dFRyYW5zYWN0aW9uLm1hcHBpbmcubWFwKHRvKSxcbiAgICAgICAgICAgICAgZGVsZXRlZFJhbmdlOiBjaGFuZ2Uub2xkUmFuZ2UsXG4gICAgICAgICAgICAgIG5ld1JhbmdlOiBjaGFuZ2UubmV3UmFuZ2UsXG4gICAgICAgICAgICAgIHBhcnRpYWw6ICFpc0Z1bGx5V2l0aGluUmFuZ2UsXG4gICAgICAgICAgICAgIGVkaXRvcjogdGhpcy5lZGl0b3IsXG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLFxuICAgICAgICAgICAgICBjb21iaW5lZFRyYW5zZm9ybTogbmV4dFRyYW5zYWN0aW9uXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjb25zdCBtYXBwaW5nID0gbmV4dFRyYW5zYWN0aW9uLm1hcHBpbmc7XG4gICAgICBuZXh0VHJhbnNhY3Rpb24uc3RlcHMuZm9yRWFjaCgoc3RlcCwgaW5kZXgpID0+IHtcbiAgICAgICAgdmFyIF9hMywgX2IzO1xuICAgICAgICBpZiAoc3RlcCBpbnN0YW5jZW9mIFJlbW92ZU1hcmtTdGVwKSB7XG4gICAgICAgICAgY29uc3QgbmV3U3RhcnQgPSBtYXBwaW5nLnNsaWNlKGluZGV4KS5tYXAoc3RlcC5mcm9tLCAtMSk7XG4gICAgICAgICAgY29uc3QgbmV3RW5kID0gbWFwcGluZy5zbGljZShpbmRleCkubWFwKHN0ZXAudG8pO1xuICAgICAgICAgIGNvbnN0IG9sZFN0YXJ0ID0gbWFwcGluZy5pbnZlcnQoKS5tYXAobmV3U3RhcnQsIC0xKTtcbiAgICAgICAgICBjb25zdCBvbGRFbmQgPSBtYXBwaW5nLmludmVydCgpLm1hcChuZXdFbmQpO1xuICAgICAgICAgIGNvbnN0IGZvdW5kQmVmb3JlTWFyayA9IChfYTMgPSBuZXh0VHJhbnNhY3Rpb24uZG9jLm5vZGVBdChuZXdTdGFydCAtIDEpKSA9PSBudWxsID8gdm9pZCAwIDogX2EzLm1hcmtzLnNvbWUoKG1hcmspID0+IG1hcmsuZXEoc3RlcC5tYXJrKSk7XG4gICAgICAgICAgY29uc3QgZm91bmRBZnRlck1hcmsgPSAoX2IzID0gbmV4dFRyYW5zYWN0aW9uLmRvYy5ub2RlQXQobmV3RW5kKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iMy5tYXJrcy5zb21lKChtYXJrKSA9PiBtYXJrLmVxKHN0ZXAubWFyaykpO1xuICAgICAgICAgIHRoaXMuZWRpdG9yLmVtaXQoXCJkZWxldGVcIiwge1xuICAgICAgICAgICAgdHlwZTogXCJtYXJrXCIsXG4gICAgICAgICAgICBtYXJrOiBzdGVwLm1hcmssXG4gICAgICAgICAgICBmcm9tOiBzdGVwLmZyb20sXG4gICAgICAgICAgICB0bzogc3RlcC50byxcbiAgICAgICAgICAgIGRlbGV0ZWRSYW5nZToge1xuICAgICAgICAgICAgICBmcm9tOiBvbGRTdGFydCxcbiAgICAgICAgICAgICAgdG86IG9sZEVuZFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ld1JhbmdlOiB7XG4gICAgICAgICAgICAgIGZyb206IG5ld1N0YXJ0LFxuICAgICAgICAgICAgICB0bzogbmV3RW5kXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGFydGlhbDogQm9vbGVhbihmb3VuZEFmdGVyTWFyayB8fCBmb3VuZEJlZm9yZU1hcmspLFxuICAgICAgICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvcixcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uLFxuICAgICAgICAgICAgY29tYmluZWRUcmFuc2Zvcm06IG5leHRUcmFuc2FjdGlvblxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuICAgIGlmICgoX2MgPSAoX2IgPSAoX2EgPSB0aGlzLmVkaXRvci5vcHRpb25zLmNvcmVFeHRlbnNpb25PcHRpb25zKSA9PSBudWxsID8gdm9pZCAwIDogX2EuZGVsZXRlKSA9PSBudWxsID8gdm9pZCAwIDogX2IuYXN5bmMpICE9IG51bGwgPyBfYyA6IHRydWUpIHtcbiAgICAgIHNldFRpbWVvdXQoY2FsbGJhY2ssIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYWxsYmFjaygpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIHNyYy9leHRlbnNpb25zL2Ryb3AudHNcbmltcG9ydCB7IFBsdWdpbiBhcyBQbHVnaW40LCBQbHVnaW5LZXkgYXMgUGx1Z2luS2V5MiB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG52YXIgRHJvcCA9IEV4dGVuc2lvbi5jcmVhdGUoe1xuICBuYW1lOiBcImRyb3BcIixcbiAgYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCkge1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgUGx1Z2luNCh7XG4gICAgICAgIGtleTogbmV3IFBsdWdpbktleTIoXCJ0aXB0YXBEcm9wXCIpLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIGhhbmRsZURyb3A6IChfLCBlLCBzbGljZSwgbW92ZWQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yLmVtaXQoXCJkcm9wXCIsIHtcbiAgICAgICAgICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvcixcbiAgICAgICAgICAgICAgZXZlbnQ6IGUsXG4gICAgICAgICAgICAgIHNsaWNlLFxuICAgICAgICAgICAgICBtb3ZlZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIF07XG4gIH1cbn0pO1xuXG4vLyBzcmMvZXh0ZW5zaW9ucy9lZGl0YWJsZS50c1xuaW1wb3J0IHsgUGx1Z2luIGFzIFBsdWdpbjUsIFBsdWdpbktleSBhcyBQbHVnaW5LZXkzIH0gZnJvbSBcIkB0aXB0YXAvcG0vc3RhdGVcIjtcbnZhciBFZGl0YWJsZSA9IEV4dGVuc2lvbi5jcmVhdGUoe1xuICBuYW1lOiBcImVkaXRhYmxlXCIsXG4gIGFkZFByb3NlTWlycm9yUGx1Z2lucygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgbmV3IFBsdWdpbjUoe1xuICAgICAgICBrZXk6IG5ldyBQbHVnaW5LZXkzKFwiZWRpdGFibGVcIiksXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgZWRpdGFibGU6ICgpID0+IHRoaXMuZWRpdG9yLm9wdGlvbnMuZWRpdGFibGVcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICBdO1xuICB9XG59KTtcblxuLy8gc3JjL2V4dGVuc2lvbnMvZm9jdXNFdmVudHMudHNcbmltcG9ydCB7IFBsdWdpbiBhcyBQbHVnaW42LCBQbHVnaW5LZXkgYXMgUGx1Z2luS2V5NCB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG52YXIgZm9jdXNFdmVudHNQbHVnaW5LZXkgPSBuZXcgUGx1Z2luS2V5NChcImZvY3VzRXZlbnRzXCIpO1xudmFyIEZvY3VzRXZlbnRzID0gRXh0ZW5zaW9uLmNyZWF0ZSh7XG4gIG5hbWU6IFwiZm9jdXNFdmVudHNcIixcbiAgYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCkge1xuICAgIGNvbnN0IHsgZWRpdG9yIH0gPSB0aGlzO1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgUGx1Z2luNih7XG4gICAgICAgIGtleTogZm9jdXNFdmVudHNQbHVnaW5LZXksXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgaGFuZGxlRE9NRXZlbnRzOiB7XG4gICAgICAgICAgICBmb2N1czogKHZpZXcsIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGVkaXRvci5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGVkaXRvci5zdGF0ZS50ci5zZXRNZXRhKFwiZm9jdXNcIiwgeyBldmVudCB9KS5zZXRNZXRhKFwiYWRkVG9IaXN0b3J5XCIsIGZhbHNlKTtcbiAgICAgICAgICAgICAgdmlldy5kaXNwYXRjaCh0cmFuc2FjdGlvbik7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBibHVyOiAodmlldywgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgZWRpdG9yLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGVkaXRvci5zdGF0ZS50ci5zZXRNZXRhKFwiYmx1clwiLCB7IGV2ZW50IH0pLnNldE1ldGEoXCJhZGRUb0hpc3RvcnlcIiwgZmFsc2UpO1xuICAgICAgICAgICAgICB2aWV3LmRpc3BhdGNoKHRyYW5zYWN0aW9uKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICBdO1xuICB9XG59KTtcblxuLy8gc3JjL2V4dGVuc2lvbnMva2V5bWFwLnRzXG5pbXBvcnQgeyBQbHVnaW4gYXMgUGx1Z2luNywgUGx1Z2luS2V5IGFzIFBsdWdpbktleTUsIFNlbGVjdGlvbiBhcyBTZWxlY3Rpb24zIH0gZnJvbSBcIkB0aXB0YXAvcG0vc3RhdGVcIjtcbnZhciBLZXltYXAgPSBFeHRlbnNpb24uY3JlYXRlKHtcbiAgbmFtZTogXCJrZXltYXBcIixcbiAgYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKSB7XG4gICAgY29uc3QgaGFuZGxlQmFja3NwYWNlID0gKCkgPT4gdGhpcy5lZGl0b3IuY29tbWFuZHMuZmlyc3QoKHsgY29tbWFuZHMgfSkgPT4gW1xuICAgICAgKCkgPT4gY29tbWFuZHMudW5kb0lucHV0UnVsZSgpLFxuICAgICAgLy8gbWF5YmUgY29udmVydCBmaXJzdCB0ZXh0IGJsb2NrIG5vZGUgdG8gZGVmYXVsdCBub2RlXG4gICAgICAoKSA9PiBjb21tYW5kcy5jb21tYW5kKCh7IHRyIH0pID0+IHtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24sIGRvYyB9ID0gdHI7XG4gICAgICAgIGNvbnN0IHsgZW1wdHksICRhbmNob3IgfSA9IHNlbGVjdGlvbjtcbiAgICAgICAgY29uc3QgeyBwb3MsIHBhcmVudCB9ID0gJGFuY2hvcjtcbiAgICAgICAgY29uc3QgJHBhcmVudFBvcyA9ICRhbmNob3IucGFyZW50LmlzVGV4dGJsb2NrICYmIHBvcyA+IDAgPyB0ci5kb2MucmVzb2x2ZShwb3MgLSAxKSA6ICRhbmNob3I7XG4gICAgICAgIGNvbnN0IHBhcmVudElzSXNvbGF0aW5nID0gJHBhcmVudFBvcy5wYXJlbnQudHlwZS5zcGVjLmlzb2xhdGluZztcbiAgICAgICAgY29uc3QgcGFyZW50UG9zID0gJGFuY2hvci5wb3MgLSAkYW5jaG9yLnBhcmVudE9mZnNldDtcbiAgICAgICAgY29uc3QgaXNBdFN0YXJ0ID0gcGFyZW50SXNJc29sYXRpbmcgJiYgJHBhcmVudFBvcy5wYXJlbnQuY2hpbGRDb3VudCA9PT0gMSA/IHBhcmVudFBvcyA9PT0gJGFuY2hvci5wb3MgOiBTZWxlY3Rpb24zLmF0U3RhcnQoZG9jKS5mcm9tID09PSBwb3M7XG4gICAgICAgIGlmICghZW1wdHkgfHwgIXBhcmVudC50eXBlLmlzVGV4dGJsb2NrIHx8IHBhcmVudC50ZXh0Q29udGVudC5sZW5ndGggfHwgIWlzQXRTdGFydCB8fCBpc0F0U3RhcnQgJiYgJGFuY2hvci5wYXJlbnQudHlwZS5uYW1lID09PSBcInBhcmFncmFwaFwiKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb21tYW5kcy5jbGVhck5vZGVzKCk7XG4gICAgICB9KSxcbiAgICAgICgpID0+IGNvbW1hbmRzLmRlbGV0ZVNlbGVjdGlvbigpLFxuICAgICAgKCkgPT4gY29tbWFuZHMuam9pbkJhY2t3YXJkKCksXG4gICAgICAoKSA9PiBjb21tYW5kcy5zZWxlY3ROb2RlQmFja3dhcmQoKVxuICAgIF0pO1xuICAgIGNvbnN0IGhhbmRsZURlbGV0ZSA9ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLmZpcnN0KCh7IGNvbW1hbmRzIH0pID0+IFtcbiAgICAgICgpID0+IGNvbW1hbmRzLmRlbGV0ZVNlbGVjdGlvbigpLFxuICAgICAgKCkgPT4gY29tbWFuZHMuZGVsZXRlQ3VycmVudE5vZGUoKSxcbiAgICAgICgpID0+IGNvbW1hbmRzLmpvaW5Gb3J3YXJkKCksXG4gICAgICAoKSA9PiBjb21tYW5kcy5zZWxlY3ROb2RlRm9yd2FyZCgpXG4gICAgXSk7XG4gICAgY29uc3QgaGFuZGxlRW50ZXIgPSAoKSA9PiB0aGlzLmVkaXRvci5jb21tYW5kcy5maXJzdCgoeyBjb21tYW5kcyB9KSA9PiBbXG4gICAgICAoKSA9PiBjb21tYW5kcy5uZXdsaW5lSW5Db2RlKCksXG4gICAgICAoKSA9PiBjb21tYW5kcy5jcmVhdGVQYXJhZ3JhcGhOZWFyKCksXG4gICAgICAoKSA9PiBjb21tYW5kcy5saWZ0RW1wdHlCbG9jaygpLFxuICAgICAgKCkgPT4gY29tbWFuZHMuc3BsaXRCbG9jaygpXG4gICAgXSk7XG4gICAgY29uc3QgYmFzZUtleW1hcCA9IHtcbiAgICAgIEVudGVyOiBoYW5kbGVFbnRlcixcbiAgICAgIFwiTW9kLUVudGVyXCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLmV4aXRDb2RlKCksXG4gICAgICBCYWNrc3BhY2U6IGhhbmRsZUJhY2tzcGFjZSxcbiAgICAgIFwiTW9kLUJhY2tzcGFjZVwiOiBoYW5kbGVCYWNrc3BhY2UsXG4gICAgICBcIlNoaWZ0LUJhY2tzcGFjZVwiOiBoYW5kbGVCYWNrc3BhY2UsXG4gICAgICBEZWxldGU6IGhhbmRsZURlbGV0ZSxcbiAgICAgIFwiTW9kLURlbGV0ZVwiOiBoYW5kbGVEZWxldGUsXG4gICAgICBcIk1vZC1hXCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnNlbGVjdEFsbCgpXG4gICAgfTtcbiAgICBjb25zdCBwY0tleW1hcCA9IHtcbiAgICAgIC4uLmJhc2VLZXltYXBcbiAgICB9O1xuICAgIGNvbnN0IG1hY0tleW1hcCA9IHtcbiAgICAgIC4uLmJhc2VLZXltYXAsXG4gICAgICBcIkN0cmwtaFwiOiBoYW5kbGVCYWNrc3BhY2UsXG4gICAgICBcIkFsdC1CYWNrc3BhY2VcIjogaGFuZGxlQmFja3NwYWNlLFxuICAgICAgXCJDdHJsLWRcIjogaGFuZGxlRGVsZXRlLFxuICAgICAgXCJDdHJsLUFsdC1CYWNrc3BhY2VcIjogaGFuZGxlRGVsZXRlLFxuICAgICAgXCJBbHQtRGVsZXRlXCI6IGhhbmRsZURlbGV0ZSxcbiAgICAgIFwiQWx0LWRcIjogaGFuZGxlRGVsZXRlLFxuICAgICAgXCJDdHJsLWFcIjogKCkgPT4gdGhpcy5lZGl0b3IuY29tbWFuZHMuc2VsZWN0VGV4dGJsb2NrU3RhcnQoKSxcbiAgICAgIFwiQ3RybC1lXCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnNlbGVjdFRleHRibG9ja0VuZCgpXG4gICAgfTtcbiAgICBpZiAoaXNpT1MoKSB8fCBpc01hY09TKCkpIHtcbiAgICAgIHJldHVybiBtYWNLZXltYXA7XG4gICAgfVxuICAgIHJldHVybiBwY0tleW1hcDtcbiAgfSxcbiAgYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCkge1xuICAgIHJldHVybiBbXG4gICAgICAvLyBXaXRoIHRoaXMgcGx1Z2luIHdlIGNoZWNrIGlmIHRoZSB3aG9sZSBkb2N1bWVudCB3YXMgc2VsZWN0ZWQgYW5kIGRlbGV0ZWQuXG4gICAgICAvLyBJbiB0aGlzIGNhc2Ugd2Ugd2lsbCBhZGRpdGlvbmFsbHkgY2FsbCBgY2xlYXJOb2RlcygpYCB0byBjb252ZXJ0IGUuZy4gYSBoZWFkaW5nXG4gICAgICAvLyB0byBhIHBhcmFncmFwaCBpZiBuZWNlc3NhcnkuXG4gICAgICAvLyBUaGlzIGlzIGFuIGFsdGVybmF0aXZlIHRvIFByb3NlTWlycm9yJ3MgYEFsbFNlbGVjdGlvbmAsIHdoaWNoIGRvZXNu4oCZdCB3b3JrIHdlbGxcbiAgICAgIC8vIHdpdGggbWFueSBvdGhlciBjb21tYW5kcy5cbiAgICAgIG5ldyBQbHVnaW43KHtcbiAgICAgICAga2V5OiBuZXcgUGx1Z2luS2V5NShcImNsZWFyRG9jdW1lbnRcIiksXG4gICAgICAgIGFwcGVuZFRyYW5zYWN0aW9uOiAodHJhbnNhY3Rpb25zLCBvbGRTdGF0ZSwgbmV3U3RhdGUpID0+IHtcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb25zLnNvbWUoKHRyMikgPT4gdHIyLmdldE1ldGEoXCJjb21wb3NpdGlvblwiKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgZG9jQ2hhbmdlcyA9IHRyYW5zYWN0aW9ucy5zb21lKCh0cmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uZG9jQ2hhbmdlZCkgJiYgIW9sZFN0YXRlLmRvYy5lcShuZXdTdGF0ZS5kb2MpO1xuICAgICAgICAgIGNvbnN0IGlnbm9yZVRyID0gdHJhbnNhY3Rpb25zLnNvbWUoKHRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5nZXRNZXRhKFwicHJldmVudENsZWFyRG9jdW1lbnRcIikpO1xuICAgICAgICAgIGlmICghZG9jQ2hhbmdlcyB8fCBpZ25vcmVUcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCB7IGVtcHR5LCBmcm9tLCB0byB9ID0gb2xkU3RhdGUuc2VsZWN0aW9uO1xuICAgICAgICAgIGNvbnN0IGFsbEZyb20gPSBTZWxlY3Rpb24zLmF0U3RhcnQob2xkU3RhdGUuZG9jKS5mcm9tO1xuICAgICAgICAgIGNvbnN0IGFsbEVuZCA9IFNlbGVjdGlvbjMuYXRFbmQob2xkU3RhdGUuZG9jKS50bztcbiAgICAgICAgICBjb25zdCBhbGxXYXNTZWxlY3RlZCA9IGZyb20gPT09IGFsbEZyb20gJiYgdG8gPT09IGFsbEVuZDtcbiAgICAgICAgICBpZiAoZW1wdHkgfHwgIWFsbFdhc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGlzRW1wdHkgPSBpc05vZGVFbXB0eShuZXdTdGF0ZS5kb2MpO1xuICAgICAgICAgIGlmICghaXNFbXB0eSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCB0ciA9IG5ld1N0YXRlLnRyO1xuICAgICAgICAgIGNvbnN0IHN0YXRlID0gY3JlYXRlQ2hhaW5hYmxlU3RhdGUoe1xuICAgICAgICAgICAgc3RhdGU6IG5ld1N0YXRlLFxuICAgICAgICAgICAgdHJhbnNhY3Rpb246IHRyXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3QgeyBjb21tYW5kcyB9ID0gbmV3IENvbW1hbmRNYW5hZ2VyKHtcbiAgICAgICAgICAgIGVkaXRvcjogdGhpcy5lZGl0b3IsXG4gICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbW1hbmRzLmNsZWFyTm9kZXMoKTtcbiAgICAgICAgICBpZiAoIXRyLnN0ZXBzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHI7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIHNyYy9leHRlbnNpb25zL3Bhc3RlLnRzXG5pbXBvcnQgeyBQbHVnaW4gYXMgUGx1Z2luOCwgUGx1Z2luS2V5IGFzIFBsdWdpbktleTYgfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xudmFyIFBhc3RlID0gRXh0ZW5zaW9uLmNyZWF0ZSh7XG4gIG5hbWU6IFwicGFzdGVcIixcbiAgYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCkge1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgUGx1Z2luOCh7XG4gICAgICAgIGtleTogbmV3IFBsdWdpbktleTYoXCJ0aXB0YXBQYXN0ZVwiKSxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICBoYW5kbGVQYXN0ZTogKF92aWV3LCBlLCBzbGljZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lZGl0b3IuZW1pdChcInBhc3RlXCIsIHtcbiAgICAgICAgICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvcixcbiAgICAgICAgICAgICAgZXZlbnQ6IGUsXG4gICAgICAgICAgICAgIHNsaWNlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIHNyYy9leHRlbnNpb25zL3RhYmluZGV4LnRzXG5pbXBvcnQgeyBQbHVnaW4gYXMgUGx1Z2luOSwgUGx1Z2luS2V5IGFzIFBsdWdpbktleTcgfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xudmFyIFRhYmluZGV4ID0gRXh0ZW5zaW9uLmNyZWF0ZSh7XG4gIG5hbWU6IFwidGFiaW5kZXhcIixcbiAgYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCkge1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgUGx1Z2luOSh7XG4gICAgICAgIGtleTogbmV3IFBsdWdpbktleTcoXCJ0YWJpbmRleFwiKSxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiAoKSA9PiB0aGlzLmVkaXRvci5pc0VkaXRhYmxlID8geyB0YWJpbmRleDogXCIwXCIgfSA6IHt9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIHNyYy9leHRlbnNpb25zL3RleHREaXJlY3Rpb24udHNcbmltcG9ydCB7IFBsdWdpbiBhcyBQbHVnaW4xMCwgUGx1Z2luS2V5IGFzIFBsdWdpbktleTggfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xudmFyIFRleHREaXJlY3Rpb24gPSBFeHRlbnNpb24uY3JlYXRlKHtcbiAgbmFtZTogXCJ0ZXh0RGlyZWN0aW9uXCIsXG4gIGFkZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRpcmVjdGlvbjogdm9pZCAwXG4gICAgfTtcbiAgfSxcbiAgYWRkR2xvYmFsQXR0cmlidXRlcygpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5kaXJlY3Rpb24pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgeyBub2RlRXh0ZW5zaW9ucyB9ID0gc3BsaXRFeHRlbnNpb25zKHRoaXMuZXh0ZW5zaW9ucyk7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdHlwZXM6IG5vZGVFeHRlbnNpb25zLmZpbHRlcigoZXh0ZW5zaW9uKSA9PiBleHRlbnNpb24ubmFtZSAhPT0gXCJ0ZXh0XCIpLm1hcCgoZXh0ZW5zaW9uKSA9PiBleHRlbnNpb24ubmFtZSksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBkaXI6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRoaXMub3B0aW9ucy5kaXJlY3Rpb24sXG4gICAgICAgICAgICBwYXJzZUhUTUw6IChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGRpciA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGlyXCIpO1xuICAgICAgICAgICAgICBpZiAoZGlyICYmIChkaXIgPT09IFwibHRyXCIgfHwgZGlyID09PSBcInJ0bFwiIHx8IGRpciA9PT0gXCJhdXRvXCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRpcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmRpcmVjdGlvbjtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZW5kZXJIVE1MOiAoYXR0cmlidXRlcykgPT4ge1xuICAgICAgICAgICAgICBpZiAoIWF0dHJpYnV0ZXMuZGlyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZGlyOiBhdHRyaWJ1dGVzLmRpclxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIF07XG4gIH0sXG4gIGFkZFByb3NlTWlycm9yUGx1Z2lucygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgbmV3IFBsdWdpbjEwKHtcbiAgICAgICAga2V5OiBuZXcgUGx1Z2luS2V5OChcInRleHREaXJlY3Rpb25cIiksXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgYXR0cmlidXRlczogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy5vcHRpb25zLmRpcmVjdGlvbjtcbiAgICAgICAgICAgIGlmICghZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGRpcjogZGlyZWN0aW9uXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICBdO1xuICB9XG59KTtcblxuLy8gc3JjL05vZGVQb3MudHNcbnZhciBOb2RlUG9zID0gY2xhc3MgX05vZGVQb3Mge1xuICBjb25zdHJ1Y3Rvcihwb3MsIGVkaXRvciwgaXNCbG9jayA9IGZhbHNlLCBub2RlID0gbnVsbCkge1xuICAgIHRoaXMuY3VycmVudE5vZGUgPSBudWxsO1xuICAgIHRoaXMuYWN0dWFsRGVwdGggPSBudWxsO1xuICAgIHRoaXMuaXNCbG9jayA9IGlzQmxvY2s7XG4gICAgdGhpcy5yZXNvbHZlZFBvcyA9IHBvcztcbiAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcbiAgICB0aGlzLmN1cnJlbnROb2RlID0gbm9kZTtcbiAgfVxuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlLnR5cGUubmFtZTtcbiAgfVxuICBnZXQgbm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50Tm9kZSB8fCB0aGlzLnJlc29sdmVkUG9zLm5vZGUoKTtcbiAgfVxuICBnZXQgZWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lZGl0b3Iudmlldy5kb21BdFBvcyh0aGlzLnBvcykubm9kZTtcbiAgfVxuICBnZXQgZGVwdGgoKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiAoX2EgPSB0aGlzLmFjdHVhbERlcHRoKSAhPSBudWxsID8gX2EgOiB0aGlzLnJlc29sdmVkUG9zLmRlcHRoO1xuICB9XG4gIGdldCBwb3MoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQb3MucG9zO1xuICB9XG4gIGdldCBjb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLm5vZGUuY29udGVudDtcbiAgfVxuICBzZXQgY29udGVudChjb250ZW50KSB7XG4gICAgbGV0IGZyb20gPSB0aGlzLmZyb207XG4gICAgbGV0IHRvID0gdGhpcy50bztcbiAgICBpZiAodGhpcy5pc0Jsb2NrKSB7XG4gICAgICBpZiAodGhpcy5jb250ZW50LnNpemUgPT09IDApIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgWW91IGNhblxcdTIwMTl0IHNldCBjb250ZW50IG9uIGEgYmxvY2sgbm9kZS4gVHJpZWQgdG8gc2V0IGNvbnRlbnQgb24gJHt0aGlzLm5hbWV9IGF0ICR7dGhpcy5wb3N9YCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGZyb20gPSB0aGlzLmZyb20gKyAxO1xuICAgICAgdG8gPSB0aGlzLnRvIC0gMTtcbiAgICB9XG4gICAgdGhpcy5lZGl0b3IuY29tbWFuZHMuaW5zZXJ0Q29udGVudEF0KHsgZnJvbSwgdG8gfSwgY29udGVudCk7XG4gIH1cbiAgZ2V0IGF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZS5hdHRycztcbiAgfVxuICBnZXQgdGV4dENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZS50ZXh0Q29udGVudDtcbiAgfVxuICBnZXQgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlLm5vZGVTaXplO1xuICB9XG4gIGdldCBmcm9tKCkge1xuICAgIGlmICh0aGlzLmlzQmxvY2spIHtcbiAgICAgIHJldHVybiB0aGlzLnBvcztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQb3Muc3RhcnQodGhpcy5yZXNvbHZlZFBvcy5kZXB0aCk7XG4gIH1cbiAgZ2V0IHJhbmdlKCkge1xuICAgIHJldHVybiB7XG4gICAgICBmcm9tOiB0aGlzLmZyb20sXG4gICAgICB0bzogdGhpcy50b1xuICAgIH07XG4gIH1cbiAgZ2V0IHRvKCkge1xuICAgIGlmICh0aGlzLmlzQmxvY2spIHtcbiAgICAgIHJldHVybiB0aGlzLnBvcyArIHRoaXMuc2l6ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQb3MuZW5kKHRoaXMucmVzb2x2ZWRQb3MuZGVwdGgpICsgKHRoaXMubm9kZS5pc1RleHQgPyAwIDogMSk7XG4gIH1cbiAgZ2V0IHBhcmVudCgpIHtcbiAgICBpZiAodGhpcy5kZXB0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHBhcmVudFBvcyA9IHRoaXMucmVzb2x2ZWRQb3Muc3RhcnQodGhpcy5yZXNvbHZlZFBvcy5kZXB0aCAtIDEpO1xuICAgIGNvbnN0ICRwb3MgPSB0aGlzLnJlc29sdmVkUG9zLmRvYy5yZXNvbHZlKHBhcmVudFBvcyk7XG4gICAgcmV0dXJuIG5ldyBfTm9kZVBvcygkcG9zLCB0aGlzLmVkaXRvcik7XG4gIH1cbiAgZ2V0IGJlZm9yZSgpIHtcbiAgICBsZXQgJHBvcyA9IHRoaXMucmVzb2x2ZWRQb3MuZG9jLnJlc29sdmUodGhpcy5mcm9tIC0gKHRoaXMuaXNCbG9jayA/IDEgOiAyKSk7XG4gICAgaWYgKCRwb3MuZGVwdGggIT09IHRoaXMuZGVwdGgpIHtcbiAgICAgICRwb3MgPSB0aGlzLnJlc29sdmVkUG9zLmRvYy5yZXNvbHZlKHRoaXMuZnJvbSAtIDMpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IF9Ob2RlUG9zKCRwb3MsIHRoaXMuZWRpdG9yKTtcbiAgfVxuICBnZXQgYWZ0ZXIoKSB7XG4gICAgbGV0ICRwb3MgPSB0aGlzLnJlc29sdmVkUG9zLmRvYy5yZXNvbHZlKHRoaXMudG8gKyAodGhpcy5pc0Jsb2NrID8gMiA6IDEpKTtcbiAgICBpZiAoJHBvcy5kZXB0aCAhPT0gdGhpcy5kZXB0aCkge1xuICAgICAgJHBvcyA9IHRoaXMucmVzb2x2ZWRQb3MuZG9jLnJlc29sdmUodGhpcy50byArIDMpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IF9Ob2RlUG9zKCRwb3MsIHRoaXMuZWRpdG9yKTtcbiAgfVxuICBnZXQgY2hpbGRyZW4oKSB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBbXTtcbiAgICB0aGlzLm5vZGUuY29udGVudC5mb3JFYWNoKChub2RlLCBvZmZzZXQpID0+IHtcbiAgICAgIGNvbnN0IGlzQmxvY2sgPSBub2RlLmlzQmxvY2sgJiYgIW5vZGUuaXNUZXh0YmxvY2s7XG4gICAgICBjb25zdCBpc05vblRleHRBdG9tID0gbm9kZS5pc0F0b20gJiYgIW5vZGUuaXNUZXh0O1xuICAgICAgY29uc3QgaXNJbmxpbmUgPSBub2RlLmlzSW5saW5lO1xuICAgICAgY29uc3QgdGFyZ2V0UG9zID0gdGhpcy5wb3MgKyBvZmZzZXQgKyAoaXNOb25UZXh0QXRvbSA/IDAgOiAxKTtcbiAgICAgIGlmICh0YXJnZXRQb3MgPCAwIHx8IHRhcmdldFBvcyA+IHRoaXMucmVzb2x2ZWRQb3MuZG9jLm5vZGVTaXplIC0gMikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCAkcG9zID0gdGhpcy5yZXNvbHZlZFBvcy5kb2MucmVzb2x2ZSh0YXJnZXRQb3MpO1xuICAgICAgaWYgKCFpc0Jsb2NrICYmICFpc0lubGluZSAmJiAkcG9zLmRlcHRoIDw9IHRoaXMuZGVwdGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgY2hpbGROb2RlUG9zID0gbmV3IF9Ob2RlUG9zKCRwb3MsIHRoaXMuZWRpdG9yLCBpc0Jsb2NrLCBpc0Jsb2NrIHx8IGlzSW5saW5lID8gbm9kZSA6IG51bGwpO1xuICAgICAgaWYgKGlzQmxvY2spIHtcbiAgICAgICAgY2hpbGROb2RlUG9zLmFjdHVhbERlcHRoID0gdGhpcy5kZXB0aCArIDE7XG4gICAgICB9XG4gICAgICBjaGlsZHJlbi5wdXNoKGNoaWxkTm9kZVBvcyk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGNoaWxkcmVuO1xuICB9XG4gIGdldCBmaXJzdENoaWxkKCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuWzBdIHx8IG51bGw7XG4gIH1cbiAgZ2V0IGxhc3RDaGlsZCgpIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW47XG4gICAgcmV0dXJuIGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdIHx8IG51bGw7XG4gIH1cbiAgY2xvc2VzdChzZWxlY3RvciwgYXR0cmlidXRlcyA9IHt9KSB7XG4gICAgbGV0IG5vZGUgPSBudWxsO1xuICAgIGxldCBjdXJyZW50Tm9kZSA9IHRoaXMucGFyZW50O1xuICAgIHdoaWxlIChjdXJyZW50Tm9kZSAmJiAhbm9kZSkge1xuICAgICAgaWYgKGN1cnJlbnROb2RlLm5vZGUudHlwZS5uYW1lID09PSBzZWxlY3Rvcikge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYXR0cmlidXRlcykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IG5vZGVBdHRyaWJ1dGVzID0gY3VycmVudE5vZGUubm9kZS5hdHRycztcbiAgICAgICAgICBjb25zdCBhdHRyS2V5cyA9IE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpO1xuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhdHRyS2V5cy5sZW5ndGg7IGluZGV4ICs9IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGF0dHJLZXlzW2luZGV4XTtcbiAgICAgICAgICAgIGlmIChub2RlQXR0cmlidXRlc1trZXldICE9PSBhdHRyaWJ1dGVzW2tleV0pIHtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGUgPSBjdXJyZW50Tm9kZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS5wYXJlbnQ7XG4gICAgfVxuICAgIHJldHVybiBub2RlO1xuICB9XG4gIHF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IsIGF0dHJpYnV0ZXMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IsIGF0dHJpYnV0ZXMsIHRydWUpWzBdIHx8IG51bGw7XG4gIH1cbiAgcXVlcnlTZWxlY3RvckFsbChzZWxlY3RvciwgYXR0cmlidXRlcyA9IHt9LCBmaXJzdEl0ZW1Pbmx5ID0gZmFsc2UpIHtcbiAgICBsZXQgbm9kZXMgPSBbXTtcbiAgICBpZiAoIXRoaXMuY2hpbGRyZW4gfHwgdGhpcy5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBub2RlcztcbiAgICB9XG4gICAgY29uc3QgYXR0cktleXMgPSBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKTtcbiAgICB0aGlzLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkUG9zKSA9PiB7XG4gICAgICBpZiAoZmlyc3RJdGVtT25seSAmJiBub2Rlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChjaGlsZFBvcy5ub2RlLnR5cGUubmFtZSA9PT0gc2VsZWN0b3IpIHtcbiAgICAgICAgY29uc3QgZG9lc0FsbEF0dHJpYnV0ZXNNYXRjaCA9IGF0dHJLZXlzLmV2ZXJ5KChrZXkpID0+IGF0dHJpYnV0ZXNba2V5XSA9PT0gY2hpbGRQb3Mubm9kZS5hdHRyc1trZXldKTtcbiAgICAgICAgaWYgKGRvZXNBbGxBdHRyaWJ1dGVzTWF0Y2gpIHtcbiAgICAgICAgICBub2Rlcy5wdXNoKGNoaWxkUG9zKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGZpcnN0SXRlbU9ubHkgJiYgbm9kZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBub2RlcyA9IG5vZGVzLmNvbmNhdChjaGlsZFBvcy5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yLCBhdHRyaWJ1dGVzLCBmaXJzdEl0ZW1Pbmx5KSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG4gIHNldEF0dHJpYnV0ZShhdHRyaWJ1dGVzKSB7XG4gICAgY29uc3QgeyB0ciB9ID0gdGhpcy5lZGl0b3Iuc3RhdGU7XG4gICAgdHIuc2V0Tm9kZU1hcmt1cCh0aGlzLmZyb20sIHZvaWQgMCwge1xuICAgICAgLi4udGhpcy5ub2RlLmF0dHJzLFxuICAgICAgLi4uYXR0cmlidXRlc1xuICAgIH0pO1xuICAgIHRoaXMuZWRpdG9yLnZpZXcuZGlzcGF0Y2godHIpO1xuICB9XG59O1xuXG4vLyBzcmMvc3R5bGUudHNcbnZhciBzdHlsZSA9IGAuUHJvc2VNaXJyb3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5Qcm9zZU1pcnJvciB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzO1xuICAtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXM6IG5vbmU7XG4gIGZvbnQtdmFyaWFudC1saWdhdHVyZXM6IG5vbmU7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJsaWdhXCIgMDsgLyogdGhlIGFib3ZlIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIGluIEVkZ2UgKi9cbn1cblxuLlByb3NlTWlycm9yIFtjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiXSB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5Qcm9zZU1pcnJvciBbY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIl0gW2NvbnRlbnRlZGl0YWJsZT1cInRydWVcIl0ge1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbi5Qcm9zZU1pcnJvciBwcmUge1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbmltZy5Qcm9zZU1pcnJvci1zZXBhcmF0b3Ige1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLlByb3NlTWlycm9yLWdhcGN1cnNvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbn1cblxuLlByb3NlTWlycm9yLWdhcGN1cnNvcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTJweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcbiAgYW5pbWF0aW9uOiBQcm9zZU1pcnJvci1jdXJzb3ItYmxpbmsgMS4xcyBzdGVwcygyLCBzdGFydCkgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgUHJvc2VNaXJyb3ItY3Vyc29yLWJsaW5rIHtcbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG4uUHJvc2VNaXJyb3ItaGlkZXNlbGVjdGlvbiAqOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24gKjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24gKiB7XG4gIGNhcmV0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLlByb3NlTWlycm9yLWZvY3VzZWQgLlByb3NlTWlycm9yLWdhcGN1cnNvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufWA7XG5cbi8vIHNyYy91dGlsaXRpZXMvY3JlYXRlU3R5bGVUYWcudHNcbmZ1bmN0aW9uIGNyZWF0ZVN0eWxlVGFnKHN0eWxlMiwgbm9uY2UsIHN1ZmZpeCkge1xuICBjb25zdCB0aXB0YXBTdHlsZVRhZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYHN0eWxlW2RhdGEtdGlwdGFwLXN0eWxlJHtzdWZmaXggPyBgLSR7c3VmZml4fWAgOiBcIlwifV1gKTtcbiAgaWYgKHRpcHRhcFN0eWxlVGFnICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIHRpcHRhcFN0eWxlVGFnO1xuICB9XG4gIGNvbnN0IHN0eWxlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgaWYgKG5vbmNlKSB7XG4gICAgc3R5bGVOb2RlLnNldEF0dHJpYnV0ZShcIm5vbmNlXCIsIG5vbmNlKTtcbiAgfVxuICBzdHlsZU5vZGUuc2V0QXR0cmlidXRlKGBkYXRhLXRpcHRhcC1zdHlsZSR7c3VmZml4ID8gYC0ke3N1ZmZpeH1gIDogXCJcIn1gLCBcIlwiKTtcbiAgc3R5bGVOb2RlLmlubmVySFRNTCA9IHN0eWxlMjtcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdLmFwcGVuZENoaWxkKHN0eWxlTm9kZSk7XG4gIHJldHVybiBzdHlsZU5vZGU7XG59XG5cbi8vIHNyYy9FZGl0b3IudHNcbnZhciBFZGl0b3IgPSBjbGFzcyBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jc3MgPSBudWxsO1xuICAgIHRoaXMuY2xhc3NOYW1lID0gXCJ0aXB0YXBcIjtcbiAgICB0aGlzLmVkaXRvclZpZXcgPSBudWxsO1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVGhlIGVkaXRvciBpcyBjb25zaWRlcmVkIGluaXRpYWxpemVkIGFmdGVyIHRoZSBgY3JlYXRlYCBldmVudCBoYXMgYmVlbiBlbWl0dGVkLlxuICAgICAqL1xuICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMuZXh0ZW5zaW9uU3RvcmFnZSA9IHt9O1xuICAgIC8qKlxuICAgICAqIEEgdW5pcXVlIElEIGZvciB0aGlzIGVkaXRvciBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICB0aGlzLmluc3RhbmNlSWQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLCA5KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBlbGVtZW50OiB0eXBlb2YgZG9jdW1lbnQgIT09IFwidW5kZWZpbmVkXCIgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpIDogbnVsbCxcbiAgICAgIGNvbnRlbnQ6IFwiXCIsXG4gICAgICBpbmplY3RDU1M6IHRydWUsXG4gICAgICBpbmplY3ROb25jZTogdm9pZCAwLFxuICAgICAgZXh0ZW5zaW9uczogW10sXG4gICAgICBhdXRvZm9jdXM6IGZhbHNlLFxuICAgICAgZWRpdGFibGU6IHRydWUsXG4gICAgICB0ZXh0RGlyZWN0aW9uOiB2b2lkIDAsXG4gICAgICBlZGl0b3JQcm9wczoge30sXG4gICAgICBwYXJzZU9wdGlvbnM6IHt9LFxuICAgICAgY29yZUV4dGVuc2lvbk9wdGlvbnM6IHt9LFxuICAgICAgZW5hYmxlSW5wdXRSdWxlczogdHJ1ZSxcbiAgICAgIGVuYWJsZVBhc3RlUnVsZXM6IHRydWUsXG4gICAgICBlbmFibGVDb3JlRXh0ZW5zaW9uczogdHJ1ZSxcbiAgICAgIGVuYWJsZUNvbnRlbnRDaGVjazogZmFsc2UsXG4gICAgICBlbWl0Q29udGVudEVycm9yOiBmYWxzZSxcbiAgICAgIG9uQmVmb3JlQ3JlYXRlOiAoKSA9PiBudWxsLFxuICAgICAgb25DcmVhdGU6ICgpID0+IG51bGwsXG4gICAgICBvbk1vdW50OiAoKSA9PiBudWxsLFxuICAgICAgb25Vbm1vdW50OiAoKSA9PiBudWxsLFxuICAgICAgb25VcGRhdGU6ICgpID0+IG51bGwsXG4gICAgICBvblNlbGVjdGlvblVwZGF0ZTogKCkgPT4gbnVsbCxcbiAgICAgIG9uVHJhbnNhY3Rpb246ICgpID0+IG51bGwsXG4gICAgICBvbkZvY3VzOiAoKSA9PiBudWxsLFxuICAgICAgb25CbHVyOiAoKSA9PiBudWxsLFxuICAgICAgb25EZXN0cm95OiAoKSA9PiBudWxsLFxuICAgICAgb25Db250ZW50RXJyb3I6ICh7IGVycm9yIH0pID0+IHtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9LFxuICAgICAgb25QYXN0ZTogKCkgPT4gbnVsbCxcbiAgICAgIG9uRHJvcDogKCkgPT4gbnVsbCxcbiAgICAgIG9uRGVsZXRlOiAoKSA9PiBudWxsLFxuICAgICAgZW5hYmxlRXh0ZW5zaW9uRGlzcGF0Y2hUcmFuc2FjdGlvbjogdHJ1ZVxuICAgIH07XG4gICAgdGhpcy5pc0NhcHR1cmluZ1RyYW5zYWN0aW9uID0gZmFsc2U7XG4gICAgdGhpcy5jYXB0dXJlZFRyYW5zYWN0aW9uID0gbnVsbDtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgc2V0IG9mIHV0aWxpdGllcyBmb3Igd29ya2luZyB3aXRoIHBvc2l0aW9ucyBhbmQgcmFuZ2VzLlxuICAgICAqL1xuICAgIHRoaXMudXRpbHMgPSB7XG4gICAgICBnZXRVcGRhdGVkUG9zaXRpb24sXG4gICAgICBjcmVhdGVNYXBwYWJsZVBvc2l0aW9uXG4gICAgfTtcbiAgICB0aGlzLnNldE9wdGlvbnMob3B0aW9ucyk7XG4gICAgdGhpcy5jcmVhdGVFeHRlbnNpb25NYW5hZ2VyKCk7XG4gICAgdGhpcy5jcmVhdGVDb21tYW5kTWFuYWdlcigpO1xuICAgIHRoaXMuY3JlYXRlU2NoZW1hKCk7XG4gICAgdGhpcy5vbihcImJlZm9yZUNyZWF0ZVwiLCB0aGlzLm9wdGlvbnMub25CZWZvcmVDcmVhdGUpO1xuICAgIHRoaXMuZW1pdChcImJlZm9yZUNyZWF0ZVwiLCB7IGVkaXRvcjogdGhpcyB9KTtcbiAgICB0aGlzLm9uKFwibW91bnRcIiwgdGhpcy5vcHRpb25zLm9uTW91bnQpO1xuICAgIHRoaXMub24oXCJ1bm1vdW50XCIsIHRoaXMub3B0aW9ucy5vblVubW91bnQpO1xuICAgIHRoaXMub24oXCJjb250ZW50RXJyb3JcIiwgdGhpcy5vcHRpb25zLm9uQ29udGVudEVycm9yKTtcbiAgICB0aGlzLm9uKFwiY3JlYXRlXCIsIHRoaXMub3B0aW9ucy5vbkNyZWF0ZSk7XG4gICAgdGhpcy5vbihcInVwZGF0ZVwiLCB0aGlzLm9wdGlvbnMub25VcGRhdGUpO1xuICAgIHRoaXMub24oXCJzZWxlY3Rpb25VcGRhdGVcIiwgdGhpcy5vcHRpb25zLm9uU2VsZWN0aW9uVXBkYXRlKTtcbiAgICB0aGlzLm9uKFwidHJhbnNhY3Rpb25cIiwgdGhpcy5vcHRpb25zLm9uVHJhbnNhY3Rpb24pO1xuICAgIHRoaXMub24oXCJmb2N1c1wiLCB0aGlzLm9wdGlvbnMub25Gb2N1cyk7XG4gICAgdGhpcy5vbihcImJsdXJcIiwgdGhpcy5vcHRpb25zLm9uQmx1cik7XG4gICAgdGhpcy5vbihcImRlc3Ryb3lcIiwgdGhpcy5vcHRpb25zLm9uRGVzdHJveSk7XG4gICAgdGhpcy5vbihcImRyb3BcIiwgKHsgZXZlbnQsIHNsaWNlLCBtb3ZlZCB9KSA9PiB0aGlzLm9wdGlvbnMub25Ecm9wKGV2ZW50LCBzbGljZSwgbW92ZWQpKTtcbiAgICB0aGlzLm9uKFwicGFzdGVcIiwgKHsgZXZlbnQsIHNsaWNlIH0pID0+IHRoaXMub3B0aW9ucy5vblBhc3RlKGV2ZW50LCBzbGljZSkpO1xuICAgIHRoaXMub24oXCJkZWxldGVcIiwgdGhpcy5vcHRpb25zLm9uRGVsZXRlKTtcbiAgICBjb25zdCBpbml0aWFsRG9jID0gdGhpcy5jcmVhdGVEb2MoKTtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSByZXNvbHZlRm9jdXNQb3NpdGlvbihpbml0aWFsRG9jLCB0aGlzLm9wdGlvbnMuYXV0b2ZvY3VzKTtcbiAgICB0aGlzLmVkaXRvclN0YXRlID0gRWRpdG9yU3RhdGUuY3JlYXRlKHtcbiAgICAgIGRvYzogaW5pdGlhbERvYyxcbiAgICAgIHNjaGVtYTogdGhpcy5zY2hlbWEsXG4gICAgICBzZWxlY3Rpb246IHNlbGVjdGlvbiB8fCB2b2lkIDBcbiAgICB9KTtcbiAgICBpZiAodGhpcy5vcHRpb25zLmVsZW1lbnQpIHtcbiAgICAgIHRoaXMubW91bnQodGhpcy5vcHRpb25zLmVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogQXR0YWNoIHRoZSBlZGl0b3IgdG8gdGhlIERPTSwgY3JlYXRpbmcgYSBuZXcgZWRpdG9yIHZpZXcuXG4gICAqL1xuICBtb3VudChlbCkge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFt0aXB0YXAgZXJyb3JdOiBUaGUgZWRpdG9yIGNhbm5vdCBiZSBtb3VudGVkIGJlY2F1c2UgdGhlcmUgaXMgbm8gJ2RvY3VtZW50JyBkZWZpbmVkIGluIHRoaXMgZW52aXJvbm1lbnQuYFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5jcmVhdGVWaWV3KGVsKTtcbiAgICB0aGlzLmVtaXQoXCJtb3VudFwiLCB7IGVkaXRvcjogdGhpcyB9KTtcbiAgICBpZiAodGhpcy5jc3MgJiYgIWRvY3VtZW50LmhlYWQuY29udGFpbnModGhpcy5jc3MpKSB7XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRoaXMuY3NzKTtcbiAgICB9XG4gICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5hdXRvZm9jdXMgIT09IGZhbHNlICYmIHRoaXMub3B0aW9ucy5hdXRvZm9jdXMgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5jb21tYW5kcy5mb2N1cyh0aGlzLm9wdGlvbnMuYXV0b2ZvY3VzKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW1pdChcImNyZWF0ZVwiLCB7IGVkaXRvcjogdGhpcyB9KTtcbiAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgfSwgMCk7XG4gIH1cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgZWRpdG9yIGZyb20gdGhlIERPTSwgYnV0IHN0aWxsIGFsbG93IHJlbW91bnRpbmcgYXQgYSBkaWZmZXJlbnQgcG9pbnQgaW4gdGltZVxuICAgKi9cbiAgdW5tb3VudCgpIHtcbiAgICBpZiAodGhpcy5lZGl0b3JWaWV3KSB7XG4gICAgICBjb25zdCBkb20gPSB0aGlzLmVkaXRvclZpZXcuZG9tO1xuICAgICAgaWYgKGRvbSA9PSBudWxsID8gdm9pZCAwIDogZG9tLmVkaXRvcikge1xuICAgICAgICBkZWxldGUgZG9tLmVkaXRvcjtcbiAgICAgIH1cbiAgICAgIHRoaXMuZWRpdG9yVmlldy5kZXN0cm95KCk7XG4gICAgfVxuICAgIHRoaXMuZWRpdG9yVmlldyA9IG51bGw7XG4gICAgdGhpcy5pc0luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY3NzICYmICFkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGAuJHt0aGlzLmNsYXNzTmFtZX1gKS5sZW5ndGgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jc3MucmVtb3ZlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICB0aGlzLmNzcy5yZW1vdmUoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNzcy5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgdGhpcy5jc3MucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmNzcyk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcIkZhaWxlZCB0byByZW1vdmUgQ1NTIGVsZW1lbnQ6XCIsIGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jc3MgPSBudWxsO1xuICAgIHRoaXMuZW1pdChcInVubW91bnRcIiwgeyBlZGl0b3I6IHRoaXMgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVkaXRvciBzdG9yYWdlLlxuICAgKi9cbiAgZ2V0IHN0b3JhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5zaW9uU3RvcmFnZTtcbiAgfVxuICAvKipcbiAgICogQW4gb2JqZWN0IG9mIGFsbCByZWdpc3RlcmVkIGNvbW1hbmRzLlxuICAgKi9cbiAgZ2V0IGNvbW1hbmRzKCkge1xuICAgIHJldHVybiB0aGlzLmNvbW1hbmRNYW5hZ2VyLmNvbW1hbmRzO1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjb21tYW5kIGNoYWluIHRvIGNhbGwgbXVsdGlwbGUgY29tbWFuZHMgYXQgb25jZS5cbiAgICovXG4gIGNoYWluKCkge1xuICAgIHJldHVybiB0aGlzLmNvbW1hbmRNYW5hZ2VyLmNoYWluKCk7XG4gIH1cbiAgLyoqXG4gICAqIENoZWNrIGlmIGEgY29tbWFuZCBvciBhIGNvbW1hbmQgY2hhaW4gY2FuIGJlIGV4ZWN1dGVkLiBXaXRob3V0IGV4ZWN1dGluZyBpdC5cbiAgICovXG4gIGNhbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb21tYW5kTWFuYWdlci5jYW4oKTtcbiAgfVxuICAvKipcbiAgICogSW5qZWN0IENTUyBzdHlsZXMuXG4gICAqL1xuICBpbmplY3RDU1MoKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5pbmplY3RDU1MgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICB0aGlzLmNzcyA9IGNyZWF0ZVN0eWxlVGFnKHN0eWxlLCB0aGlzLm9wdGlvbnMuaW5qZWN0Tm9uY2UpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogVXBkYXRlIGVkaXRvciBvcHRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBIGxpc3Qgb2Ygb3B0aW9uc1xuICAgKi9cbiAgc2V0T3B0aW9ucyhvcHRpb25zID0ge30pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfTtcbiAgICBpZiAoIXRoaXMuZWRpdG9yVmlldyB8fCAhdGhpcy5zdGF0ZSB8fCB0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnMuZWRpdG9yUHJvcHMpIHtcbiAgICAgIHRoaXMudmlldy5zZXRQcm9wcyh0aGlzLm9wdGlvbnMuZWRpdG9yUHJvcHMpO1xuICAgIH1cbiAgICB0aGlzLnZpZXcudXBkYXRlU3RhdGUodGhpcy5zdGF0ZSk7XG4gIH1cbiAgLyoqXG4gICAqIFVwZGF0ZSBlZGl0YWJsZSBzdGF0ZSBvZiB0aGUgZWRpdG9yLlxuICAgKi9cbiAgc2V0RWRpdGFibGUoZWRpdGFibGUsIGVtaXRVcGRhdGUgPSB0cnVlKSB7XG4gICAgdGhpcy5zZXRPcHRpb25zKHsgZWRpdGFibGUgfSk7XG4gICAgaWYgKGVtaXRVcGRhdGUpIHtcbiAgICAgIHRoaXMuZW1pdChcInVwZGF0ZVwiLCB7IGVkaXRvcjogdGhpcywgdHJhbnNhY3Rpb246IHRoaXMuc3RhdGUudHIsIGFwcGVuZGVkVHJhbnNhY3Rpb25zOiBbXSB9KTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgZWRpdG9yIGlzIGVkaXRhYmxlLlxuICAgKi9cbiAgZ2V0IGlzRWRpdGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5lZGl0YWJsZSAmJiB0aGlzLnZpZXcgJiYgdGhpcy52aWV3LmVkaXRhYmxlO1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBlZGl0b3Igc3RhdGUuXG4gICAqL1xuICBnZXQgdmlldygpIHtcbiAgICBpZiAodGhpcy5lZGl0b3JWaWV3KSB7XG4gICAgICByZXR1cm4gdGhpcy5lZGl0b3JWaWV3O1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFByb3h5KFxuICAgICAge1xuICAgICAgICBzdGF0ZTogdGhpcy5lZGl0b3JTdGF0ZSxcbiAgICAgICAgdXBkYXRlU3RhdGU6IChzdGF0ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuZWRpdG9yU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGF0Y2g6ICh0cikgPT4ge1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hUcmFuc2FjdGlvbih0cik7XG4gICAgICAgIH0sXG4gICAgICAgIC8vIFN0dWIgc29tZSBjb21tb25seSBhY2Nlc3NlZCBwcm9wZXJ0aWVzIHRvIHByZXZlbnQgZXJyb3JzXG4gICAgICAgIGNvbXBvc2luZzogZmFsc2UsXG4gICAgICAgIGRyYWdnaW5nOiBudWxsLFxuICAgICAgICBlZGl0YWJsZTogdHJ1ZSxcbiAgICAgICAgaXNEZXN0cm95ZWQ6IGZhbHNlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBnZXQ6IChvYmosIGtleSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmVkaXRvclZpZXcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVkaXRvclZpZXdba2V5XTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGtleSA9PT0gXCJzdGF0ZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lZGl0b3JTdGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGtleSBpbiBvYmopIHtcbiAgICAgICAgICAgIHJldHVybiBSZWZsZWN0LmdldChvYmosIGtleSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBbdGlwdGFwIGVycm9yXTogVGhlIGVkaXRvciB2aWV3IGlzIG5vdCBhdmFpbGFibGUuIENhbm5vdCBhY2Nlc3Mgdmlld1snJHtrZXl9J10uIFRoZSBlZGl0b3IgbWF5IG5vdCBiZSBtb3VudGVkIHlldC5gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGVkaXRvciBzdGF0ZS5cbiAgICovXG4gIGdldCBzdGF0ZSgpIHtcbiAgICBpZiAodGhpcy5lZGl0b3JWaWV3KSB7XG4gICAgICB0aGlzLmVkaXRvclN0YXRlID0gdGhpcy52aWV3LnN0YXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5lZGl0b3JTdGF0ZTtcbiAgfVxuICAvKipcbiAgICogUmVnaXN0ZXIgYSBQcm9zZU1pcnJvciBwbHVnaW4uXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gQSBQcm9zZU1pcnJvciBwbHVnaW5cbiAgICogQHBhcmFtIGhhbmRsZVBsdWdpbnMgQ29udHJvbCBob3cgdG8gbWVyZ2UgdGhlIHBsdWdpbiBpbnRvIHRoZSBleGlzdGluZyBwbHVnaW5zLlxuICAgKiBAcmV0dXJucyBUaGUgbmV3IGVkaXRvciBzdGF0ZVxuICAgKi9cbiAgcmVnaXN0ZXJQbHVnaW4ocGx1Z2luLCBoYW5kbGVQbHVnaW5zKSB7XG4gICAgY29uc3QgcGx1Z2lucyA9IGlzRnVuY3Rpb24oaGFuZGxlUGx1Z2lucykgPyBoYW5kbGVQbHVnaW5zKHBsdWdpbiwgWy4uLnRoaXMuc3RhdGUucGx1Z2luc10pIDogWy4uLnRoaXMuc3RhdGUucGx1Z2lucywgcGx1Z2luXTtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGUucmVjb25maWd1cmUoeyBwbHVnaW5zIH0pO1xuICAgIHRoaXMudmlldy51cGRhdGVTdGF0ZShzdGF0ZSk7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG4gIC8qKlxuICAgKiBVbnJlZ2lzdGVyIGEgUHJvc2VNaXJyb3IgcGx1Z2luLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZU9yUGx1Z2luS2V5VG9SZW1vdmUgVGhlIHBsdWdpbnMgbmFtZVxuICAgKiBAcmV0dXJucyBUaGUgbmV3IGVkaXRvciBzdGF0ZSBvciB1bmRlZmluZWQgaWYgdGhlIGVkaXRvciBpcyBkZXN0cm95ZWRcbiAgICovXG4gIHVucmVnaXN0ZXJQbHVnaW4obmFtZU9yUGx1Z2luS2V5VG9SZW1vdmUpIHtcbiAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG4gICAgY29uc3QgcHJldlBsdWdpbnMgPSB0aGlzLnN0YXRlLnBsdWdpbnM7XG4gICAgbGV0IHBsdWdpbnMgPSBwcmV2UGx1Z2lucztcbiAgICBbXS5jb25jYXQobmFtZU9yUGx1Z2luS2V5VG9SZW1vdmUpLmZvckVhY2goKG5hbWVPclBsdWdpbktleSkgPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IHR5cGVvZiBuYW1lT3JQbHVnaW5LZXkgPT09IFwic3RyaW5nXCIgPyBgJHtuYW1lT3JQbHVnaW5LZXl9JGAgOiBuYW1lT3JQbHVnaW5LZXkua2V5O1xuICAgICAgcGx1Z2lucyA9IHBsdWdpbnMuZmlsdGVyKChwbHVnaW4pID0+ICFwbHVnaW4ua2V5LnN0YXJ0c1dpdGgobmFtZSkpO1xuICAgIH0pO1xuICAgIGlmIChwcmV2UGx1Z2lucy5sZW5ndGggPT09IHBsdWdpbnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGUucmVjb25maWd1cmUoe1xuICAgICAgcGx1Z2luc1xuICAgIH0pO1xuICAgIHRoaXMudmlldy51cGRhdGVTdGF0ZShzdGF0ZSk7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGV4dGVuc2lvbiBtYW5hZ2VyLlxuICAgKi9cbiAgY3JlYXRlRXh0ZW5zaW9uTWFuYWdlcigpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IGNvcmVFeHRlbnNpb25zID0gdGhpcy5vcHRpb25zLmVuYWJsZUNvcmVFeHRlbnNpb25zID8gW1xuICAgICAgRWRpdGFibGUsXG4gICAgICBDbGlwYm9hcmRUZXh0U2VyaWFsaXplci5jb25maWd1cmUoe1xuICAgICAgICBibG9ja1NlcGFyYXRvcjogKF9iID0gKF9hID0gdGhpcy5vcHRpb25zLmNvcmVFeHRlbnNpb25PcHRpb25zKSA9PSBudWxsID8gdm9pZCAwIDogX2EuY2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIpID09IG51bGwgPyB2b2lkIDAgOiBfYi5ibG9ja1NlcGFyYXRvclxuICAgICAgfSksXG4gICAgICBDb21tYW5kcyxcbiAgICAgIEZvY3VzRXZlbnRzLFxuICAgICAgS2V5bWFwLFxuICAgICAgVGFiaW5kZXgsXG4gICAgICBEcm9wLFxuICAgICAgUGFzdGUsXG4gICAgICBEZWxldGUsXG4gICAgICBUZXh0RGlyZWN0aW9uLmNvbmZpZ3VyZSh7XG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5vcHRpb25zLnRleHREaXJlY3Rpb25cbiAgICAgIH0pXG4gICAgXS5maWx0ZXIoKGV4dCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuZW5hYmxlQ29yZUV4dGVuc2lvbnMgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5lbmFibGVDb3JlRXh0ZW5zaW9uc1tleHQubmFtZV0gIT09IGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSkgOiBbXTtcbiAgICBjb25zdCBhbGxFeHRlbnNpb25zID0gWy4uLmNvcmVFeHRlbnNpb25zLCAuLi50aGlzLm9wdGlvbnMuZXh0ZW5zaW9uc10uZmlsdGVyKChleHRlbnNpb24pID0+IHtcbiAgICAgIHJldHVybiBbXCJleHRlbnNpb25cIiwgXCJub2RlXCIsIFwibWFya1wiXS5pbmNsdWRlcyhleHRlbnNpb24gPT0gbnVsbCA/IHZvaWQgMCA6IGV4dGVuc2lvbi50eXBlKTtcbiAgICB9KTtcbiAgICB0aGlzLmV4dGVuc2lvbk1hbmFnZXIgPSBuZXcgRXh0ZW5zaW9uTWFuYWdlcihhbGxFeHRlbnNpb25zLCB0aGlzKTtcbiAgfVxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBjb21tYW5kIG1hbmFnZXIuXG4gICAqL1xuICBjcmVhdGVDb21tYW5kTWFuYWdlcigpIHtcbiAgICB0aGlzLmNvbW1hbmRNYW5hZ2VyID0gbmV3IENvbW1hbmRNYW5hZ2VyKHtcbiAgICAgIGVkaXRvcjogdGhpc1xuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUHJvc2VNaXJyb3Igc2NoZW1hLlxuICAgKi9cbiAgY3JlYXRlU2NoZW1hKCkge1xuICAgIHRoaXMuc2NoZW1hID0gdGhpcy5leHRlbnNpb25NYW5hZ2VyLnNjaGVtYTtcbiAgfVxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgaW5pdGlhbCBkb2N1bWVudC5cbiAgICovXG4gIGNyZWF0ZURvYygpIHtcbiAgICBsZXQgZG9jO1xuICAgIHRyeSB7XG4gICAgICBkb2MgPSBjcmVhdGVEb2N1bWVudCh0aGlzLm9wdGlvbnMuY29udGVudCwgdGhpcy5zY2hlbWEsIHRoaXMub3B0aW9ucy5wYXJzZU9wdGlvbnMsIHtcbiAgICAgICAgZXJyb3JPbkludmFsaWRDb250ZW50OiB0aGlzLm9wdGlvbnMuZW5hYmxlQ29udGVudENoZWNrXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgRXJyb3IpIHx8ICFbXCJbdGlwdGFwIGVycm9yXTogSW52YWxpZCBKU09OIGNvbnRlbnRcIiwgXCJbdGlwdGFwIGVycm9yXTogSW52YWxpZCBIVE1MIGNvbnRlbnRcIl0uaW5jbHVkZXMoZS5tZXNzYWdlKSkge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgICAgdGhpcy5lbWl0KFwiY29udGVudEVycm9yXCIsIHtcbiAgICAgICAgZWRpdG9yOiB0aGlzLFxuICAgICAgICBlcnJvcjogZSxcbiAgICAgICAgZGlzYWJsZUNvbGxhYm9yYXRpb246ICgpID0+IHtcbiAgICAgICAgICBpZiAoXCJjb2xsYWJvcmF0aW9uXCIgaW4gdGhpcy5zdG9yYWdlICYmIHR5cGVvZiB0aGlzLnN0b3JhZ2UuY29sbGFib3JhdGlvbiA9PT0gXCJvYmplY3RcIiAmJiB0aGlzLnN0b3JhZ2UuY29sbGFib3JhdGlvbikge1xuICAgICAgICAgICAgO1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlLmNvbGxhYm9yYXRpb24uaXNEaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMub3B0aW9ucy5leHRlbnNpb25zID0gdGhpcy5vcHRpb25zLmV4dGVuc2lvbnMuZmlsdGVyKChleHRlbnNpb24pID0+IGV4dGVuc2lvbi5uYW1lICE9PSBcImNvbGxhYm9yYXRpb25cIik7XG4gICAgICAgICAgdGhpcy5jcmVhdGVFeHRlbnNpb25NYW5hZ2VyKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgZG9jID0gY3JlYXRlRG9jdW1lbnQodGhpcy5vcHRpb25zLmNvbnRlbnQsIHRoaXMuc2NoZW1hLCB0aGlzLm9wdGlvbnMucGFyc2VPcHRpb25zLCB7XG4gICAgICAgIGVycm9yT25JbnZhbGlkQ29udGVudDogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZG9jO1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUHJvc2VNaXJyb3Igdmlldy5cbiAgICovXG4gIGNyZWF0ZVZpZXcoZWxlbWVudCkge1xuICAgIGNvbnN0IHsgZWRpdG9yUHJvcHMsIGVuYWJsZUV4dGVuc2lvbkRpc3BhdGNoVHJhbnNhY3Rpb24gfSA9IHRoaXMub3B0aW9ucztcbiAgICBjb25zdCBiYXNlRGlzcGF0Y2ggPSBlZGl0b3JQcm9wcy5kaXNwYXRjaFRyYW5zYWN0aW9uIHx8IHRoaXMuZGlzcGF0Y2hUcmFuc2FjdGlvbi5iaW5kKHRoaXMpO1xuICAgIGNvbnN0IGRpc3BhdGNoID0gZW5hYmxlRXh0ZW5zaW9uRGlzcGF0Y2hUcmFuc2FjdGlvbiA/IHRoaXMuZXh0ZW5zaW9uTWFuYWdlci5kaXNwYXRjaFRyYW5zYWN0aW9uKGJhc2VEaXNwYXRjaCkgOiBiYXNlRGlzcGF0Y2g7XG4gICAgdGhpcy5lZGl0b3JWaWV3ID0gbmV3IEVkaXRvclZpZXcoZWxlbWVudCwge1xuICAgICAgLi4uZWRpdG9yUHJvcHMsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIC8vIGFkZCBgcm9sZT1cInRleHRib3hcImAgdG8gdGhlIGVkaXRvciBlbGVtZW50XG4gICAgICAgIHJvbGU6IFwidGV4dGJveFwiLFxuICAgICAgICAuLi5lZGl0b3JQcm9wcyA9PSBudWxsID8gdm9pZCAwIDogZWRpdG9yUHJvcHMuYXR0cmlidXRlc1xuICAgICAgfSxcbiAgICAgIGRpc3BhdGNoVHJhbnNhY3Rpb246IGRpc3BhdGNoLFxuICAgICAgc3RhdGU6IHRoaXMuZWRpdG9yU3RhdGUsXG4gICAgICBtYXJrVmlld3M6IHRoaXMuZXh0ZW5zaW9uTWFuYWdlci5tYXJrVmlld3MsXG4gICAgICBub2RlVmlld3M6IHRoaXMuZXh0ZW5zaW9uTWFuYWdlci5ub2RlVmlld3NcbiAgICB9KTtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IHRoaXMuc3RhdGUucmVjb25maWd1cmUoe1xuICAgICAgcGx1Z2luczogdGhpcy5leHRlbnNpb25NYW5hZ2VyLnBsdWdpbnNcbiAgICB9KTtcbiAgICB0aGlzLnZpZXcudXBkYXRlU3RhdGUobmV3U3RhdGUpO1xuICAgIHRoaXMucHJlcGVuZENsYXNzKCk7XG4gICAgdGhpcy5pbmplY3RDU1MoKTtcbiAgICBjb25zdCBkb20gPSB0aGlzLnZpZXcuZG9tO1xuICAgIGRvbS5lZGl0b3IgPSB0aGlzO1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGVzIGFsbCBub2RlIGFuZCBtYXJrIHZpZXdzLlxuICAgKi9cbiAgY3JlYXRlTm9kZVZpZXdzKCkge1xuICAgIGlmICh0aGlzLnZpZXcuaXNEZXN0cm95ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52aWV3LnNldFByb3BzKHtcbiAgICAgIG1hcmtWaWV3czogdGhpcy5leHRlbnNpb25NYW5hZ2VyLm1hcmtWaWV3cyxcbiAgICAgIG5vZGVWaWV3czogdGhpcy5leHRlbnNpb25NYW5hZ2VyLm5vZGVWaWV3c1xuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBQcmVwZW5kIGNsYXNzIG5hbWUgdG8gZWxlbWVudC5cbiAgICovXG4gIHByZXBlbmRDbGFzcygpIHtcbiAgICB0aGlzLnZpZXcuZG9tLmNsYXNzTmFtZSA9IGAke3RoaXMuY2xhc3NOYW1lfSAke3RoaXMudmlldy5kb20uY2xhc3NOYW1lfWA7XG4gIH1cbiAgY2FwdHVyZVRyYW5zYWN0aW9uKGZuKSB7XG4gICAgdGhpcy5pc0NhcHR1cmluZ1RyYW5zYWN0aW9uID0gdHJ1ZTtcbiAgICBmbigpO1xuICAgIHRoaXMuaXNDYXB0dXJpbmdUcmFuc2FjdGlvbiA9IGZhbHNlO1xuICAgIGNvbnN0IHRyID0gdGhpcy5jYXB0dXJlZFRyYW5zYWN0aW9uO1xuICAgIHRoaXMuY2FwdHVyZWRUcmFuc2FjdGlvbiA9IG51bGw7XG4gICAgcmV0dXJuIHRyO1xuICB9XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgb3ZlciB3aGljaCB0byBzZW5kIHRyYW5zYWN0aW9ucyAoc3RhdGUgdXBkYXRlcykgcHJvZHVjZWQgYnkgdGhlIHZpZXcuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBBbiBlZGl0b3Igc3RhdGUgdHJhbnNhY3Rpb25cbiAgICovXG4gIGRpc3BhdGNoVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pIHtcbiAgICBpZiAodGhpcy52aWV3LmlzRGVzdHJveWVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmlzQ2FwdHVyaW5nVHJhbnNhY3Rpb24pIHtcbiAgICAgIGlmICghdGhpcy5jYXB0dXJlZFRyYW5zYWN0aW9uKSB7XG4gICAgICAgIHRoaXMuY2FwdHVyZWRUcmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0cmFuc2FjdGlvbi5zdGVwcy5mb3JFYWNoKChzdGVwKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIChfYSA9IHRoaXMuY2FwdHVyZWRUcmFuc2FjdGlvbikgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLnN0ZXAoc3RlcCk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgeyBzdGF0ZSwgdHJhbnNhY3Rpb25zIH0gPSB0aGlzLnN0YXRlLmFwcGx5VHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHNlbGVjdGlvbkhhc0NoYW5nZWQgPSAhdGhpcy5zdGF0ZS5zZWxlY3Rpb24uZXEoc3RhdGUuc2VsZWN0aW9uKTtcbiAgICBjb25zdCByb290VHJXYXNBcHBsaWVkID0gdHJhbnNhY3Rpb25zLmluY2x1ZGVzKHRyYW5zYWN0aW9uKTtcbiAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLnN0YXRlO1xuICAgIHRoaXMuZW1pdChcImJlZm9yZVRyYW5zYWN0aW9uXCIsIHtcbiAgICAgIGVkaXRvcjogdGhpcyxcbiAgICAgIHRyYW5zYWN0aW9uLFxuICAgICAgbmV4dFN0YXRlOiBzdGF0ZVxuICAgIH0pO1xuICAgIGlmICghcm9vdFRyV2FzQXBwbGllZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZpZXcudXBkYXRlU3RhdGUoc3RhdGUpO1xuICAgIHRoaXMuZW1pdChcInRyYW5zYWN0aW9uXCIsIHtcbiAgICAgIGVkaXRvcjogdGhpcyxcbiAgICAgIHRyYW5zYWN0aW9uLFxuICAgICAgYXBwZW5kZWRUcmFuc2FjdGlvbnM6IHRyYW5zYWN0aW9ucy5zbGljZSgxKVxuICAgIH0pO1xuICAgIGlmIChzZWxlY3Rpb25IYXNDaGFuZ2VkKSB7XG4gICAgICB0aGlzLmVtaXQoXCJzZWxlY3Rpb25VcGRhdGVcIiwge1xuICAgICAgICBlZGl0b3I6IHRoaXMsXG4gICAgICAgIHRyYW5zYWN0aW9uXG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgbW9zdFJlY2VudEZvY3VzVHIgPSB0cmFuc2FjdGlvbnMuZmluZExhc3QoKHRyKSA9PiB0ci5nZXRNZXRhKFwiZm9jdXNcIikgfHwgdHIuZ2V0TWV0YShcImJsdXJcIikpO1xuICAgIGNvbnN0IGZvY3VzMiA9IG1vc3RSZWNlbnRGb2N1c1RyID09IG51bGwgPyB2b2lkIDAgOiBtb3N0UmVjZW50Rm9jdXNUci5nZXRNZXRhKFwiZm9jdXNcIik7XG4gICAgY29uc3QgYmx1cjIgPSBtb3N0UmVjZW50Rm9jdXNUciA9PSBudWxsID8gdm9pZCAwIDogbW9zdFJlY2VudEZvY3VzVHIuZ2V0TWV0YShcImJsdXJcIik7XG4gICAgaWYgKGZvY3VzMikge1xuICAgICAgdGhpcy5lbWl0KFwiZm9jdXNcIiwge1xuICAgICAgICBlZGl0b3I6IHRoaXMsXG4gICAgICAgIGV2ZW50OiBmb2N1czIuZXZlbnQsXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgIHRyYW5zYWN0aW9uOiBtb3N0UmVjZW50Rm9jdXNUclxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChibHVyMikge1xuICAgICAgdGhpcy5lbWl0KFwiYmx1clwiLCB7XG4gICAgICAgIGVkaXRvcjogdGhpcyxcbiAgICAgICAgZXZlbnQ6IGJsdXIyLmV2ZW50LFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICB0cmFuc2FjdGlvbjogbW9zdFJlY2VudEZvY3VzVHJcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodHJhbnNhY3Rpb24uZ2V0TWV0YShcInByZXZlbnRVcGRhdGVcIikgfHwgIXRyYW5zYWN0aW9ucy5zb21lKCh0cikgPT4gdHIuZG9jQ2hhbmdlZCkgfHwgcHJldlN0YXRlLmRvYy5lcShzdGF0ZS5kb2MpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZW1pdChcInVwZGF0ZVwiLCB7XG4gICAgICBlZGl0b3I6IHRoaXMsXG4gICAgICB0cmFuc2FjdGlvbixcbiAgICAgIGFwcGVuZGVkVHJhbnNhY3Rpb25zOiB0cmFuc2FjdGlvbnMuc2xpY2UoMSlcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogR2V0IGF0dHJpYnV0ZXMgb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBub2RlIG9yIG1hcmsuXG4gICAqL1xuICBnZXRBdHRyaWJ1dGVzKG5hbWVPclR5cGUpIHtcbiAgICByZXR1cm4gZ2V0QXR0cmlidXRlcyh0aGlzLnN0YXRlLCBuYW1lT3JUeXBlKTtcbiAgfVxuICBpc0FjdGl2ZShuYW1lT3JBdHRyaWJ1dGVzLCBhdHRyaWJ1dGVzT3JVbmRlZmluZWQpIHtcbiAgICBjb25zdCBuYW1lID0gdHlwZW9mIG5hbWVPckF0dHJpYnV0ZXMgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JBdHRyaWJ1dGVzIDogbnVsbDtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gdHlwZW9mIG5hbWVPckF0dHJpYnV0ZXMgPT09IFwic3RyaW5nXCIgPyBhdHRyaWJ1dGVzT3JVbmRlZmluZWQgOiBuYW1lT3JBdHRyaWJ1dGVzO1xuICAgIHJldHVybiBpc0FjdGl2ZSh0aGlzLnN0YXRlLCBuYW1lLCBhdHRyaWJ1dGVzKTtcbiAgfVxuICAvKipcbiAgICogR2V0IHRoZSBkb2N1bWVudCBhcyBKU09OLlxuICAgKi9cbiAgZ2V0SlNPTigpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5kb2MudG9KU09OKCk7XG4gIH1cbiAgLyoqXG4gICAqIEdldCB0aGUgZG9jdW1lbnQgYXMgSFRNTC5cbiAgICovXG4gIGdldEhUTUwoKSB7XG4gICAgcmV0dXJuIGdldEhUTUxGcm9tRnJhZ21lbnQodGhpcy5zdGF0ZS5kb2MuY29udGVudCwgdGhpcy5zY2hlbWEpO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgdGhlIGRvY3VtZW50IGFzIHRleHQuXG4gICAqL1xuICBnZXRUZXh0KG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IGJsb2NrU2VwYXJhdG9yID0gXCJcXG5cXG5cIiwgdGV4dFNlcmlhbGl6ZXJzID0ge30gfSA9IG9wdGlvbnMgfHwge307XG4gICAgcmV0dXJuIGdldFRleHQodGhpcy5zdGF0ZS5kb2MsIHtcbiAgICAgIGJsb2NrU2VwYXJhdG9yLFxuICAgICAgdGV4dFNlcmlhbGl6ZXJzOiB7XG4gICAgICAgIC4uLmdldFRleHRTZXJpYWxpemVyc0Zyb21TY2hlbWEodGhpcy5zY2hlbWEpLFxuICAgICAgICAuLi50ZXh0U2VyaWFsaXplcnNcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlcmUgaXMgbm8gY29udGVudC5cbiAgICovXG4gIGdldCBpc0VtcHR5KCkge1xuICAgIHJldHVybiBpc05vZGVFbXB0eSh0aGlzLnN0YXRlLmRvYyk7XG4gIH1cbiAgLyoqXG4gICAqIERlc3Ryb3kgdGhlIGVkaXRvci5cbiAgICovXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5lbWl0KFwiZGVzdHJveVwiKTtcbiAgICB0aGlzLnVubW91bnQoKTtcbiAgICB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygpO1xuICB9XG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGUgZWRpdG9yIGlzIGFscmVhZHkgZGVzdHJveWVkLlxuICAgKi9cbiAgZ2V0IGlzRGVzdHJveWVkKCkge1xuICAgIHZhciBfYSwgX2I7XG4gICAgcmV0dXJuIChfYiA9IChfYSA9IHRoaXMuZWRpdG9yVmlldykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmlzRGVzdHJveWVkKSAhPSBudWxsID8gX2IgOiB0cnVlO1xuICB9XG4gICRub2RlKHNlbGVjdG9yLCBhdHRyaWJ1dGVzKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiAoKF9hID0gdGhpcy4kZG9jKSA9PSBudWxsID8gdm9pZCAwIDogX2EucXVlcnlTZWxlY3RvcihzZWxlY3RvciwgYXR0cmlidXRlcykpIHx8IG51bGw7XG4gIH1cbiAgJG5vZGVzKHNlbGVjdG9yLCBhdHRyaWJ1dGVzKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiAoKF9hID0gdGhpcy4kZG9jKSA9PSBudWxsID8gdm9pZCAwIDogX2EucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvciwgYXR0cmlidXRlcykpIHx8IG51bGw7XG4gIH1cbiAgJHBvcyhwb3MpIHtcbiAgICBjb25zdCAkcG9zID0gdGhpcy5zdGF0ZS5kb2MucmVzb2x2ZShwb3MpO1xuICAgIHJldHVybiBuZXcgTm9kZVBvcygkcG9zLCB0aGlzKTtcbiAgfVxuICBnZXQgJGRvYygpIHtcbiAgICByZXR1cm4gdGhpcy4kcG9zKDApO1xuICB9XG59O1xuXG4vLyBzcmMvaW5wdXRSdWxlcy9tYXJrSW5wdXRSdWxlLnRzXG5mdW5jdGlvbiBtYXJrSW5wdXRSdWxlKGNvbmZpZykge1xuICByZXR1cm4gbmV3IElucHV0UnVsZSh7XG4gICAgZmluZDogY29uZmlnLmZpbmQsXG4gICAgaGFuZGxlcjogKHsgc3RhdGUsIHJhbmdlLCBtYXRjaCB9KSA9PiB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gY2FsbE9yUmV0dXJuKGNvbmZpZy5nZXRBdHRyaWJ1dGVzLCB2b2lkIDAsIG1hdGNoKTtcbiAgICAgIGlmIChhdHRyaWJ1dGVzID09PSBmYWxzZSB8fCBhdHRyaWJ1dGVzID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgeyB0ciB9ID0gc3RhdGU7XG4gICAgICBjb25zdCBjYXB0dXJlR3JvdXAgPSBtYXRjaFttYXRjaC5sZW5ndGggLSAxXTtcbiAgICAgIGNvbnN0IGZ1bGxNYXRjaCA9IG1hdGNoWzBdO1xuICAgICAgaWYgKGNhcHR1cmVHcm91cCkge1xuICAgICAgICBjb25zdCBzdGFydFNwYWNlcyA9IGZ1bGxNYXRjaC5zZWFyY2goL1xcUy8pO1xuICAgICAgICBjb25zdCB0ZXh0U3RhcnQgPSByYW5nZS5mcm9tICsgZnVsbE1hdGNoLmluZGV4T2YoY2FwdHVyZUdyb3VwKTtcbiAgICAgICAgY29uc3QgdGV4dEVuZCA9IHRleHRTdGFydCArIGNhcHR1cmVHcm91cC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGV4Y2x1ZGVkTWFya3MgPSBnZXRNYXJrc0JldHdlZW4ocmFuZ2UuZnJvbSwgcmFuZ2UudG8sIHN0YXRlLmRvYykuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgICAgY29uc3QgZXhjbHVkZWQgPSBpdGVtLm1hcmsudHlwZS5leGNsdWRlZDtcbiAgICAgICAgICByZXR1cm4gZXhjbHVkZWQuZmluZCgodHlwZSkgPT4gdHlwZSA9PT0gY29uZmlnLnR5cGUgJiYgdHlwZSAhPT0gaXRlbS5tYXJrLnR5cGUpO1xuICAgICAgICB9KS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udG8gPiB0ZXh0U3RhcnQpO1xuICAgICAgICBpZiAoZXhjbHVkZWRNYXJrcy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGV4dEVuZCA8IHJhbmdlLnRvKSB7XG4gICAgICAgICAgdHIuZGVsZXRlKHRleHRFbmQsIHJhbmdlLnRvKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGV4dFN0YXJ0ID4gcmFuZ2UuZnJvbSkge1xuICAgICAgICAgIHRyLmRlbGV0ZShyYW5nZS5mcm9tICsgc3RhcnRTcGFjZXMsIHRleHRTdGFydCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWFya0VuZCA9IHJhbmdlLmZyb20gKyBzdGFydFNwYWNlcyArIGNhcHR1cmVHcm91cC5sZW5ndGg7XG4gICAgICAgIHRyLmFkZE1hcmsocmFuZ2UuZnJvbSArIHN0YXJ0U3BhY2VzLCBtYXJrRW5kLCBjb25maWcudHlwZS5jcmVhdGUoYXR0cmlidXRlcyB8fCB7fSkpO1xuICAgICAgICB0ci5yZW1vdmVTdG9yZWRNYXJrKGNvbmZpZy50eXBlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVuZG9hYmxlOiBjb25maWcudW5kb2FibGVcbiAgfSk7XG59XG5cbi8vIHNyYy9pbnB1dFJ1bGVzL25vZGVJbnB1dFJ1bGUudHNcbmZ1bmN0aW9uIG5vZGVJbnB1dFJ1bGUoY29uZmlnKSB7XG4gIHJldHVybiBuZXcgSW5wdXRSdWxlKHtcbiAgICBmaW5kOiBjb25maWcuZmluZCxcbiAgICBoYW5kbGVyOiAoeyBzdGF0ZSwgcmFuZ2UsIG1hdGNoIH0pID0+IHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBjYWxsT3JSZXR1cm4oY29uZmlnLmdldEF0dHJpYnV0ZXMsIHZvaWQgMCwgbWF0Y2gpIHx8IHt9O1xuICAgICAgY29uc3QgeyB0ciB9ID0gc3RhdGU7XG4gICAgICBjb25zdCBzdGFydCA9IHJhbmdlLmZyb207XG4gICAgICBsZXQgZW5kID0gcmFuZ2UudG87XG4gICAgICBjb25zdCBuZXdOb2RlID0gY29uZmlnLnR5cGUuY3JlYXRlKGF0dHJpYnV0ZXMpO1xuICAgICAgaWYgKG1hdGNoWzFdKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IG1hdGNoWzBdLmxhc3RJbmRleE9mKG1hdGNoWzFdKTtcbiAgICAgICAgbGV0IG1hdGNoU3RhcnQgPSBzdGFydCArIG9mZnNldDtcbiAgICAgICAgaWYgKG1hdGNoU3RhcnQgPiBlbmQpIHtcbiAgICAgICAgICBtYXRjaFN0YXJ0ID0gZW5kO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVuZCA9IG1hdGNoU3RhcnQgKyBtYXRjaFsxXS5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGFzdENoYXIgPSBtYXRjaFswXVttYXRjaFswXS5sZW5ndGggLSAxXTtcbiAgICAgICAgdHIuaW5zZXJ0VGV4dChsYXN0Q2hhciwgc3RhcnQgKyBtYXRjaFswXS5sZW5ndGggLSAxKTtcbiAgICAgICAgdHIucmVwbGFjZVdpdGgobWF0Y2hTdGFydCwgZW5kLCBuZXdOb2RlKTtcbiAgICAgIH0gZWxzZSBpZiAobWF0Y2hbMF0pIHtcbiAgICAgICAgY29uc3QgaW5zZXJ0aW9uU3RhcnQgPSBjb25maWcudHlwZS5pc0lubGluZSA/IHN0YXJ0IDogc3RhcnQgLSAxO1xuICAgICAgICB0ci5pbnNlcnQoaW5zZXJ0aW9uU3RhcnQsIGNvbmZpZy50eXBlLmNyZWF0ZShhdHRyaWJ1dGVzKSkuZGVsZXRlKHRyLm1hcHBpbmcubWFwKHN0YXJ0KSwgdHIubWFwcGluZy5tYXAoZW5kKSk7XG4gICAgICB9XG4gICAgICB0ci5zY3JvbGxJbnRvVmlldygpO1xuICAgIH0sXG4gICAgdW5kb2FibGU6IGNvbmZpZy51bmRvYWJsZVxuICB9KTtcbn1cblxuLy8gc3JjL2lucHV0UnVsZXMvdGV4dGJsb2NrVHlwZUlucHV0UnVsZS50c1xuZnVuY3Rpb24gdGV4dGJsb2NrVHlwZUlucHV0UnVsZShjb25maWcpIHtcbiAgcmV0dXJuIG5ldyBJbnB1dFJ1bGUoe1xuICAgIGZpbmQ6IGNvbmZpZy5maW5kLFxuICAgIGhhbmRsZXI6ICh7IHN0YXRlLCByYW5nZSwgbWF0Y2ggfSkgPT4ge1xuICAgICAgY29uc3QgJHN0YXJ0ID0gc3RhdGUuZG9jLnJlc29sdmUocmFuZ2UuZnJvbSk7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gY2FsbE9yUmV0dXJuKGNvbmZpZy5nZXRBdHRyaWJ1dGVzLCB2b2lkIDAsIG1hdGNoKSB8fCB7fTtcbiAgICAgIGlmICghJHN0YXJ0Lm5vZGUoLTEpLmNhblJlcGxhY2VXaXRoKCRzdGFydC5pbmRleCgtMSksICRzdGFydC5pbmRleEFmdGVyKC0xKSwgY29uZmlnLnR5cGUpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgc3RhdGUudHIuZGVsZXRlKHJhbmdlLmZyb20sIHJhbmdlLnRvKS5zZXRCbG9ja1R5cGUocmFuZ2UuZnJvbSwgcmFuZ2UuZnJvbSwgY29uZmlnLnR5cGUsIGF0dHJpYnV0ZXMpO1xuICAgIH0sXG4gICAgdW5kb2FibGU6IGNvbmZpZy51bmRvYWJsZVxuICB9KTtcbn1cblxuLy8gc3JjL2lucHV0UnVsZXMvdGV4dElucHV0UnVsZS50c1xuZnVuY3Rpb24gdGV4dElucHV0UnVsZShjb25maWcpIHtcbiAgcmV0dXJuIG5ldyBJbnB1dFJ1bGUoe1xuICAgIGZpbmQ6IGNvbmZpZy5maW5kLFxuICAgIGhhbmRsZXI6ICh7IHN0YXRlLCByYW5nZSwgbWF0Y2ggfSkgPT4ge1xuICAgICAgbGV0IGluc2VydCA9IGNvbmZpZy5yZXBsYWNlO1xuICAgICAgbGV0IHN0YXJ0ID0gcmFuZ2UuZnJvbTtcbiAgICAgIGNvbnN0IGVuZCA9IHJhbmdlLnRvO1xuICAgICAgaWYgKG1hdGNoWzFdKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IG1hdGNoWzBdLmxhc3RJbmRleE9mKG1hdGNoWzFdKTtcbiAgICAgICAgaW5zZXJ0ICs9IG1hdGNoWzBdLnNsaWNlKG9mZnNldCArIG1hdGNoWzFdLmxlbmd0aCk7XG4gICAgICAgIHN0YXJ0ICs9IG9mZnNldDtcbiAgICAgICAgY29uc3QgY3V0T2ZmID0gc3RhcnQgLSBlbmQ7XG4gICAgICAgIGlmIChjdXRPZmYgPiAwKSB7XG4gICAgICAgICAgaW5zZXJ0ID0gbWF0Y2hbMF0uc2xpY2Uob2Zmc2V0IC0gY3V0T2ZmLCBvZmZzZXQpICsgaW5zZXJ0O1xuICAgICAgICAgIHN0YXJ0ID0gZW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzdGF0ZS50ci5pbnNlcnRUZXh0KGluc2VydCwgc3RhcnQsIGVuZCk7XG4gICAgfSxcbiAgICB1bmRvYWJsZTogY29uZmlnLnVuZG9hYmxlXG4gIH0pO1xufVxuXG4vLyBzcmMvaW5wdXRSdWxlcy93cmFwcGluZ0lucHV0UnVsZS50c1xuaW1wb3J0IHsgY2FuSm9pbiBhcyBjYW5Kb2luMiwgZmluZFdyYXBwaW5nIH0gZnJvbSBcIkB0aXB0YXAvcG0vdHJhbnNmb3JtXCI7XG5mdW5jdGlvbiB3cmFwcGluZ0lucHV0UnVsZShjb25maWcpIHtcbiAgcmV0dXJuIG5ldyBJbnB1dFJ1bGUoe1xuICAgIGZpbmQ6IGNvbmZpZy5maW5kLFxuICAgIGhhbmRsZXI6ICh7IHN0YXRlLCByYW5nZSwgbWF0Y2gsIGNoYWluIH0pID0+IHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBjYWxsT3JSZXR1cm4oY29uZmlnLmdldEF0dHJpYnV0ZXMsIHZvaWQgMCwgbWF0Y2gpIHx8IHt9O1xuICAgICAgY29uc3QgdHIgPSBzdGF0ZS50ci5kZWxldGUocmFuZ2UuZnJvbSwgcmFuZ2UudG8pO1xuICAgICAgY29uc3QgJHN0YXJ0ID0gdHIuZG9jLnJlc29sdmUocmFuZ2UuZnJvbSk7XG4gICAgICBjb25zdCBibG9ja1JhbmdlID0gJHN0YXJ0LmJsb2NrUmFuZ2UoKTtcbiAgICAgIGNvbnN0IHdyYXBwaW5nID0gYmxvY2tSYW5nZSAmJiBmaW5kV3JhcHBpbmcoYmxvY2tSYW5nZSwgY29uZmlnLnR5cGUsIGF0dHJpYnV0ZXMpO1xuICAgICAgaWYgKCF3cmFwcGluZykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHRyLndyYXAoYmxvY2tSYW5nZSwgd3JhcHBpbmcpO1xuICAgICAgaWYgKGNvbmZpZy5rZWVwTWFya3MgJiYgY29uZmlnLmVkaXRvcikge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiwgc3RvcmVkTWFya3MgfSA9IHN0YXRlO1xuICAgICAgICBjb25zdCB7IHNwbGl0dGFibGVNYXJrcyB9ID0gY29uZmlnLmVkaXRvci5leHRlbnNpb25NYW5hZ2VyO1xuICAgICAgICBjb25zdCBtYXJrcyA9IHN0b3JlZE1hcmtzIHx8IHNlbGVjdGlvbi4kdG8ucGFyZW50T2Zmc2V0ICYmIHNlbGVjdGlvbi4kZnJvbS5tYXJrcygpO1xuICAgICAgICBpZiAobWFya3MpIHtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJlZE1hcmtzID0gbWFya3MuZmlsdGVyKChtYXJrKSA9PiBzcGxpdHRhYmxlTWFya3MuaW5jbHVkZXMobWFyay50eXBlLm5hbWUpKTtcbiAgICAgICAgICB0ci5lbnN1cmVNYXJrcyhmaWx0ZXJlZE1hcmtzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGNvbmZpZy5rZWVwQXR0cmlidXRlcykge1xuICAgICAgICBjb25zdCBub2RlVHlwZSA9IGNvbmZpZy50eXBlLm5hbWUgPT09IFwiYnVsbGV0TGlzdFwiIHx8IGNvbmZpZy50eXBlLm5hbWUgPT09IFwib3JkZXJlZExpc3RcIiA/IFwibGlzdEl0ZW1cIiA6IFwidGFza0xpc3RcIjtcbiAgICAgICAgY2hhaW4oKS51cGRhdGVBdHRyaWJ1dGVzKG5vZGVUeXBlLCBhdHRyaWJ1dGVzKS5ydW4oKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGJlZm9yZSA9IHRyLmRvYy5yZXNvbHZlKHJhbmdlLmZyb20gLSAxKS5ub2RlQmVmb3JlO1xuICAgICAgaWYgKGJlZm9yZSAmJiBiZWZvcmUudHlwZSA9PT0gY29uZmlnLnR5cGUgJiYgY2FuSm9pbjIodHIuZG9jLCByYW5nZS5mcm9tIC0gMSkgJiYgKCFjb25maWcuam9pblByZWRpY2F0ZSB8fCBjb25maWcuam9pblByZWRpY2F0ZShtYXRjaCwgYmVmb3JlKSkpIHtcbiAgICAgICAgdHIuam9pbihyYW5nZS5mcm9tIC0gMSk7XG4gICAgICB9XG4gICAgfSxcbiAgICB1bmRvYWJsZTogY29uZmlnLnVuZG9hYmxlXG4gIH0pO1xufVxuXG4vLyBzcmMvanN4LXJ1bnRpbWUudHNcbmZ1bmN0aW9uIEZyYWdtZW50Nihwcm9wcykge1xuICByZXR1cm4gcHJvcHMuY2hpbGRyZW47XG59XG52YXIgaCA9ICh0YWcsIGF0dHJpYnV0ZXMpID0+IHtcbiAgaWYgKHRhZyA9PT0gXCJzbG90XCIpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBpZiAodGFnIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICByZXR1cm4gdGFnKGF0dHJpYnV0ZXMpO1xuICB9XG4gIGNvbnN0IHsgY2hpbGRyZW4sIC4uLnJlc3QgfSA9IGF0dHJpYnV0ZXMgIT0gbnVsbCA/IGF0dHJpYnV0ZXMgOiB7fTtcbiAgaWYgKHRhZyA9PT0gXCJzdmdcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNWRyBlbGVtZW50cyBhcmUgbm90IHN1cHBvcnRlZCBpbiB0aGUgSlNYIHN5bnRheCwgdXNlIHRoZSBhcnJheSBzeW50YXggaW5zdGVhZFwiKTtcbiAgfVxuICByZXR1cm4gW3RhZywgcmVzdCwgY2hpbGRyZW5dO1xufTtcblxuLy8gc3JjL2xpYi9SZXNpemFibGVOb2RlVmlldy50c1xudmFyIGlzVG91Y2hFdmVudCA9IChlKSA9PiB7XG4gIHJldHVybiBcInRvdWNoZXNcIiBpbiBlO1xufTtcbnZhciBSZXNpemFibGVOb2RlVmlldyA9IGNsYXNzIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgUmVzaXphYmxlTm9kZVZpZXcgaW5zdGFuY2UuXG4gICAqXG4gICAqIFRoZSBjb25zdHJ1Y3RvciBzZXRzIHVwIHRoZSByZXNpemUgaGFuZGxlcywgYXBwbGllcyBpbml0aWFsIHNpemluZyBmcm9tXG4gICAqIG5vZGUgYXR0cmlidXRlcywgYW5kIGNvbmZpZ3VyZXMgYWxsIHJlc2l6ZSBiZWhhdmlvciBvcHRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHJlc2l6YWJsZSBub2RlIHZpZXdcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAvKiogQWN0aXZlIHJlc2l6ZSBoYW5kbGUgZGlyZWN0aW9ucyAqL1xuICAgIHRoaXMuZGlyZWN0aW9ucyA9IFtcImJvdHRvbS1sZWZ0XCIsIFwiYm90dG9tLXJpZ2h0XCIsIFwidG9wLWxlZnRcIiwgXCJ0b3AtcmlnaHRcIl07XG4gICAgLyoqIE1pbmltdW0gYWxsb3dlZCBkaW1lbnNpb25zICovXG4gICAgdGhpcy5taW5TaXplID0ge1xuICAgICAgaGVpZ2h0OiA4LFxuICAgICAgd2lkdGg6IDhcbiAgICB9O1xuICAgIC8qKiBXaGV0aGVyIHRvIGFsd2F5cyBwcmVzZXJ2ZSBhc3BlY3QgcmF0aW8gKi9cbiAgICB0aGlzLnByZXNlcnZlQXNwZWN0UmF0aW8gPSBmYWxzZTtcbiAgICAvKiogQ1NTIGNsYXNzIG5hbWVzIGZvciBlbGVtZW50cyAqL1xuICAgIHRoaXMuY2xhc3NOYW1lcyA9IHtcbiAgICAgIGNvbnRhaW5lcjogXCJcIixcbiAgICAgIHdyYXBwZXI6IFwiXCIsXG4gICAgICBoYW5kbGU6IFwiXCIsXG4gICAgICByZXNpemluZzogXCJcIlxuICAgIH07XG4gICAgLyoqIEluaXRpYWwgd2lkdGggb2YgdGhlIGVsZW1lbnQgKGZvciBhc3BlY3QgcmF0aW8gY2FsY3VsYXRpb24pICovXG4gICAgdGhpcy5pbml0aWFsV2lkdGggPSAwO1xuICAgIC8qKiBJbml0aWFsIGhlaWdodCBvZiB0aGUgZWxlbWVudCAoZm9yIGFzcGVjdCByYXRpbyBjYWxjdWxhdGlvbikgKi9cbiAgICB0aGlzLmluaXRpYWxIZWlnaHQgPSAwO1xuICAgIC8qKiBDYWxjdWxhdGVkIGFzcGVjdCByYXRpbyAod2lkdGggLyBoZWlnaHQpICovXG4gICAgdGhpcy5hc3BlY3RSYXRpbyA9IDE7XG4gICAgLyoqIFdoZXRoZXIgYSByZXNpemUgb3BlcmF0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmUgKi9cbiAgICB0aGlzLmlzUmVzaXppbmcgPSBmYWxzZTtcbiAgICAvKiogVGhlIGhhbmRsZSBjdXJyZW50bHkgYmVpbmcgZHJhZ2dlZCAqL1xuICAgIHRoaXMuYWN0aXZlSGFuZGxlID0gbnVsbDtcbiAgICAvKiogU3RhcnRpbmcgbW91c2UgWCBwb3NpdGlvbiB3aGVuIHJlc2l6ZSBiZWdhbiAqL1xuICAgIHRoaXMuc3RhcnRYID0gMDtcbiAgICAvKiogU3RhcnRpbmcgbW91c2UgWSBwb3NpdGlvbiB3aGVuIHJlc2l6ZSBiZWdhbiAqL1xuICAgIHRoaXMuc3RhcnRZID0gMDtcbiAgICAvKiogRWxlbWVudCB3aWR0aCB3aGVuIHJlc2l6ZSBiZWdhbiAqL1xuICAgIHRoaXMuc3RhcnRXaWR0aCA9IDA7XG4gICAgLyoqIEVsZW1lbnQgaGVpZ2h0IHdoZW4gcmVzaXplIGJlZ2FuICovXG4gICAgdGhpcy5zdGFydEhlaWdodCA9IDA7XG4gICAgLyoqIFdoZXRoZXIgU2hpZnQga2V5IGlzIGN1cnJlbnRseSBwcmVzc2VkIChmb3IgdGVtcG9yYXJ5IGFzcGVjdCByYXRpbyBsb2NrKSAqL1xuICAgIHRoaXMuaXNTaGlmdEtleVByZXNzZWQgPSBmYWxzZTtcbiAgICAvKiogTGFzdCBrbm93biBlZGl0YWJsZSBzdGF0ZSBvZiB0aGUgZWRpdG9yICovXG4gICAgdGhpcy5sYXN0RWRpdGFibGVTdGF0ZSA9IHZvaWQgMDtcbiAgICAvKiogTWFwIG9mIGhhbmRsZSBlbGVtZW50cyBieSBkaXJlY3Rpb24gKi9cbiAgICB0aGlzLmhhbmRsZU1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgLyoqXG4gICAgICogSGFuZGxlcyBtb3VzZSBtb3ZlbWVudCBkdXJpbmcgYW4gYWN0aXZlIHJlc2l6ZS5cbiAgICAgKlxuICAgICAqIENhbGN1bGF0ZXMgdGhlIGRlbHRhIGZyb20gdGhlIHN0YXJ0aW5nIHBvc2l0aW9uLCBjb21wdXRlcyBuZXcgZGltZW5zaW9uc1xuICAgICAqIGJhc2VkIG9uIHRoZSBhY3RpdmUgaGFuZGxlIGRpcmVjdGlvbiwgYXBwbGllcyBjb25zdHJhaW50cyBhbmQgYXNwZWN0IHJhdGlvLFxuICAgICAqIHRoZW4gdXBkYXRlcyB0aGUgZWxlbWVudCdzIHN0eWxlIGFuZCBjYWxscyB0aGUgb25SZXNpemUgY2FsbGJhY2suXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgbW91c2UgbW92ZSBldmVudFxuICAgICAqL1xuICAgIHRoaXMuaGFuZGxlTW91c2VNb3ZlID0gKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoIXRoaXMuaXNSZXNpemluZyB8fCAhdGhpcy5hY3RpdmVIYW5kbGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZGVsdGFYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMuc3RhcnRYO1xuICAgICAgY29uc3QgZGVsdGFZID0gZXZlbnQuY2xpZW50WSAtIHRoaXMuc3RhcnRZO1xuICAgICAgdGhpcy5oYW5kbGVSZXNpemUoZGVsdGFYLCBkZWx0YVkpO1xuICAgIH07XG4gICAgdGhpcy5oYW5kbGVUb3VjaE1vdmUgPSAoZXZlbnQpID0+IHtcbiAgICAgIGlmICghdGhpcy5pc1Jlc2l6aW5nIHx8ICF0aGlzLmFjdGl2ZUhhbmRsZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCB0b3VjaCA9IGV2ZW50LnRvdWNoZXNbMF07XG4gICAgICBpZiAoIXRvdWNoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRlbHRhWCA9IHRvdWNoLmNsaWVudFggLSB0aGlzLnN0YXJ0WDtcbiAgICAgIGNvbnN0IGRlbHRhWSA9IHRvdWNoLmNsaWVudFkgLSB0aGlzLnN0YXJ0WTtcbiAgICAgIHRoaXMuaGFuZGxlUmVzaXplKGRlbHRhWCwgZGVsdGFZKTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIENvbXBsZXRlcyB0aGUgcmVzaXplIG9wZXJhdGlvbiB3aGVuIHRoZSBtb3VzZSBidXR0b24gaXMgcmVsZWFzZWQuXG4gICAgICpcbiAgICAgKiBDYXB0dXJlcyBmaW5hbCBkaW1lbnNpb25zLCBjYWxscyB0aGUgb25Db21taXQgY2FsbGJhY2sgdG8gcGVyc2lzdCBjaGFuZ2VzLFxuICAgICAqIHJlbW92ZXMgdGhlIHJlc2l6aW5nIHN0YXRlIGFuZCBjbGFzcywgYW5kIGNsZWFucyB1cCBkb2N1bWVudC1sZXZlbCBsaXN0ZW5lcnMuXG4gICAgICovXG4gICAgdGhpcy5oYW5kbGVNb3VzZVVwID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzUmVzaXppbmcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZmluYWxXaWR0aCA9IHRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIGNvbnN0IGZpbmFsSGVpZ2h0ID0gdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgIHRoaXMub25Db21taXQoZmluYWxXaWR0aCwgZmluYWxIZWlnaHQpO1xuICAgICAgdGhpcy5pc1Jlc2l6aW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmFjdGl2ZUhhbmRsZSA9IG51bGw7XG4gICAgICB0aGlzLmNvbnRhaW5lci5kYXRhc2V0LnJlc2l6ZVN0YXRlID0gXCJmYWxzZVwiO1xuICAgICAgaWYgKHRoaXMuY2xhc3NOYW1lcy5yZXNpemluZykge1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuY2xhc3NOYW1lcy5yZXNpemluZyk7XG4gICAgICB9XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsIHRoaXMuaGFuZGxlTW91c2VNb3ZlKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsIHRoaXMuaGFuZGxlTW91c2VVcCk7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLmhhbmRsZUtleURvd24pO1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleXVwXCIsIHRoaXMuaGFuZGxlS2V5VXApO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogVHJhY2tzIFNoaWZ0IGtleSBzdGF0ZSB0byBlbmFibGUgdGVtcG9yYXJ5IGFzcGVjdCByYXRpbyBsb2NraW5nLlxuICAgICAqXG4gICAgICogV2hlbiBTaGlmdCBpcyBwcmVzc2VkIGR1cmluZyByZXNpemUsIGFzcGVjdCByYXRpbyBpcyBwcmVzZXJ2ZWQgZXZlbiBpZlxuICAgICAqIHByZXNlcnZlQXNwZWN0UmF0aW8gaXMgZmFsc2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUga2V5Ym9hcmQgZXZlbnRcbiAgICAgKi9cbiAgICB0aGlzLmhhbmRsZUtleURvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09IFwiU2hpZnRcIikge1xuICAgICAgICB0aGlzLmlzU2hpZnRLZXlQcmVzc2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFRyYWNrcyBTaGlmdCBrZXkgcmVsZWFzZSB0byBkaXNhYmxlIHRlbXBvcmFyeSBhc3BlY3QgcmF0aW8gbG9ja2luZy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudCAtIFRoZSBrZXlib2FyZCBldmVudFxuICAgICAqL1xuICAgIHRoaXMuaGFuZGxlS2V5VXAgPSAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09IFwiU2hpZnRcIikge1xuICAgICAgICB0aGlzLmlzU2hpZnRLZXlQcmVzc2VkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lLCBfZjtcbiAgICB0aGlzLm5vZGUgPSBvcHRpb25zLm5vZGU7XG4gICAgdGhpcy5lZGl0b3IgPSBvcHRpb25zLmVkaXRvcjtcbiAgICB0aGlzLmVsZW1lbnQgPSBvcHRpb25zLmVsZW1lbnQ7XG4gICAgdGhpcy5jb250ZW50RWxlbWVudCA9IG9wdGlvbnMuY29udGVudEVsZW1lbnQ7XG4gICAgdGhpcy5nZXRQb3MgPSBvcHRpb25zLmdldFBvcztcbiAgICB0aGlzLm9uUmVzaXplID0gb3B0aW9ucy5vblJlc2l6ZTtcbiAgICB0aGlzLm9uQ29tbWl0ID0gb3B0aW9ucy5vbkNvbW1pdDtcbiAgICB0aGlzLm9uVXBkYXRlID0gb3B0aW9ucy5vblVwZGF0ZTtcbiAgICBpZiAoKF9hID0gb3B0aW9ucy5vcHRpb25zKSA9PSBudWxsID8gdm9pZCAwIDogX2EubWluKSB7XG4gICAgICB0aGlzLm1pblNpemUgPSB7XG4gICAgICAgIC4uLnRoaXMubWluU2l6ZSxcbiAgICAgICAgLi4ub3B0aW9ucy5vcHRpb25zLm1pblxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKChfYiA9IG9wdGlvbnMub3B0aW9ucykgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLm1heCkge1xuICAgICAgdGhpcy5tYXhTaXplID0gb3B0aW9ucy5vcHRpb25zLm1heDtcbiAgICB9XG4gICAgaWYgKChfYyA9IG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMub3B0aW9ucykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jLmRpcmVjdGlvbnMpIHtcbiAgICAgIHRoaXMuZGlyZWN0aW9ucyA9IG9wdGlvbnMub3B0aW9ucy5kaXJlY3Rpb25zO1xuICAgIH1cbiAgICBpZiAoKF9kID0gb3B0aW9ucy5vcHRpb25zKSA9PSBudWxsID8gdm9pZCAwIDogX2QucHJlc2VydmVBc3BlY3RSYXRpbykge1xuICAgICAgdGhpcy5wcmVzZXJ2ZUFzcGVjdFJhdGlvID0gb3B0aW9ucy5vcHRpb25zLnByZXNlcnZlQXNwZWN0UmF0aW87XG4gICAgfVxuICAgIGlmICgoX2UgPSBvcHRpb25zLm9wdGlvbnMpID09IG51bGwgPyB2b2lkIDAgOiBfZS5jbGFzc05hbWUpIHtcbiAgICAgIHRoaXMuY2xhc3NOYW1lcyA9IHtcbiAgICAgICAgY29udGFpbmVyOiBvcHRpb25zLm9wdGlvbnMuY2xhc3NOYW1lLmNvbnRhaW5lciB8fCBcIlwiLFxuICAgICAgICB3cmFwcGVyOiBvcHRpb25zLm9wdGlvbnMuY2xhc3NOYW1lLndyYXBwZXIgfHwgXCJcIixcbiAgICAgICAgaGFuZGxlOiBvcHRpb25zLm9wdGlvbnMuY2xhc3NOYW1lLmhhbmRsZSB8fCBcIlwiLFxuICAgICAgICByZXNpemluZzogb3B0aW9ucy5vcHRpb25zLmNsYXNzTmFtZS5yZXNpemluZyB8fCBcIlwiXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAoKF9mID0gb3B0aW9ucy5vcHRpb25zKSA9PSBudWxsID8gdm9pZCAwIDogX2YuY3JlYXRlQ3VzdG9tSGFuZGxlKSB7XG4gICAgICB0aGlzLmNyZWF0ZUN1c3RvbUhhbmRsZSA9IG9wdGlvbnMub3B0aW9ucy5jcmVhdGVDdXN0b21IYW5kbGU7XG4gICAgfVxuICAgIHRoaXMud3JhcHBlciA9IHRoaXMuY3JlYXRlV3JhcHBlcigpO1xuICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy5jcmVhdGVDb250YWluZXIoKTtcbiAgICB0aGlzLmFwcGx5SW5pdGlhbFNpemUoKTtcbiAgICB0aGlzLmF0dGFjaEhhbmRsZXMoKTtcbiAgICB0aGlzLmVkaXRvci5vbihcInVwZGF0ZVwiLCB0aGlzLmhhbmRsZUVkaXRvclVwZGF0ZS5iaW5kKHRoaXMpKTtcbiAgfVxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdG9wLWxldmVsIERPTSBub2RlIHRoYXQgc2hvdWxkIGJlIHBsYWNlZCBpbiB0aGUgZWRpdG9yLlxuICAgKlxuICAgKiBUaGlzIGlzIHJlcXVpcmVkIGJ5IHRoZSBQcm9zZU1pcnJvciBOb2RlVmlldyBpbnRlcmZhY2UuIFRoZSBjb250YWluZXJcbiAgICogaW5jbHVkZXMgdGhlIHdyYXBwZXIsIGhhbmRsZXMsIGFuZCB0aGUgYWN0dWFsIGNvbnRlbnQgZWxlbWVudC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGNvbnRhaW5lciBlbGVtZW50IHRvIGJlIGluc2VydGVkIGludG8gdGhlIGVkaXRvclxuICAgKi9cbiAgZ2V0IGRvbSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWluZXI7XG4gIH1cbiAgZ2V0IGNvbnRlbnRET00oKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiAoX2EgPSB0aGlzLmNvbnRlbnRFbGVtZW50KSAhPSBudWxsID8gX2EgOiBudWxsO1xuICB9XG4gIGhhbmRsZUVkaXRvclVwZGF0ZSgpIHtcbiAgICBjb25zdCBpc0VkaXRhYmxlID0gdGhpcy5lZGl0b3IuaXNFZGl0YWJsZTtcbiAgICBpZiAoaXNFZGl0YWJsZSA9PT0gdGhpcy5sYXN0RWRpdGFibGVTdGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmxhc3RFZGl0YWJsZVN0YXRlID0gaXNFZGl0YWJsZTtcbiAgICBpZiAoIWlzRWRpdGFibGUpIHtcbiAgICAgIHRoaXMucmVtb3ZlSGFuZGxlcygpO1xuICAgIH0gZWxzZSBpZiAoaXNFZGl0YWJsZSAmJiB0aGlzLmhhbmRsZU1hcC5zaXplID09PSAwKSB7XG4gICAgICB0aGlzLmF0dGFjaEhhbmRsZXMoKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBub2RlJ3MgY29udGVudCBvciBhdHRyaWJ1dGVzIGNoYW5nZS5cbiAgICpcbiAgICogVXBkYXRlcyB0aGUgaW50ZXJuYWwgbm9kZSByZWZlcmVuY2UuIElmIGEgY3VzdG9tIGBvblVwZGF0ZWAgY2FsbGJhY2tcbiAgICogd2FzIHByb3ZpZGVkLCBpdCB3aWxsIGJlIGNhbGxlZCB0byBoYW5kbGUgYWRkaXRpb25hbCB1cGRhdGUgbG9naWMuXG4gICAqXG4gICAqIEBwYXJhbSBub2RlIC0gVGhlIG5ldy91cGRhdGVkIG5vZGVcbiAgICogQHBhcmFtIGRlY29yYXRpb25zIC0gTm9kZSBkZWNvcmF0aW9uc1xuICAgKiBAcGFyYW0gaW5uZXJEZWNvcmF0aW9ucyAtIElubmVyIGRlY29yYXRpb25zXG4gICAqIEByZXR1cm5zIGBmYWxzZWAgaWYgdGhlIG5vZGUgdHlwZSBoYXMgY2hhbmdlZCAocmVxdWlyZXMgZnVsbCByZWJ1aWxkKSwgb3RoZXJ3aXNlIHRoZSByZXN1bHQgb2YgYG9uVXBkYXRlYCBvciBgdHJ1ZWBcbiAgICovXG4gIHVwZGF0ZShub2RlLCBkZWNvcmF0aW9ucywgaW5uZXJEZWNvcmF0aW9ucykge1xuICAgIGlmIChub2RlLnR5cGUgIT09IHRoaXMubm9kZS50eXBlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgaWYgKHRoaXMub25VcGRhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLm9uVXBkYXRlKG5vZGUsIGRlY29yYXRpb25zLCBpbm5lckRlY29yYXRpb25zKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgLyoqXG4gICAqIENsZWFudXAgbWV0aG9kIGNhbGxlZCB3aGVuIHRoZSBub2RlIHZpZXcgaXMgYmVpbmcgcmVtb3ZlZC5cbiAgICpcbiAgICogUmVtb3ZlcyBhbGwgZXZlbnQgbGlzdGVuZXJzIHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzLiBUaGlzIGlzIHJlcXVpcmVkXG4gICAqIGJ5IHRoZSBQcm9zZU1pcnJvciBOb2RlVmlldyBpbnRlcmZhY2UuIElmIGEgcmVzaXplIGlzIGFjdGl2ZSB3aGVuXG4gICAqIGRlc3Ryb3kgaXMgY2FsbGVkLCBpdCB3aWxsIGJlIHByb3Blcmx5IGNhbmNlbGxlZC5cbiAgICovXG4gIGRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuaXNSZXNpemluZykge1xuICAgICAgdGhpcy5jb250YWluZXIuZGF0YXNldC5yZXNpemVTdGF0ZSA9IFwiZmFsc2VcIjtcbiAgICAgIGlmICh0aGlzLmNsYXNzTmFtZXMucmVzaXppbmcpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmNsYXNzTmFtZXMucmVzaXppbmcpO1xuICAgICAgfVxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCB0aGlzLmhhbmRsZU1vdXNlTW92ZSk7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLCB0aGlzLmhhbmRsZU1vdXNlVXApO1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5oYW5kbGVLZXlEb3duKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXl1cFwiLCB0aGlzLmhhbmRsZUtleVVwKTtcbiAgICAgIHRoaXMuaXNSZXNpemluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5hY3RpdmVIYW5kbGUgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLmVkaXRvci5vZmYoXCJ1cGRhdGVcIiwgdGhpcy5oYW5kbGVFZGl0b3JVcGRhdGUuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5jb250YWluZXIucmVtb3ZlKCk7XG4gIH1cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIG91dGVyIGNvbnRhaW5lciBlbGVtZW50LlxuICAgKlxuICAgKiBUaGUgY29udGFpbmVyIGlzIHRoZSB0b3AtbGV2ZWwgZWxlbWVudCByZXR1cm5lZCBieSB0aGUgTm9kZVZpZXcgYW5kXG4gICAqIHdyYXBzIHRoZSBlbnRpcmUgcmVzaXphYmxlIG5vZGUuIEl0J3Mgc2V0IHVwIHdpdGggZmxleGJveCB0byBoYW5kbGVcbiAgICogYWxpZ25tZW50IGFuZCBpbmNsdWRlcyBkYXRhIGF0dHJpYnV0ZXMgZm9yIHN0eWxpbmcgYW5kIGlkZW50aWZpY2F0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgY29udGFpbmVyIGVsZW1lbnRcbiAgICovXG4gIGNyZWF0ZUNvbnRhaW5lcigpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICBlbGVtZW50LmRhdGFzZXQucmVzaXplQ29udGFpbmVyID0gXCJcIjtcbiAgICBlbGVtZW50LmRhdGFzZXQubm9kZSA9IHRoaXMubm9kZS50eXBlLm5hbWU7XG4gICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gXCJmbGV4XCI7XG4gICAgaWYgKHRoaXMuY2xhc3NOYW1lcy5jb250YWluZXIpIHtcbiAgICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gdGhpcy5jbGFzc05hbWVzLmNvbnRhaW5lcjtcbiAgICB9XG4gICAgZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLndyYXBwZXIpO1xuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSB3cmFwcGVyIGVsZW1lbnQgdGhhdCBjb250YWlucyB0aGUgY29udGVudCBhbmQgaGFuZGxlcy5cbiAgICpcbiAgICogVGhlIHdyYXBwZXIgdXNlcyByZWxhdGl2ZSBwb3NpdGlvbmluZyBzbyB0aGF0IHJlc2l6ZSBoYW5kbGVzIGNhbiBiZVxuICAgKiBwb3NpdGlvbmVkIGFic29sdXRlbHkgd2l0aGluIGl0LiBUaGlzIGlzIHRoZSBkaXJlY3QgcGFyZW50IG9mIHRoZVxuICAgKiBjb250ZW50IGVsZW1lbnQgYmVpbmcgbWFkZSByZXNpemFibGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB3cmFwcGVyIGVsZW1lbnRcbiAgICovXG4gIGNyZWF0ZVdyYXBwZXIoKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9IFwicmVsYXRpdmVcIjtcbiAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gICAgZWxlbWVudC5kYXRhc2V0LnJlc2l6ZVdyYXBwZXIgPSBcIlwiO1xuICAgIGlmICh0aGlzLmNsYXNzTmFtZXMud3JhcHBlcikge1xuICAgICAgZWxlbWVudC5jbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZXMud3JhcHBlcjtcbiAgICB9XG4gICAgZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQpO1xuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcmVzaXplIGhhbmRsZSBlbGVtZW50IGZvciBhIHNwZWNpZmljIGRpcmVjdGlvbi5cbiAgICpcbiAgICogRWFjaCBoYW5kbGUgaXMgYWJzb2x1dGVseSBwb3NpdGlvbmVkIGFuZCBpbmNsdWRlcyBhIGRhdGEgYXR0cmlidXRlXG4gICAqIGlkZW50aWZ5aW5nIGl0cyBkaXJlY3Rpb24gZm9yIHN0eWxpbmcgcHVycG9zZXMuXG4gICAqXG4gICAqIEBwYXJhbSBkaXJlY3Rpb24gLSBUaGUgcmVzaXplIGRpcmVjdGlvbiBmb3IgdGhpcyBoYW5kbGVcbiAgICogQHJldHVybnMgVGhlIGhhbmRsZSBlbGVtZW50XG4gICAqL1xuICBjcmVhdGVIYW5kbGUoZGlyZWN0aW9uKSB7XG4gICAgY29uc3QgaGFuZGxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICBoYW5kbGUuZGF0YXNldC5yZXNpemVIYW5kbGUgPSBkaXJlY3Rpb247XG4gICAgaGFuZGxlLnN0eWxlLnBvc2l0aW9uID0gXCJhYnNvbHV0ZVwiO1xuICAgIGlmICh0aGlzLmNsYXNzTmFtZXMuaGFuZGxlKSB7XG4gICAgICBoYW5kbGUuY2xhc3NOYW1lID0gdGhpcy5jbGFzc05hbWVzLmhhbmRsZTtcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZTtcbiAgfVxuICAvKipcbiAgICogUG9zaXRpb25zIGEgaGFuZGxlIGVsZW1lbnQgYWNjb3JkaW5nIHRvIGl0cyBkaXJlY3Rpb24uXG4gICAqXG4gICAqIENvcm5lciBoYW5kbGVzIChlLmcuLCAndG9wLWxlZnQnKSBhcmUgcG9zaXRpb25lZCBhdCB0aGUgaW50ZXJzZWN0aW9uXG4gICAqIG9mIHR3byBlZGdlcy4gRWRnZSBoYW5kbGVzIChlLmcuLCAndG9wJykgc3BhbiB0aGUgZnVsbCB3aWR0aCBvciBoZWlnaHQuXG4gICAqXG4gICAqIEBwYXJhbSBoYW5kbGUgLSBUaGUgaGFuZGxlIGVsZW1lbnQgdG8gcG9zaXRpb25cbiAgICogQHBhcmFtIGRpcmVjdGlvbiAtIFRoZSBkaXJlY3Rpb24gZGV0ZXJtaW5pbmcgdGhlIHBvc2l0aW9uXG4gICAqL1xuICBwb3NpdGlvbkhhbmRsZShoYW5kbGUsIGRpcmVjdGlvbikge1xuICAgIGNvbnN0IGlzVG9wID0gZGlyZWN0aW9uLmluY2x1ZGVzKFwidG9wXCIpO1xuICAgIGNvbnN0IGlzQm90dG9tID0gZGlyZWN0aW9uLmluY2x1ZGVzKFwiYm90dG9tXCIpO1xuICAgIGNvbnN0IGlzTGVmdCA9IGRpcmVjdGlvbi5pbmNsdWRlcyhcImxlZnRcIik7XG4gICAgY29uc3QgaXNSaWdodCA9IGRpcmVjdGlvbi5pbmNsdWRlcyhcInJpZ2h0XCIpO1xuICAgIGlmIChpc1RvcCkge1xuICAgICAgaGFuZGxlLnN0eWxlLnRvcCA9IFwiMFwiO1xuICAgIH1cbiAgICBpZiAoaXNCb3R0b20pIHtcbiAgICAgIGhhbmRsZS5zdHlsZS5ib3R0b20gPSBcIjBcIjtcbiAgICB9XG4gICAgaWYgKGlzTGVmdCkge1xuICAgICAgaGFuZGxlLnN0eWxlLmxlZnQgPSBcIjBcIjtcbiAgICB9XG4gICAgaWYgKGlzUmlnaHQpIHtcbiAgICAgIGhhbmRsZS5zdHlsZS5yaWdodCA9IFwiMFwiO1xuICAgIH1cbiAgICBpZiAoZGlyZWN0aW9uID09PSBcInRvcFwiIHx8IGRpcmVjdGlvbiA9PT0gXCJib3R0b21cIikge1xuICAgICAgaGFuZGxlLnN0eWxlLmxlZnQgPSBcIjBcIjtcbiAgICAgIGhhbmRsZS5zdHlsZS5yaWdodCA9IFwiMFwiO1xuICAgIH1cbiAgICBpZiAoZGlyZWN0aW9uID09PSBcImxlZnRcIiB8fCBkaXJlY3Rpb24gPT09IFwicmlnaHRcIikge1xuICAgICAgaGFuZGxlLnN0eWxlLnRvcCA9IFwiMFwiO1xuICAgICAgaGFuZGxlLnN0eWxlLmJvdHRvbSA9IFwiMFwiO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogQ3JlYXRlcyBhbmQgYXR0YWNoZXMgYWxsIHJlc2l6ZSBoYW5kbGVzIHRvIHRoZSB3cmFwcGVyLlxuICAgKlxuICAgKiBJdGVyYXRlcyB0aHJvdWdoIHRoZSBjb25maWd1cmVkIGRpcmVjdGlvbnMsIGNyZWF0ZXMgYSBoYW5kbGUgZm9yIGVhY2gsXG4gICAqIHBvc2l0aW9ucyBpdCwgYXR0YWNoZXMgdGhlIG1vdXNlZG93biBsaXN0ZW5lciwgYW5kIGFwcGVuZHMgaXQgdG8gdGhlIERPTS5cbiAgICovXG4gIGF0dGFjaEhhbmRsZXMoKSB7XG4gICAgdGhpcy5kaXJlY3Rpb25zLmZvckVhY2goKGRpcmVjdGlvbikgPT4ge1xuICAgICAgbGV0IGhhbmRsZTtcbiAgICAgIGlmICh0aGlzLmNyZWF0ZUN1c3RvbUhhbmRsZSkge1xuICAgICAgICBoYW5kbGUgPSB0aGlzLmNyZWF0ZUN1c3RvbUhhbmRsZShkaXJlY3Rpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaGFuZGxlID0gdGhpcy5jcmVhdGVIYW5kbGUoZGlyZWN0aW9uKTtcbiAgICAgIH1cbiAgICAgIGlmICghKGhhbmRsZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYFtSZXNpemFibGVOb2RlVmlld10gY3JlYXRlQ3VzdG9tSGFuZGxlKFwiJHtkaXJlY3Rpb259XCIpIGRpZCBub3QgcmV0dXJuIGFuIEhUTUxFbGVtZW50LiBGYWxsaW5nIGJhY2sgdG8gZGVmYXVsdCBoYW5kbGUuYFxuICAgICAgICApO1xuICAgICAgICBoYW5kbGUgPSB0aGlzLmNyZWF0ZUhhbmRsZShkaXJlY3Rpb24pO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmNyZWF0ZUN1c3RvbUhhbmRsZSkge1xuICAgICAgICB0aGlzLnBvc2l0aW9uSGFuZGxlKGhhbmRsZSwgZGlyZWN0aW9uKTtcbiAgICAgIH1cbiAgICAgIGhhbmRsZS5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIChldmVudCkgPT4gdGhpcy5oYW5kbGVSZXNpemVTdGFydChldmVudCwgZGlyZWN0aW9uKSk7XG4gICAgICBoYW5kbGUuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgKGV2ZW50KSA9PiB0aGlzLmhhbmRsZVJlc2l6ZVN0YXJ0KGV2ZW50LCBkaXJlY3Rpb24pKTtcbiAgICAgIHRoaXMuaGFuZGxlTWFwLnNldChkaXJlY3Rpb24sIGhhbmRsZSk7XG4gICAgICB0aGlzLndyYXBwZXIuYXBwZW5kQ2hpbGQoaGFuZGxlKTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogUmVtb3ZlcyBhbGwgcmVzaXplIGhhbmRsZXMgZnJvbSB0aGUgd3JhcHBlci5cbiAgICpcbiAgICogQ2xlYW5zIHVwIHRoZSBoYW5kbGUgbWFwIGFuZCByZW1vdmVzIGVhY2ggaGFuZGxlIGVsZW1lbnQgZnJvbSB0aGUgRE9NLlxuICAgKi9cbiAgcmVtb3ZlSGFuZGxlcygpIHtcbiAgICB0aGlzLmhhbmRsZU1hcC5mb3JFYWNoKChlbCkgPT4gZWwucmVtb3ZlKCkpO1xuICAgIHRoaXMuaGFuZGxlTWFwLmNsZWFyKCk7XG4gIH1cbiAgLyoqXG4gICAqIEFwcGxpZXMgaW5pdGlhbCBzaXppbmcgZnJvbSBub2RlIGF0dHJpYnV0ZXMgdG8gdGhlIGVsZW1lbnQuXG4gICAqXG4gICAqIElmIHdpZHRoL2hlaWdodCBhdHRyaWJ1dGVzIGV4aXN0IG9uIHRoZSBub2RlLCB0aGV5J3JlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQuXG4gICAqIE90aGVyd2lzZSwgdGhlIGVsZW1lbnQncyBuYXR1cmFsL2N1cnJlbnQgZGltZW5zaW9ucyBhcmUgbWVhc3VyZWQuIFRoZSBhc3BlY3RcbiAgICogcmF0aW8gaXMgY2FsY3VsYXRlZCBmb3IgbGF0ZXIgdXNlIGluIGFzcGVjdC1yYXRpby1wcmVzZXJ2aW5nIHJlc2l6ZXMuXG4gICAqL1xuICBhcHBseUluaXRpYWxTaXplKCkge1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5ub2RlLmF0dHJzLndpZHRoO1xuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMubm9kZS5hdHRycy5oZWlnaHQ7XG4gICAgaWYgKHdpZHRoKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHt3aWR0aH1weGA7XG4gICAgICB0aGlzLmluaXRpYWxXaWR0aCA9IHdpZHRoO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxXaWR0aCA9IHRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICB9XG4gICAgaWYgKGhlaWdodCkge1xuICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGA7XG4gICAgICB0aGlzLmluaXRpYWxIZWlnaHQgPSBoZWlnaHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbEhlaWdodCA9IHRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmluaXRpYWxXaWR0aCA+IDAgJiYgdGhpcy5pbml0aWFsSGVpZ2h0ID4gMCkge1xuICAgICAgdGhpcy5hc3BlY3RSYXRpbyA9IHRoaXMuaW5pdGlhbFdpZHRoIC8gdGhpcy5pbml0aWFsSGVpZ2h0O1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogSW5pdGlhdGVzIGEgcmVzaXplIG9wZXJhdGlvbiB3aGVuIGEgaGFuZGxlIGlzIGNsaWNrZWQuXG4gICAqXG4gICAqIENhcHR1cmVzIHRoZSBzdGFydGluZyBtb3VzZSBwb3NpdGlvbiBhbmQgZWxlbWVudCBkaW1lbnNpb25zLCBzZXRzIHVwXG4gICAqIHRoZSByZXNpemUgc3RhdGUsIGFkZHMgdGhlIHJlc2l6aW5nIGNsYXNzIGFuZCBzdGF0ZSBhdHRyaWJ1dGUsIGFuZFxuICAgKiBhdHRhY2hlcyBkb2N1bWVudC1sZXZlbCBsaXN0ZW5lcnMgZm9yIG1vdXNlIG1vdmVtZW50IGFuZCBrZXlib2FyZCBpbnB1dC5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IC0gVGhlIG1vdXNlIGRvd24gZXZlbnRcbiAgICogQHBhcmFtIGRpcmVjdGlvbiAtIFRoZSBkaXJlY3Rpb24gb2YgdGhlIGhhbmRsZSBiZWluZyBkcmFnZ2VkXG4gICAqL1xuICBoYW5kbGVSZXNpemVTdGFydChldmVudCwgZGlyZWN0aW9uKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmlzUmVzaXppbmcgPSB0cnVlO1xuICAgIHRoaXMuYWN0aXZlSGFuZGxlID0gZGlyZWN0aW9uO1xuICAgIGlmIChpc1RvdWNoRXZlbnQoZXZlbnQpKSB7XG4gICAgICB0aGlzLnN0YXJ0WCA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgIHRoaXMuc3RhcnRZID0gZXZlbnQudG91Y2hlc1swXS5jbGllbnRZO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXJ0WCA9IGV2ZW50LmNsaWVudFg7XG4gICAgICB0aGlzLnN0YXJ0WSA9IGV2ZW50LmNsaWVudFk7XG4gICAgfVxuICAgIHRoaXMuc3RhcnRXaWR0aCA9IHRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICB0aGlzLnN0YXJ0SGVpZ2h0ID0gdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICBpZiAodGhpcy5zdGFydFdpZHRoID4gMCAmJiB0aGlzLnN0YXJ0SGVpZ2h0ID4gMCkge1xuICAgICAgdGhpcy5hc3BlY3RSYXRpbyA9IHRoaXMuc3RhcnRXaWR0aCAvIHRoaXMuc3RhcnRIZWlnaHQ7XG4gICAgfVxuICAgIGNvbnN0IHBvcyA9IHRoaXMuZ2V0UG9zKCk7XG4gICAgaWYgKHBvcyAhPT0gdm9pZCAwKSB7XG4gICAgfVxuICAgIHRoaXMuY29udGFpbmVyLmRhdGFzZXQucmVzaXplU3RhdGUgPSBcInRydWVcIjtcbiAgICBpZiAodGhpcy5jbGFzc05hbWVzLnJlc2l6aW5nKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKHRoaXMuY2xhc3NOYW1lcy5yZXNpemluZyk7XG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgdGhpcy5oYW5kbGVNb3VzZU1vdmUpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaG1vdmVcIiwgdGhpcy5oYW5kbGVUb3VjaE1vdmUpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsIHRoaXMuaGFuZGxlTW91c2VVcCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5oYW5kbGVLZXlEb3duKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5dXBcIiwgdGhpcy5oYW5kbGVLZXlVcCk7XG4gIH1cbiAgaGFuZGxlUmVzaXplKGRlbHRhWCwgZGVsdGFZKSB7XG4gICAgaWYgKCF0aGlzLmFjdGl2ZUhhbmRsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzaG91bGRQcmVzZXJ2ZUFzcGVjdFJhdGlvID0gdGhpcy5wcmVzZXJ2ZUFzcGVjdFJhdGlvIHx8IHRoaXMuaXNTaGlmdEtleVByZXNzZWQ7XG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSB0aGlzLmNhbGN1bGF0ZU5ld0RpbWVuc2lvbnModGhpcy5hY3RpdmVIYW5kbGUsIGRlbHRhWCwgZGVsdGFZKTtcbiAgICBjb25zdCBjb25zdHJhaW5lZCA9IHRoaXMuYXBwbHlDb25zdHJhaW50cyh3aWR0aCwgaGVpZ2h0LCBzaG91bGRQcmVzZXJ2ZUFzcGVjdFJhdGlvKTtcbiAgICB0aGlzLmVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHtjb25zdHJhaW5lZC53aWR0aH1weGA7XG4gICAgdGhpcy5lbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke2NvbnN0cmFpbmVkLmhlaWdodH1weGA7XG4gICAgaWYgKHRoaXMub25SZXNpemUpIHtcbiAgICAgIHRoaXMub25SZXNpemUoY29uc3RyYWluZWQud2lkdGgsIGNvbnN0cmFpbmVkLmhlaWdodCk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIG5ldyBkaW1lbnNpb25zIGJhc2VkIG9uIG1vdXNlIGRlbHRhIGFuZCByZXNpemUgZGlyZWN0aW9uLlxuICAgKlxuICAgKiBUYWtlcyB0aGUgc3RhcnRpbmcgZGltZW5zaW9ucyBhbmQgYXBwbGllcyB0aGUgbW91c2UgbW92ZW1lbnQgZGVsdGFcbiAgICogYWNjb3JkaW5nIHRvIHRoZSBoYW5kbGUgZGlyZWN0aW9uLiBGb3IgY29ybmVyIGhhbmRsZXMsIGJvdGggZGltZW5zaW9uc1xuICAgKiBhcmUgYWZmZWN0ZWQuIEZvciBlZGdlIGhhbmRsZXMsIG9ubHkgb25lIGRpbWVuc2lvbiBjaGFuZ2VzLiBJZiBhc3BlY3RcbiAgICogcmF0aW8gc2hvdWxkIGJlIHByZXNlcnZlZCwgZGVsZWdhdGVzIHRvIGFwcGx5QXNwZWN0UmF0aW8uXG4gICAqXG4gICAqIEBwYXJhbSBkaXJlY3Rpb24gLSBUaGUgYWN0aXZlIHJlc2l6ZSBoYW5kbGUgZGlyZWN0aW9uXG4gICAqIEBwYXJhbSBkZWx0YVggLSBIb3Jpem9udGFsIG1vdXNlIG1vdmVtZW50IHNpbmNlIHJlc2l6ZSBzdGFydFxuICAgKiBAcGFyYW0gZGVsdGFZIC0gVmVydGljYWwgbW91c2UgbW92ZW1lbnQgc2luY2UgcmVzaXplIHN0YXJ0XG4gICAqIEByZXR1cm5zIFRoZSBjYWxjdWxhdGVkIHdpZHRoIGFuZCBoZWlnaHRcbiAgICovXG4gIGNhbGN1bGF0ZU5ld0RpbWVuc2lvbnMoZGlyZWN0aW9uLCBkZWx0YVgsIGRlbHRhWSkge1xuICAgIGxldCBuZXdXaWR0aCA9IHRoaXMuc3RhcnRXaWR0aDtcbiAgICBsZXQgbmV3SGVpZ2h0ID0gdGhpcy5zdGFydEhlaWdodDtcbiAgICBjb25zdCBpc1JpZ2h0ID0gZGlyZWN0aW9uLmluY2x1ZGVzKFwicmlnaHRcIik7XG4gICAgY29uc3QgaXNMZWZ0ID0gZGlyZWN0aW9uLmluY2x1ZGVzKFwibGVmdFwiKTtcbiAgICBjb25zdCBpc0JvdHRvbSA9IGRpcmVjdGlvbi5pbmNsdWRlcyhcImJvdHRvbVwiKTtcbiAgICBjb25zdCBpc1RvcCA9IGRpcmVjdGlvbi5pbmNsdWRlcyhcInRvcFwiKTtcbiAgICBpZiAoaXNSaWdodCkge1xuICAgICAgbmV3V2lkdGggPSB0aGlzLnN0YXJ0V2lkdGggKyBkZWx0YVg7XG4gICAgfSBlbHNlIGlmIChpc0xlZnQpIHtcbiAgICAgIG5ld1dpZHRoID0gdGhpcy5zdGFydFdpZHRoIC0gZGVsdGFYO1xuICAgIH1cbiAgICBpZiAoaXNCb3R0b20pIHtcbiAgICAgIG5ld0hlaWdodCA9IHRoaXMuc3RhcnRIZWlnaHQgKyBkZWx0YVk7XG4gICAgfSBlbHNlIGlmIChpc1RvcCkge1xuICAgICAgbmV3SGVpZ2h0ID0gdGhpcy5zdGFydEhlaWdodCAtIGRlbHRhWTtcbiAgICB9XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gXCJyaWdodFwiIHx8IGRpcmVjdGlvbiA9PT0gXCJsZWZ0XCIpIHtcbiAgICAgIG5ld1dpZHRoID0gdGhpcy5zdGFydFdpZHRoICsgKGlzUmlnaHQgPyBkZWx0YVggOiAtZGVsdGFYKTtcbiAgICB9XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gXCJ0b3BcIiB8fCBkaXJlY3Rpb24gPT09IFwiYm90dG9tXCIpIHtcbiAgICAgIG5ld0hlaWdodCA9IHRoaXMuc3RhcnRIZWlnaHQgKyAoaXNCb3R0b20gPyBkZWx0YVkgOiAtZGVsdGFZKTtcbiAgICB9XG4gICAgY29uc3Qgc2hvdWxkUHJlc2VydmVBc3BlY3RSYXRpbyA9IHRoaXMucHJlc2VydmVBc3BlY3RSYXRpbyB8fCB0aGlzLmlzU2hpZnRLZXlQcmVzc2VkO1xuICAgIGlmIChzaG91bGRQcmVzZXJ2ZUFzcGVjdFJhdGlvKSB7XG4gICAgICByZXR1cm4gdGhpcy5hcHBseUFzcGVjdFJhdGlvKG5ld1dpZHRoLCBuZXdIZWlnaHQsIGRpcmVjdGlvbik7XG4gICAgfVxuICAgIHJldHVybiB7IHdpZHRoOiBuZXdXaWR0aCwgaGVpZ2h0OiBuZXdIZWlnaHQgfTtcbiAgfVxuICAvKipcbiAgICogQXBwbGllcyBtaW4vbWF4IGNvbnN0cmFpbnRzIHRvIGRpbWVuc2lvbnMuXG4gICAqXG4gICAqIFdoZW4gYXNwZWN0IHJhdGlvIGlzIE5PVCBwcmVzZXJ2ZWQsIGNvbnN0cmFpbnRzIGFyZSBhcHBsaWVkIGluZGVwZW5kZW50bHlcbiAgICogdG8gd2lkdGggYW5kIGhlaWdodC4gV2hlbiBhc3BlY3QgcmF0aW8gSVMgcHJlc2VydmVkLCBjb25zdHJhaW50cyBhcmVcbiAgICogYXBwbGllZCB3aGlsZSBtYWludGFpbmluZyB0aGUgYXNwZWN0IHJhdGlv4oCUaWYgb25lIGRpbWVuc2lvbiBoaXRzIGEgbGltaXQsXG4gICAqIHRoZSBvdGhlciBpcyByZWNhbGN1bGF0ZWQgcHJvcG9ydGlvbmFsbHkuXG4gICAqXG4gICAqIFRoaXMgZW5zdXJlcyB0aGF0IGFzcGVjdCByYXRpbyBpcyBuZXZlciBicm9rZW4gd2hlbiBjb25zdHJhaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIHdpZHRoIC0gVGhlIHVuY29uc3RyYWluZWQgd2lkdGhcbiAgICogQHBhcmFtIGhlaWdodCAtIFRoZSB1bmNvbnN0cmFpbmVkIGhlaWdodFxuICAgKiBAcGFyYW0gcHJlc2VydmVBc3BlY3RSYXRpbyAtIFdoZXRoZXIgdG8gbWFpbnRhaW4gYXNwZWN0IHJhdGlvIHdoaWxlIGNvbnN0cmFpbmluZ1xuICAgKiBAcmV0dXJucyBUaGUgY29uc3RyYWluZWQgZGltZW5zaW9uc1xuICAgKi9cbiAgYXBwbHlDb25zdHJhaW50cyh3aWR0aCwgaGVpZ2h0LCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKSB7XG4gICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICAgIGlmICghcHJlc2VydmVBc3BlY3RSYXRpbykge1xuICAgICAgbGV0IGNvbnN0cmFpbmVkV2lkdGgyID0gTWF0aC5tYXgodGhpcy5taW5TaXplLndpZHRoLCB3aWR0aCk7XG4gICAgICBsZXQgY29uc3RyYWluZWRIZWlnaHQyID0gTWF0aC5tYXgodGhpcy5taW5TaXplLmhlaWdodCwgaGVpZ2h0KTtcbiAgICAgIGlmICgoX2EgPSB0aGlzLm1heFNpemUpID09IG51bGwgPyB2b2lkIDAgOiBfYS53aWR0aCkge1xuICAgICAgICBjb25zdHJhaW5lZFdpZHRoMiA9IE1hdGgubWluKHRoaXMubWF4U2l6ZS53aWR0aCwgY29uc3RyYWluZWRXaWR0aDIpO1xuICAgICAgfVxuICAgICAgaWYgKChfYiA9IHRoaXMubWF4U2l6ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLmhlaWdodCkge1xuICAgICAgICBjb25zdHJhaW5lZEhlaWdodDIgPSBNYXRoLm1pbih0aGlzLm1heFNpemUuaGVpZ2h0LCBjb25zdHJhaW5lZEhlaWdodDIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHsgd2lkdGg6IGNvbnN0cmFpbmVkV2lkdGgyLCBoZWlnaHQ6IGNvbnN0cmFpbmVkSGVpZ2h0MiB9O1xuICAgIH1cbiAgICBsZXQgY29uc3RyYWluZWRXaWR0aCA9IHdpZHRoO1xuICAgIGxldCBjb25zdHJhaW5lZEhlaWdodCA9IGhlaWdodDtcbiAgICBpZiAoY29uc3RyYWluZWRXaWR0aCA8IHRoaXMubWluU2l6ZS53aWR0aCkge1xuICAgICAgY29uc3RyYWluZWRXaWR0aCA9IHRoaXMubWluU2l6ZS53aWR0aDtcbiAgICAgIGNvbnN0cmFpbmVkSGVpZ2h0ID0gY29uc3RyYWluZWRXaWR0aCAvIHRoaXMuYXNwZWN0UmF0aW87XG4gICAgfVxuICAgIGlmIChjb25zdHJhaW5lZEhlaWdodCA8IHRoaXMubWluU2l6ZS5oZWlnaHQpIHtcbiAgICAgIGNvbnN0cmFpbmVkSGVpZ2h0ID0gdGhpcy5taW5TaXplLmhlaWdodDtcbiAgICAgIGNvbnN0cmFpbmVkV2lkdGggPSBjb25zdHJhaW5lZEhlaWdodCAqIHRoaXMuYXNwZWN0UmF0aW87XG4gICAgfVxuICAgIGlmICgoKF9jID0gdGhpcy5tYXhTaXplKSA9PSBudWxsID8gdm9pZCAwIDogX2Mud2lkdGgpICYmIGNvbnN0cmFpbmVkV2lkdGggPiB0aGlzLm1heFNpemUud2lkdGgpIHtcbiAgICAgIGNvbnN0cmFpbmVkV2lkdGggPSB0aGlzLm1heFNpemUud2lkdGg7XG4gICAgICBjb25zdHJhaW5lZEhlaWdodCA9IGNvbnN0cmFpbmVkV2lkdGggLyB0aGlzLmFzcGVjdFJhdGlvO1xuICAgIH1cbiAgICBpZiAoKChfZCA9IHRoaXMubWF4U2l6ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9kLmhlaWdodCkgJiYgY29uc3RyYWluZWRIZWlnaHQgPiB0aGlzLm1heFNpemUuaGVpZ2h0KSB7XG4gICAgICBjb25zdHJhaW5lZEhlaWdodCA9IHRoaXMubWF4U2l6ZS5oZWlnaHQ7XG4gICAgICBjb25zdHJhaW5lZFdpZHRoID0gY29uc3RyYWluZWRIZWlnaHQgKiB0aGlzLmFzcGVjdFJhdGlvO1xuICAgIH1cbiAgICByZXR1cm4geyB3aWR0aDogY29uc3RyYWluZWRXaWR0aCwgaGVpZ2h0OiBjb25zdHJhaW5lZEhlaWdodCB9O1xuICB9XG4gIC8qKlxuICAgKiBBZGp1c3RzIGRpbWVuc2lvbnMgdG8gbWFpbnRhaW4gdGhlIG9yaWdpbmFsIGFzcGVjdCByYXRpby5cbiAgICpcbiAgICogRm9yIGhvcml6b250YWwgaGFuZGxlcyAobGVmdC9yaWdodCksIHVzZXMgd2lkdGggYXMgdGhlIHByaW1hcnkgZGltZW5zaW9uXG4gICAqIGFuZCBjYWxjdWxhdGVzIGhlaWdodCBmcm9tIGl0LiBGb3IgdmVydGljYWwgaGFuZGxlcyAodG9wL2JvdHRvbSksIHVzZXNcbiAgICogaGVpZ2h0IGFzIHByaW1hcnkgYW5kIGNhbGN1bGF0ZXMgd2lkdGguIEZvciBjb3JuZXIgaGFuZGxlcywgdXNlcyB3aWR0aFxuICAgKiBhcyB0aGUgcHJpbWFyeSBkaW1lbnNpb24uXG4gICAqXG4gICAqIEBwYXJhbSB3aWR0aCAtIFRoZSBuZXcgd2lkdGhcbiAgICogQHBhcmFtIGhlaWdodCAtIFRoZSBuZXcgaGVpZ2h0XG4gICAqIEBwYXJhbSBkaXJlY3Rpb24gLSBUaGUgYWN0aXZlIHJlc2l6ZSBkaXJlY3Rpb25cbiAgICogQHJldHVybnMgRGltZW5zaW9ucyBhZGp1c3RlZCB0byBwcmVzZXJ2ZSBhc3BlY3QgcmF0aW9cbiAgICovXG4gIGFwcGx5QXNwZWN0UmF0aW8od2lkdGgsIGhlaWdodCwgZGlyZWN0aW9uKSB7XG4gICAgY29uc3QgaXNIb3Jpem9udGFsID0gZGlyZWN0aW9uID09PSBcImxlZnRcIiB8fCBkaXJlY3Rpb24gPT09IFwicmlnaHRcIjtcbiAgICBjb25zdCBpc1ZlcnRpY2FsID0gZGlyZWN0aW9uID09PSBcInRvcFwiIHx8IGRpcmVjdGlvbiA9PT0gXCJib3R0b21cIjtcbiAgICBpZiAoaXNIb3Jpem9udGFsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0OiB3aWR0aCAvIHRoaXMuYXNwZWN0UmF0aW9cbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChpc1ZlcnRpY2FsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aDogaGVpZ2h0ICogdGhpcy5hc3BlY3RSYXRpbyxcbiAgICAgICAgaGVpZ2h0XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQ6IHdpZHRoIC8gdGhpcy5hc3BlY3RSYXRpb1xuICAgIH07XG4gIH1cbn07XG52YXIgUmVzaXphYmxlTm9kZXZpZXcgPSBSZXNpemFibGVOb2RlVmlldztcblxuLy8gc3JjL3V0aWxpdGllcy9jYW5JbnNlcnROb2RlLnRzXG5pbXBvcnQgeyBOb2RlU2VsZWN0aW9uIGFzIE5vZGVTZWxlY3Rpb240IH0gZnJvbSBcIkB0aXB0YXAvcG0vc3RhdGVcIjtcbmZ1bmN0aW9uIGNhbkluc2VydE5vZGUoc3RhdGUsIG5vZGVUeXBlKSB7XG4gIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBzdGF0ZTtcbiAgY29uc3QgeyAkZnJvbSB9ID0gc2VsZWN0aW9uO1xuICBpZiAoc2VsZWN0aW9uIGluc3RhbmNlb2YgTm9kZVNlbGVjdGlvbjQpIHtcbiAgICBjb25zdCBpbmRleCA9ICRmcm9tLmluZGV4KCk7XG4gICAgY29uc3QgcGFyZW50ID0gJGZyb20ucGFyZW50O1xuICAgIHJldHVybiBwYXJlbnQuY2FuUmVwbGFjZVdpdGgoaW5kZXgsIGluZGV4ICsgMSwgbm9kZVR5cGUpO1xuICB9XG4gIGxldCBkZXB0aCA9ICRmcm9tLmRlcHRoO1xuICB3aGlsZSAoZGVwdGggPj0gMCkge1xuICAgIGNvbnN0IGluZGV4ID0gJGZyb20uaW5kZXgoZGVwdGgpO1xuICAgIGNvbnN0IHBhcmVudCA9ICRmcm9tLm5vZGUoZGVwdGgpO1xuICAgIGNvbnN0IG1hdGNoID0gcGFyZW50LmNvbnRlbnRNYXRjaEF0KGluZGV4KTtcbiAgICBpZiAobWF0Y2gubWF0Y2hUeXBlKG5vZGVUeXBlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGRlcHRoIC09IDE7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBzcmMvdXRpbGl0aWVzL2VzY2FwZUZvclJlZ0V4LnRzXG5mdW5jdGlvbiBlc2NhcGVGb3JSZWdFeChzdHJpbmcpIHtcbiAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKC9bLS9cXFxcXiQqKz8uKCl8W1xcXXt9XS9nLCBcIlxcXFwkJlwiKTtcbn1cblxuLy8gc3JjL3V0aWxpdGllcy9pc0ZpcmVmb3gudHNcbmZ1bmN0aW9uIGlzRmlyZWZveCgpIHtcbiAgcmV0dXJuIHR5cGVvZiBuYXZpZ2F0b3IgIT09IFwidW5kZWZpbmVkXCIgPyAvRmlyZWZveC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSA6IGZhbHNlO1xufVxuXG4vLyBzcmMvdXRpbGl0aWVzL2lzU3RyaW5nLnRzXG5mdW5jdGlvbiBpc1N0cmluZyh2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiO1xufVxuXG4vLyBzcmMvdXRpbGl0aWVzL21hcmtkb3duL2luZGV4LnRzXG52YXIgbWFya2Rvd25fZXhwb3J0cyA9IHt9O1xuX19leHBvcnQobWFya2Rvd25fZXhwb3J0cywge1xuICBjcmVhdGVBdG9tQmxvY2tNYXJrZG93blNwZWM6ICgpID0+IGNyZWF0ZUF0b21CbG9ja01hcmtkb3duU3BlYyxcbiAgY3JlYXRlQmxvY2tNYXJrZG93blNwZWM6ICgpID0+IGNyZWF0ZUJsb2NrTWFya2Rvd25TcGVjLFxuICBjcmVhdGVJbmxpbmVNYXJrZG93blNwZWM6ICgpID0+IGNyZWF0ZUlubGluZU1hcmtkb3duU3BlYyxcbiAgcGFyc2VBdHRyaWJ1dGVzOiAoKSA9PiBwYXJzZUF0dHJpYnV0ZXMsXG4gIHBhcnNlSW5kZW50ZWRCbG9ja3M6ICgpID0+IHBhcnNlSW5kZW50ZWRCbG9ja3MsXG4gIHJlbmRlck5lc3RlZE1hcmtkb3duQ29udGVudDogKCkgPT4gcmVuZGVyTmVzdGVkTWFya2Rvd25Db250ZW50LFxuICBzZXJpYWxpemVBdHRyaWJ1dGVzOiAoKSA9PiBzZXJpYWxpemVBdHRyaWJ1dGVzXG59KTtcblxuLy8gc3JjL3V0aWxpdGllcy9tYXJrZG93bi9hdHRyaWJ1dGVVdGlscy50c1xuZnVuY3Rpb24gcGFyc2VBdHRyaWJ1dGVzKGF0dHJTdHJpbmcpIHtcbiAgaWYgKCEoYXR0clN0cmluZyA9PSBudWxsID8gdm9pZCAwIDogYXR0clN0cmluZy50cmltKCkpKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG4gIGNvbnN0IGF0dHJpYnV0ZXMgPSB7fTtcbiAgY29uc3QgcXVvdGVkU3RyaW5ncyA9IFtdO1xuICBjb25zdCB0ZW1wU3RyaW5nID0gYXR0clN0cmluZy5yZXBsYWNlKC9bXCInXShbXlwiJ10qKVtcIiddL2csIChtYXRjaCkgPT4ge1xuICAgIHF1b3RlZFN0cmluZ3MucHVzaChtYXRjaCk7XG4gICAgcmV0dXJuIGBfX1FVT1RFRF8ke3F1b3RlZFN0cmluZ3MubGVuZ3RoIC0gMX1fX2A7XG4gIH0pO1xuICBjb25zdCBjbGFzc01hdGNoZXMgPSB0ZW1wU3RyaW5nLm1hdGNoKC8oPzpefFxccylcXC4oW2EtekEtWl1bXFx3LV0qKS9nKTtcbiAgaWYgKGNsYXNzTWF0Y2hlcykge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc01hdGNoZXMubWFwKChtYXRjaCkgPT4gbWF0Y2gudHJpbSgpLnNsaWNlKDEpKTtcbiAgICBhdHRyaWJ1dGVzLmNsYXNzID0gY2xhc3Nlcy5qb2luKFwiIFwiKTtcbiAgfVxuICBjb25zdCBpZE1hdGNoID0gdGVtcFN0cmluZy5tYXRjaCgvKD86XnxcXHMpIyhbYS16QS1aXVtcXHctXSopLyk7XG4gIGlmIChpZE1hdGNoKSB7XG4gICAgYXR0cmlidXRlcy5pZCA9IGlkTWF0Y2hbMV07XG4gIH1cbiAgY29uc3Qga3ZSZWdleCA9IC8oW2EtekEtWl1bXFx3LV0qKVxccyo9XFxzKihfX1FVT1RFRF9cXGQrX18pL2c7XG4gIGNvbnN0IGt2TWF0Y2hlcyA9IEFycmF5LmZyb20odGVtcFN0cmluZy5tYXRjaEFsbChrdlJlZ2V4KSk7XG4gIGt2TWF0Y2hlcy5mb3JFYWNoKChbLCBrZXksIHF1b3RlZFJlZl0pID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgcXVvdGVkSW5kZXggPSBwYXJzZUludCgoKF9hID0gcXVvdGVkUmVmLm1hdGNoKC9fX1FVT1RFRF8oXFxkKylfXy8pKSA9PSBudWxsID8gdm9pZCAwIDogX2FbMV0pIHx8IFwiMFwiLCAxMCk7XG4gICAgY29uc3QgcXVvdGVkVmFsdWUgPSBxdW90ZWRTdHJpbmdzW3F1b3RlZEluZGV4XTtcbiAgICBpZiAocXVvdGVkVmFsdWUpIHtcbiAgICAgIGF0dHJpYnV0ZXNba2V5XSA9IHF1b3RlZFZhbHVlLnNsaWNlKDEsIC0xKTtcbiAgICB9XG4gIH0pO1xuICBjb25zdCBjbGVhblN0cmluZyA9IHRlbXBTdHJpbmcucmVwbGFjZSgvKD86XnxcXHMpXFwuKFthLXpBLVpdW1xcdy1dKikvZywgXCJcIikucmVwbGFjZSgvKD86XnxcXHMpIyhbYS16QS1aXVtcXHctXSopL2csIFwiXCIpLnJlcGxhY2UoLyhbYS16QS1aXVtcXHctXSopXFxzKj1cXHMqX19RVU9URURfXFxkK19fL2csIFwiXCIpLnRyaW0oKTtcbiAgaWYgKGNsZWFuU3RyaW5nKSB7XG4gICAgY29uc3QgYm9vbGVhbkF0dHJzID0gY2xlYW5TdHJpbmcuc3BsaXQoL1xccysvKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgYm9vbGVhbkF0dHJzLmZvckVhY2goKGF0dHIpID0+IHtcbiAgICAgIGlmIChhdHRyLm1hdGNoKC9eW2EtekEtWl1bXFx3LV0qJC8pKSB7XG4gICAgICAgIGF0dHJpYnV0ZXNbYXR0cl0gPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHJldHVybiBhdHRyaWJ1dGVzO1xufVxuZnVuY3Rpb24gc2VyaWFsaXplQXR0cmlidXRlcyhhdHRyaWJ1dGVzKSB7XG4gIGlmICghYXR0cmlidXRlcyB8fCBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuICBjb25zdCBwYXJ0cyA9IFtdO1xuICBpZiAoYXR0cmlidXRlcy5jbGFzcykge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBTdHJpbmcoYXR0cmlidXRlcy5jbGFzcykuc3BsaXQoL1xccysvKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgY2xhc3Nlcy5mb3JFYWNoKChjbHMpID0+IHBhcnRzLnB1c2goYC4ke2Nsc31gKSk7XG4gIH1cbiAgaWYgKGF0dHJpYnV0ZXMuaWQpIHtcbiAgICBwYXJ0cy5wdXNoKGAjJHthdHRyaWJ1dGVzLmlkfWApO1xuICB9XG4gIE9iamVjdC5lbnRyaWVzKGF0dHJpYnV0ZXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmIChrZXkgPT09IFwiY2xhc3NcIiB8fCBrZXkgPT09IFwiaWRcIikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHBhcnRzLnB1c2goa2V5KTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICE9PSBmYWxzZSAmJiB2YWx1ZSAhPSBudWxsKSB7XG4gICAgICBwYXJ0cy5wdXNoKGAke2tleX09XCIke1N0cmluZyh2YWx1ZSl9XCJgKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcGFydHMuam9pbihcIiBcIik7XG59XG5cbi8vIHNyYy91dGlsaXRpZXMvbWFya2Rvd24vY3JlYXRlQXRvbUJsb2NrTWFya2Rvd25TcGVjLnRzXG5mdW5jdGlvbiBjcmVhdGVBdG9tQmxvY2tNYXJrZG93blNwZWMob3B0aW9ucykge1xuICBjb25zdCB7XG4gICAgbm9kZU5hbWUsXG4gICAgbmFtZTogbWFya2Rvd25OYW1lLFxuICAgIHBhcnNlQXR0cmlidXRlczogcGFyc2VBdHRyaWJ1dGVzMiA9IHBhcnNlQXR0cmlidXRlcyxcbiAgICBzZXJpYWxpemVBdHRyaWJ1dGVzOiBzZXJpYWxpemVBdHRyaWJ1dGVzMiA9IHNlcmlhbGl6ZUF0dHJpYnV0ZXMsXG4gICAgZGVmYXVsdEF0dHJpYnV0ZXMgPSB7fSxcbiAgICByZXF1aXJlZEF0dHJpYnV0ZXMgPSBbXSxcbiAgICBhbGxvd2VkQXR0cmlidXRlc1xuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgYmxvY2tOYW1lID0gbWFya2Rvd25OYW1lIHx8IG5vZGVOYW1lO1xuICBjb25zdCBmaWx0ZXJBdHRyaWJ1dGVzID0gKGF0dHJzKSA9PiB7XG4gICAgaWYgKCFhbGxvd2VkQXR0cmlidXRlcykge1xuICAgICAgcmV0dXJuIGF0dHJzO1xuICAgIH1cbiAgICBjb25zdCBmaWx0ZXJlZCA9IHt9O1xuICAgIGFsbG93ZWRBdHRyaWJ1dGVzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKGtleSBpbiBhdHRycykge1xuICAgICAgICBmaWx0ZXJlZFtrZXldID0gYXR0cnNba2V5XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZmlsdGVyZWQ7XG4gIH07XG4gIHJldHVybiB7XG4gICAgcGFyc2VNYXJrZG93bjogKHRva2VuLCBoMikgPT4ge1xuICAgICAgY29uc3QgYXR0cnMgPSB7IC4uLmRlZmF1bHRBdHRyaWJ1dGVzLCAuLi50b2tlbi5hdHRyaWJ1dGVzIH07XG4gICAgICByZXR1cm4gaDIuY3JlYXRlTm9kZShub2RlTmFtZSwgYXR0cnMsIFtdKTtcbiAgICB9LFxuICAgIG1hcmtkb3duVG9rZW5pemVyOiB7XG4gICAgICBuYW1lOiBub2RlTmFtZSxcbiAgICAgIGxldmVsOiBcImJsb2NrXCIsXG4gICAgICBzdGFydChzcmMpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYF46Ojoke2Jsb2NrTmFtZX0oPzpcXFxcc3wkKWAsIFwibVwiKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSAoX2EgPSBzcmMubWF0Y2gocmVnZXgpKSA9PSBudWxsID8gdm9pZCAwIDogX2EuaW5kZXg7XG4gICAgICAgIHJldHVybiBpbmRleCAhPT0gdm9pZCAwID8gaW5kZXggOiAtMTtcbiAgICAgIH0sXG4gICAgICB0b2tlbml6ZShzcmMsIF90b2tlbnMsIF9sZXhlcikge1xuICAgICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYF46Ojoke2Jsb2NrTmFtZX0oPzpcXFxccytcXFxceyhbXn1dKilcXFxcfSk/XFxcXHMqOjo6KD86XFxcXG58JClgKTtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSBzcmMubWF0Y2gocmVnZXgpO1xuICAgICAgICBpZiAoIW1hdGNoKSB7XG4gICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhdHRyU3RyaW5nID0gbWF0Y2hbMV0gfHwgXCJcIjtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHBhcnNlQXR0cmlidXRlczIoYXR0clN0cmluZyk7XG4gICAgICAgIGNvbnN0IG1pc3NpbmdSZXF1aXJlZCA9IHJlcXVpcmVkQXR0cmlidXRlcy5maW5kKChyZXF1aXJlZCkgPT4gIShyZXF1aXJlZCBpbiBhdHRyaWJ1dGVzKSk7XG4gICAgICAgIGlmIChtaXNzaW5nUmVxdWlyZWQpIHtcbiAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogbm9kZU5hbWUsXG4gICAgICAgICAgcmF3OiBtYXRjaFswXSxcbiAgICAgICAgICBhdHRyaWJ1dGVzXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSxcbiAgICByZW5kZXJNYXJrZG93bjogKG5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkQXR0cnMgPSBmaWx0ZXJBdHRyaWJ1dGVzKG5vZGUuYXR0cnMgfHwge30pO1xuICAgICAgY29uc3QgYXR0cnMgPSBzZXJpYWxpemVBdHRyaWJ1dGVzMihmaWx0ZXJlZEF0dHJzKTtcbiAgICAgIGNvbnN0IGF0dHJTdHJpbmcgPSBhdHRycyA/IGAgeyR7YXR0cnN9fWAgOiBcIlwiO1xuICAgICAgcmV0dXJuIGA6Ojoke2Jsb2NrTmFtZX0ke2F0dHJTdHJpbmd9IDo6OmA7XG4gICAgfVxuICB9O1xufVxuXG4vLyBzcmMvdXRpbGl0aWVzL21hcmtkb3duL2NyZWF0ZUJsb2NrTWFya2Rvd25TcGVjLnRzXG5mdW5jdGlvbiBjcmVhdGVCbG9ja01hcmtkb3duU3BlYyhvcHRpb25zKSB7XG4gIGNvbnN0IHtcbiAgICBub2RlTmFtZSxcbiAgICBuYW1lOiBtYXJrZG93bk5hbWUsXG4gICAgZ2V0Q29udGVudCxcbiAgICBwYXJzZUF0dHJpYnV0ZXM6IHBhcnNlQXR0cmlidXRlczIgPSBwYXJzZUF0dHJpYnV0ZXMsXG4gICAgc2VyaWFsaXplQXR0cmlidXRlczogc2VyaWFsaXplQXR0cmlidXRlczIgPSBzZXJpYWxpemVBdHRyaWJ1dGVzLFxuICAgIGRlZmF1bHRBdHRyaWJ1dGVzID0ge30sXG4gICAgY29udGVudCA9IFwiYmxvY2tcIixcbiAgICBhbGxvd2VkQXR0cmlidXRlc1xuICB9ID0gb3B0aW9ucztcbiAgY29uc3QgYmxvY2tOYW1lID0gbWFya2Rvd25OYW1lIHx8IG5vZGVOYW1lO1xuICBjb25zdCBmaWx0ZXJBdHRyaWJ1dGVzID0gKGF0dHJzKSA9PiB7XG4gICAgaWYgKCFhbGxvd2VkQXR0cmlidXRlcykge1xuICAgICAgcmV0dXJuIGF0dHJzO1xuICAgIH1cbiAgICBjb25zdCBmaWx0ZXJlZCA9IHt9O1xuICAgIGFsbG93ZWRBdHRyaWJ1dGVzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKGtleSBpbiBhdHRycykge1xuICAgICAgICBmaWx0ZXJlZFtrZXldID0gYXR0cnNba2V5XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZmlsdGVyZWQ7XG4gIH07XG4gIHJldHVybiB7XG4gICAgcGFyc2VNYXJrZG93bjogKHRva2VuLCBoMikgPT4ge1xuICAgICAgbGV0IG5vZGVDb250ZW50O1xuICAgICAgaWYgKGdldENvbnRlbnQpIHtcbiAgICAgICAgY29uc3QgY29udGVudFJlc3VsdCA9IGdldENvbnRlbnQodG9rZW4pO1xuICAgICAgICBub2RlQ29udGVudCA9IHR5cGVvZiBjb250ZW50UmVzdWx0ID09PSBcInN0cmluZ1wiID8gW3sgdHlwZTogXCJ0ZXh0XCIsIHRleHQ6IGNvbnRlbnRSZXN1bHQgfV0gOiBjb250ZW50UmVzdWx0O1xuICAgICAgfSBlbHNlIGlmIChjb250ZW50ID09PSBcImJsb2NrXCIpIHtcbiAgICAgICAgbm9kZUNvbnRlbnQgPSBoMi5wYXJzZUNoaWxkcmVuKHRva2VuLnRva2VucyB8fCBbXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlQ29udGVudCA9IGgyLnBhcnNlSW5saW5lKHRva2VuLnRva2VucyB8fCBbXSk7XG4gICAgICB9XG4gICAgICBjb25zdCBhdHRycyA9IHsgLi4uZGVmYXVsdEF0dHJpYnV0ZXMsIC4uLnRva2VuLmF0dHJpYnV0ZXMgfTtcbiAgICAgIHJldHVybiBoMi5jcmVhdGVOb2RlKG5vZGVOYW1lLCBhdHRycywgbm9kZUNvbnRlbnQpO1xuICAgIH0sXG4gICAgbWFya2Rvd25Ub2tlbml6ZXI6IHtcbiAgICAgIG5hbWU6IG5vZGVOYW1lLFxuICAgICAgbGV2ZWw6IFwiYmxvY2tcIixcbiAgICAgIHN0YXJ0KHNyYykge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChgXjo6OiR7YmxvY2tOYW1lfWAsIFwibVwiKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSAoX2EgPSBzcmMubWF0Y2gocmVnZXgpKSA9PSBudWxsID8gdm9pZCAwIDogX2EuaW5kZXg7XG4gICAgICAgIHJldHVybiBpbmRleCAhPT0gdm9pZCAwID8gaW5kZXggOiAtMTtcbiAgICAgIH0sXG4gICAgICB0b2tlbml6ZShzcmMsIF90b2tlbnMsIGxleGVyKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgY29uc3Qgb3BlbmluZ1JlZ2V4ID0gbmV3IFJlZ0V4cChgXjo6OiR7YmxvY2tOYW1lfSg/OlxcXFxzK1xcXFx7KFtefV0qKVxcXFx9KT9cXFxccypcXFxcbmApO1xuICAgICAgICBjb25zdCBvcGVuaW5nTWF0Y2ggPSBzcmMubWF0Y2gob3BlbmluZ1JlZ2V4KTtcbiAgICAgICAgaWYgKCFvcGVuaW5nTWF0Y2gpIHtcbiAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFtvcGVuaW5nVGFnLCBhdHRyU3RyaW5nID0gXCJcIl0gPSBvcGVuaW5nTWF0Y2g7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBwYXJzZUF0dHJpYnV0ZXMyKGF0dHJTdHJpbmcpO1xuICAgICAgICBsZXQgbGV2ZWwgPSAxO1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IG9wZW5pbmdUYWcubGVuZ3RoO1xuICAgICAgICBsZXQgbWF0Y2hlZENvbnRlbnQgPSBcIlwiO1xuICAgICAgICBjb25zdCBibG9ja1BhdHRlcm4gPSAvXjo6OihbXFx3LV0qKShcXHMuKik/L2dtO1xuICAgICAgICBjb25zdCByZW1haW5pbmcgPSBzcmMuc2xpY2UocG9zaXRpb24pO1xuICAgICAgICBibG9ja1BhdHRlcm4ubGFzdEluZGV4ID0gMDtcbiAgICAgICAgZm9yICg7IDsgKSB7XG4gICAgICAgICAgY29uc3QgbWF0Y2ggPSBibG9ja1BhdHRlcm4uZXhlYyhyZW1haW5pbmcpO1xuICAgICAgICAgIGlmIChtYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IG1hdGNoUG9zID0gbWF0Y2guaW5kZXg7XG4gICAgICAgICAgY29uc3QgYmxvY2tUeXBlID0gbWF0Y2hbMV07XG4gICAgICAgICAgaWYgKChfYSA9IG1hdGNoWzJdKSA9PSBudWxsID8gdm9pZCAwIDogX2EuZW5kc1dpdGgoXCI6OjpcIikpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYmxvY2tUeXBlKSB7XG4gICAgICAgICAgICBsZXZlbCArPSAxO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXZlbCAtPSAxO1xuICAgICAgICAgICAgaWYgKGxldmVsID09PSAwKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJhd0NvbnRlbnQgPSByZW1haW5pbmcuc2xpY2UoMCwgbWF0Y2hQb3MpO1xuICAgICAgICAgICAgICBtYXRjaGVkQ29udGVudCA9IHJhd0NvbnRlbnQudHJpbSgpO1xuICAgICAgICAgICAgICBjb25zdCBmdWxsTWF0Y2ggPSBzcmMuc2xpY2UoMCwgcG9zaXRpb24gKyBtYXRjaFBvcyArIG1hdGNoWzBdLmxlbmd0aCk7XG4gICAgICAgICAgICAgIGxldCBjb250ZW50VG9rZW5zID0gW107XG4gICAgICAgICAgICAgIGlmIChtYXRjaGVkQ29udGVudCkge1xuICAgICAgICAgICAgICAgIGlmIChjb250ZW50ID09PSBcImJsb2NrXCIpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb2tlbnMgPSBsZXhlci5ibG9ja1Rva2VucyhyYXdDb250ZW50KTtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb2tlbnMuZm9yRWFjaCgodG9rZW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRva2VuLnRleHQgJiYgKCF0b2tlbi50b2tlbnMgfHwgdG9rZW4udG9rZW5zLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICB0b2tlbi50b2tlbnMgPSBsZXhlci5pbmxpbmVUb2tlbnModG9rZW4udGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgd2hpbGUgKGNvbnRlbnRUb2tlbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0VG9rZW4gPSBjb250ZW50VG9rZW5zW2NvbnRlbnRUb2tlbnMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChsYXN0VG9rZW4udHlwZSA9PT0gXCJwYXJhZ3JhcGhcIiAmJiAoIWxhc3RUb2tlbi50ZXh0IHx8IGxhc3RUb2tlbi50ZXh0LnRyaW0oKSA9PT0gXCJcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50VG9rZW5zLnBvcCgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnRUb2tlbnMgPSBsZXhlci5pbmxpbmVUb2tlbnMobWF0Y2hlZENvbnRlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHR5cGU6IG5vZGVOYW1lLFxuICAgICAgICAgICAgICAgIHJhdzogZnVsbE1hdGNoLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAgICAgY29udGVudDogbWF0Y2hlZENvbnRlbnQsXG4gICAgICAgICAgICAgICAgdG9rZW5zOiBjb250ZW50VG9rZW5zXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICB9XG4gICAgfSxcbiAgICByZW5kZXJNYXJrZG93bjogKG5vZGUsIGgyKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZEF0dHJzID0gZmlsdGVyQXR0cmlidXRlcyhub2RlLmF0dHJzIHx8IHt9KTtcbiAgICAgIGNvbnN0IGF0dHJzID0gc2VyaWFsaXplQXR0cmlidXRlczIoZmlsdGVyZWRBdHRycyk7XG4gICAgICBjb25zdCBhdHRyU3RyaW5nID0gYXR0cnMgPyBgIHske2F0dHJzfX1gIDogXCJcIjtcbiAgICAgIGNvbnN0IHJlbmRlcmVkQ29udGVudCA9IGgyLnJlbmRlckNoaWxkcmVuKG5vZGUuY29udGVudCB8fCBbXSwgXCJcXG5cXG5cIik7XG4gICAgICByZXR1cm4gYDo6OiR7YmxvY2tOYW1lfSR7YXR0clN0cmluZ31cblxuJHtyZW5kZXJlZENvbnRlbnR9XG5cbjo6OmA7XG4gICAgfVxuICB9O1xufVxuXG4vLyBzcmMvdXRpbGl0aWVzL21hcmtkb3duL2NyZWF0ZUlubGluZU1hcmtkb3duU3BlYy50c1xuZnVuY3Rpb24gcGFyc2VTaG9ydGNvZGVBdHRyaWJ1dGVzKGF0dHJTdHJpbmcpIHtcbiAgaWYgKCFhdHRyU3RyaW5nLnRyaW0oKSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuICBjb25zdCBhdHRyaWJ1dGVzID0ge307XG4gIGNvbnN0IHJlZ2V4ID0gLyhcXHcrKT0oPzpcIihbXlwiXSopXCJ8JyhbXiddKiknKS9nO1xuICBsZXQgbWF0Y2ggPSByZWdleC5leGVjKGF0dHJTdHJpbmcpO1xuICB3aGlsZSAobWF0Y2ggIT09IG51bGwpIHtcbiAgICBjb25zdCBbLCBrZXksIGRvdWJsZVF1b3RlZCwgc2luZ2xlUXVvdGVkXSA9IG1hdGNoO1xuICAgIGF0dHJpYnV0ZXNba2V5XSA9IGRvdWJsZVF1b3RlZCB8fCBzaW5nbGVRdW90ZWQ7XG4gICAgbWF0Y2ggPSByZWdleC5leGVjKGF0dHJTdHJpbmcpO1xuICB9XG4gIHJldHVybiBhdHRyaWJ1dGVzO1xufVxuZnVuY3Rpb24gc2VyaWFsaXplU2hvcnRjb2RlQXR0cmlidXRlcyhhdHRycykge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoYXR0cnMpLmZpbHRlcigoWywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdm9pZCAwICYmIHZhbHVlICE9PSBudWxsKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT1cIiR7dmFsdWV9XCJgKS5qb2luKFwiIFwiKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUlubGluZU1hcmtkb3duU3BlYyhvcHRpb25zKSB7XG4gIGNvbnN0IHtcbiAgICBub2RlTmFtZSxcbiAgICBuYW1lOiBzaG9ydGNvZGVOYW1lLFxuICAgIGdldENvbnRlbnQsXG4gICAgcGFyc2VBdHRyaWJ1dGVzOiBwYXJzZUF0dHJpYnV0ZXMyID0gcGFyc2VTaG9ydGNvZGVBdHRyaWJ1dGVzLFxuICAgIHNlcmlhbGl6ZUF0dHJpYnV0ZXM6IHNlcmlhbGl6ZUF0dHJpYnV0ZXMyID0gc2VyaWFsaXplU2hvcnRjb2RlQXR0cmlidXRlcyxcbiAgICBkZWZhdWx0QXR0cmlidXRlcyA9IHt9LFxuICAgIHNlbGZDbG9zaW5nID0gZmFsc2UsXG4gICAgYWxsb3dlZEF0dHJpYnV0ZXNcbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IHNob3J0Y29kZSA9IHNob3J0Y29kZU5hbWUgfHwgbm9kZU5hbWU7XG4gIGNvbnN0IGZpbHRlckF0dHJpYnV0ZXMgPSAoYXR0cnMpID0+IHtcbiAgICBpZiAoIWFsbG93ZWRBdHRyaWJ1dGVzKSB7XG4gICAgICByZXR1cm4gYXR0cnM7XG4gICAgfVxuICAgIGNvbnN0IGZpbHRlcmVkID0ge307XG4gICAgYWxsb3dlZEF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT4ge1xuICAgICAgY29uc3QgYXR0ck5hbWUgPSB0eXBlb2YgYXR0ciA9PT0gXCJzdHJpbmdcIiA/IGF0dHIgOiBhdHRyLm5hbWU7XG4gICAgICBjb25zdCBza2lwSWZEZWZhdWx0ID0gdHlwZW9mIGF0dHIgPT09IFwic3RyaW5nXCIgPyB2b2lkIDAgOiBhdHRyLnNraXBJZkRlZmF1bHQ7XG4gICAgICBpZiAoYXR0ck5hbWUgaW4gYXR0cnMpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBhdHRyc1thdHRyTmFtZV07XG4gICAgICAgIGlmIChza2lwSWZEZWZhdWx0ICE9PSB2b2lkIDAgJiYgdmFsdWUgPT09IHNraXBJZkRlZmF1bHQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZmlsdGVyZWRbYXR0ck5hbWVdID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGZpbHRlcmVkO1xuICB9O1xuICBjb25zdCBlc2NhcGVkU2hvcnRjb2RlID0gc2hvcnRjb2RlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCBcIlxcXFwkJlwiKTtcbiAgcmV0dXJuIHtcbiAgICBwYXJzZU1hcmtkb3duOiAodG9rZW4sIGgyKSA9PiB7XG4gICAgICBjb25zdCBhdHRycyA9IHsgLi4uZGVmYXVsdEF0dHJpYnV0ZXMsIC4uLnRva2VuLmF0dHJpYnV0ZXMgfTtcbiAgICAgIGlmIChzZWxmQ2xvc2luZykge1xuICAgICAgICByZXR1cm4gaDIuY3JlYXRlTm9kZShub2RlTmFtZSwgYXR0cnMpO1xuICAgICAgfVxuICAgICAgY29uc3QgY29udGVudCA9IGdldENvbnRlbnQgPyBnZXRDb250ZW50KHRva2VuKSA6IHRva2VuLmNvbnRlbnQgfHwgXCJcIjtcbiAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgIHJldHVybiBoMi5jcmVhdGVOb2RlKG5vZGVOYW1lLCBhdHRycywgW2gyLmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaDIuY3JlYXRlTm9kZShub2RlTmFtZSwgYXR0cnMsIFtdKTtcbiAgICB9LFxuICAgIG1hcmtkb3duVG9rZW5pemVyOiB7XG4gICAgICBuYW1lOiBub2RlTmFtZSxcbiAgICAgIGxldmVsOiBcImlubGluZVwiLFxuICAgICAgc3RhcnQoc3JjKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0UGF0dGVybiA9IHNlbGZDbG9zaW5nID8gbmV3IFJlZ0V4cChgXFxcXFske2VzY2FwZWRTaG9ydGNvZGV9XFxcXHMqW15cXFxcXV0qXFxcXF1gKSA6IG5ldyBSZWdFeHAoYFxcXFxbJHtlc2NhcGVkU2hvcnRjb2RlfVxcXFxzKlteXFxcXF1dKlxcXFxdW1xcXFxzXFxcXFNdKj9cXFxcW1xcXFwvJHtlc2NhcGVkU2hvcnRjb2RlfVxcXFxdYCk7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gc3JjLm1hdGNoKHN0YXJ0UGF0dGVybik7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gbWF0Y2ggPT0gbnVsbCA/IHZvaWQgMCA6IG1hdGNoLmluZGV4O1xuICAgICAgICByZXR1cm4gaW5kZXggIT09IHZvaWQgMCA/IGluZGV4IDogLTE7XG4gICAgICB9LFxuICAgICAgdG9rZW5pemUoc3JjLCBfdG9rZW5zLCBfbGV4ZXIpIHtcbiAgICAgICAgY29uc3QgdG9rZW5QYXR0ZXJuID0gc2VsZkNsb3NpbmcgPyBuZXcgUmVnRXhwKGBeXFxcXFske2VzY2FwZWRTaG9ydGNvZGV9XFxcXHMqKFteXFxcXF1dKilcXFxcXWApIDogbmV3IFJlZ0V4cChgXlxcXFxbJHtlc2NhcGVkU2hvcnRjb2RlfVxcXFxzKihbXlxcXFxdXSopXFxcXF0oW1xcXFxzXFxcXFNdKj8pXFxcXFtcXFxcLyR7ZXNjYXBlZFNob3J0Y29kZX1cXFxcXWApO1xuICAgICAgICBjb25zdCBtYXRjaCA9IHNyYy5tYXRjaCh0b2tlblBhdHRlcm4pO1xuICAgICAgICBpZiAoIW1hdGNoKSB7XG4gICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY29udGVudCA9IFwiXCI7XG4gICAgICAgIGxldCBhdHRyU3RyaW5nID0gXCJcIjtcbiAgICAgICAgaWYgKHNlbGZDbG9zaW5nKSB7XG4gICAgICAgICAgY29uc3QgWywgYXR0cnNdID0gbWF0Y2g7XG4gICAgICAgICAgYXR0clN0cmluZyA9IGF0dHJzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IFssIGF0dHJzLCBjb250ZW50TWF0Y2hdID0gbWF0Y2g7XG4gICAgICAgICAgYXR0clN0cmluZyA9IGF0dHJzO1xuICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50TWF0Y2ggfHwgXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gcGFyc2VBdHRyaWJ1dGVzMihhdHRyU3RyaW5nLnRyaW0oKSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogbm9kZU5hbWUsXG4gICAgICAgICAgcmF3OiBtYXRjaFswXSxcbiAgICAgICAgICBjb250ZW50OiBjb250ZW50LnRyaW0oKSxcbiAgICAgICAgICBhdHRyaWJ1dGVzXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSxcbiAgICByZW5kZXJNYXJrZG93bjogKG5vZGUpID0+IHtcbiAgICAgIGxldCBjb250ZW50ID0gXCJcIjtcbiAgICAgIGlmIChnZXRDb250ZW50KSB7XG4gICAgICAgIGNvbnRlbnQgPSBnZXRDb250ZW50KG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChub2RlLmNvbnRlbnQgJiYgbm9kZS5jb250ZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29udGVudCA9IG5vZGUuY29udGVudC5maWx0ZXIoKGNoaWxkKSA9PiBjaGlsZC50eXBlID09PSBcInRleHRcIikubWFwKChjaGlsZCkgPT4gY2hpbGQudGV4dCkuam9pbihcIlwiKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpbHRlcmVkQXR0cnMgPSBmaWx0ZXJBdHRyaWJ1dGVzKG5vZGUuYXR0cnMgfHwge30pO1xuICAgICAgY29uc3QgYXR0cnMgPSBzZXJpYWxpemVBdHRyaWJ1dGVzMihmaWx0ZXJlZEF0dHJzKTtcbiAgICAgIGNvbnN0IGF0dHJTdHJpbmcgPSBhdHRycyA/IGAgJHthdHRyc31gIDogXCJcIjtcbiAgICAgIGlmIChzZWxmQ2xvc2luZykge1xuICAgICAgICByZXR1cm4gYFske3Nob3J0Y29kZX0ke2F0dHJTdHJpbmd9XWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gYFske3Nob3J0Y29kZX0ke2F0dHJTdHJpbmd9XSR7Y29udGVudH1bLyR7c2hvcnRjb2RlfV1gO1xuICAgIH1cbiAgfTtcbn1cblxuLy8gc3JjL3V0aWxpdGllcy9tYXJrZG93bi9wYXJzZUluZGVudGVkQmxvY2tzLnRzXG5mdW5jdGlvbiBwYXJzZUluZGVudGVkQmxvY2tzKHNyYywgY29uZmlnLCBsZXhlcikge1xuICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gIGNvbnN0IGxpbmVzID0gc3JjLnNwbGl0KFwiXFxuXCIpO1xuICBjb25zdCBpdGVtcyA9IFtdO1xuICBsZXQgdG90YWxSYXcgPSBcIlwiO1xuICBsZXQgaSA9IDA7XG4gIGNvbnN0IGJhc2VJbmRlbnRTaXplID0gY29uZmlnLmJhc2VJbmRlbnRTaXplIHx8IDI7XG4gIHdoaWxlIChpIDwgbGluZXMubGVuZ3RoKSB7XG4gICAgY29uc3QgY3VycmVudExpbmUgPSBsaW5lc1tpXTtcbiAgICBjb25zdCBpdGVtTWF0Y2ggPSBjdXJyZW50TGluZS5tYXRjaChjb25maWcuaXRlbVBhdHRlcm4pO1xuICAgIGlmICghaXRlbU1hdGNoKSB7XG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH0gZWxzZSBpZiAoY3VycmVudExpbmUudHJpbSgpID09PSBcIlwiKSB7XG4gICAgICAgIGkgKz0gMTtcbiAgICAgICAgdG90YWxSYXcgPSBgJHt0b3RhbFJhd30ke2N1cnJlbnRMaW5lfVxuYDtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBpdGVtRGF0YSA9IGNvbmZpZy5leHRyYWN0SXRlbURhdGEoaXRlbU1hdGNoKTtcbiAgICBjb25zdCB7IGluZGVudExldmVsLCBtYWluQ29udGVudCB9ID0gaXRlbURhdGE7XG4gICAgdG90YWxSYXcgPSBgJHt0b3RhbFJhd30ke2N1cnJlbnRMaW5lfVxuYDtcbiAgICBjb25zdCBpdGVtQ29udGVudCA9IFttYWluQ29udGVudF07XG4gICAgaSArPSAxO1xuICAgIHdoaWxlIChpIDwgbGluZXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBuZXh0TGluZSA9IGxpbmVzW2ldO1xuICAgICAgaWYgKG5leHRMaW5lLnRyaW0oKSA9PT0gXCJcIikge1xuICAgICAgICBjb25zdCBuZXh0Tm9uRW1wdHlJbmRleCA9IGxpbmVzLnNsaWNlKGkgKyAxKS5maW5kSW5kZXgoKGwpID0+IGwudHJpbSgpICE9PSBcIlwiKTtcbiAgICAgICAgaWYgKG5leHROb25FbXB0eUluZGV4ID09PSAtMSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5leHROb25FbXB0eSA9IGxpbmVzW2kgKyAxICsgbmV4dE5vbkVtcHR5SW5kZXhdO1xuICAgICAgICBjb25zdCBuZXh0SW5kZW50MiA9ICgoX2IgPSAoX2EgPSBuZXh0Tm9uRW1wdHkubWF0Y2goL14oXFxzKikvKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hWzFdKSA9PSBudWxsID8gdm9pZCAwIDogX2IubGVuZ3RoKSB8fCAwO1xuICAgICAgICBpZiAobmV4dEluZGVudDIgPiBpbmRlbnRMZXZlbCkge1xuICAgICAgICAgIGl0ZW1Db250ZW50LnB1c2gobmV4dExpbmUpO1xuICAgICAgICAgIHRvdGFsUmF3ID0gYCR7dG90YWxSYXd9JHtuZXh0TGluZX1cbmA7XG4gICAgICAgICAgaSArPSAxO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBuZXh0SW5kZW50ID0gKChfZCA9IChfYyA9IG5leHRMaW5lLm1hdGNoKC9eKFxccyopLykpID09IG51bGwgPyB2b2lkIDAgOiBfY1sxXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9kLmxlbmd0aCkgfHwgMDtcbiAgICAgIGlmIChuZXh0SW5kZW50ID4gaW5kZW50TGV2ZWwpIHtcbiAgICAgICAgaXRlbUNvbnRlbnQucHVzaChuZXh0TGluZSk7XG4gICAgICAgIHRvdGFsUmF3ID0gYCR7dG90YWxSYXd9JHtuZXh0TGluZX1cbmA7XG4gICAgICAgIGkgKz0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgbmVzdGVkVG9rZW5zO1xuICAgIGNvbnN0IG5lc3RlZENvbnRlbnQgPSBpdGVtQ29udGVudC5zbGljZSgxKTtcbiAgICBpZiAobmVzdGVkQ29udGVudC5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBkZWRlbnRlZE5lc3RlZCA9IG5lc3RlZENvbnRlbnQubWFwKChuZXN0ZWRMaW5lKSA9PiBuZXN0ZWRMaW5lLnNsaWNlKGluZGVudExldmVsICsgYmFzZUluZGVudFNpemUpKS5qb2luKFwiXFxuXCIpO1xuICAgICAgaWYgKGRlZGVudGVkTmVzdGVkLnRyaW0oKSkge1xuICAgICAgICBpZiAoY29uZmlnLmN1c3RvbU5lc3RlZFBhcnNlcikge1xuICAgICAgICAgIG5lc3RlZFRva2VucyA9IGNvbmZpZy5jdXN0b21OZXN0ZWRQYXJzZXIoZGVkZW50ZWROZXN0ZWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5lc3RlZFRva2VucyA9IGxleGVyLmJsb2NrVG9rZW5zKGRlZGVudGVkTmVzdGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB0b2tlbiA9IGNvbmZpZy5jcmVhdGVUb2tlbihpdGVtRGF0YSwgbmVzdGVkVG9rZW5zKTtcbiAgICBpdGVtcy5wdXNoKHRva2VuKTtcbiAgfVxuICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICByZXR1cm4ge1xuICAgIGl0ZW1zLFxuICAgIHJhdzogdG90YWxSYXdcbiAgfTtcbn1cblxuLy8gc3JjL3V0aWxpdGllcy9tYXJrZG93bi9yZW5kZXJOZXN0ZWRNYXJrZG93bkNvbnRlbnQudHNcbmZ1bmN0aW9uIHJlbmRlck5lc3RlZE1hcmtkb3duQ29udGVudChub2RlLCBoMiwgcHJlZml4T3JHZW5lcmF0b3IsIGN0eCkge1xuICBpZiAoIW5vZGUgfHwgIUFycmF5LmlzQXJyYXkobm9kZS5jb250ZW50KSkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG4gIGNvbnN0IHByZWZpeCA9IHR5cGVvZiBwcmVmaXhPckdlbmVyYXRvciA9PT0gXCJmdW5jdGlvblwiID8gcHJlZml4T3JHZW5lcmF0b3IoY3R4KSA6IHByZWZpeE9yR2VuZXJhdG9yO1xuICBjb25zdCBbY29udGVudCwgLi4uY2hpbGRyZW5dID0gbm9kZS5jb250ZW50O1xuICBjb25zdCBtYWluQ29udGVudCA9IGgyLnJlbmRlckNoaWxkcmVuKFtjb250ZW50XSk7XG4gIGNvbnN0IG91dHB1dCA9IFtgJHtwcmVmaXh9JHttYWluQ29udGVudH1gXTtcbiAgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICBjaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgY29uc3QgY2hpbGRDb250ZW50ID0gaDIucmVuZGVyQ2hpbGRyZW4oW2NoaWxkXSk7XG4gICAgICBpZiAoY2hpbGRDb250ZW50KSB7XG4gICAgICAgIGNvbnN0IGluZGVudGVkQ2hpbGQgPSBjaGlsZENvbnRlbnQuc3BsaXQoXCJcXG5cIikubWFwKChsaW5lKSA9PiBsaW5lID8gaDIuaW5kZW50KGxpbmUpIDogXCJcIikuam9pbihcIlxcblwiKTtcbiAgICAgICAgb3V0cHV0LnB1c2goaW5kZW50ZWRDaGlsZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG91dHB1dC5qb2luKFwiXFxuXCIpO1xufVxuXG4vLyBzcmMvTWFya1ZpZXcudHNcbmZ1bmN0aW9uIHVwZGF0ZU1hcmtWaWV3QXR0cmlidXRlcyhjaGVja01hcmssIGVkaXRvciwgYXR0cnMgPSB7fSkge1xuICBjb25zdCB7IHN0YXRlIH0gPSBlZGl0b3I7XG4gIGNvbnN0IHsgZG9jLCB0ciB9ID0gc3RhdGU7XG4gIGNvbnN0IHRoaXNNYXJrID0gY2hlY2tNYXJrO1xuICBkb2MuZGVzY2VuZGFudHMoKG5vZGUsIHBvcykgPT4ge1xuICAgIGNvbnN0IGZyb20gPSB0ci5tYXBwaW5nLm1hcChwb3MpO1xuICAgIGNvbnN0IHRvID0gdHIubWFwcGluZy5tYXAocG9zKSArIG5vZGUubm9kZVNpemU7XG4gICAgbGV0IGZvdW5kTWFyayA9IG51bGw7XG4gICAgbm9kZS5tYXJrcy5mb3JFYWNoKChtYXJrKSA9PiB7XG4gICAgICBpZiAobWFyayAhPT0gdGhpc01hcmspIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgZm91bmRNYXJrID0gbWFyaztcbiAgICB9KTtcbiAgICBpZiAoIWZvdW5kTWFyaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgbmVlZHNVcGRhdGUgPSBmYWxzZTtcbiAgICBPYmplY3Qua2V5cyhhdHRycykuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgaWYgKGF0dHJzW2tdICE9PSBmb3VuZE1hcmsuYXR0cnNba10pIHtcbiAgICAgICAgbmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChuZWVkc1VwZGF0ZSkge1xuICAgICAgY29uc3QgdXBkYXRlZE1hcmsgPSBjaGVja01hcmsudHlwZS5jcmVhdGUoe1xuICAgICAgICAuLi5jaGVja01hcmsuYXR0cnMsXG4gICAgICAgIC4uLmF0dHJzXG4gICAgICB9KTtcbiAgICAgIHRyLnJlbW92ZU1hcmsoZnJvbSwgdG8sIGNoZWNrTWFyay50eXBlKTtcbiAgICAgIHRyLmFkZE1hcmsoZnJvbSwgdG8sIHVwZGF0ZWRNYXJrKTtcbiAgICB9XG4gIH0pO1xuICBpZiAodHIuZG9jQ2hhbmdlZCkge1xuICAgIGVkaXRvci52aWV3LmRpc3BhdGNoKHRyKTtcbiAgfVxufVxudmFyIE1hcmtWaWV3ID0gY2xhc3Mge1xuICBjb25zdHJ1Y3Rvcihjb21wb25lbnQsIHByb3BzLCBvcHRpb25zKSB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnQ7XG4gICAgdGhpcy5lZGl0b3IgPSBwcm9wcy5lZGl0b3I7XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi5vcHRpb25zIH07XG4gICAgdGhpcy5tYXJrID0gcHJvcHMubWFyaztcbiAgICB0aGlzLkhUTUxBdHRyaWJ1dGVzID0gcHJvcHMuSFRNTEF0dHJpYnV0ZXM7XG4gIH1cbiAgZ2V0IGRvbSgpIHtcbiAgICByZXR1cm4gdGhpcy5lZGl0b3Iudmlldy5kb207XG4gIH1cbiAgZ2V0IGNvbnRlbnRET00oKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgYXR0cmlidXRlcyBvZiB0aGUgbWFyayBpbiB0aGUgZG9jdW1lbnQuXG4gICAqIEBwYXJhbSBhdHRycyBUaGUgYXR0cmlidXRlcyB0byB1cGRhdGUuXG4gICAqL1xuICB1cGRhdGVBdHRyaWJ1dGVzKGF0dHJzLCBjaGVja01hcmspIHtcbiAgICB1cGRhdGVNYXJrVmlld0F0dHJpYnV0ZXMoY2hlY2tNYXJrIHx8IHRoaXMubWFyaywgdGhpcy5lZGl0b3IsIGF0dHJzKTtcbiAgfVxuICBpZ25vcmVNdXRhdGlvbihtdXRhdGlvbikge1xuICAgIGlmICghdGhpcy5kb20gfHwgIXRoaXMuY29udGVudERPTSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLmlnbm9yZU11dGF0aW9uID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWdub3JlTXV0YXRpb24oeyBtdXRhdGlvbiB9KTtcbiAgICB9XG4gICAgaWYgKG11dGF0aW9uLnR5cGUgPT09IFwic2VsZWN0aW9uXCIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZG9tLmNvbnRhaW5zKG11dGF0aW9uLnRhcmdldCkgJiYgbXV0YXRpb24udHlwZSA9PT0gXCJjaGlsZExpc3RcIiAmJiAoaXNpT1MoKSB8fCBpc0FuZHJvaWQoKSkgJiYgdGhpcy5lZGl0b3IuaXNGb2N1c2VkKSB7XG4gICAgICBjb25zdCBjaGFuZ2VkTm9kZXMgPSBbLi4uQXJyYXkuZnJvbShtdXRhdGlvbi5hZGRlZE5vZGVzKSwgLi4uQXJyYXkuZnJvbShtdXRhdGlvbi5yZW1vdmVkTm9kZXMpXTtcbiAgICAgIGlmIChjaGFuZ2VkTm9kZXMuZXZlcnkoKG5vZGUpID0+IG5vZGUuaXNDb250ZW50RWRpdGFibGUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuY29udGVudERPTSA9PT0gbXV0YXRpb24udGFyZ2V0ICYmIG11dGF0aW9uLnR5cGUgPT09IFwiYXR0cmlidXRlc1wiKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29udGVudERPTS5jb250YWlucyhtdXRhdGlvbi50YXJnZXQpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59O1xuXG4vLyBzcmMvTm9kZS50c1xudmFyIE5vZGUzID0gY2xhc3MgX05vZGUgZXh0ZW5kcyBFeHRlbmRhYmxlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICB0aGlzLnR5cGUgPSBcIm5vZGVcIjtcbiAgfVxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IE5vZGUgaW5zdGFuY2VcbiAgICogQHBhcmFtIGNvbmZpZyAtIE5vZGUgY29uZmlndXJhdGlvbiBvYmplY3Qgb3IgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBjb25maWd1cmF0aW9uIG9iamVjdFxuICAgKi9cbiAgc3RhdGljIGNyZWF0ZShjb25maWcgPSB7fSkge1xuICAgIGNvbnN0IHJlc29sdmVkQ29uZmlnID0gdHlwZW9mIGNvbmZpZyA9PT0gXCJmdW5jdGlvblwiID8gY29uZmlnKCkgOiBjb25maWc7XG4gICAgcmV0dXJuIG5ldyBfTm9kZShyZXNvbHZlZENvbmZpZyk7XG4gIH1cbiAgY29uZmlndXJlKG9wdGlvbnMpIHtcbiAgICByZXR1cm4gc3VwZXIuY29uZmlndXJlKG9wdGlvbnMpO1xuICB9XG4gIGV4dGVuZChleHRlbmRlZENvbmZpZykge1xuICAgIGNvbnN0IHJlc29sdmVkQ29uZmlnID0gdHlwZW9mIGV4dGVuZGVkQ29uZmlnID09PSBcImZ1bmN0aW9uXCIgPyBleHRlbmRlZENvbmZpZygpIDogZXh0ZW5kZWRDb25maWc7XG4gICAgcmV0dXJuIHN1cGVyLmV4dGVuZChyZXNvbHZlZENvbmZpZyk7XG4gIH1cbn07XG5cbi8vIHNyYy9Ob2RlVmlldy50c1xuaW1wb3J0IHsgTm9kZVNlbGVjdGlvbiBhcyBOb2RlU2VsZWN0aW9uNSB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG52YXIgTm9kZVZpZXcgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKGNvbXBvbmVudCwgcHJvcHMsIG9wdGlvbnMpIHtcbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgICB0aGlzLmVkaXRvciA9IHByb3BzLmVkaXRvcjtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBzdG9wRXZlbnQ6IG51bGwsXG4gICAgICBpZ25vcmVNdXRhdGlvbjogbnVsbCxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9O1xuICAgIHRoaXMuZXh0ZW5zaW9uID0gcHJvcHMuZXh0ZW5zaW9uO1xuICAgIHRoaXMubm9kZSA9IHByb3BzLm5vZGU7XG4gICAgdGhpcy5kZWNvcmF0aW9ucyA9IHByb3BzLmRlY29yYXRpb25zO1xuICAgIHRoaXMuaW5uZXJEZWNvcmF0aW9ucyA9IHByb3BzLmlubmVyRGVjb3JhdGlvbnM7XG4gICAgdGhpcy52aWV3ID0gcHJvcHMudmlldztcbiAgICB0aGlzLkhUTUxBdHRyaWJ1dGVzID0gcHJvcHMuSFRNTEF0dHJpYnV0ZXM7XG4gICAgdGhpcy5nZXRQb3MgPSBwcm9wcy5nZXRQb3M7XG4gICAgdGhpcy5tb3VudCgpO1xuICB9XG4gIG1vdW50KCkge1xuICAgIHJldHVybjtcbiAgfVxuICBnZXQgZG9tKCkge1xuICAgIHJldHVybiB0aGlzLmVkaXRvci52aWV3LmRvbTtcbiAgfVxuICBnZXQgY29udGVudERPTSgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBvbkRyYWdTdGFydChldmVudCkge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2UsIF9mLCBfZztcbiAgICBjb25zdCB7IHZpZXcgfSA9IHRoaXMuZWRpdG9yO1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICBjb25zdCBkcmFnSGFuZGxlID0gdGFyZ2V0Lm5vZGVUeXBlID09PSAzID8gKF9hID0gdGFyZ2V0LnBhcmVudEVsZW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfYS5jbG9zZXN0KFwiW2RhdGEtZHJhZy1oYW5kbGVdXCIpIDogdGFyZ2V0LmNsb3Nlc3QoXCJbZGF0YS1kcmFnLWhhbmRsZV1cIik7XG4gICAgaWYgKCF0aGlzLmRvbSB8fCAoKF9iID0gdGhpcy5jb250ZW50RE9NKSA9PSBudWxsID8gdm9pZCAwIDogX2IuY29udGFpbnModGFyZ2V0KSkgfHwgIWRyYWdIYW5kbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHggPSAwO1xuICAgIGxldCB5ID0gMDtcbiAgICBpZiAodGhpcy5kb20gIT09IGRyYWdIYW5kbGUpIHtcbiAgICAgIGNvbnN0IGRvbUJveCA9IHRoaXMuZG9tLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaGFuZGxlQm94ID0gZHJhZ0hhbmRsZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IG9mZnNldFggPSAoX2QgPSBldmVudC5vZmZzZXRYKSAhPSBudWxsID8gX2QgOiAoX2MgPSBldmVudC5uYXRpdmVFdmVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jLm9mZnNldFg7XG4gICAgICBjb25zdCBvZmZzZXRZID0gKF9mID0gZXZlbnQub2Zmc2V0WSkgIT0gbnVsbCA/IF9mIDogKF9lID0gZXZlbnQubmF0aXZlRXZlbnQpID09IG51bGwgPyB2b2lkIDAgOiBfZS5vZmZzZXRZO1xuICAgICAgeCA9IGhhbmRsZUJveC54IC0gZG9tQm94LnggKyBvZmZzZXRYO1xuICAgICAgeSA9IGhhbmRsZUJveC55IC0gZG9tQm94LnkgKyBvZmZzZXRZO1xuICAgIH1cbiAgICBjb25zdCBjbG9uZWROb2RlID0gdGhpcy5kb20uY2xvbmVOb2RlKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkb21Cb3ggPSB0aGlzLmRvbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNsb25lZE5vZGUuc3R5bGUud2lkdGggPSBgJHtNYXRoLnJvdW5kKGRvbUJveC53aWR0aCl9cHhgO1xuICAgICAgY2xvbmVkTm9kZS5zdHlsZS5oZWlnaHQgPSBgJHtNYXRoLnJvdW5kKGRvbUJveC5oZWlnaHQpfXB4YDtcbiAgICAgIGNsb25lZE5vZGUuc3R5bGUuYm94U2l6aW5nID0gXCJib3JkZXItYm94XCI7XG4gICAgICBjbG9uZWROb2RlLnN0eWxlLnBvaW50ZXJFdmVudHMgPSBcIm5vbmVcIjtcbiAgICB9IGNhdGNoIHtcbiAgICB9XG4gICAgbGV0IGRyYWdJbWFnZVdyYXBwZXIgPSBudWxsO1xuICAgIHRyeSB7XG4gICAgICBkcmFnSW1hZ2VXcmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICAgIGRyYWdJbWFnZVdyYXBwZXIuc3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCI7XG4gICAgICBkcmFnSW1hZ2VXcmFwcGVyLnN0eWxlLnRvcCA9IFwiLTk5OTlweFwiO1xuICAgICAgZHJhZ0ltYWdlV3JhcHBlci5zdHlsZS5sZWZ0ID0gXCItOTk5OXB4XCI7XG4gICAgICBkcmFnSW1hZ2VXcmFwcGVyLnN0eWxlLnBvaW50ZXJFdmVudHMgPSBcIm5vbmVcIjtcbiAgICAgIGRyYWdJbWFnZVdyYXBwZXIuYXBwZW5kQ2hpbGQoY2xvbmVkTm9kZSk7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRyYWdJbWFnZVdyYXBwZXIpO1xuICAgICAgKF9nID0gZXZlbnQuZGF0YVRyYW5zZmVyKSA9PSBudWxsID8gdm9pZCAwIDogX2cuc2V0RHJhZ0ltYWdlKGNsb25lZE5vZGUsIHgsIHkpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpZiAoZHJhZ0ltYWdlV3JhcHBlcikge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgZHJhZ0ltYWdlV3JhcHBlciA9PSBudWxsID8gdm9pZCAwIDogZHJhZ0ltYWdlV3JhcHBlci5yZW1vdmUoKTtcbiAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBwb3MgPSB0aGlzLmdldFBvcygpO1xuICAgIGlmICh0eXBlb2YgcG9zICE9PSBcIm51bWJlclwiKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNlbGVjdGlvbiA9IE5vZGVTZWxlY3Rpb241LmNyZWF0ZSh2aWV3LnN0YXRlLmRvYywgcG9zKTtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHZpZXcuc3RhdGUudHIuc2V0U2VsZWN0aW9uKHNlbGVjdGlvbik7XG4gICAgdmlldy5kaXNwYXRjaCh0cmFuc2FjdGlvbik7XG4gIH1cbiAgc3RvcEV2ZW50KGV2ZW50KSB7XG4gICAgdmFyIF9hO1xuICAgIGlmICghdGhpcy5kb20pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuc3RvcEV2ZW50ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuc3RvcEV2ZW50KHsgZXZlbnQgfSk7XG4gICAgfVxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICBjb25zdCBpc0luRWxlbWVudCA9IHRoaXMuZG9tLmNvbnRhaW5zKHRhcmdldCkgJiYgISgoX2EgPSB0aGlzLmNvbnRlbnRET00pID09IG51bGwgPyB2b2lkIDAgOiBfYS5jb250YWlucyh0YXJnZXQpKTtcbiAgICBpZiAoIWlzSW5FbGVtZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGlzRHJhZ0V2ZW50ID0gZXZlbnQudHlwZS5zdGFydHNXaXRoKFwiZHJhZ1wiKTtcbiAgICBjb25zdCBpc0Ryb3BFdmVudCA9IGV2ZW50LnR5cGUgPT09IFwiZHJvcFwiO1xuICAgIGNvbnN0IGlzSW5wdXQgPSBbXCJJTlBVVFwiLCBcIkJVVFRPTlwiLCBcIlNFTEVDVFwiLCBcIlRFWFRBUkVBXCJdLmluY2x1ZGVzKHRhcmdldC50YWdOYW1lKSB8fCB0YXJnZXQuaXNDb250ZW50RWRpdGFibGU7XG4gICAgaWYgKGlzSW5wdXQgJiYgIWlzRHJvcEV2ZW50ICYmICFpc0RyYWdFdmVudCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IHsgaXNFZGl0YWJsZSB9ID0gdGhpcy5lZGl0b3I7XG4gICAgY29uc3QgeyBpc0RyYWdnaW5nIH0gPSB0aGlzO1xuICAgIGNvbnN0IGlzRHJhZ2dhYmxlID0gISF0aGlzLm5vZGUudHlwZS5zcGVjLmRyYWdnYWJsZTtcbiAgICBjb25zdCBpc1NlbGVjdGFibGUgPSBOb2RlU2VsZWN0aW9uNS5pc1NlbGVjdGFibGUodGhpcy5ub2RlKTtcbiAgICBjb25zdCBpc0NvcHlFdmVudCA9IGV2ZW50LnR5cGUgPT09IFwiY29weVwiO1xuICAgIGNvbnN0IGlzUGFzdGVFdmVudCA9IGV2ZW50LnR5cGUgPT09IFwicGFzdGVcIjtcbiAgICBjb25zdCBpc0N1dEV2ZW50ID0gZXZlbnQudHlwZSA9PT0gXCJjdXRcIjtcbiAgICBjb25zdCBpc0NsaWNrRXZlbnQgPSBldmVudC50eXBlID09PSBcIm1vdXNlZG93blwiO1xuICAgIGlmICghaXNEcmFnZ2FibGUgJiYgaXNTZWxlY3RhYmxlICYmIGlzRHJhZ0V2ZW50ICYmIGV2ZW50LnRhcmdldCA9PT0gdGhpcy5kb20pIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIGlmIChpc0RyYWdnYWJsZSAmJiBpc0RyYWdFdmVudCAmJiAhaXNEcmFnZ2luZyAmJiBldmVudC50YXJnZXQgPT09IHRoaXMuZG9tKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoaXNEcmFnZ2FibGUgJiYgaXNFZGl0YWJsZSAmJiAhaXNEcmFnZ2luZyAmJiBpc0NsaWNrRXZlbnQpIHtcbiAgICAgIGNvbnN0IGRyYWdIYW5kbGUgPSB0YXJnZXQuY2xvc2VzdChcIltkYXRhLWRyYWctaGFuZGxlXVwiKTtcbiAgICAgIGNvbnN0IGlzVmFsaWREcmFnSGFuZGxlID0gZHJhZ0hhbmRsZSAmJiAodGhpcy5kb20gPT09IGRyYWdIYW5kbGUgfHwgdGhpcy5kb20uY29udGFpbnMoZHJhZ0hhbmRsZSkpO1xuICAgICAgaWYgKGlzVmFsaWREcmFnSGFuZGxlKSB7XG4gICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgXCJkcmFnZW5kXCIsXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IG9uY2U6IHRydWUgfVxuICAgICAgICApO1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgIFwiZHJvcFwiLFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgeyBvbmNlOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICBcIm1vdXNldXBcIixcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgb25jZTogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChpc0RyYWdnaW5nIHx8IGlzRHJvcEV2ZW50IHx8IGlzQ29weUV2ZW50IHx8IGlzUGFzdGVFdmVudCB8fCBpc0N1dEV2ZW50IHx8IGlzQ2xpY2tFdmVudCAmJiBpc1NlbGVjdGFibGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgRE9NIFttdXRhdGlvbl0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL011dGF0aW9uT2JzZXJ2ZXIpIG9yIGEgc2VsZWN0aW9uIGNoYW5nZSBoYXBwZW5zIHdpdGhpbiB0aGUgdmlldy5cbiAgICogQHJldHVybiBgZmFsc2VgIGlmIHRoZSBlZGl0b3Igc2hvdWxkIHJlLXJlYWQgdGhlIHNlbGVjdGlvbiBvciByZS1wYXJzZSB0aGUgcmFuZ2UgYXJvdW5kIHRoZSBtdXRhdGlvblxuICAgKiBAcmV0dXJuIGB0cnVlYCBpZiBpdCBjYW4gc2FmZWx5IGJlIGlnbm9yZWQuXG4gICAqL1xuICBpZ25vcmVNdXRhdGlvbihtdXRhdGlvbikge1xuICAgIGlmICghdGhpcy5kb20gfHwgIXRoaXMuY29udGVudERPTSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLmlnbm9yZU11dGF0aW9uID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWdub3JlTXV0YXRpb24oeyBtdXRhdGlvbiB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMubm9kZS5pc0xlYWYgfHwgdGhpcy5ub2RlLmlzQXRvbSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChtdXRhdGlvbi50eXBlID09PSBcInNlbGVjdGlvblwiKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmRvbS5jb250YWlucyhtdXRhdGlvbi50YXJnZXQpICYmIG11dGF0aW9uLnR5cGUgPT09IFwiY2hpbGRMaXN0XCIgJiYgKGlzaU9TKCkgfHwgaXNBbmRyb2lkKCkpICYmIHRoaXMuZWRpdG9yLmlzRm9jdXNlZCkge1xuICAgICAgY29uc3QgY2hhbmdlZE5vZGVzID0gWy4uLkFycmF5LmZyb20obXV0YXRpb24uYWRkZWROb2RlcyksIC4uLkFycmF5LmZyb20obXV0YXRpb24ucmVtb3ZlZE5vZGVzKV07XG4gICAgICBpZiAoY2hhbmdlZE5vZGVzLmV2ZXJ5KChub2RlKSA9PiBub2RlLmlzQ29udGVudEVkaXRhYmxlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbnRlbnRET00gPT09IG11dGF0aW9uLnRhcmdldCAmJiBtdXRhdGlvbi50eXBlID09PSBcImF0dHJpYnV0ZXNcIikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbnRlbnRET00uY29udGFpbnMobXV0YXRpb24udGFyZ2V0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvKipcbiAgICogVXBkYXRlIHRoZSBhdHRyaWJ1dGVzIG9mIHRoZSBwcm9zZW1pcnJvciBub2RlLlxuICAgKi9cbiAgdXBkYXRlQXR0cmlidXRlcyhhdHRyaWJ1dGVzKSB7XG4gICAgdGhpcy5lZGl0b3IuY29tbWFuZHMuY29tbWFuZCgoeyB0ciB9KSA9PiB7XG4gICAgICBjb25zdCBwb3MgPSB0aGlzLmdldFBvcygpO1xuICAgICAgaWYgKHR5cGVvZiBwb3MgIT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdHIuc2V0Tm9kZU1hcmt1cChwb3MsIHZvaWQgMCwge1xuICAgICAgICAuLi50aGlzLm5vZGUuYXR0cnMsXG4gICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIERlbGV0ZSB0aGUgbm9kZS5cbiAgICovXG4gIGRlbGV0ZU5vZGUoKSB7XG4gICAgY29uc3QgZnJvbSA9IHRoaXMuZ2V0UG9zKCk7XG4gICAgaWYgKHR5cGVvZiBmcm9tICE9PSBcIm51bWJlclwiKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHRvID0gZnJvbSArIHRoaXMubm9kZS5ub2RlU2l6ZTtcbiAgICB0aGlzLmVkaXRvci5jb21tYW5kcy5kZWxldGVSYW5nZSh7IGZyb20sIHRvIH0pO1xuICB9XG59O1xuXG4vLyBzcmMvcGFzdGVSdWxlcy9tYXJrUGFzdGVSdWxlLnRzXG5mdW5jdGlvbiBtYXJrUGFzdGVSdWxlKGNvbmZpZykge1xuICByZXR1cm4gbmV3IFBhc3RlUnVsZSh7XG4gICAgZmluZDogY29uZmlnLmZpbmQsXG4gICAgaGFuZGxlcjogKHsgc3RhdGUsIHJhbmdlLCBtYXRjaCwgcGFzdGVFdmVudCB9KSA9PiB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gY2FsbE9yUmV0dXJuKGNvbmZpZy5nZXRBdHRyaWJ1dGVzLCB2b2lkIDAsIG1hdGNoLCBwYXN0ZUV2ZW50KTtcbiAgICAgIGlmIChhdHRyaWJ1dGVzID09PSBmYWxzZSB8fCBhdHRyaWJ1dGVzID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgeyB0ciB9ID0gc3RhdGU7XG4gICAgICBjb25zdCBjYXB0dXJlR3JvdXAgPSBtYXRjaFttYXRjaC5sZW5ndGggLSAxXTtcbiAgICAgIGNvbnN0IGZ1bGxNYXRjaCA9IG1hdGNoWzBdO1xuICAgICAgbGV0IG1hcmtFbmQgPSByYW5nZS50bztcbiAgICAgIGlmIChjYXB0dXJlR3JvdXApIHtcbiAgICAgICAgY29uc3Qgc3RhcnRTcGFjZXMgPSBmdWxsTWF0Y2guc2VhcmNoKC9cXFMvKTtcbiAgICAgICAgY29uc3QgdGV4dFN0YXJ0ID0gcmFuZ2UuZnJvbSArIGZ1bGxNYXRjaC5pbmRleE9mKGNhcHR1cmVHcm91cCk7XG4gICAgICAgIGNvbnN0IHRleHRFbmQgPSB0ZXh0U3RhcnQgKyBjYXB0dXJlR3JvdXAubGVuZ3RoO1xuICAgICAgICBjb25zdCBleGNsdWRlZE1hcmtzID0gZ2V0TWFya3NCZXR3ZWVuKHJhbmdlLmZyb20sIHJhbmdlLnRvLCBzdGF0ZS5kb2MpLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVkID0gaXRlbS5tYXJrLnR5cGUuZXhjbHVkZWQ7XG4gICAgICAgICAgcmV0dXJuIGV4Y2x1ZGVkLmZpbmQoKHR5cGUpID0+IHR5cGUgPT09IGNvbmZpZy50eXBlICYmIHR5cGUgIT09IGl0ZW0ubWFyay50eXBlKTtcbiAgICAgICAgfSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnRvID4gdGV4dFN0YXJ0KTtcbiAgICAgICAgaWYgKGV4Y2x1ZGVkTWFya3MubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRleHRFbmQgPCByYW5nZS50bykge1xuICAgICAgICAgIHRyLmRlbGV0ZSh0ZXh0RW5kLCByYW5nZS50byk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRleHRTdGFydCA+IHJhbmdlLmZyb20pIHtcbiAgICAgICAgICB0ci5kZWxldGUocmFuZ2UuZnJvbSArIHN0YXJ0U3BhY2VzLCB0ZXh0U3RhcnQpO1xuICAgICAgICB9XG4gICAgICAgIG1hcmtFbmQgPSByYW5nZS5mcm9tICsgc3RhcnRTcGFjZXMgKyBjYXB0dXJlR3JvdXAubGVuZ3RoO1xuICAgICAgICB0ci5hZGRNYXJrKHJhbmdlLmZyb20gKyBzdGFydFNwYWNlcywgbWFya0VuZCwgY29uZmlnLnR5cGUuY3JlYXRlKGF0dHJpYnV0ZXMgfHwge30pKTtcbiAgICAgICAgdHIucmVtb3ZlU3RvcmVkTWFyayhjb25maWcudHlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuLy8gc3JjL3Bhc3RlUnVsZXMvbm9kZVBhc3RlUnVsZS50c1xuZnVuY3Rpb24gbm9kZVBhc3RlUnVsZShjb25maWcpIHtcbiAgcmV0dXJuIG5ldyBQYXN0ZVJ1bGUoe1xuICAgIGZpbmQ6IGNvbmZpZy5maW5kLFxuICAgIGhhbmRsZXIoeyBtYXRjaCwgY2hhaW4sIHJhbmdlLCBwYXN0ZUV2ZW50IH0pIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBjYWxsT3JSZXR1cm4oY29uZmlnLmdldEF0dHJpYnV0ZXMsIHZvaWQgMCwgbWF0Y2gsIHBhc3RlRXZlbnQpO1xuICAgICAgY29uc3QgY29udGVudCA9IGNhbGxPclJldHVybihjb25maWcuZ2V0Q29udGVudCwgdm9pZCAwLCBhdHRyaWJ1dGVzKTtcbiAgICAgIGlmIChhdHRyaWJ1dGVzID09PSBmYWxzZSB8fCBhdHRyaWJ1dGVzID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3Qgbm9kZSA9IHsgdHlwZTogY29uZmlnLnR5cGUubmFtZSwgYXR0cnM6IGF0dHJpYnV0ZXMgfTtcbiAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgIG5vZGUuY29udGVudCA9IGNvbnRlbnQ7XG4gICAgICB9XG4gICAgICBpZiAobWF0Y2guaW5wdXQpIHtcbiAgICAgICAgY2hhaW4oKS5kZWxldGVSYW5nZShyYW5nZSkuaW5zZXJ0Q29udGVudEF0KHJhbmdlLmZyb20sIG5vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG5cbi8vIHNyYy9wYXN0ZVJ1bGVzL3RleHRQYXN0ZVJ1bGUudHNcbmZ1bmN0aW9uIHRleHRQYXN0ZVJ1bGUoY29uZmlnKSB7XG4gIHJldHVybiBuZXcgUGFzdGVSdWxlKHtcbiAgICBmaW5kOiBjb25maWcuZmluZCxcbiAgICBoYW5kbGVyOiAoeyBzdGF0ZSwgcmFuZ2UsIG1hdGNoIH0pID0+IHtcbiAgICAgIGxldCBpbnNlcnQgPSBjb25maWcucmVwbGFjZTtcbiAgICAgIGxldCBzdGFydCA9IHJhbmdlLmZyb207XG4gICAgICBjb25zdCBlbmQgPSByYW5nZS50bztcbiAgICAgIGlmIChtYXRjaFsxXSkge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSBtYXRjaFswXS5sYXN0SW5kZXhPZihtYXRjaFsxXSk7XG4gICAgICAgIGluc2VydCArPSBtYXRjaFswXS5zbGljZShvZmZzZXQgKyBtYXRjaFsxXS5sZW5ndGgpO1xuICAgICAgICBzdGFydCArPSBvZmZzZXQ7XG4gICAgICAgIGNvbnN0IGN1dE9mZiA9IHN0YXJ0IC0gZW5kO1xuICAgICAgICBpZiAoY3V0T2ZmID4gMCkge1xuICAgICAgICAgIGluc2VydCA9IG1hdGNoWzBdLnNsaWNlKG9mZnNldCAtIGN1dE9mZiwgb2Zmc2V0KSArIGluc2VydDtcbiAgICAgICAgICBzdGFydCA9IGVuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3RhdGUudHIuaW5zZXJ0VGV4dChpbnNlcnQsIHN0YXJ0LCBlbmQpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8vIHNyYy9UcmFja2VyLnRzXG52YXIgVHJhY2tlciA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IodHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XG4gICAgdGhpcy5jdXJyZW50U3RlcCA9IHRoaXMudHJhbnNhY3Rpb24uc3RlcHMubGVuZ3RoO1xuICB9XG4gIG1hcChwb3NpdGlvbikge1xuICAgIGxldCBkZWxldGVkID0gZmFsc2U7XG4gICAgY29uc3QgbWFwcGVkUG9zaXRpb24gPSB0aGlzLnRyYW5zYWN0aW9uLnN0ZXBzLnNsaWNlKHRoaXMuY3VycmVudFN0ZXApLnJlZHVjZSgobmV3UG9zaXRpb24sIHN0ZXApID0+IHtcbiAgICAgIGNvbnN0IG1hcFJlc3VsdCA9IHN0ZXAuZ2V0TWFwKCkubWFwUmVzdWx0KG5ld1Bvc2l0aW9uKTtcbiAgICAgIGlmIChtYXBSZXN1bHQuZGVsZXRlZCkge1xuICAgICAgICBkZWxldGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtYXBSZXN1bHQucG9zO1xuICAgIH0sIHBvc2l0aW9uKTtcbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IG1hcHBlZFBvc2l0aW9uLFxuICAgICAgZGVsZXRlZFxuICAgIH07XG4gIH1cbn07XG5leHBvcnQge1xuICBDb21tYW5kTWFuYWdlcixcbiAgRWRpdG9yLFxuICBFeHRlbmRhYmxlLFxuICBFeHRlbnNpb24sXG4gIEZyYWdtZW50NiBhcyBGcmFnbWVudCxcbiAgSW5wdXRSdWxlLFxuICBNYXBwYWJsZVBvc2l0aW9uLFxuICBNYXJrLFxuICBNYXJrVmlldyxcbiAgTm9kZTMgYXMgTm9kZSxcbiAgTm9kZVBvcyxcbiAgTm9kZVZpZXcsXG4gIFBhc3RlUnVsZSxcbiAgUmVzaXphYmxlTm9kZVZpZXcsXG4gIFJlc2l6YWJsZU5vZGV2aWV3LFxuICBUcmFja2VyLFxuICBjYWxsT3JSZXR1cm4sXG4gIGNhbkluc2VydE5vZGUsXG4gIGNvbWJpbmVUcmFuc2FjdGlvblN0ZXBzLFxuICBjb21tYW5kc19leHBvcnRzIGFzIGNvbW1hbmRzLFxuICBjcmVhdGVBdG9tQmxvY2tNYXJrZG93blNwZWMsXG4gIGNyZWF0ZUJsb2NrTWFya2Rvd25TcGVjLFxuICBjcmVhdGVDaGFpbmFibGVTdGF0ZSxcbiAgY3JlYXRlRG9jdW1lbnQsXG4gIGggYXMgY3JlYXRlRWxlbWVudCxcbiAgY3JlYXRlSW5saW5lTWFya2Rvd25TcGVjLFxuICBjcmVhdGVNYXBwYWJsZVBvc2l0aW9uLFxuICBjcmVhdGVOb2RlRnJvbUNvbnRlbnQsXG4gIGNyZWF0ZVN0eWxlVGFnLFxuICBkZWZhdWx0QmxvY2tBdCxcbiAgZGVsZXRlUHJvcHMsXG4gIGVsZW1lbnRGcm9tU3RyaW5nLFxuICBlc2NhcGVGb3JSZWdFeCxcbiAgZXh0ZW5zaW9uc19leHBvcnRzIGFzIGV4dGVuc2lvbnMsXG4gIGZpbmRDaGlsZHJlbixcbiAgZmluZENoaWxkcmVuSW5SYW5nZSxcbiAgZmluZER1cGxpY2F0ZXMsXG4gIGZpbmRQYXJlbnROb2RlLFxuICBmaW5kUGFyZW50Tm9kZUNsb3Nlc3RUb1BvcyxcbiAgZmxhdHRlbkV4dGVuc2lvbnMsXG4gIGZyb21TdHJpbmcsXG4gIGdlbmVyYXRlSFRNTCxcbiAgZ2VuZXJhdGVKU09OLFxuICBnZW5lcmF0ZVRleHQsXG4gIGdldEF0dHJpYnV0ZXMsXG4gIGdldEF0dHJpYnV0ZXNGcm9tRXh0ZW5zaW9ucyxcbiAgZ2V0Q2hhbmdlZFJhbmdlcyxcbiAgZ2V0RGVidWdKU09OLFxuICBnZXRFeHRlbnNpb25GaWVsZCxcbiAgZ2V0SFRNTEZyb21GcmFnbWVudCxcbiAgZ2V0TWFya0F0dHJpYnV0ZXMsXG4gIGdldE1hcmtSYW5nZSxcbiAgZ2V0TWFya1R5cGUsXG4gIGdldE1hcmtzQmV0d2VlbixcbiAgZ2V0Tm9kZUF0UG9zaXRpb24sXG4gIGdldE5vZGVBdHRyaWJ1dGVzLFxuICBnZXROb2RlVHlwZSxcbiAgZ2V0UmVuZGVyZWRBdHRyaWJ1dGVzLFxuICBnZXRTY2hlbWEsXG4gIGdldFNjaGVtYUJ5UmVzb2x2ZWRFeHRlbnNpb25zLFxuICBnZXRTY2hlbWFUeXBlQnlOYW1lLFxuICBnZXRTY2hlbWFUeXBlTmFtZUJ5TmFtZSxcbiAgZ2V0U3BsaXR0ZWRBdHRyaWJ1dGVzLFxuICBnZXRUZXh0LFxuICBnZXRUZXh0QmV0d2VlbixcbiAgZ2V0VGV4dENvbnRlbnRGcm9tTm9kZXMsXG4gIGdldFRleHRTZXJpYWxpemVyc0Zyb21TY2hlbWEsXG4gIGdldFVwZGF0ZWRQb3NpdGlvbixcbiAgaCxcbiAgaW5qZWN0RXh0ZW5zaW9uQXR0cmlidXRlc1RvUGFyc2VSdWxlLFxuICBpbnB1dFJ1bGVzUGx1Z2luLFxuICBpc0FjdGl2ZSxcbiAgaXNBbmRyb2lkLFxuICBpc0F0RW5kT2ZOb2RlLFxuICBpc0F0U3RhcnRPZk5vZGUsXG4gIGlzRW1wdHlPYmplY3QsXG4gIGlzRXh0ZW5zaW9uUnVsZXNFbmFibGVkLFxuICBpc0ZpcmVmb3gsXG4gIGlzRnVuY3Rpb24sXG4gIGlzTGlzdCxcbiAgaXNNYWNPUyxcbiAgaXNNYXJrQWN0aXZlLFxuICBpc05vZGVBY3RpdmUsXG4gIGlzTm9kZUVtcHR5LFxuICBpc05vZGVTZWxlY3Rpb24sXG4gIGlzTnVtYmVyLFxuICBpc1BsYWluT2JqZWN0LFxuICBpc1JlZ0V4cCxcbiAgaXNTYWZhcmksXG4gIGlzU3RyaW5nLFxuICBpc1RleHRTZWxlY3Rpb24sXG4gIGlzaU9TLFxuICBtYXJrSW5wdXRSdWxlLFxuICBtYXJrUGFzdGVSdWxlLFxuICBtYXJrZG93bl9leHBvcnRzIGFzIG1hcmtkb3duLFxuICBtZXJnZUF0dHJpYnV0ZXMsXG4gIG1lcmdlRGVlcCxcbiAgbWluTWF4LFxuICBub2RlSW5wdXRSdWxlLFxuICBub2RlUGFzdGVSdWxlLFxuICBvYmplY3RJbmNsdWRlcyxcbiAgcGFyc2VBdHRyaWJ1dGVzLFxuICBwYXJzZUluZGVudGVkQmxvY2tzLFxuICBwYXN0ZVJ1bGVzUGx1Z2luLFxuICBwb3NUb0RPTVJlY3QsXG4gIHJlbW92ZUR1cGxpY2F0ZXMsXG4gIHJlbmRlck5lc3RlZE1hcmtkb3duQ29udGVudCxcbiAgcmVzb2x2ZUV4dGVuc2lvbnMsXG4gIHJlc29sdmVGb2N1c1Bvc2l0aW9uLFxuICByZXdyaXRlVW5rbm93bkNvbnRlbnQsXG4gIHNlbGVjdGlvblRvSW5zZXJ0aW9uRW5kLFxuICBzZXJpYWxpemVBdHRyaWJ1dGVzLFxuICBzb3J0RXh0ZW5zaW9ucyxcbiAgc3BsaXRFeHRlbnNpb25zLFxuICB0ZXh0SW5wdXRSdWxlLFxuICB0ZXh0UGFzdGVSdWxlLFxuICB0ZXh0YmxvY2tUeXBlSW5wdXRSdWxlLFxuICB1cGRhdGVNYXJrVmlld0F0dHJpYnV0ZXMsXG4gIHdyYXBwaW5nSW5wdXRSdWxlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/core/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Fragment: () => (/* binding */ Fragment),\n/* harmony export */ createElement: () => (/* binding */ h),\n/* harmony export */ h: () => (/* binding */ h),\n/* harmony export */ jsx: () => (/* binding */ h),\n/* harmony export */ jsxDEV: () => (/* binding */ h),\n/* harmony export */ jsxs: () => (/* binding */ h)\n/* harmony export */ });\n// src/jsx-runtime.ts\nfunction Fragment(props) {\n return props.children;\n}\nvar h = (tag, attributes) => {\n if (tag === \"slot\") {\n return 0;\n }\n if (tag instanceof Function) {\n return tag(attributes);\n }\n const { children, ...rest } = attributes != null ? attributes : {};\n if (tag === \"svg\") {\n throw new Error(\"SVG elements are not supported in the JSX syntax, use the array syntax instead\");\n }\n return [tag, rest, children];\n};\n\n//# sourceMappingURL=jsx-runtime.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9jb3JlL2Rpc3QvanN4LXJ1bnRpbWUvanN4LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsb0JBQW9CO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFRRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxjb3JlXFxkaXN0XFxqc3gtcnVudGltZVxcanN4LXJ1bnRpbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2pzeC1ydW50aW1lLnRzXG5mdW5jdGlvbiBGcmFnbWVudChwcm9wcykge1xuICByZXR1cm4gcHJvcHMuY2hpbGRyZW47XG59XG52YXIgaCA9ICh0YWcsIGF0dHJpYnV0ZXMpID0+IHtcbiAgaWYgKHRhZyA9PT0gXCJzbG90XCIpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBpZiAodGFnIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICByZXR1cm4gdGFnKGF0dHJpYnV0ZXMpO1xuICB9XG4gIGNvbnN0IHsgY2hpbGRyZW4sIC4uLnJlc3QgfSA9IGF0dHJpYnV0ZXMgIT0gbnVsbCA/IGF0dHJpYnV0ZXMgOiB7fTtcbiAgaWYgKHRhZyA9PT0gXCJzdmdcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNWRyBlbGVtZW50cyBhcmUgbm90IHN1cHBvcnRlZCBpbiB0aGUgSlNYIHN5bnRheCwgdXNlIHRoZSBhcnJheSBzeW50YXggaW5zdGVhZFwiKTtcbiAgfVxuICByZXR1cm4gW3RhZywgcmVzdCwgY2hpbGRyZW5dO1xufTtcbmV4cG9ydCB7XG4gIEZyYWdtZW50LFxuICBoIGFzIGNyZWF0ZUVsZW1lbnQsXG4gIGgsXG4gIGggYXMganN4LFxuICBoIGFzIGpzeERFVixcbiAgaCBhcyBqc3hzXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9anN4LXJ1bnRpbWUuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-blockquote/dist/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@tiptap/extension-blockquote/dist/index.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Blockquote: () => (/* binding */ Blockquote),\n/* harmony export */ \"default\": () => (/* binding */ index_default),\n/* harmony export */ inputRegex: () => (/* binding */ inputRegex)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n/* harmony import */ var _tiptap_core_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tiptap/core/jsx-runtime */ \"(ssr)/./node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js\");\n// src/blockquote.tsx\n\n\nvar inputRegex = /^\\s*>\\s$/;\nvar Blockquote = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Node.create({\n name: \"blockquote\",\n addOptions() {\n return {\n HTMLAttributes: {}\n };\n },\n content: \"block+\",\n group: \"block\",\n defining: true,\n parseHTML() {\n return [{ tag: \"blockquote\" }];\n },\n renderHTML({ HTMLAttributes }) {\n return /* @__PURE__ */ (0,_tiptap_core_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(\"blockquote\", { ...(0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), children: /* @__PURE__ */ (0,_tiptap_core_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(\"slot\", {}) });\n },\n parseMarkdown: (token, helpers) => {\n return helpers.createNode(\"blockquote\", void 0, helpers.parseChildren(token.tokens || []));\n },\n renderMarkdown: (node, h) => {\n if (!node.content) {\n return \"\";\n }\n const prefix = \">\";\n const result = [];\n node.content.forEach((child) => {\n const childContent = h.renderChildren([child]);\n const lines = childContent.split(\"\\n\");\n const linesWithPrefix = lines.map((line) => {\n if (line.trim() === \"\") {\n return prefix;\n }\n return `${prefix} ${line}`;\n });\n result.push(linesWithPrefix.join(\"\\n\"));\n });\n return result.join(`\n${prefix}\n`);\n },\n addCommands() {\n return {\n setBlockquote: () => ({ commands }) => {\n return commands.wrapIn(this.name);\n },\n toggleBlockquote: () => ({ commands }) => {\n return commands.toggleWrap(this.name);\n },\n unsetBlockquote: () => ({ commands }) => {\n return commands.lift(this.name);\n }\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-Shift-b\": () => this.editor.commands.toggleBlockquote()\n };\n },\n addInputRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.wrappingInputRule)({\n find: inputRegex,\n type: this.type\n })\n ];\n }\n});\n\n// src/index.ts\nvar index_default = Blockquote;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24tYmxvY2txdW90ZS9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDd0U7QUFDekI7QUFDL0M7QUFDQSxpQkFBaUIsOENBQUk7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsbUJBQW1CO0FBQ2pDLEdBQUc7QUFDSCxlQUFlLGdCQUFnQjtBQUMvQiwyQkFBMkIsNkRBQUcsaUJBQWlCLEdBQUcsNkRBQWUseUVBQXlFLDZEQUFHLFdBQVcsR0FBRztBQUMzSixHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixRQUFRLEVBQUUsS0FBSztBQUNqQyxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7QUFDQSxFQUFFO0FBQ0Y7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLDhCQUE4QixVQUFVO0FBQ3hDO0FBQ0EsT0FBTztBQUNQLGlDQUFpQyxVQUFVO0FBQzNDO0FBQ0EsT0FBTztBQUNQLGdDQUFnQyxVQUFVO0FBQzFDO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsTUFBTSwrREFBaUI7QUFDdkI7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBS0U7QUFDRiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xcQHRpcHRhcFxcZXh0ZW5zaW9uLWJsb2NrcXVvdGVcXGRpc3RcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9ibG9ja3F1b3RlLnRzeFxuaW1wb3J0IHsgbWVyZ2VBdHRyaWJ1dGVzLCBOb2RlLCB3cmFwcGluZ0lucHV0UnVsZSB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJAdGlwdGFwL2NvcmUvanN4LXJ1bnRpbWVcIjtcbnZhciBpbnB1dFJlZ2V4ID0gL15cXHMqPlxccyQvO1xudmFyIEJsb2NrcXVvdGUgPSBOb2RlLmNyZWF0ZSh7XG4gIG5hbWU6IFwiYmxvY2txdW90ZVwiLFxuICBhZGRPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBIVE1MQXR0cmlidXRlczoge31cbiAgICB9O1xuICB9LFxuICBjb250ZW50OiBcImJsb2NrK1wiLFxuICBncm91cDogXCJibG9ja1wiLFxuICBkZWZpbmluZzogdHJ1ZSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbeyB0YWc6IFwiYmxvY2txdW90ZVwiIH1dO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFwiYmxvY2txdW90ZVwiLCB7IC4uLm1lcmdlQXR0cmlidXRlcyh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsIEhUTUxBdHRyaWJ1dGVzKSwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXCJzbG90XCIsIHt9KSB9KTtcbiAgfSxcbiAgcGFyc2VNYXJrZG93bjogKHRva2VuLCBoZWxwZXJzKSA9PiB7XG4gICAgcmV0dXJuIGhlbHBlcnMuY3JlYXRlTm9kZShcImJsb2NrcXVvdGVcIiwgdm9pZCAwLCBoZWxwZXJzLnBhcnNlQ2hpbGRyZW4odG9rZW4udG9rZW5zIHx8IFtdKSk7XG4gIH0sXG4gIHJlbmRlck1hcmtkb3duOiAobm9kZSwgaCkgPT4ge1xuICAgIGlmICghbm9kZS5jb250ZW50KSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgY29uc3QgcHJlZml4ID0gXCI+XCI7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgbm9kZS5jb250ZW50LmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZENvbnRlbnQgPSBoLnJlbmRlckNoaWxkcmVuKFtjaGlsZF0pO1xuICAgICAgY29uc3QgbGluZXMgPSBjaGlsZENvbnRlbnQuc3BsaXQoXCJcXG5cIik7XG4gICAgICBjb25zdCBsaW5lc1dpdGhQcmVmaXggPSBsaW5lcy5tYXAoKGxpbmUpID0+IHtcbiAgICAgICAgaWYgKGxpbmUudHJpbSgpID09PSBcIlwiKSB7XG4gICAgICAgICAgcmV0dXJuIHByZWZpeDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7cHJlZml4fSAke2xpbmV9YDtcbiAgICAgIH0pO1xuICAgICAgcmVzdWx0LnB1c2gobGluZXNXaXRoUHJlZml4LmpvaW4oXCJcXG5cIikpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQuam9pbihgXG4ke3ByZWZpeH1cbmApO1xuICB9LFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2V0QmxvY2txdW90ZTogKCkgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY29tbWFuZHMud3JhcEluKHRoaXMubmFtZSk7XG4gICAgICB9LFxuICAgICAgdG9nZ2xlQmxvY2txdW90ZTogKCkgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY29tbWFuZHMudG9nZ2xlV3JhcCh0aGlzLm5hbWUpO1xuICAgICAgfSxcbiAgICAgIHVuc2V0QmxvY2txdW90ZTogKCkgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY29tbWFuZHMubGlmdCh0aGlzLm5hbWUpO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIGFkZEtleWJvYXJkU2hvcnRjdXRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBcIk1vZC1TaGlmdC1iXCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUJsb2NrcXVvdGUoKVxuICAgIH07XG4gIH0sXG4gIGFkZElucHV0UnVsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHdyYXBwaW5nSW5wdXRSdWxlKHtcbiAgICAgICAgZmluZDogaW5wdXRSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICB9KVxuICAgIF07XG4gIH1cbn0pO1xuXG4vLyBzcmMvaW5kZXgudHNcbnZhciBpbmRleF9kZWZhdWx0ID0gQmxvY2txdW90ZTtcbmV4cG9ydCB7XG4gIEJsb2NrcXVvdGUsXG4gIGluZGV4X2RlZmF1bHQgYXMgZGVmYXVsdCxcbiAgaW5wdXRSZWdleFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-blockquote/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-bold/dist/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/@tiptap/extension-bold/dist/index.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Bold: () => (/* binding */ Bold),\n/* harmony export */ \"default\": () => (/* binding */ index_default),\n/* harmony export */ starInputRegex: () => (/* binding */ starInputRegex),\n/* harmony export */ starPasteRegex: () => (/* binding */ starPasteRegex),\n/* harmony export */ underscoreInputRegex: () => (/* binding */ underscoreInputRegex),\n/* harmony export */ underscorePasteRegex: () => (/* binding */ underscorePasteRegex)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n/* harmony import */ var _tiptap_core_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tiptap/core/jsx-runtime */ \"(ssr)/./node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js\");\n// src/bold.tsx\n\n\nvar starInputRegex = /(?:^|\\s)(\\*\\*(?!\\s+\\*\\*)((?:[^*]+))\\*\\*(?!\\s+\\*\\*))$/;\nvar starPasteRegex = /(?:^|\\s)(\\*\\*(?!\\s+\\*\\*)((?:[^*]+))\\*\\*(?!\\s+\\*\\*))/g;\nvar underscoreInputRegex = /(?:^|\\s)(__(?!\\s+__)((?:[^_]+))__(?!\\s+__))$/;\nvar underscorePasteRegex = /(?:^|\\s)(__(?!\\s+__)((?:[^_]+))__(?!\\s+__))/g;\nvar Bold = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Mark.create({\n name: \"bold\",\n addOptions() {\n return {\n HTMLAttributes: {}\n };\n },\n parseHTML() {\n return [\n {\n tag: \"strong\"\n },\n {\n tag: \"b\",\n getAttrs: (node) => node.style.fontWeight !== \"normal\" && null\n },\n {\n style: \"font-weight=400\",\n clearMark: (mark) => mark.type.name === this.name\n },\n {\n style: \"font-weight\",\n getAttrs: (value) => /^(bold(er)?|[5-9]\\d{2,})$/.test(value) && null\n }\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return /* @__PURE__ */ (0,_tiptap_core_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(\"strong\", { ...(0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), children: /* @__PURE__ */ (0,_tiptap_core_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(\"slot\", {}) });\n },\n markdownTokenName: \"strong\",\n parseMarkdown: (token, helpers) => {\n return helpers.applyMark(\"bold\", helpers.parseInline(token.tokens || []));\n },\n renderMarkdown: (node, h) => {\n return `**${h.renderChildren(node)}**`;\n },\n addCommands() {\n return {\n setBold: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleBold: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetBold: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n }\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-b\": () => this.editor.commands.toggleBold(),\n \"Mod-B\": () => this.editor.commands.toggleBold()\n };\n },\n addInputRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markInputRule)({\n find: starInputRegex,\n type: this.type\n }),\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markInputRule)({\n find: underscoreInputRegex,\n type: this.type\n })\n ];\n },\n addPasteRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markPasteRule)({\n find: starPasteRegex,\n type: this.type\n }),\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markPasteRule)({\n find: underscorePasteRegex,\n type: this.type\n })\n ];\n }\n});\n\n// src/index.ts\nvar index_default = Bold;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24tYm9sZC9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7QUFDbUY7QUFDcEM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLDhDQUFJO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxrREFBa0QsR0FBRztBQUNyRDtBQUNBO0FBQ0EsR0FBRztBQUNILGVBQWUsZ0JBQWdCO0FBQy9CLDJCQUEyQiw2REFBRyxhQUFhLEdBQUcsNkRBQWUseUVBQXlFLDZEQUFHLFdBQVcsR0FBRztBQUN2SixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZ0JBQWdCLHVCQUF1QjtBQUN2QyxHQUFHO0FBQ0g7QUFDQTtBQUNBLHdCQUF3QixVQUFVO0FBQ2xDO0FBQ0EsT0FBTztBQUNQLDJCQUEyQixVQUFVO0FBQ3JDO0FBQ0EsT0FBTztBQUNQLDBCQUEwQixVQUFVO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxNQUFNLDJEQUFhO0FBQ25CO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTSwyREFBYTtBQUNuQjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxNQUFNLDJEQUFhO0FBQ25CO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTSwyREFBYTtBQUNuQjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFRRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxleHRlbnNpb24tYm9sZFxcZGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2JvbGQudHN4XG5pbXBvcnQgeyBNYXJrLCBtYXJrSW5wdXRSdWxlLCBtYXJrUGFzdGVSdWxlLCBtZXJnZUF0dHJpYnV0ZXMgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwiQHRpcHRhcC9jb3JlL2pzeC1ydW50aW1lXCI7XG52YXIgc3RhcklucHV0UmVnZXggPSAvKD86XnxcXHMpKFxcKlxcKig/IVxccytcXCpcXCopKCg/OlteKl0rKSlcXCpcXCooPyFcXHMrXFwqXFwqKSkkLztcbnZhciBzdGFyUGFzdGVSZWdleCA9IC8oPzpefFxccykoXFwqXFwqKD8hXFxzK1xcKlxcKikoKD86W14qXSspKVxcKlxcKig/IVxccytcXCpcXCopKS9nO1xudmFyIHVuZGVyc2NvcmVJbnB1dFJlZ2V4ID0gLyg/Ol58XFxzKShfXyg/IVxccytfXykoKD86W15fXSspKV9fKD8hXFxzK19fKSkkLztcbnZhciB1bmRlcnNjb3JlUGFzdGVSZWdleCA9IC8oPzpefFxccykoX18oPyFcXHMrX18pKCg/OlteX10rKSlfXyg/IVxccytfXykpL2c7XG52YXIgQm9sZCA9IE1hcmsuY3JlYXRlKHtcbiAgbmFtZTogXCJib2xkXCIsXG4gIGFkZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIEhUTUxBdHRyaWJ1dGVzOiB7fVxuICAgIH07XG4gIH0sXG4gIHBhcnNlSFRNTCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0YWc6IFwic3Ryb25nXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRhZzogXCJiXCIsXG4gICAgICAgIGdldEF0dHJzOiAobm9kZSkgPT4gbm9kZS5zdHlsZS5mb250V2VpZ2h0ICE9PSBcIm5vcm1hbFwiICYmIG51bGxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0eWxlOiBcImZvbnQtd2VpZ2h0PTQwMFwiLFxuICAgICAgICBjbGVhck1hcms6IChtYXJrKSA9PiBtYXJrLnR5cGUubmFtZSA9PT0gdGhpcy5uYW1lXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzdHlsZTogXCJmb250LXdlaWdodFwiLFxuICAgICAgICBnZXRBdHRyczogKHZhbHVlKSA9PiAvXihib2xkKGVyKT98WzUtOV1cXGR7Mix9KSQvLnRlc3QodmFsdWUpICYmIG51bGxcbiAgICAgIH1cbiAgICBdO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFwic3Ryb25nXCIsIHsgLi4ubWVyZ2VBdHRyaWJ1dGVzKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcywgSFRNTEF0dHJpYnV0ZXMpLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcInNsb3RcIiwge30pIH0pO1xuICB9LFxuICBtYXJrZG93blRva2VuTmFtZTogXCJzdHJvbmdcIixcbiAgcGFyc2VNYXJrZG93bjogKHRva2VuLCBoZWxwZXJzKSA9PiB7XG4gICAgcmV0dXJuIGhlbHBlcnMuYXBwbHlNYXJrKFwiYm9sZFwiLCBoZWxwZXJzLnBhcnNlSW5saW5lKHRva2VuLnRva2VucyB8fCBbXSkpO1xuICB9LFxuICByZW5kZXJNYXJrZG93bjogKG5vZGUsIGgpID0+IHtcbiAgICByZXR1cm4gYCoqJHtoLnJlbmRlckNoaWxkcmVuKG5vZGUpfSoqYDtcbiAgfSxcbiAgYWRkQ29tbWFuZHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNldEJvbGQ6ICgpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnNldE1hcmsodGhpcy5uYW1lKTtcbiAgICAgIH0sXG4gICAgICB0b2dnbGVCb2xkOiAoKSA9PiAoeyBjb21tYW5kcyB9KSA9PiB7XG4gICAgICAgIHJldHVybiBjb21tYW5kcy50b2dnbGVNYXJrKHRoaXMubmFtZSk7XG4gICAgICB9LFxuICAgICAgdW5zZXRCb2xkOiAoKSA9PiAoeyBjb21tYW5kcyB9KSA9PiB7XG4gICAgICAgIHJldHVybiBjb21tYW5kcy51bnNldE1hcmsodGhpcy5uYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBhZGRLZXlib2FyZFNob3J0Y3V0cygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJNb2QtYlwiOiAoKSA9PiB0aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVCb2xkKCksXG4gICAgICBcIk1vZC1CXCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUJvbGQoKVxuICAgIH07XG4gIH0sXG4gIGFkZElucHV0UnVsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIG1hcmtJbnB1dFJ1bGUoe1xuICAgICAgICBmaW5kOiBzdGFySW5wdXRSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICB9KSxcbiAgICAgIG1hcmtJbnB1dFJ1bGUoe1xuICAgICAgICBmaW5kOiB1bmRlcnNjb3JlSW5wdXRSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICB9KVxuICAgIF07XG4gIH0sXG4gIGFkZFBhc3RlUnVsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIG1hcmtQYXN0ZVJ1bGUoe1xuICAgICAgICBmaW5kOiBzdGFyUGFzdGVSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICB9KSxcbiAgICAgIG1hcmtQYXN0ZVJ1bGUoe1xuICAgICAgICBmaW5kOiB1bmRlcnNjb3JlUGFzdGVSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICB9KVxuICAgIF07XG4gIH1cbn0pO1xuXG4vLyBzcmMvaW5kZXgudHNcbnZhciBpbmRleF9kZWZhdWx0ID0gQm9sZDtcbmV4cG9ydCB7XG4gIEJvbGQsXG4gIGluZGV4X2RlZmF1bHQgYXMgZGVmYXVsdCxcbiAgc3RhcklucHV0UmVnZXgsXG4gIHN0YXJQYXN0ZVJlZ2V4LFxuICB1bmRlcnNjb3JlSW5wdXRSZWdleCxcbiAgdW5kZXJzY29yZVBhc3RlUmVnZXhcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-bold/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-code-block/dist/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@tiptap/extension-code-block/dist/index.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CodeBlock: () => (/* binding */ CodeBlock),\n/* harmony export */ backtickInputRegex: () => (/* binding */ backtickInputRegex),\n/* harmony export */ \"default\": () => (/* binding */ index_default),\n/* harmony export */ tildeInputRegex: () => (/* binding */ tildeInputRegex)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n/* harmony import */ var _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/pm/state */ \"(ssr)/./node_modules/@tiptap/pm/dist/state/index.js\");\n// src/code-block.ts\n\n\nvar DEFAULT_TAB_SIZE = 4;\nvar backtickInputRegex = /^```([a-z]+)?[\\s\\n]$/;\nvar tildeInputRegex = /^~~~([a-z]+)?[\\s\\n]$/;\nvar CodeBlock = _tiptap_core__WEBPACK_IMPORTED_MODULE_1__.Node.create({\n name: \"codeBlock\",\n addOptions() {\n return {\n languageClassPrefix: \"language-\",\n exitOnTripleEnter: true,\n exitOnArrowDown: true,\n defaultLanguage: null,\n enableTabIndentation: false,\n tabSize: DEFAULT_TAB_SIZE,\n HTMLAttributes: {}\n };\n },\n content: \"text*\",\n marks: \"\",\n group: \"block\",\n code: true,\n defining: true,\n addAttributes() {\n return {\n language: {\n default: this.options.defaultLanguage,\n parseHTML: (element) => {\n var _a;\n const { languageClassPrefix } = this.options;\n if (!languageClassPrefix) {\n return null;\n }\n const classNames = [...((_a = element.firstElementChild) == null ? void 0 : _a.classList) || []];\n const languages = classNames.filter((className) => className.startsWith(languageClassPrefix)).map((className) => className.replace(languageClassPrefix, \"\"));\n const language = languages[0];\n if (!language) {\n return null;\n }\n return language;\n },\n rendered: false\n }\n };\n },\n parseHTML() {\n return [\n {\n tag: \"pre\",\n preserveWhitespace: \"full\"\n }\n ];\n },\n renderHTML({ node, HTMLAttributes }) {\n return [\n \"pre\",\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_1__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes),\n [\n \"code\",\n {\n class: node.attrs.language ? this.options.languageClassPrefix + node.attrs.language : null\n },\n 0\n ]\n ];\n },\n markdownTokenName: \"code\",\n parseMarkdown: (token, helpers) => {\n var _a;\n if (((_a = token.raw) == null ? void 0 : _a.startsWith(\"```\")) === false && token.codeBlockStyle !== \"indented\") {\n return [];\n }\n return helpers.createNode(\n \"codeBlock\",\n { language: token.lang || null },\n token.text ? [helpers.createTextNode(token.text)] : []\n );\n },\n renderMarkdown: (node, h) => {\n var _a;\n let output = \"\";\n const language = ((_a = node.attrs) == null ? void 0 : _a.language) || \"\";\n if (!node.content) {\n output = `\\`\\`\\`${language}\n\n\\`\\`\\``;\n } else {\n const lines = [`\\`\\`\\`${language}`, h.renderChildren(node.content), \"```\"];\n output = lines.join(\"\\n\");\n }\n return output;\n },\n addCommands() {\n return {\n setCodeBlock: (attributes) => ({ commands }) => {\n return commands.setNode(this.name, attributes);\n },\n toggleCodeBlock: (attributes) => ({ commands }) => {\n return commands.toggleNode(this.name, \"paragraph\", attributes);\n }\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-Alt-c\": () => this.editor.commands.toggleCodeBlock(),\n // remove code block when at start of document or code block is empty\n Backspace: () => {\n const { empty, $anchor } = this.editor.state.selection;\n const isAtStart = $anchor.pos === 1;\n if (!empty || $anchor.parent.type.name !== this.name) {\n return false;\n }\n if (isAtStart || !$anchor.parent.textContent.length) {\n return this.editor.commands.clearNodes();\n }\n return false;\n },\n // handle tab indentation\n Tab: ({ editor }) => {\n var _a;\n if (!this.options.enableTabIndentation) {\n return false;\n }\n const tabSize = (_a = this.options.tabSize) != null ? _a : DEFAULT_TAB_SIZE;\n const { state } = editor;\n const { selection } = state;\n const { $from, empty } = selection;\n if ($from.parent.type !== this.type) {\n return false;\n }\n const indent = \" \".repeat(tabSize);\n if (empty) {\n return editor.commands.insertContent(indent);\n }\n return editor.commands.command(({ tr }) => {\n const { from, to } = selection;\n const text = state.doc.textBetween(from, to, \"\\n\", \"\\n\");\n const lines = text.split(\"\\n\");\n const indentedText = lines.map((line) => indent + line).join(\"\\n\");\n tr.replaceWith(from, to, state.schema.text(indentedText));\n return true;\n });\n },\n // handle shift+tab reverse indentation\n \"Shift-Tab\": ({ editor }) => {\n var _a;\n if (!this.options.enableTabIndentation) {\n return false;\n }\n const tabSize = (_a = this.options.tabSize) != null ? _a : DEFAULT_TAB_SIZE;\n const { state } = editor;\n const { selection } = state;\n const { $from, empty } = selection;\n if ($from.parent.type !== this.type) {\n return false;\n }\n if (empty) {\n return editor.commands.command(({ tr }) => {\n var _a2;\n const { pos } = $from;\n const codeBlockStart = $from.start();\n const codeBlockEnd = $from.end();\n const allText = state.doc.textBetween(codeBlockStart, codeBlockEnd, \"\\n\", \"\\n\");\n const lines = allText.split(\"\\n\");\n let currentLineIndex = 0;\n let charCount = 0;\n const relativeCursorPos = pos - codeBlockStart;\n for (let i = 0; i < lines.length; i += 1) {\n if (charCount + lines[i].length >= relativeCursorPos) {\n currentLineIndex = i;\n break;\n }\n charCount += lines[i].length + 1;\n }\n const currentLine = lines[currentLineIndex];\n const leadingSpaces = ((_a2 = currentLine.match(/^ */)) == null ? void 0 : _a2[0]) || \"\";\n const spacesToRemove = Math.min(leadingSpaces.length, tabSize);\n if (spacesToRemove === 0) {\n return true;\n }\n let lineStartPos = codeBlockStart;\n for (let i = 0; i < currentLineIndex; i += 1) {\n lineStartPos += lines[i].length + 1;\n }\n tr.delete(lineStartPos, lineStartPos + spacesToRemove);\n const cursorPosInLine = pos - lineStartPos;\n if (cursorPosInLine <= spacesToRemove) {\n tr.setSelection(_tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.TextSelection.create(tr.doc, lineStartPos));\n }\n return true;\n });\n }\n return editor.commands.command(({ tr }) => {\n const { from, to } = selection;\n const text = state.doc.textBetween(from, to, \"\\n\", \"\\n\");\n const lines = text.split(\"\\n\");\n const reverseIndentText = lines.map((line) => {\n var _a2;\n const leadingSpaces = ((_a2 = line.match(/^ */)) == null ? void 0 : _a2[0]) || \"\";\n const spacesToRemove = Math.min(leadingSpaces.length, tabSize);\n return line.slice(spacesToRemove);\n }).join(\"\\n\");\n tr.replaceWith(from, to, state.schema.text(reverseIndentText));\n return true;\n });\n },\n // exit node on triple enter\n Enter: ({ editor }) => {\n if (!this.options.exitOnTripleEnter) {\n return false;\n }\n const { state } = editor;\n const { selection } = state;\n const { $from, empty } = selection;\n if (!empty || $from.parent.type !== this.type) {\n return false;\n }\n const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;\n const endsWithDoubleNewline = $from.parent.textContent.endsWith(\"\\n\\n\");\n if (!isAtEnd || !endsWithDoubleNewline) {\n return false;\n }\n return editor.chain().command(({ tr }) => {\n tr.delete($from.pos - 2, $from.pos);\n return true;\n }).exitCode().run();\n },\n // exit node on arrow down\n ArrowDown: ({ editor }) => {\n if (!this.options.exitOnArrowDown) {\n return false;\n }\n const { state } = editor;\n const { selection, doc } = state;\n const { $from, empty } = selection;\n if (!empty || $from.parent.type !== this.type) {\n return false;\n }\n const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;\n if (!isAtEnd) {\n return false;\n }\n const after = $from.after();\n if (after === void 0) {\n return false;\n }\n const nodeAfter = doc.nodeAt(after);\n if (nodeAfter) {\n return editor.commands.command(({ tr }) => {\n tr.setSelection(_tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.Selection.near(doc.resolve(after)));\n return true;\n });\n }\n return editor.commands.exitCode();\n }\n };\n },\n addInputRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_1__.textblockTypeInputRule)({\n find: backtickInputRegex,\n type: this.type,\n getAttributes: (match) => ({\n language: match[1]\n })\n }),\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_1__.textblockTypeInputRule)({\n find: tildeInputRegex,\n type: this.type,\n getAttributes: (match) => ({\n language: match[1]\n })\n })\n ];\n },\n addProseMirrorPlugins() {\n return [\n // this plugin creates a code block for pasted content from VS Code\n // we can also detect the copied code language\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.PluginKey(\"codeBlockVSCodeHandler\"),\n props: {\n handlePaste: (view, event) => {\n if (!event.clipboardData) {\n return false;\n }\n if (this.editor.isActive(this.type.name)) {\n return false;\n }\n const text = event.clipboardData.getData(\"text/plain\");\n const vscode = event.clipboardData.getData(\"vscode-editor-data\");\n const vscodeData = vscode ? JSON.parse(vscode) : void 0;\n const language = vscodeData == null ? void 0 : vscodeData.mode;\n if (!text || !language) {\n return false;\n }\n const { tr, schema } = view.state;\n const textNode = schema.text(text.replace(/\\r\\n?/g, \"\\n\"));\n tr.replaceSelectionWith(this.type.create({ language }, textNode));\n if (tr.selection.$from.parent.type !== this.type) {\n tr.setSelection(_tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.TextSelection.near(tr.doc.resolve(Math.max(0, tr.selection.from - 2))));\n }\n tr.setMeta(\"paste\", true);\n view.dispatch(tr);\n return true;\n }\n }\n })\n ];\n }\n});\n\n// src/index.ts\nvar index_default = CodeBlock;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24tY29kZS1ibG9jay9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQzZFO0FBQ0U7QUFDL0U7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLDhDQUFJO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixzQkFBc0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILGVBQWUsc0JBQXNCO0FBQ3JDO0FBQ0E7QUFDQSxNQUFNLDZEQUFlO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSw4QkFBOEI7QUFDdEM7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCOztBQUV4QjtBQUNBLE1BQU07QUFDTiw4QkFBOEIsU0FBUztBQUN2QztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLHVDQUF1QyxVQUFVO0FBQ2pEO0FBQ0EsT0FBTztBQUNQLDBDQUEwQyxVQUFVO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGlCQUFpQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsUUFBUTtBQUN4QixnQkFBZ0IsWUFBWTtBQUM1QixnQkFBZ0IsZUFBZTtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxJQUFJO0FBQzlDLGtCQUFrQixXQUFXO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0Esc0JBQXNCLFFBQVE7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixRQUFRO0FBQ3hCLGdCQUFnQixZQUFZO0FBQzVCLGdCQUFnQixlQUFlO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLElBQUk7QUFDaEQ7QUFDQSxvQkFBb0IsTUFBTTtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixrQkFBa0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsc0JBQXNCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsMkRBQWE7QUFDM0M7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBLDBDQUEwQyxJQUFJO0FBQzlDLGtCQUFrQixXQUFXO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EsZ0JBQWdCLFFBQVE7QUFDeEI7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLFFBQVE7QUFDeEIsZ0JBQWdCLFlBQVk7QUFDNUIsZ0JBQWdCLGVBQWU7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QyxJQUFJO0FBQzdDO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0Esb0JBQW9CLFFBQVE7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLFFBQVE7QUFDeEIsZ0JBQWdCLGlCQUFpQjtBQUNqQyxnQkFBZ0IsZUFBZTtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QyxJQUFJO0FBQ2hELDRCQUE0Qix1REFBUztBQUNyQztBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsTUFBTSxvRUFBc0I7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQLE1BQU0sb0VBQXNCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsb0RBQU07QUFDaEIsaUJBQWlCLHVEQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixhQUFhO0FBQ2pDO0FBQ0EsdURBQXVELFVBQVU7QUFDakU7QUFDQSw4QkFBOEIsMkRBQWE7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFNRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxleHRlbnNpb24tY29kZS1ibG9ja1xcZGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2NvZGUtYmxvY2sudHNcbmltcG9ydCB7IG1lcmdlQXR0cmlidXRlcywgTm9kZSwgdGV4dGJsb2NrVHlwZUlucHV0UnVsZSB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbmltcG9ydCB7IFBsdWdpbiwgUGx1Z2luS2V5LCBTZWxlY3Rpb24sIFRleHRTZWxlY3Rpb24gfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xudmFyIERFRkFVTFRfVEFCX1NJWkUgPSA0O1xudmFyIGJhY2t0aWNrSW5wdXRSZWdleCA9IC9eYGBgKFthLXpdKyk/W1xcc1xcbl0kLztcbnZhciB0aWxkZUlucHV0UmVnZXggPSAvXn5+fihbYS16XSspP1tcXHNcXG5dJC87XG52YXIgQ29kZUJsb2NrID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiBcImNvZGVCbG9ja1wiLFxuICBhZGRPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsYW5ndWFnZUNsYXNzUHJlZml4OiBcImxhbmd1YWdlLVwiLFxuICAgICAgZXhpdE9uVHJpcGxlRW50ZXI6IHRydWUsXG4gICAgICBleGl0T25BcnJvd0Rvd246IHRydWUsXG4gICAgICBkZWZhdWx0TGFuZ3VhZ2U6IG51bGwsXG4gICAgICBlbmFibGVUYWJJbmRlbnRhdGlvbjogZmFsc2UsXG4gICAgICB0YWJTaXplOiBERUZBVUxUX1RBQl9TSVpFLFxuICAgICAgSFRNTEF0dHJpYnV0ZXM6IHt9XG4gICAgfTtcbiAgfSxcbiAgY29udGVudDogXCJ0ZXh0KlwiLFxuICBtYXJrczogXCJcIixcbiAgZ3JvdXA6IFwiYmxvY2tcIixcbiAgY29kZTogdHJ1ZSxcbiAgZGVmaW5pbmc6IHRydWUsXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhbmd1YWdlOiB7XG4gICAgICAgIGRlZmF1bHQ6IHRoaXMub3B0aW9ucy5kZWZhdWx0TGFuZ3VhZ2UsXG4gICAgICAgIHBhcnNlSFRNTDogKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgY29uc3QgeyBsYW5ndWFnZUNsYXNzUHJlZml4IH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgICAgICAgaWYgKCFsYW5ndWFnZUNsYXNzUHJlZml4KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgY2xhc3NOYW1lcyA9IFsuLi4oKF9hID0gZWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNsYXNzTGlzdCkgfHwgW11dO1xuICAgICAgICAgIGNvbnN0IGxhbmd1YWdlcyA9IGNsYXNzTmFtZXMuZmlsdGVyKChjbGFzc05hbWUpID0+IGNsYXNzTmFtZS5zdGFydHNXaXRoKGxhbmd1YWdlQ2xhc3NQcmVmaXgpKS5tYXAoKGNsYXNzTmFtZSkgPT4gY2xhc3NOYW1lLnJlcGxhY2UobGFuZ3VhZ2VDbGFzc1ByZWZpeCwgXCJcIikpO1xuICAgICAgICAgIGNvbnN0IGxhbmd1YWdlID0gbGFuZ3VhZ2VzWzBdO1xuICAgICAgICAgIGlmICghbGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbGFuZ3VhZ2U7XG4gICAgICAgIH0sXG4gICAgICAgIHJlbmRlcmVkOiBmYWxzZVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIHBhcnNlSFRNTCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0YWc6IFwicHJlXCIsXG4gICAgICAgIHByZXNlcnZlV2hpdGVzcGFjZTogXCJmdWxsXCJcbiAgICAgIH1cbiAgICBdO1xuICB9LFxuICByZW5kZXJIVE1MKHsgbm9kZSwgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXG4gICAgICBcInByZVwiLFxuICAgICAgbWVyZ2VBdHRyaWJ1dGVzKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcywgSFRNTEF0dHJpYnV0ZXMpLFxuICAgICAgW1xuICAgICAgICBcImNvZGVcIixcbiAgICAgICAge1xuICAgICAgICAgIGNsYXNzOiBub2RlLmF0dHJzLmxhbmd1YWdlID8gdGhpcy5vcHRpb25zLmxhbmd1YWdlQ2xhc3NQcmVmaXggKyBub2RlLmF0dHJzLmxhbmd1YWdlIDogbnVsbFxuICAgICAgICB9LFxuICAgICAgICAwXG4gICAgICBdXG4gICAgXTtcbiAgfSxcbiAgbWFya2Rvd25Ub2tlbk5hbWU6IFwiY29kZVwiLFxuICBwYXJzZU1hcmtkb3duOiAodG9rZW4sIGhlbHBlcnMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgaWYgKCgoX2EgPSB0b2tlbi5yYXcpID09IG51bGwgPyB2b2lkIDAgOiBfYS5zdGFydHNXaXRoKFwiYGBgXCIpKSA9PT0gZmFsc2UgJiYgdG9rZW4uY29kZUJsb2NrU3R5bGUgIT09IFwiaW5kZW50ZWRcIikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gaGVscGVycy5jcmVhdGVOb2RlKFxuICAgICAgXCJjb2RlQmxvY2tcIixcbiAgICAgIHsgbGFuZ3VhZ2U6IHRva2VuLmxhbmcgfHwgbnVsbCB9LFxuICAgICAgdG9rZW4udGV4dCA/IFtoZWxwZXJzLmNyZWF0ZVRleHROb2RlKHRva2VuLnRleHQpXSA6IFtdXG4gICAgKTtcbiAgfSxcbiAgcmVuZGVyTWFya2Rvd246IChub2RlLCBoKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGxldCBvdXRwdXQgPSBcIlwiO1xuICAgIGNvbnN0IGxhbmd1YWdlID0gKChfYSA9IG5vZGUuYXR0cnMpID09IG51bGwgPyB2b2lkIDAgOiBfYS5sYW5ndWFnZSkgfHwgXCJcIjtcbiAgICBpZiAoIW5vZGUuY29udGVudCkge1xuICAgICAgb3V0cHV0ID0gYFxcYFxcYFxcYCR7bGFuZ3VhZ2V9XG5cblxcYFxcYFxcYGA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGxpbmVzID0gW2BcXGBcXGBcXGAke2xhbmd1YWdlfWAsIGgucmVuZGVyQ2hpbGRyZW4obm9kZS5jb250ZW50KSwgXCJgYGBcIl07XG4gICAgICBvdXRwdXQgPSBsaW5lcy5qb2luKFwiXFxuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gb3V0cHV0O1xuICB9LFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2V0Q29kZUJsb2NrOiAoYXR0cmlidXRlcykgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY29tbWFuZHMuc2V0Tm9kZSh0aGlzLm5hbWUsIGF0dHJpYnV0ZXMpO1xuICAgICAgfSxcbiAgICAgIHRvZ2dsZUNvZGVCbG9jazogKGF0dHJpYnV0ZXMpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnRvZ2dsZU5vZGUodGhpcy5uYW1lLCBcInBhcmFncmFwaFwiLCBhdHRyaWJ1dGVzKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBhZGRLZXlib2FyZFNob3J0Y3V0cygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJNb2QtQWx0LWNcIjogKCkgPT4gdGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlQ29kZUJsb2NrKCksXG4gICAgICAvLyByZW1vdmUgY29kZSBibG9jayB3aGVuIGF0IHN0YXJ0IG9mIGRvY3VtZW50IG9yIGNvZGUgYmxvY2sgaXMgZW1wdHlcbiAgICAgIEJhY2tzcGFjZTogKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGVtcHR5LCAkYW5jaG9yIH0gPSB0aGlzLmVkaXRvci5zdGF0ZS5zZWxlY3Rpb247XG4gICAgICAgIGNvbnN0IGlzQXRTdGFydCA9ICRhbmNob3IucG9zID09PSAxO1xuICAgICAgICBpZiAoIWVtcHR5IHx8ICRhbmNob3IucGFyZW50LnR5cGUubmFtZSAhPT0gdGhpcy5uYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0F0U3RhcnQgfHwgISRhbmNob3IucGFyZW50LnRleHRDb250ZW50Lmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmVkaXRvci5jb21tYW5kcy5jbGVhck5vZGVzKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSxcbiAgICAgIC8vIGhhbmRsZSB0YWIgaW5kZW50YXRpb25cbiAgICAgIFRhYjogKHsgZWRpdG9yIH0pID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5lbmFibGVUYWJJbmRlbnRhdGlvbikge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YWJTaXplID0gKF9hID0gdGhpcy5vcHRpb25zLnRhYlNpemUpICE9IG51bGwgPyBfYSA6IERFRkFVTFRfVEFCX1NJWkU7XG4gICAgICAgIGNvbnN0IHsgc3RhdGUgfSA9IGVkaXRvcjtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IHN0YXRlO1xuICAgICAgICBjb25zdCB7ICRmcm9tLCBlbXB0eSB9ID0gc2VsZWN0aW9uO1xuICAgICAgICBpZiAoJGZyb20ucGFyZW50LnR5cGUgIT09IHRoaXMudHlwZSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbmRlbnQgPSBcIiBcIi5yZXBlYXQodGFiU2l6ZSk7XG4gICAgICAgIGlmIChlbXB0eSkge1xuICAgICAgICAgIHJldHVybiBlZGl0b3IuY29tbWFuZHMuaW5zZXJ0Q29udGVudChpbmRlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlZGl0b3IuY29tbWFuZHMuY29tbWFuZCgoeyB0ciB9KSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBmcm9tLCB0byB9ID0gc2VsZWN0aW9uO1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBzdGF0ZS5kb2MudGV4dEJldHdlZW4oZnJvbSwgdG8sIFwiXFxuXCIsIFwiXFxuXCIpO1xuICAgICAgICAgIGNvbnN0IGxpbmVzID0gdGV4dC5zcGxpdChcIlxcblwiKTtcbiAgICAgICAgICBjb25zdCBpbmRlbnRlZFRleHQgPSBsaW5lcy5tYXAoKGxpbmUpID0+IGluZGVudCArIGxpbmUpLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgdHIucmVwbGFjZVdpdGgoZnJvbSwgdG8sIHN0YXRlLnNjaGVtYS50ZXh0KGluZGVudGVkVGV4dCkpO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAvLyBoYW5kbGUgc2hpZnQrdGFiIHJldmVyc2UgaW5kZW50YXRpb25cbiAgICAgIFwiU2hpZnQtVGFiXCI6ICh7IGVkaXRvciB9KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZW5hYmxlVGFiSW5kZW50YXRpb24pIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGFiU2l6ZSA9IChfYSA9IHRoaXMub3B0aW9ucy50YWJTaXplKSAhPSBudWxsID8gX2EgOiBERUZBVUxUX1RBQl9TSVpFO1xuICAgICAgICBjb25zdCB7IHN0YXRlIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBzdGF0ZTtcbiAgICAgICAgY29uc3QgeyAkZnJvbSwgZW1wdHkgfSA9IHNlbGVjdGlvbjtcbiAgICAgICAgaWYgKCRmcm9tLnBhcmVudC50eXBlICE9PSB0aGlzLnR5cGUpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVtcHR5KSB7XG4gICAgICAgICAgcmV0dXJuIGVkaXRvci5jb21tYW5kcy5jb21tYW5kKCh7IHRyIH0pID0+IHtcbiAgICAgICAgICAgIHZhciBfYTI7XG4gICAgICAgICAgICBjb25zdCB7IHBvcyB9ID0gJGZyb207XG4gICAgICAgICAgICBjb25zdCBjb2RlQmxvY2tTdGFydCA9ICRmcm9tLnN0YXJ0KCk7XG4gICAgICAgICAgICBjb25zdCBjb2RlQmxvY2tFbmQgPSAkZnJvbS5lbmQoKTtcbiAgICAgICAgICAgIGNvbnN0IGFsbFRleHQgPSBzdGF0ZS5kb2MudGV4dEJldHdlZW4oY29kZUJsb2NrU3RhcnQsIGNvZGVCbG9ja0VuZCwgXCJcXG5cIiwgXCJcXG5cIik7XG4gICAgICAgICAgICBjb25zdCBsaW5lcyA9IGFsbFRleHQuc3BsaXQoXCJcXG5cIik7XG4gICAgICAgICAgICBsZXQgY3VycmVudExpbmVJbmRleCA9IDA7XG4gICAgICAgICAgICBsZXQgY2hhckNvdW50ID0gMDtcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0aXZlQ3Vyc29yUG9zID0gcG9zIC0gY29kZUJsb2NrU3RhcnQ7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICAgIGlmIChjaGFyQ291bnQgKyBsaW5lc1tpXS5sZW5ndGggPj0gcmVsYXRpdmVDdXJzb3JQb3MpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50TGluZUluZGV4ID0gaTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjaGFyQ291bnQgKz0gbGluZXNbaV0ubGVuZ3RoICsgMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMaW5lID0gbGluZXNbY3VycmVudExpbmVJbmRleF07XG4gICAgICAgICAgICBjb25zdCBsZWFkaW5nU3BhY2VzID0gKChfYTIgPSBjdXJyZW50TGluZS5tYXRjaCgvXiAqLykpID09IG51bGwgPyB2b2lkIDAgOiBfYTJbMF0pIHx8IFwiXCI7XG4gICAgICAgICAgICBjb25zdCBzcGFjZXNUb1JlbW92ZSA9IE1hdGgubWluKGxlYWRpbmdTcGFjZXMubGVuZ3RoLCB0YWJTaXplKTtcbiAgICAgICAgICAgIGlmIChzcGFjZXNUb1JlbW92ZSA9PT0gMCkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBsaW5lU3RhcnRQb3MgPSBjb2RlQmxvY2tTdGFydDtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3VycmVudExpbmVJbmRleDsgaSArPSAxKSB7XG4gICAgICAgICAgICAgIGxpbmVTdGFydFBvcyArPSBsaW5lc1tpXS5sZW5ndGggKyAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHIuZGVsZXRlKGxpbmVTdGFydFBvcywgbGluZVN0YXJ0UG9zICsgc3BhY2VzVG9SZW1vdmUpO1xuICAgICAgICAgICAgY29uc3QgY3Vyc29yUG9zSW5MaW5lID0gcG9zIC0gbGluZVN0YXJ0UG9zO1xuICAgICAgICAgICAgaWYgKGN1cnNvclBvc0luTGluZSA8PSBzcGFjZXNUb1JlbW92ZSkge1xuICAgICAgICAgICAgICB0ci5zZXRTZWxlY3Rpb24oVGV4dFNlbGVjdGlvbi5jcmVhdGUodHIuZG9jLCBsaW5lU3RhcnRQb3MpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlZGl0b3IuY29tbWFuZHMuY29tbWFuZCgoeyB0ciB9KSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBmcm9tLCB0byB9ID0gc2VsZWN0aW9uO1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBzdGF0ZS5kb2MudGV4dEJldHdlZW4oZnJvbSwgdG8sIFwiXFxuXCIsIFwiXFxuXCIpO1xuICAgICAgICAgIGNvbnN0IGxpbmVzID0gdGV4dC5zcGxpdChcIlxcblwiKTtcbiAgICAgICAgICBjb25zdCByZXZlcnNlSW5kZW50VGV4dCA9IGxpbmVzLm1hcCgobGluZSkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hMjtcbiAgICAgICAgICAgIGNvbnN0IGxlYWRpbmdTcGFjZXMgPSAoKF9hMiA9IGxpbmUubWF0Y2goL14gKi8pKSA9PSBudWxsID8gdm9pZCAwIDogX2EyWzBdKSB8fCBcIlwiO1xuICAgICAgICAgICAgY29uc3Qgc3BhY2VzVG9SZW1vdmUgPSBNYXRoLm1pbihsZWFkaW5nU3BhY2VzLmxlbmd0aCwgdGFiU2l6ZSk7XG4gICAgICAgICAgICByZXR1cm4gbGluZS5zbGljZShzcGFjZXNUb1JlbW92ZSk7XG4gICAgICAgICAgfSkuam9pbihcIlxcblwiKTtcbiAgICAgICAgICB0ci5yZXBsYWNlV2l0aChmcm9tLCB0bywgc3RhdGUuc2NoZW1hLnRleHQocmV2ZXJzZUluZGVudFRleHQpKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgLy8gZXhpdCBub2RlIG9uIHRyaXBsZSBlbnRlclxuICAgICAgRW50ZXI6ICh7IGVkaXRvciB9KSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zLmV4aXRPblRyaXBsZUVudGVyKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgc3RhdGUgfSA9IGVkaXRvcjtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IHN0YXRlO1xuICAgICAgICBjb25zdCB7ICRmcm9tLCBlbXB0eSB9ID0gc2VsZWN0aW9uO1xuICAgICAgICBpZiAoIWVtcHR5IHx8ICRmcm9tLnBhcmVudC50eXBlICE9PSB0aGlzLnR5cGUpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNBdEVuZCA9ICRmcm9tLnBhcmVudE9mZnNldCA9PT0gJGZyb20ucGFyZW50Lm5vZGVTaXplIC0gMjtcbiAgICAgICAgY29uc3QgZW5kc1dpdGhEb3VibGVOZXdsaW5lID0gJGZyb20ucGFyZW50LnRleHRDb250ZW50LmVuZHNXaXRoKFwiXFxuXFxuXCIpO1xuICAgICAgICBpZiAoIWlzQXRFbmQgfHwgIWVuZHNXaXRoRG91YmxlTmV3bGluZSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZWRpdG9yLmNoYWluKCkuY29tbWFuZCgoeyB0ciB9KSA9PiB7XG4gICAgICAgICAgdHIuZGVsZXRlKCRmcm9tLnBvcyAtIDIsICRmcm9tLnBvcyk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pLmV4aXRDb2RlKCkucnVuKCk7XG4gICAgICB9LFxuICAgICAgLy8gZXhpdCBub2RlIG9uIGFycm93IGRvd25cbiAgICAgIEFycm93RG93bjogKHsgZWRpdG9yIH0pID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZXhpdE9uQXJyb3dEb3duKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgc3RhdGUgfSA9IGVkaXRvcjtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24sIGRvYyB9ID0gc3RhdGU7XG4gICAgICAgIGNvbnN0IHsgJGZyb20sIGVtcHR5IH0gPSBzZWxlY3Rpb247XG4gICAgICAgIGlmICghZW1wdHkgfHwgJGZyb20ucGFyZW50LnR5cGUgIT09IHRoaXMudHlwZSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0F0RW5kID0gJGZyb20ucGFyZW50T2Zmc2V0ID09PSAkZnJvbS5wYXJlbnQubm9kZVNpemUgLSAyO1xuICAgICAgICBpZiAoIWlzQXRFbmQpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWZ0ZXIgPSAkZnJvbS5hZnRlcigpO1xuICAgICAgICBpZiAoYWZ0ZXIgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBub2RlQWZ0ZXIgPSBkb2Mubm9kZUF0KGFmdGVyKTtcbiAgICAgICAgaWYgKG5vZGVBZnRlcikge1xuICAgICAgICAgIHJldHVybiBlZGl0b3IuY29tbWFuZHMuY29tbWFuZCgoeyB0ciB9KSA9PiB7XG4gICAgICAgICAgICB0ci5zZXRTZWxlY3Rpb24oU2VsZWN0aW9uLm5lYXIoZG9jLnJlc29sdmUoYWZ0ZXIpKSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZWRpdG9yLmNvbW1hbmRzLmV4aXRDb2RlKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgYWRkSW5wdXRSdWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgdGV4dGJsb2NrVHlwZUlucHV0UnVsZSh7XG4gICAgICAgIGZpbmQ6IGJhY2t0aWNrSW5wdXRSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICBnZXRBdHRyaWJ1dGVzOiAobWF0Y2gpID0+ICh7XG4gICAgICAgICAgbGFuZ3VhZ2U6IG1hdGNoWzFdXG4gICAgICAgIH0pXG4gICAgICB9KSxcbiAgICAgIHRleHRibG9ja1R5cGVJbnB1dFJ1bGUoe1xuICAgICAgICBmaW5kOiB0aWxkZUlucHV0UmVnZXgsXG4gICAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgICAgZ2V0QXR0cmlidXRlczogKG1hdGNoKSA9PiAoe1xuICAgICAgICAgIGxhbmd1YWdlOiBtYXRjaFsxXVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICBdO1xuICB9LFxuICBhZGRQcm9zZU1pcnJvclBsdWdpbnMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIHRoaXMgcGx1Z2luIGNyZWF0ZXMgYSBjb2RlIGJsb2NrIGZvciBwYXN0ZWQgY29udGVudCBmcm9tIFZTIENvZGVcbiAgICAgIC8vIHdlIGNhbiBhbHNvIGRldGVjdCB0aGUgY29waWVkIGNvZGUgbGFuZ3VhZ2VcbiAgICAgIG5ldyBQbHVnaW4oe1xuICAgICAgICBrZXk6IG5ldyBQbHVnaW5LZXkoXCJjb2RlQmxvY2tWU0NvZGVIYW5kbGVyXCIpLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIGhhbmRsZVBhc3RlOiAodmlldywgZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICghZXZlbnQuY2xpcGJvYXJkRGF0YSkge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5lZGl0b3IuaXNBY3RpdmUodGhpcy50eXBlLm5hbWUpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHRleHQgPSBldmVudC5jbGlwYm9hcmREYXRhLmdldERhdGEoXCJ0ZXh0L3BsYWluXCIpO1xuICAgICAgICAgICAgY29uc3QgdnNjb2RlID0gZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKFwidnNjb2RlLWVkaXRvci1kYXRhXCIpO1xuICAgICAgICAgICAgY29uc3QgdnNjb2RlRGF0YSA9IHZzY29kZSA/IEpTT04ucGFyc2UodnNjb2RlKSA6IHZvaWQgMDtcbiAgICAgICAgICAgIGNvbnN0IGxhbmd1YWdlID0gdnNjb2RlRGF0YSA9PSBudWxsID8gdm9pZCAwIDogdnNjb2RlRGF0YS5tb2RlO1xuICAgICAgICAgICAgaWYgKCF0ZXh0IHx8ICFsYW5ndWFnZSkge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB7IHRyLCBzY2hlbWEgfSA9IHZpZXcuc3RhdGU7XG4gICAgICAgICAgICBjb25zdCB0ZXh0Tm9kZSA9IHNjaGVtYS50ZXh0KHRleHQucmVwbGFjZSgvXFxyXFxuPy9nLCBcIlxcblwiKSk7XG4gICAgICAgICAgICB0ci5yZXBsYWNlU2VsZWN0aW9uV2l0aCh0aGlzLnR5cGUuY3JlYXRlKHsgbGFuZ3VhZ2UgfSwgdGV4dE5vZGUpKTtcbiAgICAgICAgICAgIGlmICh0ci5zZWxlY3Rpb24uJGZyb20ucGFyZW50LnR5cGUgIT09IHRoaXMudHlwZSkge1xuICAgICAgICAgICAgICB0ci5zZXRTZWxlY3Rpb24oVGV4dFNlbGVjdGlvbi5uZWFyKHRyLmRvYy5yZXNvbHZlKE1hdGgubWF4KDAsIHRyLnNlbGVjdGlvbi5mcm9tIC0gMikpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0ci5zZXRNZXRhKFwicGFzdGVcIiwgdHJ1ZSk7XG4gICAgICAgICAgICB2aWV3LmRpc3BhdGNoKHRyKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICBdO1xuICB9XG59KTtcblxuLy8gc3JjL2luZGV4LnRzXG52YXIgaW5kZXhfZGVmYXVsdCA9IENvZGVCbG9jaztcbmV4cG9ydCB7XG4gIENvZGVCbG9jayxcbiAgYmFja3RpY2tJbnB1dFJlZ2V4LFxuICBpbmRleF9kZWZhdWx0IGFzIGRlZmF1bHQsXG4gIHRpbGRlSW5wdXRSZWdleFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-code-block/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-code/dist/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/@tiptap/extension-code/dist/index.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Code: () => (/* binding */ Code),\n/* harmony export */ \"default\": () => (/* binding */ index_default),\n/* harmony export */ inputRegex: () => (/* binding */ inputRegex),\n/* harmony export */ pasteRegex: () => (/* binding */ pasteRegex)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n// src/code.ts\n\nvar inputRegex = /(^|[^`])`([^`]+)`(?!`)$/;\nvar pasteRegex = /(^|[^`])`([^`]+)`(?!`)/g;\nvar Code = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Mark.create({\n name: \"code\",\n addOptions() {\n return {\n HTMLAttributes: {}\n };\n },\n excludes: \"_\",\n code: true,\n exitable: true,\n parseHTML() {\n return [{ tag: \"code\" }];\n },\n renderHTML({ HTMLAttributes }) {\n return [\"code\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n markdownTokenName: \"codespan\",\n parseMarkdown: (token, helpers) => {\n return helpers.applyMark(\"code\", [{ type: \"text\", text: token.text || \"\" }]);\n },\n renderMarkdown: (node, h) => {\n if (!node.content) {\n return \"\";\n }\n return `\\`${h.renderChildren(node.content)}\\``;\n },\n addCommands() {\n return {\n setCode: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleCode: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetCode: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n }\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-e\": () => this.editor.commands.toggleCode()\n };\n },\n addInputRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markInputRule)({\n find: inputRegex,\n type: this.type\n })\n ];\n },\n addPasteRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markPasteRule)({\n find: pasteRegex,\n type: this.type\n })\n ];\n }\n});\n\n// src/index.ts\nvar index_default = Code;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24tY29kZS9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDbUY7QUFDbkY7QUFDQTtBQUNBLFdBQVcsOENBQUk7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxhQUFhO0FBQzNCLEdBQUc7QUFDSCxlQUFlLGdCQUFnQjtBQUMvQixvQkFBb0IsNkRBQWU7QUFDbkMsR0FBRztBQUNIO0FBQ0E7QUFDQSx3Q0FBd0Msc0NBQXNDO0FBQzlFLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiwrQkFBK0I7QUFDL0MsR0FBRztBQUNIO0FBQ0E7QUFDQSx3QkFBd0IsVUFBVTtBQUNsQztBQUNBLE9BQU87QUFDUCwyQkFBMkIsVUFBVTtBQUNyQztBQUNBLE9BQU87QUFDUCwwQkFBMEIsVUFBVTtBQUNwQztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLE1BQU0sMkRBQWE7QUFDbkI7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsTUFBTSwyREFBYTtBQUNuQjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFNRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxleHRlbnNpb24tY29kZVxcZGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2NvZGUudHNcbmltcG9ydCB7IE1hcmssIG1hcmtJbnB1dFJ1bGUsIG1hcmtQYXN0ZVJ1bGUsIG1lcmdlQXR0cmlidXRlcyB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbnZhciBpbnB1dFJlZ2V4ID0gLyhefFteYF0pYChbXmBdKylgKD8hYCkkLztcbnZhciBwYXN0ZVJlZ2V4ID0gLyhefFteYF0pYChbXmBdKylgKD8hYCkvZztcbnZhciBDb2RlID0gTWFyay5jcmVhdGUoe1xuICBuYW1lOiBcImNvZGVcIixcbiAgYWRkT3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgSFRNTEF0dHJpYnV0ZXM6IHt9XG4gICAgfTtcbiAgfSxcbiAgZXhjbHVkZXM6IFwiX1wiLFxuICBjb2RlOiB0cnVlLFxuICBleGl0YWJsZTogdHJ1ZSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbeyB0YWc6IFwiY29kZVwiIH1dO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXCJjb2RlXCIsIG1lcmdlQXR0cmlidXRlcyh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsIEhUTUxBdHRyaWJ1dGVzKSwgMF07XG4gIH0sXG4gIG1hcmtkb3duVG9rZW5OYW1lOiBcImNvZGVzcGFuXCIsXG4gIHBhcnNlTWFya2Rvd246ICh0b2tlbiwgaGVscGVycykgPT4ge1xuICAgIHJldHVybiBoZWxwZXJzLmFwcGx5TWFyayhcImNvZGVcIiwgW3sgdHlwZTogXCJ0ZXh0XCIsIHRleHQ6IHRva2VuLnRleHQgfHwgXCJcIiB9XSk7XG4gIH0sXG4gIHJlbmRlck1hcmtkb3duOiAobm9kZSwgaCkgPT4ge1xuICAgIGlmICghbm9kZS5jb250ZW50KSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgcmV0dXJuIGBcXGAke2gucmVuZGVyQ2hpbGRyZW4obm9kZS5jb250ZW50KX1cXGBgO1xuICB9LFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2V0Q29kZTogKCkgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY29tbWFuZHMuc2V0TWFyayh0aGlzLm5hbWUpO1xuICAgICAgfSxcbiAgICAgIHRvZ2dsZUNvZGU6ICgpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnRvZ2dsZU1hcmsodGhpcy5uYW1lKTtcbiAgICAgIH0sXG4gICAgICB1bnNldENvZGU6ICgpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnVuc2V0TWFyayh0aGlzLm5hbWUpO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIGFkZEtleWJvYXJkU2hvcnRjdXRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBcIk1vZC1lXCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUNvZGUoKVxuICAgIH07XG4gIH0sXG4gIGFkZElucHV0UnVsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIG1hcmtJbnB1dFJ1bGUoe1xuICAgICAgICBmaW5kOiBpbnB1dFJlZ2V4LFxuICAgICAgICB0eXBlOiB0aGlzLnR5cGVcbiAgICAgIH0pXG4gICAgXTtcbiAgfSxcbiAgYWRkUGFzdGVSdWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgbWFya1Bhc3RlUnVsZSh7XG4gICAgICAgIGZpbmQ6IHBhc3RlUmVnZXgsXG4gICAgICAgIHR5cGU6IHRoaXMudHlwZVxuICAgICAgfSlcbiAgICBdO1xuICB9XG59KTtcblxuLy8gc3JjL2luZGV4LnRzXG52YXIgaW5kZXhfZGVmYXVsdCA9IENvZGU7XG5leHBvcnQge1xuICBDb2RlLFxuICBpbmRleF9kZWZhdWx0IGFzIGRlZmF1bHQsXG4gIGlucHV0UmVnZXgsXG4gIHBhc3RlUmVnZXhcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-code/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-document/dist/index.js": -/*!***************************************************************!*\ - !*** ./node_modules/@tiptap/extension-document/dist/index.js ***! - \***************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Document: () => (/* binding */ Document),\n/* harmony export */ \"default\": () => (/* binding */ index_default)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n// src/document.ts\n\nvar Document = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Node.create({\n name: \"doc\",\n topNode: true,\n content: \"block+\",\n renderMarkdown: (node, h) => {\n if (!node.content) {\n return \"\";\n }\n return h.renderChildren(node.content, \"\\n\\n\");\n }\n});\n\n// src/index.ts\nvar index_default = Document;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24tZG9jdW1lbnQvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNvQztBQUNwQyxlQUFlLDhDQUFJO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUlFO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEB0aXB0YXBcXGV4dGVuc2lvbi1kb2N1bWVudFxcZGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2RvY3VtZW50LnRzXG5pbXBvcnQgeyBOb2RlIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xudmFyIERvY3VtZW50ID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiBcImRvY1wiLFxuICB0b3BOb2RlOiB0cnVlLFxuICBjb250ZW50OiBcImJsb2NrK1wiLFxuICByZW5kZXJNYXJrZG93bjogKG5vZGUsIGgpID0+IHtcbiAgICBpZiAoIW5vZGUuY29udGVudCkge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBoLnJlbmRlckNoaWxkcmVuKG5vZGUuY29udGVudCwgXCJcXG5cXG5cIik7XG4gIH1cbn0pO1xuXG4vLyBzcmMvaW5kZXgudHNcbnZhciBpbmRleF9kZWZhdWx0ID0gRG9jdW1lbnQ7XG5leHBvcnQge1xuICBEb2N1bWVudCxcbiAgaW5kZXhfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-document/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-hard-break/dist/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@tiptap/extension-hard-break/dist/index.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HardBreak: () => (/* binding */ HardBreak),\n/* harmony export */ \"default\": () => (/* binding */ index_default)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n// src/hard-break.ts\n\nvar HardBreak = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Node.create({\n name: \"hardBreak\",\n markdownTokenName: \"br\",\n addOptions() {\n return {\n keepMarks: true,\n HTMLAttributes: {}\n };\n },\n inline: true,\n group: \"inline\",\n selectable: false,\n linebreakReplacement: true,\n parseHTML() {\n return [{ tag: \"br\" }];\n },\n renderHTML({ HTMLAttributes }) {\n return [\"br\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes)];\n },\n renderText() {\n return \"\\n\";\n },\n renderMarkdown: () => ` \n`,\n parseMarkdown: () => {\n return {\n type: \"hardBreak\"\n };\n },\n addCommands() {\n return {\n setHardBreak: () => ({ commands, chain, state, editor }) => {\n return commands.first([\n () => commands.exitCode(),\n () => commands.command(() => {\n const { selection, storedMarks } = state;\n if (selection.$from.parent.type.spec.isolating) {\n return false;\n }\n const { keepMarks } = this.options;\n const { splittableMarks } = editor.extensionManager;\n const marks = storedMarks || selection.$to.parentOffset && selection.$from.marks();\n return chain().insertContent({ type: this.name }).command(({ tr, dispatch }) => {\n if (dispatch && marks && keepMarks) {\n const filteredMarks = marks.filter((mark) => splittableMarks.includes(mark.type.name));\n tr.ensureMarks(filteredMarks);\n }\n return true;\n }).run();\n })\n ]);\n }\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-Enter\": () => this.editor.commands.setHardBreak(),\n \"Shift-Enter\": () => this.editor.commands.setHardBreak()\n };\n }\n});\n\n// src/index.ts\nvar index_default = HardBreak;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24taGFyZC1icmVhay9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ3FEO0FBQ3JELGdCQUFnQiw4Q0FBSTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxXQUFXO0FBQ3pCLEdBQUc7QUFDSCxlQUFlLGdCQUFnQjtBQUMvQixrQkFBa0IsNkRBQWU7QUFDakMsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSw2QkFBNkIsZ0NBQWdDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQix5QkFBeUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLFlBQVk7QUFDaEMsb0JBQW9CLGtCQUFrQjtBQUN0QztBQUNBLDJDQUEyQyxpQkFBaUIsYUFBYSxjQUFjO0FBQ3ZGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFJRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxleHRlbnNpb24taGFyZC1icmVha1xcZGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2hhcmQtYnJlYWsudHNcbmltcG9ydCB7IG1lcmdlQXR0cmlidXRlcywgTm9kZSB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbnZhciBIYXJkQnJlYWsgPSBOb2RlLmNyZWF0ZSh7XG4gIG5hbWU6IFwiaGFyZEJyZWFrXCIsXG4gIG1hcmtkb3duVG9rZW5OYW1lOiBcImJyXCIsXG4gIGFkZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtlZXBNYXJrczogdHJ1ZSxcbiAgICAgIEhUTUxBdHRyaWJ1dGVzOiB7fVxuICAgIH07XG4gIH0sXG4gIGlubGluZTogdHJ1ZSxcbiAgZ3JvdXA6IFwiaW5saW5lXCIsXG4gIHNlbGVjdGFibGU6IGZhbHNlLFxuICBsaW5lYnJlYWtSZXBsYWNlbWVudDogdHJ1ZSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbeyB0YWc6IFwiYnJcIiB9XTtcbiAgfSxcbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICByZXR1cm4gW1wiYnJcIiwgbWVyZ2VBdHRyaWJ1dGVzKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcywgSFRNTEF0dHJpYnV0ZXMpXTtcbiAgfSxcbiAgcmVuZGVyVGV4dCgpIHtcbiAgICByZXR1cm4gXCJcXG5cIjtcbiAgfSxcbiAgcmVuZGVyTWFya2Rvd246ICgpID0+IGAgIFxuYCxcbiAgcGFyc2VNYXJrZG93bjogKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBcImhhcmRCcmVha1wiXG4gICAgfTtcbiAgfSxcbiAgYWRkQ29tbWFuZHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNldEhhcmRCcmVhazogKCkgPT4gKHsgY29tbWFuZHMsIGNoYWluLCBzdGF0ZSwgZWRpdG9yIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLmZpcnN0KFtcbiAgICAgICAgICAoKSA9PiBjb21tYW5kcy5leGl0Q29kZSgpLFxuICAgICAgICAgICgpID0+IGNvbW1hbmRzLmNvbW1hbmQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24sIHN0b3JlZE1hcmtzIH0gPSBzdGF0ZTtcbiAgICAgICAgICAgIGlmIChzZWxlY3Rpb24uJGZyb20ucGFyZW50LnR5cGUuc3BlYy5pc29sYXRpbmcpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgeyBrZWVwTWFya3MgfSA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgICAgIGNvbnN0IHsgc3BsaXR0YWJsZU1hcmtzIH0gPSBlZGl0b3IuZXh0ZW5zaW9uTWFuYWdlcjtcbiAgICAgICAgICAgIGNvbnN0IG1hcmtzID0gc3RvcmVkTWFya3MgfHwgc2VsZWN0aW9uLiR0by5wYXJlbnRPZmZzZXQgJiYgc2VsZWN0aW9uLiRmcm9tLm1hcmtzKCk7XG4gICAgICAgICAgICByZXR1cm4gY2hhaW4oKS5pbnNlcnRDb250ZW50KHsgdHlwZTogdGhpcy5uYW1lIH0pLmNvbW1hbmQoKHsgdHIsIGRpc3BhdGNoIH0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKGRpc3BhdGNoICYmIG1hcmtzICYmIGtlZXBNYXJrcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkTWFya3MgPSBtYXJrcy5maWx0ZXIoKG1hcmspID0+IHNwbGl0dGFibGVNYXJrcy5pbmNsdWRlcyhtYXJrLnR5cGUubmFtZSkpO1xuICAgICAgICAgICAgICAgIHRyLmVuc3VyZU1hcmtzKGZpbHRlcmVkTWFya3MpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSkucnVuKCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgXSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwiTW9kLUVudGVyXCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnNldEhhcmRCcmVhaygpLFxuICAgICAgXCJTaGlmdC1FbnRlclwiOiAoKSA9PiB0aGlzLmVkaXRvci5jb21tYW5kcy5zZXRIYXJkQnJlYWsoKVxuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBzcmMvaW5kZXgudHNcbnZhciBpbmRleF9kZWZhdWx0ID0gSGFyZEJyZWFrO1xuZXhwb3J0IHtcbiAgSGFyZEJyZWFrLFxuICBpbmRleF9kZWZhdWx0IGFzIGRlZmF1bHRcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-hard-break/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-heading/dist/index.js": -/*!**************************************************************!*\ - !*** ./node_modules/@tiptap/extension-heading/dist/index.js ***! - \**************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Heading: () => (/* binding */ Heading),\n/* harmony export */ \"default\": () => (/* binding */ index_default)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n// src/heading.ts\n\nvar Heading = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Node.create({\n name: \"heading\",\n addOptions() {\n return {\n levels: [1, 2, 3, 4, 5, 6],\n HTMLAttributes: {}\n };\n },\n content: \"inline*\",\n group: \"block\",\n defining: true,\n addAttributes() {\n return {\n level: {\n default: 1,\n rendered: false\n }\n };\n },\n parseHTML() {\n return this.options.levels.map((level) => ({\n tag: `h${level}`,\n attrs: { level }\n }));\n },\n renderHTML({ node, HTMLAttributes }) {\n const hasLevel = this.options.levels.includes(node.attrs.level);\n const level = hasLevel ? node.attrs.level : this.options.levels[0];\n return [`h${level}`, (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n parseMarkdown: (token, helpers) => {\n return helpers.createNode(\"heading\", { level: token.depth || 1 }, helpers.parseInline(token.tokens || []));\n },\n renderMarkdown: (node, h) => {\n var _a;\n const level = ((_a = node.attrs) == null ? void 0 : _a.level) ? parseInt(node.attrs.level, 10) : 1;\n const headingChars = \"#\".repeat(level);\n if (!node.content) {\n return \"\";\n }\n return `${headingChars} ${h.renderChildren(node.content)}`;\n },\n addCommands() {\n return {\n setHeading: (attributes) => ({ commands }) => {\n if (!this.options.levels.includes(attributes.level)) {\n return false;\n }\n return commands.setNode(this.name, attributes);\n },\n toggleHeading: (attributes) => ({ commands }) => {\n if (!this.options.levels.includes(attributes.level)) {\n return false;\n }\n return commands.toggleNode(this.name, \"paragraph\", attributes);\n }\n };\n },\n addKeyboardShortcuts() {\n return this.options.levels.reduce(\n (items, level) => ({\n ...items,\n ...{\n [`Mod-Alt-${level}`]: () => this.editor.commands.toggleHeading({ level })\n }\n }),\n {}\n );\n },\n addInputRules() {\n return this.options.levels.map((level) => {\n return (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.textblockTypeInputRule)({\n find: new RegExp(`^(#{${Math.min(...this.options.levels)},${level}})\\\\s$`),\n type: this.type,\n getAttributes: {\n level\n }\n });\n });\n }\n});\n\n// src/index.ts\nvar index_default = Heading;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24taGVhZGluZy9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQzZFO0FBQzdFLGNBQWMsOENBQUk7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZTtBQUNmLEtBQUs7QUFDTCxHQUFHO0FBQ0gsZUFBZSxzQkFBc0I7QUFDckM7QUFDQTtBQUNBLGdCQUFnQixNQUFNLEdBQUcsNkRBQWU7QUFDeEMsR0FBRztBQUNIO0FBQ0EsMkNBQTJDLHlCQUF5QjtBQUNwRSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLGNBQWMsRUFBRSwrQkFBK0I7QUFDN0QsR0FBRztBQUNIO0FBQ0E7QUFDQSxxQ0FBcUMsVUFBVTtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCx3Q0FBd0MsVUFBVTtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixNQUFNLCtDQUErQyxPQUFPO0FBQ2xGO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLGFBQWEsb0VBQXNCO0FBQ25DLDhCQUE4QixFQUFFLGlDQUFpQyxHQUFHLE9BQU87QUFDM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBSUU7QUFDRiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xcQHRpcHRhcFxcZXh0ZW5zaW9uLWhlYWRpbmdcXGRpc3RcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9oZWFkaW5nLnRzXG5pbXBvcnQgeyBtZXJnZUF0dHJpYnV0ZXMsIE5vZGUsIHRleHRibG9ja1R5cGVJbnB1dFJ1bGUgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG52YXIgSGVhZGluZyA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogXCJoZWFkaW5nXCIsXG4gIGFkZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxldmVsczogWzEsIDIsIDMsIDQsIDUsIDZdLFxuICAgICAgSFRNTEF0dHJpYnV0ZXM6IHt9XG4gICAgfTtcbiAgfSxcbiAgY29udGVudDogXCJpbmxpbmUqXCIsXG4gIGdyb3VwOiBcImJsb2NrXCIsXG4gIGRlZmluaW5nOiB0cnVlLFxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsZXZlbDoge1xuICAgICAgICBkZWZhdWx0OiAxLFxuICAgICAgICByZW5kZXJlZDogZmFsc2VcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5sZXZlbHMubWFwKChsZXZlbCkgPT4gKHtcbiAgICAgIHRhZzogYGgke2xldmVsfWAsXG4gICAgICBhdHRyczogeyBsZXZlbCB9XG4gICAgfSkpO1xuICB9LFxuICByZW5kZXJIVE1MKHsgbm9kZSwgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIGNvbnN0IGhhc0xldmVsID0gdGhpcy5vcHRpb25zLmxldmVscy5pbmNsdWRlcyhub2RlLmF0dHJzLmxldmVsKTtcbiAgICBjb25zdCBsZXZlbCA9IGhhc0xldmVsID8gbm9kZS5hdHRycy5sZXZlbCA6IHRoaXMub3B0aW9ucy5sZXZlbHNbMF07XG4gICAgcmV0dXJuIFtgaCR7bGV2ZWx9YCwgbWVyZ2VBdHRyaWJ1dGVzKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcywgSFRNTEF0dHJpYnV0ZXMpLCAwXTtcbiAgfSxcbiAgcGFyc2VNYXJrZG93bjogKHRva2VuLCBoZWxwZXJzKSA9PiB7XG4gICAgcmV0dXJuIGhlbHBlcnMuY3JlYXRlTm9kZShcImhlYWRpbmdcIiwgeyBsZXZlbDogdG9rZW4uZGVwdGggfHwgMSB9LCBoZWxwZXJzLnBhcnNlSW5saW5lKHRva2VuLnRva2VucyB8fCBbXSkpO1xuICB9LFxuICByZW5kZXJNYXJrZG93bjogKG5vZGUsIGgpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgbGV2ZWwgPSAoKF9hID0gbm9kZS5hdHRycykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmxldmVsKSA/IHBhcnNlSW50KG5vZGUuYXR0cnMubGV2ZWwsIDEwKSA6IDE7XG4gICAgY29uc3QgaGVhZGluZ0NoYXJzID0gXCIjXCIucmVwZWF0KGxldmVsKTtcbiAgICBpZiAoIW5vZGUuY29udGVudCkge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBgJHtoZWFkaW5nQ2hhcnN9ICR7aC5yZW5kZXJDaGlsZHJlbihub2RlLmNvbnRlbnQpfWA7XG4gIH0sXG4gIGFkZENvbW1hbmRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZXRIZWFkaW5nOiAoYXR0cmlidXRlcykgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5sZXZlbHMuaW5jbHVkZXMoYXR0cmlidXRlcy5sZXZlbCkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnNldE5vZGUodGhpcy5uYW1lLCBhdHRyaWJ1dGVzKTtcbiAgICAgIH0sXG4gICAgICB0b2dnbGVIZWFkaW5nOiAoYXR0cmlidXRlcykgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5sZXZlbHMuaW5jbHVkZXMoYXR0cmlidXRlcy5sZXZlbCkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnRvZ2dsZU5vZGUodGhpcy5uYW1lLCBcInBhcmFncmFwaFwiLCBhdHRyaWJ1dGVzKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBhZGRLZXlib2FyZFNob3J0Y3V0cygpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmxldmVscy5yZWR1Y2UoXG4gICAgICAoaXRlbXMsIGxldmVsKSA9PiAoe1xuICAgICAgICAuLi5pdGVtcyxcbiAgICAgICAgLi4ue1xuICAgICAgICAgIFtgTW9kLUFsdC0ke2xldmVsfWBdOiAoKSA9PiB0aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVIZWFkaW5nKHsgbGV2ZWwgfSlcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG4gIH0sXG4gIGFkZElucHV0UnVsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5sZXZlbHMubWFwKChsZXZlbCkgPT4ge1xuICAgICAgcmV0dXJuIHRleHRibG9ja1R5cGVJbnB1dFJ1bGUoe1xuICAgICAgICBmaW5kOiBuZXcgUmVnRXhwKGBeKCN7JHtNYXRoLm1pbiguLi50aGlzLm9wdGlvbnMubGV2ZWxzKX0sJHtsZXZlbH19KVxcXFxzJGApLFxuICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgIGdldEF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBsZXZlbFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufSk7XG5cbi8vIHNyYy9pbmRleC50c1xudmFyIGluZGV4X2RlZmF1bHQgPSBIZWFkaW5nO1xuZXhwb3J0IHtcbiAgSGVhZGluZyxcbiAgaW5kZXhfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-heading/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-horizontal-rule/dist/index.js": -/*!**********************************************************************!*\ - !*** ./node_modules/@tiptap/extension-horizontal-rule/dist/index.js ***! - \**********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HorizontalRule: () => (/* binding */ HorizontalRule),\n/* harmony export */ \"default\": () => (/* binding */ index_default)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n/* harmony import */ var _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/pm/state */ \"(ssr)/./node_modules/@tiptap/pm/dist/state/index.js\");\n// src/horizontal-rule.ts\n\n\nvar HorizontalRule = _tiptap_core__WEBPACK_IMPORTED_MODULE_1__.Node.create({\n name: \"horizontalRule\",\n addOptions() {\n return {\n HTMLAttributes: {},\n nextNodeType: \"paragraph\"\n };\n },\n group: \"block\",\n parseHTML() {\n return [{ tag: \"hr\" }];\n },\n renderHTML({ HTMLAttributes }) {\n return [\"hr\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_1__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes)];\n },\n markdownTokenName: \"hr\",\n parseMarkdown: (token, helpers) => {\n return helpers.createNode(\"horizontalRule\");\n },\n renderMarkdown: () => {\n return \"---\";\n },\n addCommands() {\n return {\n setHorizontalRule: () => ({ chain, state }) => {\n if (!(0,_tiptap_core__WEBPACK_IMPORTED_MODULE_1__.canInsertNode)(state, state.schema.nodes[this.name])) {\n return false;\n }\n const { selection } = state;\n const { $to: $originTo } = selection;\n const currentChain = chain();\n if ((0,_tiptap_core__WEBPACK_IMPORTED_MODULE_1__.isNodeSelection)(selection)) {\n currentChain.insertContentAt($originTo.pos, {\n type: this.name\n });\n } else {\n currentChain.insertContent({ type: this.name });\n }\n return currentChain.command(({ state: chainState, tr, dispatch }) => {\n if (dispatch) {\n const { $to } = tr.selection;\n const posAfter = $to.end();\n if ($to.nodeAfter) {\n if ($to.nodeAfter.isTextblock) {\n tr.setSelection(_tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.TextSelection.create(tr.doc, $to.pos + 1));\n } else if ($to.nodeAfter.isBlock) {\n tr.setSelection(_tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.NodeSelection.create(tr.doc, $to.pos));\n } else {\n tr.setSelection(_tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.TextSelection.create(tr.doc, $to.pos));\n }\n } else {\n const nodeType = chainState.schema.nodes[this.options.nextNodeType] || $to.parent.type.contentMatch.defaultType;\n const node = nodeType == null ? void 0 : nodeType.create();\n if (node) {\n tr.insert(posAfter, node);\n tr.setSelection(_tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.TextSelection.create(tr.doc, posAfter + 1));\n }\n }\n tr.scrollIntoView();\n }\n return true;\n }).run();\n }\n };\n },\n addInputRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_1__.nodeInputRule)({\n find: /^(?:---|—-|___\\s|\\*\\*\\*\\s)$/,\n type: this.type\n })\n ];\n }\n});\n\n// src/index.ts\nvar index_default = HorizontalRule;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24taG9yaXpvbnRhbC1ydWxlL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ29HO0FBQ3BDO0FBQ2hFLHFCQUFxQiw4Q0FBSTtBQUN6QjtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsY0FBYyxXQUFXO0FBQ3pCLEdBQUc7QUFDSCxlQUFlLGdCQUFnQjtBQUMvQixrQkFBa0IsNkRBQWU7QUFDakMsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxrQ0FBa0MsY0FBYztBQUNoRCxhQUFhLDJEQUFhO0FBQzFCO0FBQ0E7QUFDQSxnQkFBZ0IsWUFBWTtBQUM1QixnQkFBZ0IsaUJBQWlCO0FBQ2pDO0FBQ0EsWUFBWSw2REFBZTtBQUMzQjtBQUNBO0FBQ0EsV0FBVztBQUNYLFVBQVU7QUFDVix1Q0FBdUMsaUJBQWlCO0FBQ3hEO0FBQ0EsdUNBQXVDLGlDQUFpQztBQUN4RTtBQUNBLG9CQUFvQixNQUFNO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQywyREFBYTtBQUM3QyxnQkFBZ0I7QUFDaEIsZ0NBQWdDLDJEQUFhO0FBQzdDLGdCQUFnQjtBQUNoQixnQ0FBZ0MsMkRBQWE7QUFDN0M7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsMkRBQWE7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxNQUFNLDJEQUFhO0FBQ25CO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUlFO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEB0aXB0YXBcXGV4dGVuc2lvbi1ob3Jpem9udGFsLXJ1bGVcXGRpc3RcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9ob3Jpem9udGFsLXJ1bGUudHNcbmltcG9ydCB7IGNhbkluc2VydE5vZGUsIGlzTm9kZVNlbGVjdGlvbiwgbWVyZ2VBdHRyaWJ1dGVzLCBOb2RlLCBub2RlSW5wdXRSdWxlIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xuaW1wb3J0IHsgTm9kZVNlbGVjdGlvbiwgVGV4dFNlbGVjdGlvbiB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG52YXIgSG9yaXpvbnRhbFJ1bGUgPSBOb2RlLmNyZWF0ZSh7XG4gIG5hbWU6IFwiaG9yaXpvbnRhbFJ1bGVcIixcbiAgYWRkT3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgSFRNTEF0dHJpYnV0ZXM6IHt9LFxuICAgICAgbmV4dE5vZGVUeXBlOiBcInBhcmFncmFwaFwiXG4gICAgfTtcbiAgfSxcbiAgZ3JvdXA6IFwiYmxvY2tcIixcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbeyB0YWc6IFwiaHJcIiB9XTtcbiAgfSxcbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICByZXR1cm4gW1wiaHJcIiwgbWVyZ2VBdHRyaWJ1dGVzKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcywgSFRNTEF0dHJpYnV0ZXMpXTtcbiAgfSxcbiAgbWFya2Rvd25Ub2tlbk5hbWU6IFwiaHJcIixcbiAgcGFyc2VNYXJrZG93bjogKHRva2VuLCBoZWxwZXJzKSA9PiB7XG4gICAgcmV0dXJuIGhlbHBlcnMuY3JlYXRlTm9kZShcImhvcml6b250YWxSdWxlXCIpO1xuICB9LFxuICByZW5kZXJNYXJrZG93bjogKCkgPT4ge1xuICAgIHJldHVybiBcIi0tLVwiO1xuICB9LFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2V0SG9yaXpvbnRhbFJ1bGU6ICgpID0+ICh7IGNoYWluLCBzdGF0ZSB9KSA9PiB7XG4gICAgICAgIGlmICghY2FuSW5zZXJ0Tm9kZShzdGF0ZSwgc3RhdGUuc2NoZW1hLm5vZGVzW3RoaXMubmFtZV0pKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBzdGF0ZTtcbiAgICAgICAgY29uc3QgeyAkdG86ICRvcmlnaW5UbyB9ID0gc2VsZWN0aW9uO1xuICAgICAgICBjb25zdCBjdXJyZW50Q2hhaW4gPSBjaGFpbigpO1xuICAgICAgICBpZiAoaXNOb2RlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICAgICAgICBjdXJyZW50Q2hhaW4uaW5zZXJ0Q29udGVudEF0KCRvcmlnaW5Uby5wb3MsIHtcbiAgICAgICAgICAgIHR5cGU6IHRoaXMubmFtZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRDaGFpbi5pbnNlcnRDb250ZW50KHsgdHlwZTogdGhpcy5uYW1lIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjdXJyZW50Q2hhaW4uY29tbWFuZCgoeyBzdGF0ZTogY2hhaW5TdGF0ZSwgdHIsIGRpc3BhdGNoIH0pID0+IHtcbiAgICAgICAgICBpZiAoZGlzcGF0Y2gpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgJHRvIH0gPSB0ci5zZWxlY3Rpb247XG4gICAgICAgICAgICBjb25zdCBwb3NBZnRlciA9ICR0by5lbmQoKTtcbiAgICAgICAgICAgIGlmICgkdG8ubm9kZUFmdGVyKSB7XG4gICAgICAgICAgICAgIGlmICgkdG8ubm9kZUFmdGVyLmlzVGV4dGJsb2NrKSB7XG4gICAgICAgICAgICAgICAgdHIuc2V0U2VsZWN0aW9uKFRleHRTZWxlY3Rpb24uY3JlYXRlKHRyLmRvYywgJHRvLnBvcyArIDEpKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmICgkdG8ubm9kZUFmdGVyLmlzQmxvY2spIHtcbiAgICAgICAgICAgICAgICB0ci5zZXRTZWxlY3Rpb24oTm9kZVNlbGVjdGlvbi5jcmVhdGUodHIuZG9jLCAkdG8ucG9zKSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdHIuc2V0U2VsZWN0aW9uKFRleHRTZWxlY3Rpb24uY3JlYXRlKHRyLmRvYywgJHRvLnBvcykpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBub2RlVHlwZSA9IGNoYWluU3RhdGUuc2NoZW1hLm5vZGVzW3RoaXMub3B0aW9ucy5uZXh0Tm9kZVR5cGVdIHx8ICR0by5wYXJlbnQudHlwZS5jb250ZW50TWF0Y2guZGVmYXVsdFR5cGU7XG4gICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBub2RlVHlwZSA9PSBudWxsID8gdm9pZCAwIDogbm9kZVR5cGUuY3JlYXRlKCk7XG4gICAgICAgICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgICAgICAgdHIuaW5zZXJ0KHBvc0FmdGVyLCBub2RlKTtcbiAgICAgICAgICAgICAgICB0ci5zZXRTZWxlY3Rpb24oVGV4dFNlbGVjdGlvbi5jcmVhdGUodHIuZG9jLCBwb3NBZnRlciArIDEpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHIuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pLnJ1bigpO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIGFkZElucHV0UnVsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIG5vZGVJbnB1dFJ1bGUoe1xuICAgICAgICBmaW5kOiAvXig/Oi0tLXzigJQtfF9fX1xcc3xcXCpcXCpcXCpcXHMpJC8sXG4gICAgICAgIHR5cGU6IHRoaXMudHlwZVxuICAgICAgfSlcbiAgICBdO1xuICB9XG59KTtcblxuLy8gc3JjL2luZGV4LnRzXG52YXIgaW5kZXhfZGVmYXVsdCA9IEhvcml6b250YWxSdWxlO1xuZXhwb3J0IHtcbiAgSG9yaXpvbnRhbFJ1bGUsXG4gIGluZGV4X2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-horizontal-rule/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-italic/dist/index.js": -/*!*************************************************************!*\ - !*** ./node_modules/@tiptap/extension-italic/dist/index.js ***! - \*************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Italic: () => (/* binding */ Italic),\n/* harmony export */ \"default\": () => (/* binding */ index_default),\n/* harmony export */ starInputRegex: () => (/* binding */ starInputRegex),\n/* harmony export */ starPasteRegex: () => (/* binding */ starPasteRegex),\n/* harmony export */ underscoreInputRegex: () => (/* binding */ underscoreInputRegex),\n/* harmony export */ underscorePasteRegex: () => (/* binding */ underscorePasteRegex)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n// src/italic.ts\n\nvar starInputRegex = /(?:^|\\s)(\\*(?!\\s+\\*)((?:[^*]+))\\*(?!\\s+\\*))$/;\nvar starPasteRegex = /(?:^|\\s)(\\*(?!\\s+\\*)((?:[^*]+))\\*(?!\\s+\\*))/g;\nvar underscoreInputRegex = /(?:^|\\s)(_(?!\\s+_)((?:[^_]+))_(?!\\s+_))$/;\nvar underscorePasteRegex = /(?:^|\\s)(_(?!\\s+_)((?:[^_]+))_(?!\\s+_))/g;\nvar Italic = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Mark.create({\n name: \"italic\",\n addOptions() {\n return {\n HTMLAttributes: {}\n };\n },\n parseHTML() {\n return [\n {\n tag: \"em\"\n },\n {\n tag: \"i\",\n getAttrs: (node) => node.style.fontStyle !== \"normal\" && null\n },\n {\n style: \"font-style=normal\",\n clearMark: (mark) => mark.type.name === this.name\n },\n {\n style: \"font-style=italic\"\n }\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return [\"em\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n addCommands() {\n return {\n setItalic: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleItalic: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetItalic: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n }\n };\n },\n markdownTokenName: \"em\",\n parseMarkdown: (token, helpers) => {\n return helpers.applyMark(\"italic\", helpers.parseInline(token.tokens || []));\n },\n renderMarkdown: (node, h) => {\n return `*${h.renderChildren(node)}*`;\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-i\": () => this.editor.commands.toggleItalic(),\n \"Mod-I\": () => this.editor.commands.toggleItalic()\n };\n },\n addInputRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markInputRule)({\n find: starInputRegex,\n type: this.type\n }),\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markInputRule)({\n find: underscoreInputRegex,\n type: this.type\n })\n ];\n },\n addPasteRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markPasteRule)({\n find: starPasteRegex,\n type: this.type\n }),\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markPasteRule)({\n find: underscorePasteRegex,\n type: this.type\n })\n ];\n }\n});\n\n// src/index.ts\nvar index_default = Italic;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24taXRhbGljL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBQ21GO0FBQ25GO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSw4Q0FBSTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsZUFBZSxnQkFBZ0I7QUFDL0Isa0JBQWtCLDZEQUFlO0FBQ2pDLEdBQUc7QUFDSDtBQUNBO0FBQ0EsMEJBQTBCLFVBQVU7QUFDcEM7QUFDQSxPQUFPO0FBQ1AsNkJBQTZCLFVBQVU7QUFDdkM7QUFDQSxPQUFPO0FBQ1AsNEJBQTRCLFVBQVU7QUFDdEM7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLGVBQWUsdUJBQXVCO0FBQ3RDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxNQUFNLDJEQUFhO0FBQ25CO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTSwyREFBYTtBQUNuQjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxNQUFNLDJEQUFhO0FBQ25CO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTSwyREFBYTtBQUNuQjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFRRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxleHRlbnNpb24taXRhbGljXFxkaXN0XFxpbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzcmMvaXRhbGljLnRzXG5pbXBvcnQgeyBNYXJrLCBtYXJrSW5wdXRSdWxlLCBtYXJrUGFzdGVSdWxlLCBtZXJnZUF0dHJpYnV0ZXMgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG52YXIgc3RhcklucHV0UmVnZXggPSAvKD86XnxcXHMpKFxcKig/IVxccytcXCopKCg/OlteKl0rKSlcXCooPyFcXHMrXFwqKSkkLztcbnZhciBzdGFyUGFzdGVSZWdleCA9IC8oPzpefFxccykoXFwqKD8hXFxzK1xcKikoKD86W14qXSspKVxcKig/IVxccytcXCopKS9nO1xudmFyIHVuZGVyc2NvcmVJbnB1dFJlZ2V4ID0gLyg/Ol58XFxzKShfKD8hXFxzK18pKCg/OlteX10rKSlfKD8hXFxzK18pKSQvO1xudmFyIHVuZGVyc2NvcmVQYXN0ZVJlZ2V4ID0gLyg/Ol58XFxzKShfKD8hXFxzK18pKCg/OlteX10rKSlfKD8hXFxzK18pKS9nO1xudmFyIEl0YWxpYyA9IE1hcmsuY3JlYXRlKHtcbiAgbmFtZTogXCJpdGFsaWNcIixcbiAgYWRkT3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgSFRNTEF0dHJpYnV0ZXM6IHt9XG4gICAgfTtcbiAgfSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogXCJlbVwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0YWc6IFwiaVwiLFxuICAgICAgICBnZXRBdHRyczogKG5vZGUpID0+IG5vZGUuc3R5bGUuZm9udFN0eWxlICE9PSBcIm5vcm1hbFwiICYmIG51bGxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0eWxlOiBcImZvbnQtc3R5bGU9bm9ybWFsXCIsXG4gICAgICAgIGNsZWFyTWFyazogKG1hcmspID0+IG1hcmsudHlwZS5uYW1lID09PSB0aGlzLm5hbWVcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0eWxlOiBcImZvbnQtc3R5bGU9aXRhbGljXCJcbiAgICAgIH1cbiAgICBdO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXCJlbVwiLCBtZXJnZUF0dHJpYnV0ZXModGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLCBIVE1MQXR0cmlidXRlcyksIDBdO1xuICB9LFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2V0SXRhbGljOiAoKSA9PiAoeyBjb21tYW5kcyB9KSA9PiB7XG4gICAgICAgIHJldHVybiBjb21tYW5kcy5zZXRNYXJrKHRoaXMubmFtZSk7XG4gICAgICB9LFxuICAgICAgdG9nZ2xlSXRhbGljOiAoKSA9PiAoeyBjb21tYW5kcyB9KSA9PiB7XG4gICAgICAgIHJldHVybiBjb21tYW5kcy50b2dnbGVNYXJrKHRoaXMubmFtZSk7XG4gICAgICB9LFxuICAgICAgdW5zZXRJdGFsaWM6ICgpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnVuc2V0TWFyayh0aGlzLm5hbWUpO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1hcmtkb3duVG9rZW5OYW1lOiBcImVtXCIsXG4gIHBhcnNlTWFya2Rvd246ICh0b2tlbiwgaGVscGVycykgPT4ge1xuICAgIHJldHVybiBoZWxwZXJzLmFwcGx5TWFyayhcIml0YWxpY1wiLCBoZWxwZXJzLnBhcnNlSW5saW5lKHRva2VuLnRva2VucyB8fCBbXSkpO1xuICB9LFxuICByZW5kZXJNYXJrZG93bjogKG5vZGUsIGgpID0+IHtcbiAgICByZXR1cm4gYCoke2gucmVuZGVyQ2hpbGRyZW4obm9kZSl9KmA7XG4gIH0sXG4gIGFkZEtleWJvYXJkU2hvcnRjdXRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBcIk1vZC1pXCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUl0YWxpYygpLFxuICAgICAgXCJNb2QtSVwiOiAoKSA9PiB0aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVJdGFsaWMoKVxuICAgIH07XG4gIH0sXG4gIGFkZElucHV0UnVsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIG1hcmtJbnB1dFJ1bGUoe1xuICAgICAgICBmaW5kOiBzdGFySW5wdXRSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICB9KSxcbiAgICAgIG1hcmtJbnB1dFJ1bGUoe1xuICAgICAgICBmaW5kOiB1bmRlcnNjb3JlSW5wdXRSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICB9KVxuICAgIF07XG4gIH0sXG4gIGFkZFBhc3RlUnVsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIG1hcmtQYXN0ZVJ1bGUoe1xuICAgICAgICBmaW5kOiBzdGFyUGFzdGVSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICB9KSxcbiAgICAgIG1hcmtQYXN0ZVJ1bGUoe1xuICAgICAgICBmaW5kOiB1bmRlcnNjb3JlUGFzdGVSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICB9KVxuICAgIF07XG4gIH1cbn0pO1xuXG4vLyBzcmMvaW5kZXgudHNcbnZhciBpbmRleF9kZWZhdWx0ID0gSXRhbGljO1xuZXhwb3J0IHtcbiAgSXRhbGljLFxuICBpbmRleF9kZWZhdWx0IGFzIGRlZmF1bHQsXG4gIHN0YXJJbnB1dFJlZ2V4LFxuICBzdGFyUGFzdGVSZWdleCxcbiAgdW5kZXJzY29yZUlucHV0UmVnZXgsXG4gIHVuZGVyc2NvcmVQYXN0ZVJlZ2V4XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-italic/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-link/dist/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/@tiptap/extension-link/dist/index.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Link: () => (/* binding */ Link),\n/* harmony export */ \"default\": () => (/* binding */ index_default),\n/* harmony export */ isAllowedUri: () => (/* binding */ isAllowedUri),\n/* harmony export */ pasteRegex: () => (/* binding */ pasteRegex)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n/* harmony import */ var linkifyjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! linkifyjs */ \"(ssr)/./node_modules/linkifyjs/dist/linkify.mjs\");\n/* harmony import */ var _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tiptap/pm/state */ \"(ssr)/./node_modules/@tiptap/pm/dist/state/index.js\");\n// src/link.ts\n\n\n\n// src/helpers/autolink.ts\n\n\n\n\n// src/helpers/whitespace.ts\nvar UNICODE_WHITESPACE_PATTERN = \"[\\0- \\xA0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]\";\nvar UNICODE_WHITESPACE_REGEX = new RegExp(UNICODE_WHITESPACE_PATTERN);\nvar UNICODE_WHITESPACE_REGEX_END = new RegExp(`${UNICODE_WHITESPACE_PATTERN}$`);\nvar UNICODE_WHITESPACE_REGEX_GLOBAL = new RegExp(UNICODE_WHITESPACE_PATTERN, \"g\");\n\n// src/helpers/autolink.ts\nfunction isValidLinkStructure(tokens) {\n if (tokens.length === 1) {\n return tokens[0].isLink;\n }\n if (tokens.length === 3 && tokens[1].isLink) {\n return [\"()\", \"[]\"].includes(tokens[0].value + tokens[2].value);\n }\n return false;\n}\nfunction autolink(options) {\n return new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_1__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_1__.PluginKey(\"autolink\"),\n appendTransaction: (transactions, oldState, newState) => {\n const docChanges = transactions.some((transaction) => transaction.docChanged) && !oldState.doc.eq(newState.doc);\n const preventAutolink = transactions.some((transaction) => transaction.getMeta(\"preventAutolink\"));\n if (!docChanges || preventAutolink) {\n return;\n }\n const { tr } = newState;\n const transform = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_2__.combineTransactionSteps)(oldState.doc, [...transactions]);\n const changes = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_2__.getChangedRanges)(transform);\n changes.forEach(({ newRange }) => {\n const nodesInChangedRanges = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_2__.findChildrenInRange)(newState.doc, newRange, (node) => node.isTextblock);\n let textBlock;\n let textBeforeWhitespace;\n if (nodesInChangedRanges.length > 1) {\n textBlock = nodesInChangedRanges[0];\n textBeforeWhitespace = newState.doc.textBetween(\n textBlock.pos,\n textBlock.pos + textBlock.node.nodeSize,\n void 0,\n \" \"\n );\n } else if (nodesInChangedRanges.length) {\n const endText = newState.doc.textBetween(newRange.from, newRange.to, \" \", \" \");\n if (!UNICODE_WHITESPACE_REGEX_END.test(endText)) {\n return;\n }\n textBlock = nodesInChangedRanges[0];\n textBeforeWhitespace = newState.doc.textBetween(textBlock.pos, newRange.to, void 0, \" \");\n }\n if (textBlock && textBeforeWhitespace) {\n const wordsBeforeWhitespace = textBeforeWhitespace.split(UNICODE_WHITESPACE_REGEX).filter(Boolean);\n if (wordsBeforeWhitespace.length <= 0) {\n return false;\n }\n const lastWordBeforeSpace = wordsBeforeWhitespace[wordsBeforeWhitespace.length - 1];\n const lastWordAndBlockOffset = textBlock.pos + textBeforeWhitespace.lastIndexOf(lastWordBeforeSpace);\n if (!lastWordBeforeSpace) {\n return false;\n }\n const linksBeforeSpace = (0,linkifyjs__WEBPACK_IMPORTED_MODULE_0__.tokenize)(lastWordBeforeSpace).map((t) => t.toObject(options.defaultProtocol));\n if (!isValidLinkStructure(linksBeforeSpace)) {\n return false;\n }\n linksBeforeSpace.filter((link) => link.isLink).map((link) => ({\n ...link,\n from: lastWordAndBlockOffset + link.start + 1,\n to: lastWordAndBlockOffset + link.end + 1\n })).filter((link) => {\n if (!newState.schema.marks.code) {\n return true;\n }\n return !newState.doc.rangeHasMark(link.from, link.to, newState.schema.marks.code);\n }).filter((link) => options.validate(link.value)).filter((link) => options.shouldAutoLink(link.value)).forEach((link) => {\n if ((0,_tiptap_core__WEBPACK_IMPORTED_MODULE_2__.getMarksBetween)(link.from, link.to, newState.doc).some((item) => item.mark.type === options.type)) {\n return;\n }\n tr.addMark(\n link.from,\n link.to,\n options.type.create({\n href: link.href\n })\n );\n });\n }\n });\n if (!tr.steps.length) {\n return;\n }\n return tr;\n }\n });\n}\n\n// src/helpers/clickHandler.ts\n\n\nfunction clickHandler(options) {\n return new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_1__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_1__.PluginKey(\"handleClickLink\"),\n props: {\n handleClick: (view, pos, event) => {\n var _a, _b;\n if (event.button !== 0) {\n return false;\n }\n if (!view.editable) {\n return false;\n }\n let link = null;\n if (event.target instanceof HTMLAnchorElement) {\n link = event.target;\n } else {\n const target = event.target;\n if (!target) {\n return false;\n }\n const root = options.editor.view.dom;\n link = target.closest(\"a\");\n if (link && !root.contains(link)) {\n link = null;\n }\n }\n if (!link) {\n return false;\n }\n let handled = false;\n if (options.enableClickSelection) {\n const commandResult = options.editor.commands.extendMarkRange(options.type.name);\n handled = commandResult;\n }\n if (options.openOnClick) {\n const attrs = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_2__.getAttributes)(view.state, options.type.name);\n const href = (_a = link.href) != null ? _a : attrs.href;\n const target = (_b = link.target) != null ? _b : attrs.target;\n if (href) {\n window.open(href, target);\n handled = true;\n }\n }\n return handled;\n }\n }\n });\n}\n\n// src/helpers/pasteHandler.ts\n\n\nfunction pasteHandler(options) {\n return new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_1__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_1__.PluginKey(\"handlePasteLink\"),\n props: {\n handlePaste: (view, _event, slice) => {\n const { shouldAutoLink } = options;\n const { state } = view;\n const { selection } = state;\n const { empty } = selection;\n if (empty) {\n return false;\n }\n let textContent = \"\";\n slice.content.forEach((node) => {\n textContent += node.textContent;\n });\n const link = (0,linkifyjs__WEBPACK_IMPORTED_MODULE_0__.find)(textContent, { defaultProtocol: options.defaultProtocol }).find(\n (item) => item.isLink && item.value === textContent\n );\n if (!textContent || !link || shouldAutoLink !== void 0 && !shouldAutoLink(link.value)) {\n return false;\n }\n return options.editor.commands.setMark(options.type, {\n href: link.href\n });\n }\n }\n });\n}\n\n// src/link.ts\nvar pasteRegex = /https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z]{2,}\\b(?:[-a-zA-Z0-9@:%._+~#=?!&/]*)(?:[-a-zA-Z0-9@:%._+~#=?!&/]*)/gi;\nfunction isAllowedUri(uri, protocols) {\n const allowedProtocols = [\"http\", \"https\", \"ftp\", \"ftps\", \"mailto\", \"tel\", \"callto\", \"sms\", \"cid\", \"xmpp\"];\n if (protocols) {\n protocols.forEach((protocol) => {\n const nextProtocol = typeof protocol === \"string\" ? protocol : protocol.scheme;\n if (nextProtocol) {\n allowedProtocols.push(nextProtocol);\n }\n });\n }\n return !uri || uri.replace(UNICODE_WHITESPACE_REGEX_GLOBAL, \"\").match(\n new RegExp(\n // eslint-disable-next-line no-useless-escape\n `^(?:(?:${allowedProtocols.join(\"|\")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,\n \"i\"\n )\n );\n}\nvar Link = _tiptap_core__WEBPACK_IMPORTED_MODULE_2__.Mark.create({\n name: \"link\",\n priority: 1e3,\n keepOnSplit: false,\n exitable: true,\n onCreate() {\n if (this.options.validate && !this.options.shouldAutoLink) {\n this.options.shouldAutoLink = this.options.validate;\n console.warn(\"The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.\");\n }\n this.options.protocols.forEach((protocol) => {\n if (typeof protocol === \"string\") {\n (0,linkifyjs__WEBPACK_IMPORTED_MODULE_0__.registerCustomProtocol)(protocol);\n return;\n }\n (0,linkifyjs__WEBPACK_IMPORTED_MODULE_0__.registerCustomProtocol)(protocol.scheme, protocol.optionalSlashes);\n });\n },\n onDestroy() {\n (0,linkifyjs__WEBPACK_IMPORTED_MODULE_0__.reset)();\n },\n inclusive() {\n return this.options.autolink;\n },\n addOptions() {\n return {\n openOnClick: true,\n enableClickSelection: false,\n linkOnPaste: true,\n autolink: true,\n protocols: [],\n defaultProtocol: \"http\",\n HTMLAttributes: {\n target: \"_blank\",\n rel: \"noopener noreferrer nofollow\",\n class: null\n },\n isAllowedUri: (url, ctx) => !!isAllowedUri(url, ctx.protocols),\n validate: (url) => !!url,\n shouldAutoLink: (url) => {\n const hasProtocol = /^[a-z][a-z0-9+.-]*:\\/\\//i.test(url);\n const hasMaybeProtocol = /^[a-z][a-z0-9+.-]*:/i.test(url);\n if (hasProtocol || hasMaybeProtocol && !url.includes(\"@\")) {\n return true;\n }\n const urlWithoutUserinfo = url.includes(\"@\") ? url.split(\"@\").pop() : url;\n const hostname = urlWithoutUserinfo.split(/[/?#:]/)[0];\n if (/^\\d{1,3}(\\.\\d{1,3}){3}$/.test(hostname)) {\n return false;\n }\n if (!/\\./.test(hostname)) {\n return false;\n }\n return true;\n }\n };\n },\n addAttributes() {\n return {\n href: {\n default: null,\n parseHTML(element) {\n return element.getAttribute(\"href\");\n }\n },\n target: {\n default: this.options.HTMLAttributes.target\n },\n rel: {\n default: this.options.HTMLAttributes.rel\n },\n class: {\n default: this.options.HTMLAttributes.class\n },\n title: {\n default: null\n }\n };\n },\n parseHTML() {\n return [\n {\n tag: \"a[href]\",\n getAttrs: (dom) => {\n const href = dom.getAttribute(\"href\");\n if (!href || !this.options.isAllowedUri(href, {\n defaultValidate: (url) => !!isAllowedUri(url, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol\n })) {\n return false;\n }\n return null;\n }\n }\n ];\n },\n renderHTML({ HTMLAttributes }) {\n if (!this.options.isAllowedUri(HTMLAttributes.href, {\n defaultValidate: (href) => !!isAllowedUri(href, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol\n })) {\n return [\"a\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_2__.mergeAttributes)(this.options.HTMLAttributes, { ...HTMLAttributes, href: \"\" }), 0];\n }\n return [\"a\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_2__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n markdownTokenName: \"link\",\n parseMarkdown: (token, helpers) => {\n return helpers.applyMark(\"link\", helpers.parseInline(token.tokens || []), {\n href: token.href,\n title: token.title || null\n });\n },\n renderMarkdown: (node, h) => {\n var _a, _b, _c, _d;\n const href = (_b = (_a = node.attrs) == null ? void 0 : _a.href) != null ? _b : \"\";\n const title = (_d = (_c = node.attrs) == null ? void 0 : _c.title) != null ? _d : \"\";\n const text = h.renderChildren(node);\n return title ? `[${text}](${href} \"${title}\")` : `[${text}](${href})`;\n },\n addCommands() {\n return {\n setLink: (attributes) => ({ chain }) => {\n const { href } = attributes;\n if (!this.options.isAllowedUri(href, {\n defaultValidate: (url) => !!isAllowedUri(url, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol\n })) {\n return false;\n }\n return chain().setMark(this.name, attributes).setMeta(\"preventAutolink\", true).run();\n },\n toggleLink: (attributes) => ({ chain }) => {\n const { href } = attributes || {};\n if (href && !this.options.isAllowedUri(href, {\n defaultValidate: (url) => !!isAllowedUri(url, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol\n })) {\n return false;\n }\n return chain().toggleMark(this.name, attributes, { extendEmptyMarkRange: true }).setMeta(\"preventAutolink\", true).run();\n },\n unsetLink: () => ({ chain }) => {\n return chain().unsetMark(this.name, { extendEmptyMarkRange: true }).setMeta(\"preventAutolink\", true).run();\n }\n };\n },\n addPasteRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_2__.markPasteRule)({\n find: (text) => {\n const foundLinks = [];\n if (text) {\n const { protocols, defaultProtocol } = this.options;\n const links = (0,linkifyjs__WEBPACK_IMPORTED_MODULE_0__.find)(text).filter(\n (item) => item.isLink && this.options.isAllowedUri(item.value, {\n defaultValidate: (href) => !!isAllowedUri(href, protocols),\n protocols,\n defaultProtocol\n })\n );\n if (links.length) {\n links.forEach((link) => {\n if (!this.options.shouldAutoLink(link.value)) {\n return;\n }\n foundLinks.push({\n text: link.value,\n data: {\n href: link.href\n },\n index: link.start\n });\n });\n }\n }\n return foundLinks;\n },\n type: this.type,\n getAttributes: (match) => {\n var _a;\n return {\n href: (_a = match.data) == null ? void 0 : _a.href\n };\n }\n })\n ];\n },\n addProseMirrorPlugins() {\n const plugins = [];\n const { protocols, defaultProtocol } = this.options;\n if (this.options.autolink) {\n plugins.push(\n autolink({\n type: this.type,\n defaultProtocol: this.options.defaultProtocol,\n validate: (url) => this.options.isAllowedUri(url, {\n defaultValidate: (href) => !!isAllowedUri(href, protocols),\n protocols,\n defaultProtocol\n }),\n shouldAutoLink: this.options.shouldAutoLink\n })\n );\n }\n plugins.push(\n clickHandler({\n type: this.type,\n editor: this.editor,\n openOnClick: this.options.openOnClick === \"whenNotEditable\" ? true : this.options.openOnClick,\n enableClickSelection: this.options.enableClickSelection\n })\n );\n if (this.options.linkOnPaste) {\n plugins.push(\n pasteHandler({\n editor: this.editor,\n defaultProtocol: this.options.defaultProtocol,\n type: this.type,\n shouldAutoLink: this.options.shouldAutoLink\n })\n );\n }\n return plugins;\n }\n});\n\n// src/index.ts\nvar index_default = Link;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24tbGluay9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtBQUNvRTtBQUNLOztBQUV6RTtBQUMrRztBQUMxRDtBQUNoQjs7QUFFckM7QUFDQTtBQUNBO0FBQ0EsaURBQWlELDJCQUEyQjtBQUM1RTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxvREFBTTtBQUNuQixhQUFhLHVEQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsS0FBSztBQUNuQix3QkFBd0IscUVBQXVCO0FBQy9DLHNCQUFzQiw4REFBZ0I7QUFDdEMseUJBQXlCLFVBQVU7QUFDbkMscUNBQXFDLGlFQUFtQjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLG1EQUFRO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLGdCQUFnQiw2REFBZTtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBLFdBQVc7QUFDWDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQzZDO0FBQ2lDO0FBQzlFO0FBQ0EsYUFBYSxvREFBTztBQUNwQixhQUFhLHVEQUFVO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7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QUNBLG9CQUFvQiw2QkFBNkI7QUFDakQsMEJBQTBCLCtDQUFLO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0EsaUJBQWlCO0FBQ2pCLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFNRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxleHRlbnNpb24tbGlua1xcZGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2xpbmsudHNcbmltcG9ydCB7IE1hcmssIG1hcmtQYXN0ZVJ1bGUsIG1lcmdlQXR0cmlidXRlcyB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbmltcG9ydCB7IGZpbmQgYXMgZmluZDIsIHJlZ2lzdGVyQ3VzdG9tUHJvdG9jb2wsIHJlc2V0IH0gZnJvbSBcImxpbmtpZnlqc1wiO1xuXG4vLyBzcmMvaGVscGVycy9hdXRvbGluay50c1xuaW1wb3J0IHsgY29tYmluZVRyYW5zYWN0aW9uU3RlcHMsIGZpbmRDaGlsZHJlbkluUmFuZ2UsIGdldENoYW5nZWRSYW5nZXMsIGdldE1hcmtzQmV0d2VlbiB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbmltcG9ydCB7IFBsdWdpbiwgUGx1Z2luS2V5IH0gZnJvbSBcIkB0aXB0YXAvcG0vc3RhdGVcIjtcbmltcG9ydCB7IHRva2VuaXplIH0gZnJvbSBcImxpbmtpZnlqc1wiO1xuXG4vLyBzcmMvaGVscGVycy93aGl0ZXNwYWNlLnRzXG52YXIgVU5JQ09ERV9XSElURVNQQUNFX1BBVFRFUk4gPSBcIltcXDAtIFxceEEwXFx1MTY4MFxcdTE4MEVcXHUyMDAwLVxcdTIwMjlcXHUyMDVGXFx1MzAwMF1cIjtcbnZhciBVTklDT0RFX1dISVRFU1BBQ0VfUkVHRVggPSBuZXcgUmVnRXhwKFVOSUNPREVfV0hJVEVTUEFDRV9QQVRURVJOKTtcbnZhciBVTklDT0RFX1dISVRFU1BBQ0VfUkVHRVhfRU5EID0gbmV3IFJlZ0V4cChgJHtVTklDT0RFX1dISVRFU1BBQ0VfUEFUVEVSTn0kYCk7XG52YXIgVU5JQ09ERV9XSElURVNQQUNFX1JFR0VYX0dMT0JBTCA9IG5ldyBSZWdFeHAoVU5JQ09ERV9XSElURVNQQUNFX1BBVFRFUk4sIFwiZ1wiKTtcblxuLy8gc3JjL2hlbHBlcnMvYXV0b2xpbmsudHNcbmZ1bmN0aW9uIGlzVmFsaWRMaW5rU3RydWN0dXJlKHRva2Vucykge1xuICBpZiAodG9rZW5zLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiB0b2tlbnNbMF0uaXNMaW5rO1xuICB9XG4gIGlmICh0b2tlbnMubGVuZ3RoID09PSAzICYmIHRva2Vuc1sxXS5pc0xpbmspIHtcbiAgICByZXR1cm4gW1wiKClcIiwgXCJbXVwiXS5pbmNsdWRlcyh0b2tlbnNbMF0udmFsdWUgKyB0b2tlbnNbMl0udmFsdWUpO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGF1dG9saW5rKG9wdGlvbnMpIHtcbiAgcmV0dXJuIG5ldyBQbHVnaW4oe1xuICAgIGtleTogbmV3IFBsdWdpbktleShcImF1dG9saW5rXCIpLFxuICAgIGFwcGVuZFRyYW5zYWN0aW9uOiAodHJhbnNhY3Rpb25zLCBvbGRTdGF0ZSwgbmV3U3RhdGUpID0+IHtcbiAgICAgIGNvbnN0IGRvY0NoYW5nZXMgPSB0cmFuc2FjdGlvbnMuc29tZSgodHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmRvY0NoYW5nZWQpICYmICFvbGRTdGF0ZS5kb2MuZXEobmV3U3RhdGUuZG9jKTtcbiAgICAgIGNvbnN0IHByZXZlbnRBdXRvbGluayA9IHRyYW5zYWN0aW9ucy5zb21lKCh0cmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uZ2V0TWV0YShcInByZXZlbnRBdXRvbGlua1wiKSk7XG4gICAgICBpZiAoIWRvY0NoYW5nZXMgfHwgcHJldmVudEF1dG9saW5rKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHsgdHIgfSA9IG5ld1N0YXRlO1xuICAgICAgY29uc3QgdHJhbnNmb3JtID0gY29tYmluZVRyYW5zYWN0aW9uU3RlcHMob2xkU3RhdGUuZG9jLCBbLi4udHJhbnNhY3Rpb25zXSk7XG4gICAgICBjb25zdCBjaGFuZ2VzID0gZ2V0Q2hhbmdlZFJhbmdlcyh0cmFuc2Zvcm0pO1xuICAgICAgY2hhbmdlcy5mb3JFYWNoKCh7IG5ld1JhbmdlIH0pID0+IHtcbiAgICAgICAgY29uc3Qgbm9kZXNJbkNoYW5nZWRSYW5nZXMgPSBmaW5kQ2hpbGRyZW5JblJhbmdlKG5ld1N0YXRlLmRvYywgbmV3UmFuZ2UsIChub2RlKSA9PiBub2RlLmlzVGV4dGJsb2NrKTtcbiAgICAgICAgbGV0IHRleHRCbG9jaztcbiAgICAgICAgbGV0IHRleHRCZWZvcmVXaGl0ZXNwYWNlO1xuICAgICAgICBpZiAobm9kZXNJbkNoYW5nZWRSYW5nZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgIHRleHRCbG9jayA9IG5vZGVzSW5DaGFuZ2VkUmFuZ2VzWzBdO1xuICAgICAgICAgIHRleHRCZWZvcmVXaGl0ZXNwYWNlID0gbmV3U3RhdGUuZG9jLnRleHRCZXR3ZWVuKFxuICAgICAgICAgICAgdGV4dEJsb2NrLnBvcyxcbiAgICAgICAgICAgIHRleHRCbG9jay5wb3MgKyB0ZXh0QmxvY2subm9kZS5ub2RlU2l6ZSxcbiAgICAgICAgICAgIHZvaWQgMCxcbiAgICAgICAgICAgIFwiIFwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmIChub2Rlc0luQ2hhbmdlZFJhbmdlcy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBlbmRUZXh0ID0gbmV3U3RhdGUuZG9jLnRleHRCZXR3ZWVuKG5ld1JhbmdlLmZyb20sIG5ld1JhbmdlLnRvLCBcIiBcIiwgXCIgXCIpO1xuICAgICAgICAgIGlmICghVU5JQ09ERV9XSElURVNQQUNFX1JFR0VYX0VORC50ZXN0KGVuZFRleHQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIHRleHRCbG9jayA9IG5vZGVzSW5DaGFuZ2VkUmFuZ2VzWzBdO1xuICAgICAgICAgIHRleHRCZWZvcmVXaGl0ZXNwYWNlID0gbmV3U3RhdGUuZG9jLnRleHRCZXR3ZWVuKHRleHRCbG9jay5wb3MsIG5ld1JhbmdlLnRvLCB2b2lkIDAsIFwiIFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGV4dEJsb2NrICYmIHRleHRCZWZvcmVXaGl0ZXNwYWNlKSB7XG4gICAgICAgICAgY29uc3Qgd29yZHNCZWZvcmVXaGl0ZXNwYWNlID0gdGV4dEJlZm9yZVdoaXRlc3BhY2Uuc3BsaXQoVU5JQ09ERV9XSElURVNQQUNFX1JFR0VYKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgICAgaWYgKHdvcmRzQmVmb3JlV2hpdGVzcGFjZS5sZW5ndGggPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBsYXN0V29yZEJlZm9yZVNwYWNlID0gd29yZHNCZWZvcmVXaGl0ZXNwYWNlW3dvcmRzQmVmb3JlV2hpdGVzcGFjZS5sZW5ndGggLSAxXTtcbiAgICAgICAgICBjb25zdCBsYXN0V29yZEFuZEJsb2NrT2Zmc2V0ID0gdGV4dEJsb2NrLnBvcyArIHRleHRCZWZvcmVXaGl0ZXNwYWNlLmxhc3RJbmRleE9mKGxhc3RXb3JkQmVmb3JlU3BhY2UpO1xuICAgICAgICAgIGlmICghbGFzdFdvcmRCZWZvcmVTcGFjZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBsaW5rc0JlZm9yZVNwYWNlID0gdG9rZW5pemUobGFzdFdvcmRCZWZvcmVTcGFjZSkubWFwKCh0KSA9PiB0LnRvT2JqZWN0KG9wdGlvbnMuZGVmYXVsdFByb3RvY29sKSk7XG4gICAgICAgICAgaWYgKCFpc1ZhbGlkTGlua1N0cnVjdHVyZShsaW5rc0JlZm9yZVNwYWNlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsaW5rc0JlZm9yZVNwYWNlLmZpbHRlcigobGluaykgPT4gbGluay5pc0xpbmspLm1hcCgobGluaykgPT4gKHtcbiAgICAgICAgICAgIC4uLmxpbmssXG4gICAgICAgICAgICBmcm9tOiBsYXN0V29yZEFuZEJsb2NrT2Zmc2V0ICsgbGluay5zdGFydCArIDEsXG4gICAgICAgICAgICB0bzogbGFzdFdvcmRBbmRCbG9ja09mZnNldCArIGxpbmsuZW5kICsgMVxuICAgICAgICAgIH0pKS5maWx0ZXIoKGxpbmspID0+IHtcbiAgICAgICAgICAgIGlmICghbmV3U3RhdGUuc2NoZW1hLm1hcmtzLmNvZGUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gIW5ld1N0YXRlLmRvYy5yYW5nZUhhc01hcmsobGluay5mcm9tLCBsaW5rLnRvLCBuZXdTdGF0ZS5zY2hlbWEubWFya3MuY29kZSk7XG4gICAgICAgICAgfSkuZmlsdGVyKChsaW5rKSA9PiBvcHRpb25zLnZhbGlkYXRlKGxpbmsudmFsdWUpKS5maWx0ZXIoKGxpbmspID0+IG9wdGlvbnMuc2hvdWxkQXV0b0xpbmsobGluay52YWx1ZSkpLmZvckVhY2goKGxpbmspID0+IHtcbiAgICAgICAgICAgIGlmIChnZXRNYXJrc0JldHdlZW4obGluay5mcm9tLCBsaW5rLnRvLCBuZXdTdGF0ZS5kb2MpLnNvbWUoKGl0ZW0pID0+IGl0ZW0ubWFyay50eXBlID09PSBvcHRpb25zLnR5cGUpKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyLmFkZE1hcmsoXG4gICAgICAgICAgICAgIGxpbmsuZnJvbSxcbiAgICAgICAgICAgICAgbGluay50byxcbiAgICAgICAgICAgICAgb3B0aW9ucy50eXBlLmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgaHJlZjogbGluay5ocmVmXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmICghdHIuc3RlcHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cjtcbiAgICB9XG4gIH0pO1xufVxuXG4vLyBzcmMvaGVscGVycy9jbGlja0hhbmRsZXIudHNcbmltcG9ydCB7IGdldEF0dHJpYnV0ZXMgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBQbHVnaW4gYXMgUGx1Z2luMiwgUGx1Z2luS2V5IGFzIFBsdWdpbktleTIgfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xuZnVuY3Rpb24gY2xpY2tIYW5kbGVyKG9wdGlvbnMpIHtcbiAgcmV0dXJuIG5ldyBQbHVnaW4yKHtcbiAgICBrZXk6IG5ldyBQbHVnaW5LZXkyKFwiaGFuZGxlQ2xpY2tMaW5rXCIpLFxuICAgIHByb3BzOiB7XG4gICAgICBoYW5kbGVDbGljazogKHZpZXcsIHBvcywgZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaWYgKGV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZpZXcuZWRpdGFibGUpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGxpbmsgPSBudWxsO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnQpIHtcbiAgICAgICAgICBsaW5rID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgICBpZiAoIXRhcmdldCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCByb290ID0gb3B0aW9ucy5lZGl0b3Iudmlldy5kb207XG4gICAgICAgICAgbGluayA9IHRhcmdldC5jbG9zZXN0KFwiYVwiKTtcbiAgICAgICAgICBpZiAobGluayAmJiAhcm9vdC5jb250YWlucyhsaW5rKSkge1xuICAgICAgICAgICAgbGluayA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghbGluaykge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaGFuZGxlZCA9IGZhbHNlO1xuICAgICAgICBpZiAob3B0aW9ucy5lbmFibGVDbGlja1NlbGVjdGlvbikge1xuICAgICAgICAgIGNvbnN0IGNvbW1hbmRSZXN1bHQgPSBvcHRpb25zLmVkaXRvci5jb21tYW5kcy5leHRlbmRNYXJrUmFuZ2Uob3B0aW9ucy50eXBlLm5hbWUpO1xuICAgICAgICAgIGhhbmRsZWQgPSBjb21tYW5kUmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLm9wZW5PbkNsaWNrKSB7XG4gICAgICAgICAgY29uc3QgYXR0cnMgPSBnZXRBdHRyaWJ1dGVzKHZpZXcuc3RhdGUsIG9wdGlvbnMudHlwZS5uYW1lKTtcbiAgICAgICAgICBjb25zdCBocmVmID0gKF9hID0gbGluay5ocmVmKSAhPSBudWxsID8gX2EgOiBhdHRycy5ocmVmO1xuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IChfYiA9IGxpbmsudGFyZ2V0KSAhPSBudWxsID8gX2IgOiBhdHRycy50YXJnZXQ7XG4gICAgICAgICAgaWYgKGhyZWYpIHtcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKGhyZWYsIHRhcmdldCk7XG4gICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhhbmRsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuLy8gc3JjL2hlbHBlcnMvcGFzdGVIYW5kbGVyLnRzXG5pbXBvcnQgeyBQbHVnaW4gYXMgUGx1Z2luMywgUGx1Z2luS2V5IGFzIFBsdWdpbktleTMgfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xuaW1wb3J0IHsgZmluZCB9IGZyb20gXCJsaW5raWZ5anNcIjtcbmZ1bmN0aW9uIHBhc3RlSGFuZGxlcihvcHRpb25zKSB7XG4gIHJldHVybiBuZXcgUGx1Z2luMyh7XG4gICAga2V5OiBuZXcgUGx1Z2luS2V5MyhcImhhbmRsZVBhc3RlTGlua1wiKSxcbiAgICBwcm9wczoge1xuICAgICAgaGFuZGxlUGFzdGU6ICh2aWV3LCBfZXZlbnQsIHNsaWNlKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc2hvdWxkQXV0b0xpbmsgfSA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHsgc3RhdGUgfSA9IHZpZXc7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBzdGF0ZTtcbiAgICAgICAgY29uc3QgeyBlbXB0eSB9ID0gc2VsZWN0aW9uO1xuICAgICAgICBpZiAoZW1wdHkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHRleHRDb250ZW50ID0gXCJcIjtcbiAgICAgICAgc2xpY2UuY29udGVudC5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICAgICAgdGV4dENvbnRlbnQgKz0gbm9kZS50ZXh0Q29udGVudDtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGxpbmsgPSBmaW5kKHRleHRDb250ZW50LCB7IGRlZmF1bHRQcm90b2NvbDogb3B0aW9ucy5kZWZhdWx0UHJvdG9jb2wgfSkuZmluZChcbiAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5pc0xpbmsgJiYgaXRlbS52YWx1ZSA9PT0gdGV4dENvbnRlbnRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCF0ZXh0Q29udGVudCB8fCAhbGluayB8fCBzaG91bGRBdXRvTGluayAhPT0gdm9pZCAwICYmICFzaG91bGRBdXRvTGluayhsaW5rLnZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3B0aW9ucy5lZGl0b3IuY29tbWFuZHMuc2V0TWFyayhvcHRpb25zLnR5cGUsIHtcbiAgICAgICAgICBocmVmOiBsaW5rLmhyZWZcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuLy8gc3JjL2xpbmsudHNcbnZhciBwYXN0ZVJlZ2V4ID0gL2h0dHBzPzpcXC9cXC8oPzp3d3dcXC4pP1stYS16QS1aMC05QDolLl8rfiM9XXsxLDI1Nn1cXC5bYS16QS1aXXsyLH1cXGIoPzpbLWEtekEtWjAtOUA6JS5fK34jPT8hJi9dKikoPzpbLWEtekEtWjAtOUA6JS5fK34jPT8hJi9dKikvZ2k7XG5mdW5jdGlvbiBpc0FsbG93ZWRVcmkodXJpLCBwcm90b2NvbHMpIHtcbiAgY29uc3QgYWxsb3dlZFByb3RvY29scyA9IFtcImh0dHBcIiwgXCJodHRwc1wiLCBcImZ0cFwiLCBcImZ0cHNcIiwgXCJtYWlsdG9cIiwgXCJ0ZWxcIiwgXCJjYWxsdG9cIiwgXCJzbXNcIiwgXCJjaWRcIiwgXCJ4bXBwXCJdO1xuICBpZiAocHJvdG9jb2xzKSB7XG4gICAgcHJvdG9jb2xzLmZvckVhY2goKHByb3RvY29sKSA9PiB7XG4gICAgICBjb25zdCBuZXh0UHJvdG9jb2wgPSB0eXBlb2YgcHJvdG9jb2wgPT09IFwic3RyaW5nXCIgPyBwcm90b2NvbCA6IHByb3RvY29sLnNjaGVtZTtcbiAgICAgIGlmIChuZXh0UHJvdG9jb2wpIHtcbiAgICAgICAgYWxsb3dlZFByb3RvY29scy5wdXNoKG5leHRQcm90b2NvbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuICF1cmkgfHwgdXJpLnJlcGxhY2UoVU5JQ09ERV9XSElURVNQQUNFX1JFR0VYX0dMT0JBTCwgXCJcIikubWF0Y2goXG4gICAgbmV3IFJlZ0V4cChcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLWVzY2FwZVxuICAgICAgYF4oPzooPzoke2FsbG93ZWRQcm90b2NvbHMuam9pbihcInxcIil9KTp8W15hLXpdfFthLXowLTkrLi1dKyg/OlteYS16Ky4tOl18JCkpYCxcbiAgICAgIFwiaVwiXG4gICAgKVxuICApO1xufVxudmFyIExpbmsgPSBNYXJrLmNyZWF0ZSh7XG4gIG5hbWU6IFwibGlua1wiLFxuICBwcmlvcml0eTogMWUzLFxuICBrZWVwT25TcGxpdDogZmFsc2UsXG4gIGV4aXRhYmxlOiB0cnVlLFxuICBvbkNyZWF0ZSgpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLnZhbGlkYXRlICYmICF0aGlzLm9wdGlvbnMuc2hvdWxkQXV0b0xpbmspIHtcbiAgICAgIHRoaXMub3B0aW9ucy5zaG91bGRBdXRvTGluayA9IHRoaXMub3B0aW9ucy52YWxpZGF0ZTtcbiAgICAgIGNvbnNvbGUud2FybihcIlRoZSBgdmFsaWRhdGVgIG9wdGlvbiBpcyBkZXByZWNhdGVkLiBSZW5hbWUgdG8gdGhlIGBzaG91bGRBdXRvTGlua2Agb3B0aW9uIGluc3RlYWQuXCIpO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMucHJvdG9jb2xzLmZvckVhY2goKHByb3RvY29sKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHByb3RvY29sID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJlZ2lzdGVyQ3VzdG9tUHJvdG9jb2wocHJvdG9jb2wpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICByZWdpc3RlckN1c3RvbVByb3RvY29sKHByb3RvY29sLnNjaGVtZSwgcHJvdG9jb2wub3B0aW9uYWxTbGFzaGVzKTtcbiAgICB9KTtcbiAgfSxcbiAgb25EZXN0cm95KCkge1xuICAgIHJlc2V0KCk7XG4gIH0sXG4gIGluY2x1c2l2ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmF1dG9saW5rO1xuICB9LFxuICBhZGRPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBvcGVuT25DbGljazogdHJ1ZSxcbiAgICAgIGVuYWJsZUNsaWNrU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgIGxpbmtPblBhc3RlOiB0cnVlLFxuICAgICAgYXV0b2xpbms6IHRydWUsXG4gICAgICBwcm90b2NvbHM6IFtdLFxuICAgICAgZGVmYXVsdFByb3RvY29sOiBcImh0dHBcIixcbiAgICAgIEhUTUxBdHRyaWJ1dGVzOiB7XG4gICAgICAgIHRhcmdldDogXCJfYmxhbmtcIixcbiAgICAgICAgcmVsOiBcIm5vb3BlbmVyIG5vcmVmZXJyZXIgbm9mb2xsb3dcIixcbiAgICAgICAgY2xhc3M6IG51bGxcbiAgICAgIH0sXG4gICAgICBpc0FsbG93ZWRVcmk6ICh1cmwsIGN0eCkgPT4gISFpc0FsbG93ZWRVcmkodXJsLCBjdHgucHJvdG9jb2xzKSxcbiAgICAgIHZhbGlkYXRlOiAodXJsKSA9PiAhIXVybCxcbiAgICAgIHNob3VsZEF1dG9MaW5rOiAodXJsKSA9PiB7XG4gICAgICAgIGNvbnN0IGhhc1Byb3RvY29sID0gL15bYS16XVthLXowLTkrLi1dKjpcXC9cXC8vaS50ZXN0KHVybCk7XG4gICAgICAgIGNvbnN0IGhhc01heWJlUHJvdG9jb2wgPSAvXlthLXpdW2EtejAtOSsuLV0qOi9pLnRlc3QodXJsKTtcbiAgICAgICAgaWYgKGhhc1Byb3RvY29sIHx8IGhhc01heWJlUHJvdG9jb2wgJiYgIXVybC5pbmNsdWRlcyhcIkBcIikpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1cmxXaXRob3V0VXNlcmluZm8gPSB1cmwuaW5jbHVkZXMoXCJAXCIpID8gdXJsLnNwbGl0KFwiQFwiKS5wb3AoKSA6IHVybDtcbiAgICAgICAgY29uc3QgaG9zdG5hbWUgPSB1cmxXaXRob3V0VXNlcmluZm8uc3BsaXQoL1svPyM6XS8pWzBdO1xuICAgICAgICBpZiAoL15cXGR7MSwzfShcXC5cXGR7MSwzfSl7M30kLy50ZXN0KGhvc3RuYW1lKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIS9cXC4vLnRlc3QoaG9zdG5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhyZWY6IHtcbiAgICAgICAgZGVmYXVsdDogbnVsbCxcbiAgICAgICAgcGFyc2VIVE1MKGVsZW1lbnQpIHtcbiAgICAgICAgICByZXR1cm4gZWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdGFyZ2V0OiB7XG4gICAgICAgIGRlZmF1bHQ6IHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcy50YXJnZXRcbiAgICAgIH0sXG4gICAgICByZWw6IHtcbiAgICAgICAgZGVmYXVsdDogdGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLnJlbFxuICAgICAgfSxcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIGRlZmF1bHQ6IHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcy5jbGFzc1xuICAgICAgfSxcbiAgICAgIHRpdGxlOiB7XG4gICAgICAgIGRlZmF1bHQ6IG51bGxcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiBcImFbaHJlZl1cIixcbiAgICAgICAgZ2V0QXR0cnM6IChkb20pID0+IHtcbiAgICAgICAgICBjb25zdCBocmVmID0gZG9tLmdldEF0dHJpYnV0ZShcImhyZWZcIik7XG4gICAgICAgICAgaWYgKCFocmVmIHx8ICF0aGlzLm9wdGlvbnMuaXNBbGxvd2VkVXJpKGhyZWYsIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWxpZGF0ZTogKHVybCkgPT4gISFpc0FsbG93ZWRVcmkodXJsLCB0aGlzLm9wdGlvbnMucHJvdG9jb2xzKSxcbiAgICAgICAgICAgIHByb3RvY29sczogdGhpcy5vcHRpb25zLnByb3RvY29scyxcbiAgICAgICAgICAgIGRlZmF1bHRQcm90b2NvbDogdGhpcy5vcHRpb25zLmRlZmF1bHRQcm90b2NvbFxuICAgICAgICAgIH0pKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXTtcbiAgfSxcbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5pc0FsbG93ZWRVcmkoSFRNTEF0dHJpYnV0ZXMuaHJlZiwge1xuICAgICAgZGVmYXVsdFZhbGlkYXRlOiAoaHJlZikgPT4gISFpc0FsbG93ZWRVcmkoaHJlZiwgdGhpcy5vcHRpb25zLnByb3RvY29scyksXG4gICAgICBwcm90b2NvbHM6IHRoaXMub3B0aW9ucy5wcm90b2NvbHMsXG4gICAgICBkZWZhdWx0UHJvdG9jb2w6IHRoaXMub3B0aW9ucy5kZWZhdWx0UHJvdG9jb2xcbiAgICB9KSkge1xuICAgICAgcmV0dXJuIFtcImFcIiwgbWVyZ2VBdHRyaWJ1dGVzKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcywgeyAuLi5IVE1MQXR0cmlidXRlcywgaHJlZjogXCJcIiB9KSwgMF07XG4gICAgfVxuICAgIHJldHVybiBbXCJhXCIsIG1lcmdlQXR0cmlidXRlcyh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsIEhUTUxBdHRyaWJ1dGVzKSwgMF07XG4gIH0sXG4gIG1hcmtkb3duVG9rZW5OYW1lOiBcImxpbmtcIixcbiAgcGFyc2VNYXJrZG93bjogKHRva2VuLCBoZWxwZXJzKSA9PiB7XG4gICAgcmV0dXJuIGhlbHBlcnMuYXBwbHlNYXJrKFwibGlua1wiLCBoZWxwZXJzLnBhcnNlSW5saW5lKHRva2VuLnRva2VucyB8fCBbXSksIHtcbiAgICAgIGhyZWY6IHRva2VuLmhyZWYsXG4gICAgICB0aXRsZTogdG9rZW4udGl0bGUgfHwgbnVsbFxuICAgIH0pO1xuICB9LFxuICByZW5kZXJNYXJrZG93bjogKG5vZGUsIGgpID0+IHtcbiAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgY29uc3QgaHJlZiA9IChfYiA9IChfYSA9IG5vZGUuYXR0cnMpID09IG51bGwgPyB2b2lkIDAgOiBfYS5ocmVmKSAhPSBudWxsID8gX2IgOiBcIlwiO1xuICAgIGNvbnN0IHRpdGxlID0gKF9kID0gKF9jID0gbm9kZS5hdHRycykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jLnRpdGxlKSAhPSBudWxsID8gX2QgOiBcIlwiO1xuICAgIGNvbnN0IHRleHQgPSBoLnJlbmRlckNoaWxkcmVuKG5vZGUpO1xuICAgIHJldHVybiB0aXRsZSA/IGBbJHt0ZXh0fV0oJHtocmVmfSBcIiR7dGl0bGV9XCIpYCA6IGBbJHt0ZXh0fV0oJHtocmVmfSlgO1xuICB9LFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2V0TGluazogKGF0dHJpYnV0ZXMpID0+ICh7IGNoYWluIH0pID0+IHtcbiAgICAgICAgY29uc3QgeyBocmVmIH0gPSBhdHRyaWJ1dGVzO1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5pc0FsbG93ZWRVcmkoaHJlZiwge1xuICAgICAgICAgIGRlZmF1bHRWYWxpZGF0ZTogKHVybCkgPT4gISFpc0FsbG93ZWRVcmkodXJsLCB0aGlzLm9wdGlvbnMucHJvdG9jb2xzKSxcbiAgICAgICAgICBwcm90b2NvbHM6IHRoaXMub3B0aW9ucy5wcm90b2NvbHMsXG4gICAgICAgICAgZGVmYXVsdFByb3RvY29sOiB0aGlzLm9wdGlvbnMuZGVmYXVsdFByb3RvY29sXG4gICAgICAgIH0pKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjaGFpbigpLnNldE1hcmsodGhpcy5uYW1lLCBhdHRyaWJ1dGVzKS5zZXRNZXRhKFwicHJldmVudEF1dG9saW5rXCIsIHRydWUpLnJ1bigpO1xuICAgICAgfSxcbiAgICAgIHRvZ2dsZUxpbms6IChhdHRyaWJ1dGVzKSA9PiAoeyBjaGFpbiB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgaHJlZiB9ID0gYXR0cmlidXRlcyB8fCB7fTtcbiAgICAgICAgaWYgKGhyZWYgJiYgIXRoaXMub3B0aW9ucy5pc0FsbG93ZWRVcmkoaHJlZiwge1xuICAgICAgICAgIGRlZmF1bHRWYWxpZGF0ZTogKHVybCkgPT4gISFpc0FsbG93ZWRVcmkodXJsLCB0aGlzLm9wdGlvbnMucHJvdG9jb2xzKSxcbiAgICAgICAgICBwcm90b2NvbHM6IHRoaXMub3B0aW9ucy5wcm90b2NvbHMsXG4gICAgICAgICAgZGVmYXVsdFByb3RvY29sOiB0aGlzLm9wdGlvbnMuZGVmYXVsdFByb3RvY29sXG4gICAgICAgIH0pKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjaGFpbigpLnRvZ2dsZU1hcmsodGhpcy5uYW1lLCBhdHRyaWJ1dGVzLCB7IGV4dGVuZEVtcHR5TWFya1JhbmdlOiB0cnVlIH0pLnNldE1ldGEoXCJwcmV2ZW50QXV0b2xpbmtcIiwgdHJ1ZSkucnVuKCk7XG4gICAgICB9LFxuICAgICAgdW5zZXRMaW5rOiAoKSA9PiAoeyBjaGFpbiB9KSA9PiB7XG4gICAgICAgIHJldHVybiBjaGFpbigpLnVuc2V0TWFyayh0aGlzLm5hbWUsIHsgZXh0ZW5kRW1wdHlNYXJrUmFuZ2U6IHRydWUgfSkuc2V0TWV0YShcInByZXZlbnRBdXRvbGlua1wiLCB0cnVlKS5ydW4oKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBhZGRQYXN0ZVJ1bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBtYXJrUGFzdGVSdWxlKHtcbiAgICAgICAgZmluZDogKHRleHQpID0+IHtcbiAgICAgICAgICBjb25zdCBmb3VuZExpbmtzID0gW107XG4gICAgICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgcHJvdG9jb2xzLCBkZWZhdWx0UHJvdG9jb2wgfSA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgICAgIGNvbnN0IGxpbmtzID0gZmluZDIodGV4dCkuZmlsdGVyKFxuICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5pc0xpbmsgJiYgdGhpcy5vcHRpb25zLmlzQWxsb3dlZFVyaShpdGVtLnZhbHVlLCB7XG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbGlkYXRlOiAoaHJlZikgPT4gISFpc0FsbG93ZWRVcmkoaHJlZiwgcHJvdG9jb2xzKSxcbiAgICAgICAgICAgICAgICBwcm90b2NvbHMsXG4gICAgICAgICAgICAgICAgZGVmYXVsdFByb3RvY29sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGxpbmtzLmxlbmd0aCkge1xuICAgICAgICAgICAgICBsaW5rcy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuc2hvdWxkQXV0b0xpbmsobGluay52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm91bmRMaW5rcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgIHRleHQ6IGxpbmsudmFsdWUsXG4gICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGhyZWY6IGxpbmsuaHJlZlxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGluZGV4OiBsaW5rLnN0YXJ0XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZm91bmRMaW5rcztcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICBnZXRBdHRyaWJ1dGVzOiAobWF0Y2gpID0+IHtcbiAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhyZWY6IChfYSA9IG1hdGNoLmRhdGEpID09IG51bGwgPyB2b2lkIDAgOiBfYS5ocmVmXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICBdO1xuICB9LFxuICBhZGRQcm9zZU1pcnJvclBsdWdpbnMoKSB7XG4gICAgY29uc3QgcGx1Z2lucyA9IFtdO1xuICAgIGNvbnN0IHsgcHJvdG9jb2xzLCBkZWZhdWx0UHJvdG9jb2wgfSA9IHRoaXMub3B0aW9ucztcbiAgICBpZiAodGhpcy5vcHRpb25zLmF1dG9saW5rKSB7XG4gICAgICBwbHVnaW5zLnB1c2goXG4gICAgICAgIGF1dG9saW5rKHtcbiAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgICAgZGVmYXVsdFByb3RvY29sOiB0aGlzLm9wdGlvbnMuZGVmYXVsdFByb3RvY29sLFxuICAgICAgICAgIHZhbGlkYXRlOiAodXJsKSA9PiB0aGlzLm9wdGlvbnMuaXNBbGxvd2VkVXJpKHVybCwge1xuICAgICAgICAgICAgZGVmYXVsdFZhbGlkYXRlOiAoaHJlZikgPT4gISFpc0FsbG93ZWRVcmkoaHJlZiwgcHJvdG9jb2xzKSxcbiAgICAgICAgICAgIHByb3RvY29scyxcbiAgICAgICAgICAgIGRlZmF1bHRQcm90b2NvbFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHNob3VsZEF1dG9MaW5rOiB0aGlzLm9wdGlvbnMuc2hvdWxkQXV0b0xpbmtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHBsdWdpbnMucHVzaChcbiAgICAgIGNsaWNrSGFuZGxlcih7XG4gICAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvcixcbiAgICAgICAgb3Blbk9uQ2xpY2s6IHRoaXMub3B0aW9ucy5vcGVuT25DbGljayA9PT0gXCJ3aGVuTm90RWRpdGFibGVcIiA/IHRydWUgOiB0aGlzLm9wdGlvbnMub3Blbk9uQ2xpY2ssXG4gICAgICAgIGVuYWJsZUNsaWNrU2VsZWN0aW9uOiB0aGlzLm9wdGlvbnMuZW5hYmxlQ2xpY2tTZWxlY3Rpb25cbiAgICAgIH0pXG4gICAgKTtcbiAgICBpZiAodGhpcy5vcHRpb25zLmxpbmtPblBhc3RlKSB7XG4gICAgICBwbHVnaW5zLnB1c2goXG4gICAgICAgIHBhc3RlSGFuZGxlcih7XG4gICAgICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvcixcbiAgICAgICAgICBkZWZhdWx0UHJvdG9jb2w6IHRoaXMub3B0aW9ucy5kZWZhdWx0UHJvdG9jb2wsXG4gICAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICAgIHNob3VsZEF1dG9MaW5rOiB0aGlzLm9wdGlvbnMuc2hvdWxkQXV0b0xpbmtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBwbHVnaW5zO1xuICB9XG59KTtcblxuLy8gc3JjL2luZGV4LnRzXG52YXIgaW5kZXhfZGVmYXVsdCA9IExpbms7XG5leHBvcnQge1xuICBMaW5rLFxuICBpbmRleF9kZWZhdWx0IGFzIGRlZmF1bHQsXG4gIGlzQWxsb3dlZFVyaSxcbiAgcGFzdGVSZWdleFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-link/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-list/dist/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/@tiptap/extension-list/dist/index.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BulletList: () => (/* binding */ BulletList),\n/* harmony export */ ListItem: () => (/* binding */ ListItem),\n/* harmony export */ ListKeymap: () => (/* binding */ ListKeymap),\n/* harmony export */ ListKit: () => (/* binding */ ListKit),\n/* harmony export */ OrderedList: () => (/* binding */ OrderedList),\n/* harmony export */ TaskItem: () => (/* binding */ TaskItem),\n/* harmony export */ TaskList: () => (/* binding */ TaskList),\n/* harmony export */ bulletListInputRegex: () => (/* binding */ bulletListInputRegex),\n/* harmony export */ inputRegex: () => (/* binding */ inputRegex),\n/* harmony export */ listHelpers: () => (/* binding */ listHelpers_exports),\n/* harmony export */ orderedListInputRegex: () => (/* binding */ orderedListInputRegex)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\nvar __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/bullet-list/bullet-list.ts\n\nvar ListItemName = \"listItem\";\nvar TextStyleName = \"textStyle\";\nvar bulletListInputRegex = /^\\s*([-+*])\\s$/;\nvar BulletList = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Node.create({\n name: \"bulletList\",\n addOptions() {\n return {\n itemTypeName: \"listItem\",\n HTMLAttributes: {},\n keepMarks: false,\n keepAttributes: false\n };\n },\n group: \"block list\",\n content() {\n return `${this.options.itemTypeName}+`;\n },\n parseHTML() {\n return [{ tag: \"ul\" }];\n },\n renderHTML({ HTMLAttributes }) {\n return [\"ul\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n markdownTokenName: \"list\",\n parseMarkdown: (token, helpers) => {\n if (token.type !== \"list\" || token.ordered) {\n return [];\n }\n return {\n type: \"bulletList\",\n content: token.items ? helpers.parseChildren(token.items) : []\n };\n },\n renderMarkdown: (node, h) => {\n if (!node.content) {\n return \"\";\n }\n return h.renderChildren(node.content, \"\\n\");\n },\n markdownOptions: {\n indentsContent: true\n },\n addCommands() {\n return {\n toggleBulletList: () => ({ commands, chain }) => {\n if (this.options.keepAttributes) {\n return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName, this.editor.getAttributes(TextStyleName)).run();\n }\n return commands.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);\n }\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-Shift-8\": () => this.editor.commands.toggleBulletList()\n };\n },\n addInputRules() {\n let inputRule = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.wrappingInputRule)({\n find: bulletListInputRegex,\n type: this.type\n });\n if (this.options.keepMarks || this.options.keepAttributes) {\n inputRule = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.wrappingInputRule)({\n find: bulletListInputRegex,\n type: this.type,\n keepMarks: this.options.keepMarks,\n keepAttributes: this.options.keepAttributes,\n getAttributes: () => {\n return this.editor.getAttributes(TextStyleName);\n },\n editor: this.editor\n });\n }\n return [inputRule];\n }\n});\n\n// src/item/list-item.ts\n\nvar ListItem = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Node.create({\n name: \"listItem\",\n addOptions() {\n return {\n HTMLAttributes: {},\n bulletListTypeName: \"bulletList\",\n orderedListTypeName: \"orderedList\"\n };\n },\n content: \"paragraph block*\",\n defining: true,\n parseHTML() {\n return [\n {\n tag: \"li\"\n }\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return [\"li\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n markdownTokenName: \"list_item\",\n parseMarkdown: (token, helpers) => {\n if (token.type !== \"list_item\") {\n return [];\n }\n let content = [];\n if (token.tokens && token.tokens.length > 0) {\n const hasParagraphTokens = token.tokens.some((t) => t.type === \"paragraph\");\n if (hasParagraphTokens) {\n content = helpers.parseChildren(token.tokens);\n } else {\n const firstToken = token.tokens[0];\n if (firstToken && firstToken.type === \"text\" && firstToken.tokens && firstToken.tokens.length > 0) {\n const inlineContent = helpers.parseInline(firstToken.tokens);\n content = [\n {\n type: \"paragraph\",\n content: inlineContent\n }\n ];\n if (token.tokens.length > 1) {\n const remainingTokens = token.tokens.slice(1);\n const additionalContent = helpers.parseChildren(remainingTokens);\n content.push(...additionalContent);\n }\n } else {\n content = helpers.parseChildren(token.tokens);\n }\n }\n }\n if (content.length === 0) {\n content = [\n {\n type: \"paragraph\",\n content: []\n }\n ];\n }\n return {\n type: \"listItem\",\n content\n };\n },\n renderMarkdown: (node, h, ctx) => {\n return (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.renderNestedMarkdownContent)(\n node,\n h,\n (context) => {\n var _a, _b;\n if (context.parentType === \"bulletList\") {\n return \"- \";\n }\n if (context.parentType === \"orderedList\") {\n const start = ((_b = (_a = context.meta) == null ? void 0 : _a.parentAttrs) == null ? void 0 : _b.start) || 1;\n return `${start + context.index}. `;\n }\n return \"- \";\n },\n ctx\n );\n },\n addKeyboardShortcuts() {\n return {\n Enter: () => this.editor.commands.splitListItem(this.name),\n Tab: () => this.editor.commands.sinkListItem(this.name),\n \"Shift-Tab\": () => this.editor.commands.liftListItem(this.name)\n };\n }\n});\n\n// src/keymap/list-keymap.ts\n\n\n// src/keymap/listHelpers/index.ts\nvar listHelpers_exports = {};\n__export(listHelpers_exports, {\n findListItemPos: () => findListItemPos,\n getNextListDepth: () => getNextListDepth,\n handleBackspace: () => handleBackspace,\n handleDelete: () => handleDelete,\n hasListBefore: () => hasListBefore,\n hasListItemAfter: () => hasListItemAfter,\n hasListItemBefore: () => hasListItemBefore,\n listItemHasSubList: () => listItemHasSubList,\n nextListIsDeeper: () => nextListIsDeeper,\n nextListIsHigher: () => nextListIsHigher\n});\n\n// src/keymap/listHelpers/findListItemPos.ts\n\nvar findListItemPos = (typeOrName, state) => {\n const { $from } = state.selection;\n const nodeType = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.getNodeType)(typeOrName, state.schema);\n let currentNode = null;\n let currentDepth = $from.depth;\n let currentPos = $from.pos;\n let targetDepth = null;\n while (currentDepth > 0 && targetDepth === null) {\n currentNode = $from.node(currentDepth);\n if (currentNode.type === nodeType) {\n targetDepth = currentDepth;\n } else {\n currentDepth -= 1;\n currentPos -= 1;\n }\n }\n if (targetDepth === null) {\n return null;\n }\n return { $pos: state.doc.resolve(currentPos), depth: targetDepth };\n};\n\n// src/keymap/listHelpers/getNextListDepth.ts\n\nvar getNextListDepth = (typeOrName, state) => {\n const listItemPos = findListItemPos(typeOrName, state);\n if (!listItemPos) {\n return false;\n }\n const [, depth] = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.getNodeAtPosition)(state, typeOrName, listItemPos.$pos.pos + 4);\n return depth;\n};\n\n// src/keymap/listHelpers/handleBackspace.ts\n\n\n// src/keymap/listHelpers/hasListBefore.ts\nvar hasListBefore = (editorState, name, parentListTypes) => {\n const { $anchor } = editorState.selection;\n const previousNodePos = Math.max(0, $anchor.pos - 2);\n const previousNode = editorState.doc.resolve(previousNodePos).node();\n if (!previousNode || !parentListTypes.includes(previousNode.type.name)) {\n return false;\n }\n return true;\n};\n\n// src/keymap/listHelpers/hasListItemBefore.ts\nvar hasListItemBefore = (typeOrName, state) => {\n var _a;\n const { $anchor } = state.selection;\n const $targetPos = state.doc.resolve($anchor.pos - 2);\n if ($targetPos.index() === 0) {\n return false;\n }\n if (((_a = $targetPos.nodeBefore) == null ? void 0 : _a.type.name) !== typeOrName) {\n return false;\n }\n return true;\n};\n\n// src/keymap/listHelpers/listItemHasSubList.ts\n\nvar listItemHasSubList = (typeOrName, state, node) => {\n if (!node) {\n return false;\n }\n const nodeType = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.getNodeType)(typeOrName, state.schema);\n let hasSubList = false;\n node.descendants((child) => {\n if (child.type === nodeType) {\n hasSubList = true;\n }\n });\n return hasSubList;\n};\n\n// src/keymap/listHelpers/handleBackspace.ts\nvar handleBackspace = (editor, name, parentListTypes) => {\n if (editor.commands.undoInputRule()) {\n return true;\n }\n if (editor.state.selection.from !== editor.state.selection.to) {\n return false;\n }\n if (!(0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.isNodeActive)(editor.state, name) && hasListBefore(editor.state, name, parentListTypes)) {\n const { $anchor } = editor.state.selection;\n const $listPos = editor.state.doc.resolve($anchor.before() - 1);\n const listDescendants = [];\n $listPos.node().descendants((node, pos) => {\n if (node.type.name === name) {\n listDescendants.push({ node, pos });\n }\n });\n const lastItem = listDescendants.at(-1);\n if (!lastItem) {\n return false;\n }\n const $lastItemPos = editor.state.doc.resolve($listPos.start() + lastItem.pos + 1);\n return editor.chain().cut({ from: $anchor.start() - 1, to: $anchor.end() + 1 }, $lastItemPos.end()).joinForward().run();\n }\n if (!(0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.isNodeActive)(editor.state, name)) {\n return false;\n }\n if (!(0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.isAtStartOfNode)(editor.state)) {\n return false;\n }\n const listItemPos = findListItemPos(name, editor.state);\n if (!listItemPos) {\n return false;\n }\n const $prev = editor.state.doc.resolve(listItemPos.$pos.pos - 2);\n const prevNode = $prev.node(listItemPos.depth);\n const previousListItemHasSubList = listItemHasSubList(name, editor.state, prevNode);\n if (hasListItemBefore(name, editor.state) && !previousListItemHasSubList) {\n return editor.commands.joinItemBackward();\n }\n return editor.chain().liftListItem(name).run();\n};\n\n// src/keymap/listHelpers/handleDelete.ts\n\n\n// src/keymap/listHelpers/nextListIsDeeper.ts\nvar nextListIsDeeper = (typeOrName, state) => {\n const listDepth = getNextListDepth(typeOrName, state);\n const listItemPos = findListItemPos(typeOrName, state);\n if (!listItemPos || !listDepth) {\n return false;\n }\n if (listDepth > listItemPos.depth) {\n return true;\n }\n return false;\n};\n\n// src/keymap/listHelpers/nextListIsHigher.ts\nvar nextListIsHigher = (typeOrName, state) => {\n const listDepth = getNextListDepth(typeOrName, state);\n const listItemPos = findListItemPos(typeOrName, state);\n if (!listItemPos || !listDepth) {\n return false;\n }\n if (listDepth < listItemPos.depth) {\n return true;\n }\n return false;\n};\n\n// src/keymap/listHelpers/handleDelete.ts\nvar handleDelete = (editor, name) => {\n if (!(0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.isNodeActive)(editor.state, name)) {\n return false;\n }\n if (!(0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.isAtEndOfNode)(editor.state, name)) {\n return false;\n }\n const { selection } = editor.state;\n const { $from, $to } = selection;\n if (!selection.empty && $from.sameParent($to)) {\n return false;\n }\n if (nextListIsDeeper(name, editor.state)) {\n return editor.chain().focus(editor.state.selection.from + 4).lift(name).joinBackward().run();\n }\n if (nextListIsHigher(name, editor.state)) {\n return editor.chain().joinForward().joinBackward().run();\n }\n return editor.commands.joinItemForward();\n};\n\n// src/keymap/listHelpers/hasListItemAfter.ts\nvar hasListItemAfter = (typeOrName, state) => {\n var _a;\n const { $anchor } = state.selection;\n const $targetPos = state.doc.resolve($anchor.pos - $anchor.parentOffset - 2);\n if ($targetPos.index() === $targetPos.parent.childCount - 1) {\n return false;\n }\n if (((_a = $targetPos.nodeAfter) == null ? void 0 : _a.type.name) !== typeOrName) {\n return false;\n }\n return true;\n};\n\n// src/keymap/list-keymap.ts\nvar ListKeymap = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Extension.create({\n name: \"listKeymap\",\n addOptions() {\n return {\n listTypes: [\n {\n itemName: \"listItem\",\n wrapperNames: [\"bulletList\", \"orderedList\"]\n },\n {\n itemName: \"taskItem\",\n wrapperNames: [\"taskList\"]\n }\n ]\n };\n },\n addKeyboardShortcuts() {\n return {\n Delete: ({ editor }) => {\n let handled = false;\n this.options.listTypes.forEach(({ itemName }) => {\n if (editor.state.schema.nodes[itemName] === void 0) {\n return;\n }\n if (handleDelete(editor, itemName)) {\n handled = true;\n }\n });\n return handled;\n },\n \"Mod-Delete\": ({ editor }) => {\n let handled = false;\n this.options.listTypes.forEach(({ itemName }) => {\n if (editor.state.schema.nodes[itemName] === void 0) {\n return;\n }\n if (handleDelete(editor, itemName)) {\n handled = true;\n }\n });\n return handled;\n },\n Backspace: ({ editor }) => {\n let handled = false;\n this.options.listTypes.forEach(({ itemName, wrapperNames }) => {\n if (editor.state.schema.nodes[itemName] === void 0) {\n return;\n }\n if (handleBackspace(editor, itemName, wrapperNames)) {\n handled = true;\n }\n });\n return handled;\n },\n \"Mod-Backspace\": ({ editor }) => {\n let handled = false;\n this.options.listTypes.forEach(({ itemName, wrapperNames }) => {\n if (editor.state.schema.nodes[itemName] === void 0) {\n return;\n }\n if (handleBackspace(editor, itemName, wrapperNames)) {\n handled = true;\n }\n });\n return handled;\n }\n };\n }\n});\n\n// src/kit/index.ts\n\n\n// src/ordered-list/ordered-list.ts\n\n\n// src/ordered-list/utils.ts\nvar ORDERED_LIST_ITEM_REGEX = /^(\\s*)(\\d+)\\.\\s+(.*)$/;\nvar INDENTED_LINE_REGEX = /^\\s/;\nfunction collectOrderedListItems(lines) {\n const listItems = [];\n let currentLineIndex = 0;\n let consumed = 0;\n while (currentLineIndex < lines.length) {\n const line = lines[currentLineIndex];\n const match = line.match(ORDERED_LIST_ITEM_REGEX);\n if (!match) {\n break;\n }\n const [, indent, number, content] = match;\n const indentLevel = indent.length;\n let itemContent = content;\n let nextLineIndex = currentLineIndex + 1;\n const itemLines = [line];\n while (nextLineIndex < lines.length) {\n const nextLine = lines[nextLineIndex];\n const nextMatch = nextLine.match(ORDERED_LIST_ITEM_REGEX);\n if (nextMatch) {\n break;\n }\n if (nextLine.trim() === \"\") {\n itemLines.push(nextLine);\n itemContent += \"\\n\";\n nextLineIndex += 1;\n } else if (nextLine.match(INDENTED_LINE_REGEX)) {\n itemLines.push(nextLine);\n itemContent += `\n${nextLine.slice(indentLevel + 2)}`;\n nextLineIndex += 1;\n } else {\n break;\n }\n }\n listItems.push({\n indent: indentLevel,\n number: parseInt(number, 10),\n content: itemContent.trim(),\n raw: itemLines.join(\"\\n\")\n });\n consumed = nextLineIndex;\n currentLineIndex = nextLineIndex;\n }\n return [listItems, consumed];\n}\nfunction buildNestedStructure(items, baseIndent, lexer) {\n var _a;\n const result = [];\n let currentIndex = 0;\n while (currentIndex < items.length) {\n const item = items[currentIndex];\n if (item.indent === baseIndent) {\n const contentLines = item.content.split(\"\\n\");\n const mainText = ((_a = contentLines[0]) == null ? void 0 : _a.trim()) || \"\";\n const tokens = [];\n if (mainText) {\n tokens.push({\n type: \"paragraph\",\n raw: mainText,\n tokens: lexer.inlineTokens(mainText)\n });\n }\n const additionalContent = contentLines.slice(1).join(\"\\n\").trim();\n if (additionalContent) {\n const blockTokens = lexer.blockTokens(additionalContent);\n tokens.push(...blockTokens);\n }\n let lookAheadIndex = currentIndex + 1;\n const nestedItems = [];\n while (lookAheadIndex < items.length && items[lookAheadIndex].indent > baseIndent) {\n nestedItems.push(items[lookAheadIndex]);\n lookAheadIndex += 1;\n }\n if (nestedItems.length > 0) {\n const nextIndent = Math.min(...nestedItems.map((nestedItem) => nestedItem.indent));\n const nestedListItems = buildNestedStructure(nestedItems, nextIndent, lexer);\n tokens.push({\n type: \"list\",\n ordered: true,\n start: nestedItems[0].number,\n items: nestedListItems,\n raw: nestedItems.map((nestedItem) => nestedItem.raw).join(\"\\n\")\n });\n }\n result.push({\n type: \"list_item\",\n raw: item.raw,\n tokens\n });\n currentIndex = lookAheadIndex;\n } else {\n currentIndex += 1;\n }\n }\n return result;\n}\nfunction parseListItems(items, helpers) {\n return items.map((item) => {\n if (item.type !== \"list_item\") {\n return helpers.parseChildren([item])[0];\n }\n const content = [];\n if (item.tokens && item.tokens.length > 0) {\n item.tokens.forEach((itemToken) => {\n if (itemToken.type === \"paragraph\" || itemToken.type === \"list\" || itemToken.type === \"blockquote\" || itemToken.type === \"code\") {\n content.push(...helpers.parseChildren([itemToken]));\n } else if (itemToken.type === \"text\" && itemToken.tokens) {\n const inlineContent = helpers.parseChildren([itemToken]);\n content.push({\n type: \"paragraph\",\n content: inlineContent\n });\n } else {\n const parsed = helpers.parseChildren([itemToken]);\n if (parsed.length > 0) {\n content.push(...parsed);\n }\n }\n });\n }\n return {\n type: \"listItem\",\n content\n };\n });\n}\n\n// src/ordered-list/ordered-list.ts\nvar ListItemName2 = \"listItem\";\nvar TextStyleName2 = \"textStyle\";\nvar orderedListInputRegex = /^(\\d+)\\.\\s$/;\nvar OrderedList = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Node.create({\n name: \"orderedList\",\n addOptions() {\n return {\n itemTypeName: \"listItem\",\n HTMLAttributes: {},\n keepMarks: false,\n keepAttributes: false\n };\n },\n group: \"block list\",\n content() {\n return `${this.options.itemTypeName}+`;\n },\n addAttributes() {\n return {\n start: {\n default: 1,\n parseHTML: (element) => {\n return element.hasAttribute(\"start\") ? parseInt(element.getAttribute(\"start\") || \"\", 10) : 1;\n }\n },\n type: {\n default: null,\n parseHTML: (element) => element.getAttribute(\"type\")\n }\n };\n },\n parseHTML() {\n return [\n {\n tag: \"ol\"\n }\n ];\n },\n renderHTML({ HTMLAttributes }) {\n const { start, ...attributesWithoutStart } = HTMLAttributes;\n return start === 1 ? [\"ol\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, attributesWithoutStart), 0] : [\"ol\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n markdownTokenName: \"list\",\n parseMarkdown: (token, helpers) => {\n if (token.type !== \"list\" || !token.ordered) {\n return [];\n }\n const startValue = token.start || 1;\n const content = token.items ? parseListItems(token.items, helpers) : [];\n if (startValue !== 1) {\n return {\n type: \"orderedList\",\n attrs: { start: startValue },\n content\n };\n }\n return {\n type: \"orderedList\",\n content\n };\n },\n renderMarkdown: (node, h) => {\n if (!node.content) {\n return \"\";\n }\n return h.renderChildren(node.content, \"\\n\");\n },\n markdownTokenizer: {\n name: \"orderedList\",\n level: \"block\",\n start: (src) => {\n const match = src.match(/^(\\s*)(\\d+)\\.\\s+/);\n const index = match == null ? void 0 : match.index;\n return index !== void 0 ? index : -1;\n },\n tokenize: (src, _tokens, lexer) => {\n var _a;\n const lines = src.split(\"\\n\");\n const [listItems, consumed] = collectOrderedListItems(lines);\n if (listItems.length === 0) {\n return void 0;\n }\n const items = buildNestedStructure(listItems, 0, lexer);\n if (items.length === 0) {\n return void 0;\n }\n const startValue = ((_a = listItems[0]) == null ? void 0 : _a.number) || 1;\n return {\n type: \"list\",\n ordered: true,\n start: startValue,\n items,\n raw: lines.slice(0, consumed).join(\"\\n\")\n };\n }\n },\n markdownOptions: {\n indentsContent: true\n },\n addCommands() {\n return {\n toggleOrderedList: () => ({ commands, chain }) => {\n if (this.options.keepAttributes) {\n return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName2, this.editor.getAttributes(TextStyleName2)).run();\n }\n return commands.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);\n }\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-Shift-7\": () => this.editor.commands.toggleOrderedList()\n };\n },\n addInputRules() {\n let inputRule = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.wrappingInputRule)({\n find: orderedListInputRegex,\n type: this.type,\n getAttributes: (match) => ({ start: +match[1] }),\n joinPredicate: (match, node) => node.childCount + node.attrs.start === +match[1]\n });\n if (this.options.keepMarks || this.options.keepAttributes) {\n inputRule = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.wrappingInputRule)({\n find: orderedListInputRegex,\n type: this.type,\n keepMarks: this.options.keepMarks,\n keepAttributes: this.options.keepAttributes,\n getAttributes: (match) => ({ start: +match[1], ...this.editor.getAttributes(TextStyleName2) }),\n joinPredicate: (match, node) => node.childCount + node.attrs.start === +match[1],\n editor: this.editor\n });\n }\n return [inputRule];\n }\n});\n\n// src/task-item/task-item.ts\n\nvar inputRegex = /^\\s*(\\[([( |x])?\\])\\s$/;\nvar TaskItem = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Node.create({\n name: \"taskItem\",\n addOptions() {\n return {\n nested: false,\n HTMLAttributes: {},\n taskListTypeName: \"taskList\",\n a11y: void 0\n };\n },\n content() {\n return this.options.nested ? \"paragraph block*\" : \"paragraph+\";\n },\n defining: true,\n addAttributes() {\n return {\n checked: {\n default: false,\n keepOnSplit: false,\n parseHTML: (element) => {\n const dataChecked = element.getAttribute(\"data-checked\");\n return dataChecked === \"\" || dataChecked === \"true\";\n },\n renderHTML: (attributes) => ({\n \"data-checked\": attributes.checked\n })\n }\n };\n },\n parseHTML() {\n return [\n {\n tag: `li[data-type=\"${this.name}\"]`,\n priority: 51\n }\n ];\n },\n renderHTML({ node, HTMLAttributes }) {\n return [\n \"li\",\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes, {\n \"data-type\": this.name\n }),\n [\n \"label\",\n [\n \"input\",\n {\n type: \"checkbox\",\n checked: node.attrs.checked ? \"checked\" : null\n }\n ],\n [\"span\"]\n ],\n [\"div\", 0]\n ];\n },\n parseMarkdown: (token, h) => {\n const content = [];\n if (token.tokens && token.tokens.length > 0) {\n content.push(h.createNode(\"paragraph\", {}, h.parseInline(token.tokens)));\n } else if (token.text) {\n content.push(h.createNode(\"paragraph\", {}, [h.createNode(\"text\", { text: token.text })]));\n } else {\n content.push(h.createNode(\"paragraph\", {}, []));\n }\n if (token.nestedTokens && token.nestedTokens.length > 0) {\n const nestedContent = h.parseChildren(token.nestedTokens);\n content.push(...nestedContent);\n }\n return h.createNode(\"taskItem\", { checked: token.checked || false }, content);\n },\n renderMarkdown: (node, h) => {\n var _a;\n const checkedChar = ((_a = node.attrs) == null ? void 0 : _a.checked) ? \"x\" : \" \";\n const prefix = `- [${checkedChar}] `;\n return (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.renderNestedMarkdownContent)(node, h, prefix);\n },\n addKeyboardShortcuts() {\n const shortcuts = {\n Enter: () => this.editor.commands.splitListItem(this.name),\n \"Shift-Tab\": () => this.editor.commands.liftListItem(this.name)\n };\n if (!this.options.nested) {\n return shortcuts;\n }\n return {\n ...shortcuts,\n Tab: () => this.editor.commands.sinkListItem(this.name)\n };\n },\n addNodeView() {\n return ({ node, HTMLAttributes, getPos, editor }) => {\n const listItem = document.createElement(\"li\");\n const checkboxWrapper = document.createElement(\"label\");\n const checkboxStyler = document.createElement(\"span\");\n const checkbox = document.createElement(\"input\");\n const content = document.createElement(\"div\");\n const updateA11Y = (currentNode) => {\n var _a, _b;\n checkbox.ariaLabel = ((_b = (_a = this.options.a11y) == null ? void 0 : _a.checkboxLabel) == null ? void 0 : _b.call(_a, currentNode, checkbox.checked)) || `Task item checkbox for ${currentNode.textContent || \"empty task item\"}`;\n };\n updateA11Y(node);\n checkboxWrapper.contentEditable = \"false\";\n checkbox.type = \"checkbox\";\n checkbox.addEventListener(\"mousedown\", (event) => event.preventDefault());\n checkbox.addEventListener(\"change\", (event) => {\n if (!editor.isEditable && !this.options.onReadOnlyChecked) {\n checkbox.checked = !checkbox.checked;\n return;\n }\n const { checked } = event.target;\n if (editor.isEditable && typeof getPos === \"function\") {\n editor.chain().focus(void 0, { scrollIntoView: false }).command(({ tr }) => {\n const position = getPos();\n if (typeof position !== \"number\") {\n return false;\n }\n const currentNode = tr.doc.nodeAt(position);\n tr.setNodeMarkup(position, void 0, {\n ...currentNode == null ? void 0 : currentNode.attrs,\n checked\n });\n return true;\n }).run();\n }\n if (!editor.isEditable && this.options.onReadOnlyChecked) {\n if (!this.options.onReadOnlyChecked(node, checked)) {\n checkbox.checked = !checkbox.checked;\n }\n }\n });\n Object.entries(this.options.HTMLAttributes).forEach(([key, value]) => {\n listItem.setAttribute(key, value);\n });\n listItem.dataset.checked = node.attrs.checked;\n checkbox.checked = node.attrs.checked;\n checkboxWrapper.append(checkbox, checkboxStyler);\n listItem.append(checkboxWrapper, content);\n Object.entries(HTMLAttributes).forEach(([key, value]) => {\n listItem.setAttribute(key, value);\n });\n let prevRenderedAttributeKeys = new Set(Object.keys(HTMLAttributes));\n return {\n dom: listItem,\n contentDOM: content,\n update: (updatedNode) => {\n if (updatedNode.type !== this.type) {\n return false;\n }\n listItem.dataset.checked = updatedNode.attrs.checked;\n checkbox.checked = updatedNode.attrs.checked;\n updateA11Y(updatedNode);\n const extensionAttributes = editor.extensionManager.attributes;\n const newHTMLAttributes = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.getRenderedAttributes)(updatedNode, extensionAttributes);\n const newKeys = new Set(Object.keys(newHTMLAttributes));\n const staticAttrs = this.options.HTMLAttributes;\n prevRenderedAttributeKeys.forEach((key) => {\n if (!newKeys.has(key)) {\n if (key in staticAttrs) {\n listItem.setAttribute(key, staticAttrs[key]);\n } else {\n listItem.removeAttribute(key);\n }\n }\n });\n Object.entries(newHTMLAttributes).forEach(([key, value]) => {\n if (value === null || value === void 0) {\n if (key in staticAttrs) {\n listItem.setAttribute(key, staticAttrs[key]);\n } else {\n listItem.removeAttribute(key);\n }\n } else {\n listItem.setAttribute(key, value);\n }\n });\n prevRenderedAttributeKeys = newKeys;\n return true;\n }\n };\n };\n },\n addInputRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.wrappingInputRule)({\n find: inputRegex,\n type: this.type,\n getAttributes: (match) => ({\n checked: match[match.length - 1] === \"x\"\n })\n })\n ];\n }\n});\n\n// src/task-list/task-list.ts\n\nvar TaskList = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Node.create({\n name: \"taskList\",\n addOptions() {\n return {\n itemTypeName: \"taskItem\",\n HTMLAttributes: {}\n };\n },\n group: \"block list\",\n content() {\n return `${this.options.itemTypeName}+`;\n },\n parseHTML() {\n return [\n {\n tag: `ul[data-type=\"${this.name}\"]`,\n priority: 51\n }\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return [\"ul\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes, { \"data-type\": this.name }), 0];\n },\n parseMarkdown: (token, h) => {\n return h.createNode(\"taskList\", {}, h.parseChildren(token.items || []));\n },\n renderMarkdown: (node, h) => {\n if (!node.content) {\n return \"\";\n }\n return h.renderChildren(node.content, \"\\n\");\n },\n markdownTokenizer: {\n name: \"taskList\",\n level: \"block\",\n start(src) {\n var _a;\n const index = (_a = src.match(/^\\s*[-+*]\\s+\\[([ xX])\\]\\s+/)) == null ? void 0 : _a.index;\n return index !== void 0 ? index : -1;\n },\n tokenize(src, tokens, lexer) {\n const parseTaskListContent = (content) => {\n const nestedResult = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.parseIndentedBlocks)(\n content,\n {\n itemPattern: /^(\\s*)([-+*])\\s+\\[([ xX])\\]\\s+(.*)$/,\n extractItemData: (match) => ({\n indentLevel: match[1].length,\n mainContent: match[4],\n checked: match[3].toLowerCase() === \"x\"\n }),\n createToken: (data, nestedTokens) => ({\n type: \"taskItem\",\n raw: \"\",\n mainContent: data.mainContent,\n indentLevel: data.indentLevel,\n checked: data.checked,\n text: data.mainContent,\n tokens: lexer.inlineTokens(data.mainContent),\n nestedTokens\n }),\n // Allow recursive nesting\n customNestedParser: parseTaskListContent\n },\n lexer\n );\n if (nestedResult) {\n return [\n {\n type: \"taskList\",\n raw: nestedResult.raw,\n items: nestedResult.items\n }\n ];\n }\n return lexer.blockTokens(content);\n };\n const result = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.parseIndentedBlocks)(\n src,\n {\n itemPattern: /^(\\s*)([-+*])\\s+\\[([ xX])\\]\\s+(.*)$/,\n extractItemData: (match) => ({\n indentLevel: match[1].length,\n mainContent: match[4],\n checked: match[3].toLowerCase() === \"x\"\n }),\n createToken: (data, nestedTokens) => ({\n type: \"taskItem\",\n raw: \"\",\n mainContent: data.mainContent,\n indentLevel: data.indentLevel,\n checked: data.checked,\n text: data.mainContent,\n tokens: lexer.inlineTokens(data.mainContent),\n nestedTokens\n }),\n // Use the recursive parser for nested content\n customNestedParser: parseTaskListContent\n },\n lexer\n );\n if (!result) {\n return void 0;\n }\n return {\n type: \"taskList\",\n raw: result.raw,\n items: result.items\n };\n }\n },\n markdownOptions: {\n indentsContent: true\n },\n addCommands() {\n return {\n toggleTaskList: () => ({ commands }) => {\n return commands.toggleList(this.name, this.options.itemTypeName);\n }\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-Shift-9\": () => this.editor.commands.toggleTaskList()\n };\n }\n});\n\n// src/kit/index.ts\nvar ListKit = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Extension.create({\n name: \"listKit\",\n addExtensions() {\n const extensions = [];\n if (this.options.bulletList !== false) {\n extensions.push(BulletList.configure(this.options.bulletList));\n }\n if (this.options.listItem !== false) {\n extensions.push(ListItem.configure(this.options.listItem));\n }\n if (this.options.listKeymap !== false) {\n extensions.push(ListKeymap.configure(this.options.listKeymap));\n }\n if (this.options.orderedList !== false) {\n extensions.push(OrderedList.configure(this.options.orderedList));\n }\n if (this.options.taskItem !== false) {\n extensions.push(TaskItem.configure(this.options.taskItem));\n }\n if (this.options.taskList !== false) {\n extensions.push(TaskList.configure(this.options.taskList));\n }\n return extensions;\n }\n});\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24tbGlzdC9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixrQ0FBa0M7QUFDaEU7O0FBRUE7QUFDd0U7QUFDeEU7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDhDQUFJO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsY0FBYywwQkFBMEI7QUFDeEMsR0FBRztBQUNIO0FBQ0EsY0FBYyxXQUFXO0FBQ3pCLEdBQUc7QUFDSCxlQUFlLGdCQUFnQjtBQUMvQixrQkFBa0IsNkRBQWU7QUFDakMsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLGlDQUFpQyxpQkFBaUI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0Esb0JBQW9CLCtEQUFpQjtBQUNyQztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esa0JBQWtCLCtEQUFpQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUMrRztBQUMvRyxlQUFlLDhDQUFLO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxlQUFlLGdCQUFnQjtBQUMvQixrQkFBa0IsNkRBQWdCO0FB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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE9BQU87QUFDUCx1QkFBdUIsUUFBUTtBQUMvQjtBQUNBLDBDQUEwQyxVQUFVO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE9BQU87QUFDUCxvQkFBb0IsUUFBUTtBQUM1QjtBQUNBLDBDQUEwQyx3QkFBd0I7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsT0FBTztBQUNQLDBCQUEwQixRQUFRO0FBQ2xDO0FBQ0EsMENBQTBDLHdCQUF3QjtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ3VEOztBQUV2RDtBQUMySDs7QUFFM0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEVBQUUsZ0NBQWdDO0FBQ2xDO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE1BQU07QUFDTjtB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QWdCLGdEQUFnRCx3QkFBd0I7QUFDMUcsR0FBRztBQUNIO0FBQ0Esc0NBQXNDO0FBQ3RDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSw2QkFBNkIsaUVBQW1CO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlFQUFtQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLCtCQUErQixVQUFVO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBLGNBQWMsbURBQVU7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFhQztBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxleHRlbnNpb24tbGlzdFxcZGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2V4cG9ydCA9ICh0YXJnZXQsIGFsbCkgPT4ge1xuICBmb3IgKHZhciBuYW1lIGluIGFsbClcbiAgICBfX2RlZlByb3AodGFyZ2V0LCBuYW1lLCB7IGdldDogYWxsW25hbWVdLCBlbnVtZXJhYmxlOiB0cnVlIH0pO1xufTtcblxuLy8gc3JjL2J1bGxldC1saXN0L2J1bGxldC1saXN0LnRzXG5pbXBvcnQgeyBtZXJnZUF0dHJpYnV0ZXMsIE5vZGUsIHdyYXBwaW5nSW5wdXRSdWxlIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xudmFyIExpc3RJdGVtTmFtZSA9IFwibGlzdEl0ZW1cIjtcbnZhciBUZXh0U3R5bGVOYW1lID0gXCJ0ZXh0U3R5bGVcIjtcbnZhciBidWxsZXRMaXN0SW5wdXRSZWdleCA9IC9eXFxzKihbLSsqXSlcXHMkLztcbnZhciBCdWxsZXRMaXN0ID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiBcImJ1bGxldExpc3RcIixcbiAgYWRkT3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXRlbVR5cGVOYW1lOiBcImxpc3RJdGVtXCIsXG4gICAgICBIVE1MQXR0cmlidXRlczoge30sXG4gICAgICBrZWVwTWFya3M6IGZhbHNlLFxuICAgICAga2VlcEF0dHJpYnV0ZXM6IGZhbHNlXG4gICAgfTtcbiAgfSxcbiAgZ3JvdXA6IFwiYmxvY2sgbGlzdFwiLFxuICBjb250ZW50KCkge1xuICAgIHJldHVybiBgJHt0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lfStgO1xuICB9LFxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFt7IHRhZzogXCJ1bFwiIH1dO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXCJ1bFwiLCBtZXJnZUF0dHJpYnV0ZXModGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLCBIVE1MQXR0cmlidXRlcyksIDBdO1xuICB9LFxuICBtYXJrZG93blRva2VuTmFtZTogXCJsaXN0XCIsXG4gIHBhcnNlTWFya2Rvd246ICh0b2tlbiwgaGVscGVycykgPT4ge1xuICAgIGlmICh0b2tlbi50eXBlICE9PSBcImxpc3RcIiB8fCB0b2tlbi5vcmRlcmVkKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBcImJ1bGxldExpc3RcIixcbiAgICAgIGNvbnRlbnQ6IHRva2VuLml0ZW1zID8gaGVscGVycy5wYXJzZUNoaWxkcmVuKHRva2VuLml0ZW1zKSA6IFtdXG4gICAgfTtcbiAgfSxcbiAgcmVuZGVyTWFya2Rvd246IChub2RlLCBoKSA9PiB7XG4gICAgaWYgKCFub2RlLmNvbnRlbnQpIHtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICByZXR1cm4gaC5yZW5kZXJDaGlsZHJlbihub2RlLmNvbnRlbnQsIFwiXFxuXCIpO1xuICB9LFxuICBtYXJrZG93bk9wdGlvbnM6IHtcbiAgICBpbmRlbnRzQ29udGVudDogdHJ1ZVxuICB9LFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdG9nZ2xlQnVsbGV0TGlzdDogKCkgPT4gKHsgY29tbWFuZHMsIGNoYWluIH0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5rZWVwQXR0cmlidXRlcykge1xuICAgICAgICAgIHJldHVybiBjaGFpbigpLnRvZ2dsZUxpc3QodGhpcy5uYW1lLCB0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lLCB0aGlzLm9wdGlvbnMua2VlcE1hcmtzKS51cGRhdGVBdHRyaWJ1dGVzKExpc3RJdGVtTmFtZSwgdGhpcy5lZGl0b3IuZ2V0QXR0cmlidXRlcyhUZXh0U3R5bGVOYW1lKSkucnVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnRvZ2dsZUxpc3QodGhpcy5uYW1lLCB0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lLCB0aGlzLm9wdGlvbnMua2VlcE1hcmtzKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBhZGRLZXlib2FyZFNob3J0Y3V0cygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJNb2QtU2hpZnQtOFwiOiAoKSA9PiB0aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVCdWxsZXRMaXN0KClcbiAgICB9O1xuICB9LFxuICBhZGRJbnB1dFJ1bGVzKCkge1xuICAgIGxldCBpbnB1dFJ1bGUgPSB3cmFwcGluZ0lucHV0UnVsZSh7XG4gICAgICBmaW5kOiBidWxsZXRMaXN0SW5wdXRSZWdleCxcbiAgICAgIHR5cGU6IHRoaXMudHlwZVxuICAgIH0pO1xuICAgIGlmICh0aGlzLm9wdGlvbnMua2VlcE1hcmtzIHx8IHRoaXMub3B0aW9ucy5rZWVwQXR0cmlidXRlcykge1xuICAgICAgaW5wdXRSdWxlID0gd3JhcHBpbmdJbnB1dFJ1bGUoe1xuICAgICAgICBmaW5kOiBidWxsZXRMaXN0SW5wdXRSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICBrZWVwTWFya3M6IHRoaXMub3B0aW9ucy5rZWVwTWFya3MsXG4gICAgICAgIGtlZXBBdHRyaWJ1dGVzOiB0aGlzLm9wdGlvbnMua2VlcEF0dHJpYnV0ZXMsXG4gICAgICAgIGdldEF0dHJpYnV0ZXM6ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0QXR0cmlidXRlcyhUZXh0U3R5bGVOYW1lKTtcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvclxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBbaW5wdXRSdWxlXTtcbiAgfVxufSk7XG5cbi8vIHNyYy9pdGVtL2xpc3QtaXRlbS50c1xuaW1wb3J0IHsgbWVyZ2VBdHRyaWJ1dGVzIGFzIG1lcmdlQXR0cmlidXRlczIsIE5vZGUgYXMgTm9kZTIsIHJlbmRlck5lc3RlZE1hcmtkb3duQ29udGVudCB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbnZhciBMaXN0SXRlbSA9IE5vZGUyLmNyZWF0ZSh7XG4gIG5hbWU6IFwibGlzdEl0ZW1cIixcbiAgYWRkT3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgSFRNTEF0dHJpYnV0ZXM6IHt9LFxuICAgICAgYnVsbGV0TGlzdFR5cGVOYW1lOiBcImJ1bGxldExpc3RcIixcbiAgICAgIG9yZGVyZWRMaXN0VHlwZU5hbWU6IFwib3JkZXJlZExpc3RcIlxuICAgIH07XG4gIH0sXG4gIGNvbnRlbnQ6IFwicGFyYWdyYXBoIGJsb2NrKlwiLFxuICBkZWZpbmluZzogdHJ1ZSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogXCJsaVwiXG4gICAgICB9XG4gICAgXTtcbiAgfSxcbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICByZXR1cm4gW1wibGlcIiwgbWVyZ2VBdHRyaWJ1dGVzMih0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsIEhUTUxBdHRyaWJ1dGVzKSwgMF07XG4gIH0sXG4gIG1hcmtkb3duVG9rZW5OYW1lOiBcImxpc3RfaXRlbVwiLFxuICBwYXJzZU1hcmtkb3duOiAodG9rZW4sIGhlbHBlcnMpID0+IHtcbiAgICBpZiAodG9rZW4udHlwZSAhPT0gXCJsaXN0X2l0ZW1cIikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBsZXQgY29udGVudCA9IFtdO1xuICAgIGlmICh0b2tlbi50b2tlbnMgJiYgdG9rZW4udG9rZW5zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGhhc1BhcmFncmFwaFRva2VucyA9IHRva2VuLnRva2Vucy5zb21lKCh0KSA9PiB0LnR5cGUgPT09IFwicGFyYWdyYXBoXCIpO1xuICAgICAgaWYgKGhhc1BhcmFncmFwaFRva2Vucykge1xuICAgICAgICBjb250ZW50ID0gaGVscGVycy5wYXJzZUNoaWxkcmVuKHRva2VuLnRva2Vucyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBmaXJzdFRva2VuID0gdG9rZW4udG9rZW5zWzBdO1xuICAgICAgICBpZiAoZmlyc3RUb2tlbiAmJiBmaXJzdFRva2VuLnR5cGUgPT09IFwidGV4dFwiICYmIGZpcnN0VG9rZW4udG9rZW5zICYmIGZpcnN0VG9rZW4udG9rZW5zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb25zdCBpbmxpbmVDb250ZW50ID0gaGVscGVycy5wYXJzZUlubGluZShmaXJzdFRva2VuLnRva2Vucyk7XG4gICAgICAgICAgY29udGVudCA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogXCJwYXJhZ3JhcGhcIixcbiAgICAgICAgICAgICAgY29udGVudDogaW5saW5lQ29udGVudFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF07XG4gICAgICAgICAgaWYgKHRva2VuLnRva2Vucy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBjb25zdCByZW1haW5pbmdUb2tlbnMgPSB0b2tlbi50b2tlbnMuc2xpY2UoMSk7XG4gICAgICAgICAgICBjb25zdCBhZGRpdGlvbmFsQ29udGVudCA9IGhlbHBlcnMucGFyc2VDaGlsZHJlbihyZW1haW5pbmdUb2tlbnMpO1xuICAgICAgICAgICAgY29udGVudC5wdXNoKC4uLmFkZGl0aW9uYWxDb250ZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29udGVudCA9IGhlbHBlcnMucGFyc2VDaGlsZHJlbih0b2tlbi50b2tlbnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjb250ZW50Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29udGVudCA9IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwicGFyYWdyYXBoXCIsXG4gICAgICAgICAgY29udGVudDogW11cbiAgICAgICAgfVxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFwibGlzdEl0ZW1cIixcbiAgICAgIGNvbnRlbnRcbiAgICB9O1xuICB9LFxuICByZW5kZXJNYXJrZG93bjogKG5vZGUsIGgsIGN0eCkgPT4ge1xuICAgIHJldHVybiByZW5kZXJOZXN0ZWRNYXJrZG93bkNvbnRlbnQoXG4gICAgICBub2RlLFxuICAgICAgaCxcbiAgICAgIChjb250ZXh0KSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGlmIChjb250ZXh0LnBhcmVudFR5cGUgPT09IFwiYnVsbGV0TGlzdFwiKSB7XG4gICAgICAgICAgcmV0dXJuIFwiLSBcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29udGV4dC5wYXJlbnRUeXBlID09PSBcIm9yZGVyZWRMaXN0XCIpIHtcbiAgICAgICAgICBjb25zdCBzdGFydCA9ICgoX2IgPSAoX2EgPSBjb250ZXh0Lm1ldGEpID09IG51bGwgPyB2b2lkIDAgOiBfYS5wYXJlbnRBdHRycykgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLnN0YXJ0KSB8fCAxO1xuICAgICAgICAgIHJldHVybiBgJHtzdGFydCArIGNvbnRleHQuaW5kZXh9LiBgO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBcIi0gXCI7XG4gICAgICB9LFxuICAgICAgY3R4XG4gICAgKTtcbiAgfSxcbiAgYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIEVudGVyOiAoKSA9PiB0aGlzLmVkaXRvci5jb21tYW5kcy5zcGxpdExpc3RJdGVtKHRoaXMubmFtZSksXG4gICAgICBUYWI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnNpbmtMaXN0SXRlbSh0aGlzLm5hbWUpLFxuICAgICAgXCJTaGlmdC1UYWJcIjogKCkgPT4gdGhpcy5lZGl0b3IuY29tbWFuZHMubGlmdExpc3RJdGVtKHRoaXMubmFtZSlcbiAgICB9O1xuICB9XG59KTtcblxuLy8gc3JjL2tleW1hcC9saXN0LWtleW1hcC50c1xuaW1wb3J0IHsgRXh0ZW5zaW9uIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xuXG4vLyBzcmMva2V5bWFwL2xpc3RIZWxwZXJzL2luZGV4LnRzXG52YXIgbGlzdEhlbHBlcnNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQobGlzdEhlbHBlcnNfZXhwb3J0cywge1xuICBmaW5kTGlzdEl0ZW1Qb3M6ICgpID0+IGZpbmRMaXN0SXRlbVBvcyxcbiAgZ2V0TmV4dExpc3REZXB0aDogKCkgPT4gZ2V0TmV4dExpc3REZXB0aCxcbiAgaGFuZGxlQmFja3NwYWNlOiAoKSA9PiBoYW5kbGVCYWNrc3BhY2UsXG4gIGhhbmRsZURlbGV0ZTogKCkgPT4gaGFuZGxlRGVsZXRlLFxuICBoYXNMaXN0QmVmb3JlOiAoKSA9PiBoYXNMaXN0QmVmb3JlLFxuICBoYXNMaXN0SXRlbUFmdGVyOiAoKSA9PiBoYXNMaXN0SXRlbUFmdGVyLFxuICBoYXNMaXN0SXRlbUJlZm9yZTogKCkgPT4gaGFzTGlzdEl0ZW1CZWZvcmUsXG4gIGxpc3RJdGVtSGFzU3ViTGlzdDogKCkgPT4gbGlzdEl0ZW1IYXNTdWJMaXN0LFxuICBuZXh0TGlzdElzRGVlcGVyOiAoKSA9PiBuZXh0TGlzdElzRGVlcGVyLFxuICBuZXh0TGlzdElzSGlnaGVyOiAoKSA9PiBuZXh0TGlzdElzSGlnaGVyXG59KTtcblxuLy8gc3JjL2tleW1hcC9saXN0SGVscGVycy9maW5kTGlzdEl0ZW1Qb3MudHNcbmltcG9ydCB7IGdldE5vZGVUeXBlIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xudmFyIGZpbmRMaXN0SXRlbVBvcyA9ICh0eXBlT3JOYW1lLCBzdGF0ZSkgPT4ge1xuICBjb25zdCB7ICRmcm9tIH0gPSBzdGF0ZS5zZWxlY3Rpb247XG4gIGNvbnN0IG5vZGVUeXBlID0gZ2V0Tm9kZVR5cGUodHlwZU9yTmFtZSwgc3RhdGUuc2NoZW1hKTtcbiAgbGV0IGN1cnJlbnROb2RlID0gbnVsbDtcbiAgbGV0IGN1cnJlbnREZXB0aCA9ICRmcm9tLmRlcHRoO1xuICBsZXQgY3VycmVudFBvcyA9ICRmcm9tLnBvcztcbiAgbGV0IHRhcmdldERlcHRoID0gbnVsbDtcbiAgd2hpbGUgKGN1cnJlbnREZXB0aCA+IDAgJiYgdGFyZ2V0RGVwdGggPT09IG51bGwpIHtcbiAgICBjdXJyZW50Tm9kZSA9ICRmcm9tLm5vZGUoY3VycmVudERlcHRoKTtcbiAgICBpZiAoY3VycmVudE5vZGUudHlwZSA9PT0gbm9kZVR5cGUpIHtcbiAgICAgIHRhcmdldERlcHRoID0gY3VycmVudERlcHRoO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50RGVwdGggLT0gMTtcbiAgICAgIGN1cnJlbnRQb3MgLT0gMTtcbiAgICB9XG4gIH1cbiAgaWYgKHRhcmdldERlcHRoID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIHsgJHBvczogc3RhdGUuZG9jLnJlc29sdmUoY3VycmVudFBvcyksIGRlcHRoOiB0YXJnZXREZXB0aCB9O1xufTtcblxuLy8gc3JjL2tleW1hcC9saXN0SGVscGVycy9nZXROZXh0TGlzdERlcHRoLnRzXG5pbXBvcnQgeyBnZXROb2RlQXRQb3NpdGlvbiB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbnZhciBnZXROZXh0TGlzdERlcHRoID0gKHR5cGVPck5hbWUsIHN0YXRlKSA9PiB7XG4gIGNvbnN0IGxpc3RJdGVtUG9zID0gZmluZExpc3RJdGVtUG9zKHR5cGVPck5hbWUsIHN0YXRlKTtcbiAgaWYgKCFsaXN0SXRlbVBvcykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBbLCBkZXB0aF0gPSBnZXROb2RlQXRQb3NpdGlvbihzdGF0ZSwgdHlwZU9yTmFtZSwgbGlzdEl0ZW1Qb3MuJHBvcy5wb3MgKyA0KTtcbiAgcmV0dXJuIGRlcHRoO1xufTtcblxuLy8gc3JjL2tleW1hcC9saXN0SGVscGVycy9oYW5kbGVCYWNrc3BhY2UudHNcbmltcG9ydCB7IGlzQXRTdGFydE9mTm9kZSwgaXNOb2RlQWN0aXZlIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xuXG4vLyBzcmMva2V5bWFwL2xpc3RIZWxwZXJzL2hhc0xpc3RCZWZvcmUudHNcbnZhciBoYXNMaXN0QmVmb3JlID0gKGVkaXRvclN0YXRlLCBuYW1lLCBwYXJlbnRMaXN0VHlwZXMpID0+IHtcbiAgY29uc3QgeyAkYW5jaG9yIH0gPSBlZGl0b3JTdGF0ZS5zZWxlY3Rpb247XG4gIGNvbnN0IHByZXZpb3VzTm9kZVBvcyA9IE1hdGgubWF4KDAsICRhbmNob3IucG9zIC0gMik7XG4gIGNvbnN0IHByZXZpb3VzTm9kZSA9IGVkaXRvclN0YXRlLmRvYy5yZXNvbHZlKHByZXZpb3VzTm9kZVBvcykubm9kZSgpO1xuICBpZiAoIXByZXZpb3VzTm9kZSB8fCAhcGFyZW50TGlzdFR5cGVzLmluY2x1ZGVzKHByZXZpb3VzTm9kZS50eXBlLm5hbWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB0cnVlO1xufTtcblxuLy8gc3JjL2tleW1hcC9saXN0SGVscGVycy9oYXNMaXN0SXRlbUJlZm9yZS50c1xudmFyIGhhc0xpc3RJdGVtQmVmb3JlID0gKHR5cGVPck5hbWUsIHN0YXRlKSA9PiB7XG4gIHZhciBfYTtcbiAgY29uc3QgeyAkYW5jaG9yIH0gPSBzdGF0ZS5zZWxlY3Rpb247XG4gIGNvbnN0ICR0YXJnZXRQb3MgPSBzdGF0ZS5kb2MucmVzb2x2ZSgkYW5jaG9yLnBvcyAtIDIpO1xuICBpZiAoJHRhcmdldFBvcy5pbmRleCgpID09PSAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICgoKF9hID0gJHRhcmdldFBvcy5ub2RlQmVmb3JlKSA9PSBudWxsID8gdm9pZCAwIDogX2EudHlwZS5uYW1lKSAhPT0gdHlwZU9yTmFtZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8vIHNyYy9rZXltYXAvbGlzdEhlbHBlcnMvbGlzdEl0ZW1IYXNTdWJMaXN0LnRzXG5pbXBvcnQgeyBnZXROb2RlVHlwZSBhcyBnZXROb2RlVHlwZTIgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG52YXIgbGlzdEl0ZW1IYXNTdWJMaXN0ID0gKHR5cGVPck5hbWUsIHN0YXRlLCBub2RlKSA9PiB7XG4gIGlmICghbm9kZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBub2RlVHlwZSA9IGdldE5vZGVUeXBlMih0eXBlT3JOYW1lLCBzdGF0ZS5zY2hlbWEpO1xuICBsZXQgaGFzU3ViTGlzdCA9IGZhbHNlO1xuICBub2RlLmRlc2NlbmRhbnRzKChjaGlsZCkgPT4ge1xuICAgIGlmIChjaGlsZC50eXBlID09PSBub2RlVHlwZSkge1xuICAgICAgaGFzU3ViTGlzdCA9IHRydWU7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGhhc1N1Ykxpc3Q7XG59O1xuXG4vLyBzcmMva2V5bWFwL2xpc3RIZWxwZXJzL2hhbmRsZUJhY2tzcGFjZS50c1xudmFyIGhhbmRsZUJhY2tzcGFjZSA9IChlZGl0b3IsIG5hbWUsIHBhcmVudExpc3RUeXBlcykgPT4ge1xuICBpZiAoZWRpdG9yLmNvbW1hbmRzLnVuZG9JbnB1dFJ1bGUoKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmIChlZGl0b3Iuc3RhdGUuc2VsZWN0aW9uLmZyb20gIT09IGVkaXRvci5zdGF0ZS5zZWxlY3Rpb24udG8pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKCFpc05vZGVBY3RpdmUoZWRpdG9yLnN0YXRlLCBuYW1lKSAmJiBoYXNMaXN0QmVmb3JlKGVkaXRvci5zdGF0ZSwgbmFtZSwgcGFyZW50TGlzdFR5cGVzKSkge1xuICAgIGNvbnN0IHsgJGFuY2hvciB9ID0gZWRpdG9yLnN0YXRlLnNlbGVjdGlvbjtcbiAgICBjb25zdCAkbGlzdFBvcyA9IGVkaXRvci5zdGF0ZS5kb2MucmVzb2x2ZSgkYW5jaG9yLmJlZm9yZSgpIC0gMSk7XG4gICAgY29uc3QgbGlzdERlc2NlbmRhbnRzID0gW107XG4gICAgJGxpc3RQb3Mubm9kZSgpLmRlc2NlbmRhbnRzKChub2RlLCBwb3MpID0+IHtcbiAgICAgIGlmIChub2RlLnR5cGUubmFtZSA9PT0gbmFtZSkge1xuICAgICAgICBsaXN0RGVzY2VuZGFudHMucHVzaCh7IG5vZGUsIHBvcyB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBsYXN0SXRlbSA9IGxpc3REZXNjZW5kYW50cy5hdCgtMSk7XG4gICAgaWYgKCFsYXN0SXRlbSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCAkbGFzdEl0ZW1Qb3MgPSBlZGl0b3Iuc3RhdGUuZG9jLnJlc29sdmUoJGxpc3RQb3Muc3RhcnQoKSArIGxhc3RJdGVtLnBvcyArIDEpO1xuICAgIHJldHVybiBlZGl0b3IuY2hhaW4oKS5jdXQoeyBmcm9tOiAkYW5jaG9yLnN0YXJ0KCkgLSAxLCB0bzogJGFuY2hvci5lbmQoKSArIDEgfSwgJGxhc3RJdGVtUG9zLmVuZCgpKS5qb2luRm9yd2FyZCgpLnJ1bigpO1xuICB9XG4gIGlmICghaXNOb2RlQWN0aXZlKGVkaXRvci5zdGF0ZSwgbmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKCFpc0F0U3RhcnRPZk5vZGUoZWRpdG9yLnN0YXRlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBsaXN0SXRlbVBvcyA9IGZpbmRMaXN0SXRlbVBvcyhuYW1lLCBlZGl0b3Iuc3RhdGUpO1xuICBpZiAoIWxpc3RJdGVtUG9zKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0ICRwcmV2ID0gZWRpdG9yLnN0YXRlLmRvYy5yZXNvbHZlKGxpc3RJdGVtUG9zLiRwb3MucG9zIC0gMik7XG4gIGNvbnN0IHByZXZOb2RlID0gJHByZXYubm9kZShsaXN0SXRlbVBvcy5kZXB0aCk7XG4gIGNvbnN0IHByZXZpb3VzTGlzdEl0ZW1IYXNTdWJMaXN0ID0gbGlzdEl0ZW1IYXNTdWJMaXN0KG5hbWUsIGVkaXRvci5zdGF0ZSwgcHJldk5vZGUpO1xuICBpZiAoaGFzTGlzdEl0ZW1CZWZvcmUobmFtZSwgZWRpdG9yLnN0YXRlKSAmJiAhcHJldmlvdXNMaXN0SXRlbUhhc1N1Ykxpc3QpIHtcbiAgICByZXR1cm4gZWRpdG9yLmNvbW1hbmRzLmpvaW5JdGVtQmFja3dhcmQoKTtcbiAgfVxuICByZXR1cm4gZWRpdG9yLmNoYWluKCkubGlmdExpc3RJdGVtKG5hbWUpLnJ1bigpO1xufTtcblxuLy8gc3JjL2tleW1hcC9saXN0SGVscGVycy9oYW5kbGVEZWxldGUudHNcbmltcG9ydCB7IGlzQXRFbmRPZk5vZGUsIGlzTm9kZUFjdGl2ZSBhcyBpc05vZGVBY3RpdmUyIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xuXG4vLyBzcmMva2V5bWFwL2xpc3RIZWxwZXJzL25leHRMaXN0SXNEZWVwZXIudHNcbnZhciBuZXh0TGlzdElzRGVlcGVyID0gKHR5cGVPck5hbWUsIHN0YXRlKSA9PiB7XG4gIGNvbnN0IGxpc3REZXB0aCA9IGdldE5leHRMaXN0RGVwdGgodHlwZU9yTmFtZSwgc3RhdGUpO1xuICBjb25zdCBsaXN0SXRlbVBvcyA9IGZpbmRMaXN0SXRlbVBvcyh0eXBlT3JOYW1lLCBzdGF0ZSk7XG4gIGlmICghbGlzdEl0ZW1Qb3MgfHwgIWxpc3REZXB0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAobGlzdERlcHRoID4gbGlzdEl0ZW1Qb3MuZGVwdGgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuXG4vLyBzcmMva2V5bWFwL2xpc3RIZWxwZXJzL25leHRMaXN0SXNIaWdoZXIudHNcbnZhciBuZXh0TGlzdElzSGlnaGVyID0gKHR5cGVPck5hbWUsIHN0YXRlKSA9PiB7XG4gIGNvbnN0IGxpc3REZXB0aCA9IGdldE5leHRMaXN0RGVwdGgodHlwZU9yTmFtZSwgc3RhdGUpO1xuICBjb25zdCBsaXN0SXRlbVBvcyA9IGZpbmRMaXN0SXRlbVBvcyh0eXBlT3JOYW1lLCBzdGF0ZSk7XG4gIGlmICghbGlzdEl0ZW1Qb3MgfHwgIWxpc3REZXB0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAobGlzdERlcHRoIDwgbGlzdEl0ZW1Qb3MuZGVwdGgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuXG4vLyBzcmMva2V5bWFwL2xpc3RIZWxwZXJzL2hhbmRsZURlbGV0ZS50c1xudmFyIGhhbmRsZURlbGV0ZSA9IChlZGl0b3IsIG5hbWUpID0+IHtcbiAgaWYgKCFpc05vZGVBY3RpdmUyKGVkaXRvci5zdGF0ZSwgbmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKCFpc0F0RW5kT2ZOb2RlKGVkaXRvci5zdGF0ZSwgbmFtZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvci5zdGF0ZTtcbiAgY29uc3QgeyAkZnJvbSwgJHRvIH0gPSBzZWxlY3Rpb247XG4gIGlmICghc2VsZWN0aW9uLmVtcHR5ICYmICRmcm9tLnNhbWVQYXJlbnQoJHRvKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAobmV4dExpc3RJc0RlZXBlcihuYW1lLCBlZGl0b3Iuc3RhdGUpKSB7XG4gICAgcmV0dXJuIGVkaXRvci5jaGFpbigpLmZvY3VzKGVkaXRvci5zdGF0ZS5zZWxlY3Rpb24uZnJvbSArIDQpLmxpZnQobmFtZSkuam9pbkJhY2t3YXJkKCkucnVuKCk7XG4gIH1cbiAgaWYgKG5leHRMaXN0SXNIaWdoZXIobmFtZSwgZWRpdG9yLnN0YXRlKSkge1xuICAgIHJldHVybiBlZGl0b3IuY2hhaW4oKS5qb2luRm9yd2FyZCgpLmpvaW5CYWNrd2FyZCgpLnJ1bigpO1xuICB9XG4gIHJldHVybiBlZGl0b3IuY29tbWFuZHMuam9pbkl0ZW1Gb3J3YXJkKCk7XG59O1xuXG4vLyBzcmMva2V5bWFwL2xpc3RIZWxwZXJzL2hhc0xpc3RJdGVtQWZ0ZXIudHNcbnZhciBoYXNMaXN0SXRlbUFmdGVyID0gKHR5cGVPck5hbWUsIHN0YXRlKSA9PiB7XG4gIHZhciBfYTtcbiAgY29uc3QgeyAkYW5jaG9yIH0gPSBzdGF0ZS5zZWxlY3Rpb247XG4gIGNvbnN0ICR0YXJnZXRQb3MgPSBzdGF0ZS5kb2MucmVzb2x2ZSgkYW5jaG9yLnBvcyAtICRhbmNob3IucGFyZW50T2Zmc2V0IC0gMik7XG4gIGlmICgkdGFyZ2V0UG9zLmluZGV4KCkgPT09ICR0YXJnZXRQb3MucGFyZW50LmNoaWxkQ291bnQgLSAxKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICgoKF9hID0gJHRhcmdldFBvcy5ub2RlQWZ0ZXIpID09IG51bGwgPyB2b2lkIDAgOiBfYS50eXBlLm5hbWUpICE9PSB0eXBlT3JOYW1lKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB0cnVlO1xufTtcblxuLy8gc3JjL2tleW1hcC9saXN0LWtleW1hcC50c1xudmFyIExpc3RLZXltYXAgPSBFeHRlbnNpb24uY3JlYXRlKHtcbiAgbmFtZTogXCJsaXN0S2V5bWFwXCIsXG4gIGFkZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpc3RUeXBlczogW1xuICAgICAgICB7XG4gICAgICAgICAgaXRlbU5hbWU6IFwibGlzdEl0ZW1cIixcbiAgICAgICAgICB3cmFwcGVyTmFtZXM6IFtcImJ1bGxldExpc3RcIiwgXCJvcmRlcmVkTGlzdFwiXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaXRlbU5hbWU6IFwidGFza0l0ZW1cIixcbiAgICAgICAgICB3cmFwcGVyTmFtZXM6IFtcInRhc2tMaXN0XCJdXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9LFxuICBhZGRLZXlib2FyZFNob3J0Y3V0cygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgRGVsZXRlOiAoeyBlZGl0b3IgfSkgPT4ge1xuICAgICAgICBsZXQgaGFuZGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9wdGlvbnMubGlzdFR5cGVzLmZvckVhY2goKHsgaXRlbU5hbWUgfSkgPT4ge1xuICAgICAgICAgIGlmIChlZGl0b3Iuc3RhdGUuc2NoZW1hLm5vZGVzW2l0ZW1OYW1lXSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChoYW5kbGVEZWxldGUoZWRpdG9yLCBpdGVtTmFtZSkpIHtcbiAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBoYW5kbGVkO1xuICAgICAgfSxcbiAgICAgIFwiTW9kLURlbGV0ZVwiOiAoeyBlZGl0b3IgfSkgPT4ge1xuICAgICAgICBsZXQgaGFuZGxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9wdGlvbnMubGlzdFR5cGVzLmZvckVhY2goKHsgaXRlbU5hbWUgfSkgPT4ge1xuICAgICAgICAgIGlmIChlZGl0b3Iuc3RhdGUuc2NoZW1hLm5vZGVzW2l0ZW1OYW1lXSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChoYW5kbGVEZWxldGUoZWRpdG9yLCBpdGVtTmFtZSkpIHtcbiAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBoYW5kbGVkO1xuICAgICAgfSxcbiAgICAgIEJhY2tzcGFjZTogKHsgZWRpdG9yIH0pID0+IHtcbiAgICAgICAgbGV0IGhhbmRsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vcHRpb25zLmxpc3RUeXBlcy5mb3JFYWNoKCh7IGl0ZW1OYW1lLCB3cmFwcGVyTmFtZXMgfSkgPT4ge1xuICAgICAgICAgIGlmIChlZGl0b3Iuc3RhdGUuc2NoZW1hLm5vZGVzW2l0ZW1OYW1lXSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChoYW5kbGVCYWNrc3BhY2UoZWRpdG9yLCBpdGVtTmFtZSwgd3JhcHBlck5hbWVzKSkge1xuICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGhhbmRsZWQ7XG4gICAgICB9LFxuICAgICAgXCJNb2QtQmFja3NwYWNlXCI6ICh7IGVkaXRvciB9KSA9PiB7XG4gICAgICAgIGxldCBoYW5kbGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3B0aW9ucy5saXN0VHlwZXMuZm9yRWFjaCgoeyBpdGVtTmFtZSwgd3JhcHBlck5hbWVzIH0pID0+IHtcbiAgICAgICAgICBpZiAoZWRpdG9yLnN0YXRlLnNjaGVtYS5ub2Rlc1tpdGVtTmFtZV0gPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaGFuZGxlQmFja3NwYWNlKGVkaXRvciwgaXRlbU5hbWUsIHdyYXBwZXJOYW1lcykpIHtcbiAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBoYW5kbGVkO1xuICAgICAgfVxuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBzcmMva2l0L2luZGV4LnRzXG5pbXBvcnQgeyBFeHRlbnNpb24gYXMgRXh0ZW5zaW9uMiB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcblxuLy8gc3JjL29yZGVyZWQtbGlzdC9vcmRlcmVkLWxpc3QudHNcbmltcG9ydCB7IG1lcmdlQXR0cmlidXRlcyBhcyBtZXJnZUF0dHJpYnV0ZXMzLCBOb2RlIGFzIE5vZGUzLCB3cmFwcGluZ0lucHV0UnVsZSBhcyB3cmFwcGluZ0lucHV0UnVsZTIgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5cbi8vIHNyYy9vcmRlcmVkLWxpc3QvdXRpbHMudHNcbnZhciBPUkRFUkVEX0xJU1RfSVRFTV9SRUdFWCA9IC9eKFxccyopKFxcZCspXFwuXFxzKyguKikkLztcbnZhciBJTkRFTlRFRF9MSU5FX1JFR0VYID0gL15cXHMvO1xuZnVuY3Rpb24gY29sbGVjdE9yZGVyZWRMaXN0SXRlbXMobGluZXMpIHtcbiAgY29uc3QgbGlzdEl0ZW1zID0gW107XG4gIGxldCBjdXJyZW50TGluZUluZGV4ID0gMDtcbiAgbGV0IGNvbnN1bWVkID0gMDtcbiAgd2hpbGUgKGN1cnJlbnRMaW5lSW5kZXggPCBsaW5lcy5sZW5ndGgpIHtcbiAgICBjb25zdCBsaW5lID0gbGluZXNbY3VycmVudExpbmVJbmRleF07XG4gICAgY29uc3QgbWF0Y2ggPSBsaW5lLm1hdGNoKE9SREVSRURfTElTVF9JVEVNX1JFR0VYKTtcbiAgICBpZiAoIW1hdGNoKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY29uc3QgWywgaW5kZW50LCBudW1iZXIsIGNvbnRlbnRdID0gbWF0Y2g7XG4gICAgY29uc3QgaW5kZW50TGV2ZWwgPSBpbmRlbnQubGVuZ3RoO1xuICAgIGxldCBpdGVtQ29udGVudCA9IGNvbnRlbnQ7XG4gICAgbGV0IG5leHRMaW5lSW5kZXggPSBjdXJyZW50TGluZUluZGV4ICsgMTtcbiAgICBjb25zdCBpdGVtTGluZXMgPSBbbGluZV07XG4gICAgd2hpbGUgKG5leHRMaW5lSW5kZXggPCBsaW5lcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IG5leHRMaW5lID0gbGluZXNbbmV4dExpbmVJbmRleF07XG4gICAgICBjb25zdCBuZXh0TWF0Y2ggPSBuZXh0TGluZS5tYXRjaChPUkRFUkVEX0xJU1RfSVRFTV9SRUdFWCk7XG4gICAgICBpZiAobmV4dE1hdGNoKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKG5leHRMaW5lLnRyaW0oKSA9PT0gXCJcIikge1xuICAgICAgICBpdGVtTGluZXMucHVzaChuZXh0TGluZSk7XG4gICAgICAgIGl0ZW1Db250ZW50ICs9IFwiXFxuXCI7XG4gICAgICAgIG5leHRMaW5lSW5kZXggKz0gMTtcbiAgICAgIH0gZWxzZSBpZiAobmV4dExpbmUubWF0Y2goSU5ERU5URURfTElORV9SRUdFWCkpIHtcbiAgICAgICAgaXRlbUxpbmVzLnB1c2gobmV4dExpbmUpO1xuICAgICAgICBpdGVtQ29udGVudCArPSBgXG4ke25leHRMaW5lLnNsaWNlKGluZGVudExldmVsICsgMil9YDtcbiAgICAgICAgbmV4dExpbmVJbmRleCArPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGxpc3RJdGVtcy5wdXNoKHtcbiAgICAgIGluZGVudDogaW5kZW50TGV2ZWwsXG4gICAgICBudW1iZXI6IHBhcnNlSW50KG51bWJlciwgMTApLFxuICAgICAgY29udGVudDogaXRlbUNvbnRlbnQudHJpbSgpLFxuICAgICAgcmF3OiBpdGVtTGluZXMuam9pbihcIlxcblwiKVxuICAgIH0pO1xuICAgIGNvbnN1bWVkID0gbmV4dExpbmVJbmRleDtcbiAgICBjdXJyZW50TGluZUluZGV4ID0gbmV4dExpbmVJbmRleDtcbiAgfVxuICByZXR1cm4gW2xpc3RJdGVtcywgY29uc3VtZWRdO1xufVxuZnVuY3Rpb24gYnVpbGROZXN0ZWRTdHJ1Y3R1cmUoaXRlbXMsIGJhc2VJbmRlbnQsIGxleGVyKSB7XG4gIHZhciBfYTtcbiAgY29uc3QgcmVzdWx0ID0gW107XG4gIGxldCBjdXJyZW50SW5kZXggPSAwO1xuICB3aGlsZSAoY3VycmVudEluZGV4IDwgaXRlbXMubGVuZ3RoKSB7XG4gICAgY29uc3QgaXRlbSA9IGl0ZW1zW2N1cnJlbnRJbmRleF07XG4gICAgaWYgKGl0ZW0uaW5kZW50ID09PSBiYXNlSW5kZW50KSB7XG4gICAgICBjb25zdCBjb250ZW50TGluZXMgPSBpdGVtLmNvbnRlbnQuc3BsaXQoXCJcXG5cIik7XG4gICAgICBjb25zdCBtYWluVGV4dCA9ICgoX2EgPSBjb250ZW50TGluZXNbMF0pID09IG51bGwgPyB2b2lkIDAgOiBfYS50cmltKCkpIHx8IFwiXCI7XG4gICAgICBjb25zdCB0b2tlbnMgPSBbXTtcbiAgICAgIGlmIChtYWluVGV4dCkge1xuICAgICAgICB0b2tlbnMucHVzaCh7XG4gICAgICAgICAgdHlwZTogXCJwYXJhZ3JhcGhcIixcbiAgICAgICAgICByYXc6IG1haW5UZXh0LFxuICAgICAgICAgIHRva2VuczogbGV4ZXIuaW5saW5lVG9rZW5zKG1haW5UZXh0KVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFkZGl0aW9uYWxDb250ZW50ID0gY29udGVudExpbmVzLnNsaWNlKDEpLmpvaW4oXCJcXG5cIikudHJpbSgpO1xuICAgICAgaWYgKGFkZGl0aW9uYWxDb250ZW50KSB7XG4gICAgICAgIGNvbnN0IGJsb2NrVG9rZW5zID0gbGV4ZXIuYmxvY2tUb2tlbnMoYWRkaXRpb25hbENvbnRlbnQpO1xuICAgICAgICB0b2tlbnMucHVzaCguLi5ibG9ja1Rva2Vucyk7XG4gICAgICB9XG4gICAgICBsZXQgbG9va0FoZWFkSW5kZXggPSBjdXJyZW50SW5kZXggKyAxO1xuICAgICAgY29uc3QgbmVzdGVkSXRlbXMgPSBbXTtcbiAgICAgIHdoaWxlIChsb29rQWhlYWRJbmRleCA8IGl0ZW1zLmxlbmd0aCAmJiBpdGVtc1tsb29rQWhlYWRJbmRleF0uaW5kZW50ID4gYmFzZUluZGVudCkge1xuICAgICAgICBuZXN0ZWRJdGVtcy5wdXNoKGl0ZW1zW2xvb2tBaGVhZEluZGV4XSk7XG4gICAgICAgIGxvb2tBaGVhZEluZGV4ICs9IDE7XG4gICAgICB9XG4gICAgICBpZiAobmVzdGVkSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBuZXh0SW5kZW50ID0gTWF0aC5taW4oLi4ubmVzdGVkSXRlbXMubWFwKChuZXN0ZWRJdGVtKSA9PiBuZXN0ZWRJdGVtLmluZGVudCkpO1xuICAgICAgICBjb25zdCBuZXN0ZWRMaXN0SXRlbXMgPSBidWlsZE5lc3RlZFN0cnVjdHVyZShuZXN0ZWRJdGVtcywgbmV4dEluZGVudCwgbGV4ZXIpO1xuICAgICAgICB0b2tlbnMucHVzaCh7XG4gICAgICAgICAgdHlwZTogXCJsaXN0XCIsXG4gICAgICAgICAgb3JkZXJlZDogdHJ1ZSxcbiAgICAgICAgICBzdGFydDogbmVzdGVkSXRlbXNbMF0ubnVtYmVyLFxuICAgICAgICAgIGl0ZW1zOiBuZXN0ZWRMaXN0SXRlbXMsXG4gICAgICAgICAgcmF3OiBuZXN0ZWRJdGVtcy5tYXAoKG5lc3RlZEl0ZW0pID0+IG5lc3RlZEl0ZW0ucmF3KS5qb2luKFwiXFxuXCIpXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICB0eXBlOiBcImxpc3RfaXRlbVwiLFxuICAgICAgICByYXc6IGl0ZW0ucmF3LFxuICAgICAgICB0b2tlbnNcbiAgICAgIH0pO1xuICAgICAgY3VycmVudEluZGV4ID0gbG9va0FoZWFkSW5kZXg7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnRJbmRleCArPSAxO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gcGFyc2VMaXN0SXRlbXMoaXRlbXMsIGhlbHBlcnMpIHtcbiAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgIGlmIChpdGVtLnR5cGUgIT09IFwibGlzdF9pdGVtXCIpIHtcbiAgICAgIHJldHVybiBoZWxwZXJzLnBhcnNlQ2hpbGRyZW4oW2l0ZW1dKVswXTtcbiAgICB9XG4gICAgY29uc3QgY29udGVudCA9IFtdO1xuICAgIGlmIChpdGVtLnRva2VucyAmJiBpdGVtLnRva2Vucy5sZW5ndGggPiAwKSB7XG4gICAgICBpdGVtLnRva2Vucy5mb3JFYWNoKChpdGVtVG9rZW4pID0+IHtcbiAgICAgICAgaWYgKGl0ZW1Ub2tlbi50eXBlID09PSBcInBhcmFncmFwaFwiIHx8IGl0ZW1Ub2tlbi50eXBlID09PSBcImxpc3RcIiB8fCBpdGVtVG9rZW4udHlwZSA9PT0gXCJibG9ja3F1b3RlXCIgfHwgaXRlbVRva2VuLnR5cGUgPT09IFwiY29kZVwiKSB7XG4gICAgICAgICAgY29udGVudC5wdXNoKC4uLmhlbHBlcnMucGFyc2VDaGlsZHJlbihbaXRlbVRva2VuXSkpO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW1Ub2tlbi50eXBlID09PSBcInRleHRcIiAmJiBpdGVtVG9rZW4udG9rZW5zKSB7XG4gICAgICAgICAgY29uc3QgaW5saW5lQ29udGVudCA9IGhlbHBlcnMucGFyc2VDaGlsZHJlbihbaXRlbVRva2VuXSk7XG4gICAgICAgICAgY29udGVudC5wdXNoKHtcbiAgICAgICAgICAgIHR5cGU6IFwicGFyYWdyYXBoXCIsXG4gICAgICAgICAgICBjb250ZW50OiBpbmxpbmVDb250ZW50XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgcGFyc2VkID0gaGVscGVycy5wYXJzZUNoaWxkcmVuKFtpdGVtVG9rZW5dKTtcbiAgICAgICAgICBpZiAocGFyc2VkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnRlbnQucHVzaCguLi5wYXJzZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBcImxpc3RJdGVtXCIsXG4gICAgICBjb250ZW50XG4gICAgfTtcbiAgfSk7XG59XG5cbi8vIHNyYy9vcmRlcmVkLWxpc3Qvb3JkZXJlZC1saXN0LnRzXG52YXIgTGlzdEl0ZW1OYW1lMiA9IFwibGlzdEl0ZW1cIjtcbnZhciBUZXh0U3R5bGVOYW1lMiA9IFwidGV4dFN0eWxlXCI7XG52YXIgb3JkZXJlZExpc3RJbnB1dFJlZ2V4ID0gL14oXFxkKylcXC5cXHMkLztcbnZhciBPcmRlcmVkTGlzdCA9IE5vZGUzLmNyZWF0ZSh7XG4gIG5hbWU6IFwib3JkZXJlZExpc3RcIixcbiAgYWRkT3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXRlbVR5cGVOYW1lOiBcImxpc3RJdGVtXCIsXG4gICAgICBIVE1MQXR0cmlidXRlczoge30sXG4gICAgICBrZWVwTWFya3M6IGZhbHNlLFxuICAgICAga2VlcEF0dHJpYnV0ZXM6IGZhbHNlXG4gICAgfTtcbiAgfSxcbiAgZ3JvdXA6IFwiYmxvY2sgbGlzdFwiLFxuICBjb250ZW50KCkge1xuICAgIHJldHVybiBgJHt0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lfStgO1xuICB9LFxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzdGFydDoge1xuICAgICAgICBkZWZhdWx0OiAxLFxuICAgICAgICBwYXJzZUhUTUw6IChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGVsZW1lbnQuaGFzQXR0cmlidXRlKFwic3RhcnRcIikgPyBwYXJzZUludChlbGVtZW50LmdldEF0dHJpYnV0ZShcInN0YXJ0XCIpIHx8IFwiXCIsIDEwKSA6IDE7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB0eXBlOiB7XG4gICAgICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgICAgIHBhcnNlSFRNTDogKGVsZW1lbnQpID0+IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFwidHlwZVwiKVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIHBhcnNlSFRNTCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0YWc6IFwib2xcIlxuICAgICAgfVxuICAgIF07XG4gIH0sXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgY29uc3QgeyBzdGFydCwgLi4uYXR0cmlidXRlc1dpdGhvdXRTdGFydCB9ID0gSFRNTEF0dHJpYnV0ZXM7XG4gICAgcmV0dXJuIHN0YXJ0ID09PSAxID8gW1wib2xcIiwgbWVyZ2VBdHRyaWJ1dGVzMyh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsIGF0dHJpYnV0ZXNXaXRob3V0U3RhcnQpLCAwXSA6IFtcIm9sXCIsIG1lcmdlQXR0cmlidXRlczModGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLCBIVE1MQXR0cmlidXRlcyksIDBdO1xuICB9LFxuICBtYXJrZG93blRva2VuTmFtZTogXCJsaXN0XCIsXG4gIHBhcnNlTWFya2Rvd246ICh0b2tlbiwgaGVscGVycykgPT4ge1xuICAgIGlmICh0b2tlbi50eXBlICE9PSBcImxpc3RcIiB8fCAhdG9rZW4ub3JkZXJlZCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBzdGFydFZhbHVlID0gdG9rZW4uc3RhcnQgfHwgMTtcbiAgICBjb25zdCBjb250ZW50ID0gdG9rZW4uaXRlbXMgPyBwYXJzZUxpc3RJdGVtcyh0b2tlbi5pdGVtcywgaGVscGVycykgOiBbXTtcbiAgICBpZiAoc3RhcnRWYWx1ZSAhPT0gMSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogXCJvcmRlcmVkTGlzdFwiLFxuICAgICAgICBhdHRyczogeyBzdGFydDogc3RhcnRWYWx1ZSB9LFxuICAgICAgICBjb250ZW50XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJvcmRlcmVkTGlzdFwiLFxuICAgICAgY29udGVudFxuICAgIH07XG4gIH0sXG4gIHJlbmRlck1hcmtkb3duOiAobm9kZSwgaCkgPT4ge1xuICAgIGlmICghbm9kZS5jb250ZW50KSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgcmV0dXJuIGgucmVuZGVyQ2hpbGRyZW4obm9kZS5jb250ZW50LCBcIlxcblwiKTtcbiAgfSxcbiAgbWFya2Rvd25Ub2tlbml6ZXI6IHtcbiAgICBuYW1lOiBcIm9yZGVyZWRMaXN0XCIsXG4gICAgbGV2ZWw6IFwiYmxvY2tcIixcbiAgICBzdGFydDogKHNyYykgPT4ge1xuICAgICAgY29uc3QgbWF0Y2ggPSBzcmMubWF0Y2goL14oXFxzKikoXFxkKylcXC5cXHMrLyk7XG4gICAgICBjb25zdCBpbmRleCA9IG1hdGNoID09IG51bGwgPyB2b2lkIDAgOiBtYXRjaC5pbmRleDtcbiAgICAgIHJldHVybiBpbmRleCAhPT0gdm9pZCAwID8gaW5kZXggOiAtMTtcbiAgICB9LFxuICAgIHRva2VuaXplOiAoc3JjLCBfdG9rZW5zLCBsZXhlcikgPT4ge1xuICAgICAgdmFyIF9hO1xuICAgICAgY29uc3QgbGluZXMgPSBzcmMuc3BsaXQoXCJcXG5cIik7XG4gICAgICBjb25zdCBbbGlzdEl0ZW1zLCBjb25zdW1lZF0gPSBjb2xsZWN0T3JkZXJlZExpc3RJdGVtcyhsaW5lcyk7XG4gICAgICBpZiAobGlzdEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgfVxuICAgICAgY29uc3QgaXRlbXMgPSBidWlsZE5lc3RlZFN0cnVjdHVyZShsaXN0SXRlbXMsIDAsIGxleGVyKTtcbiAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN0YXJ0VmFsdWUgPSAoKF9hID0gbGlzdEl0ZW1zWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX2EubnVtYmVyKSB8fCAxO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogXCJsaXN0XCIsXG4gICAgICAgIG9yZGVyZWQ6IHRydWUsXG4gICAgICAgIHN0YXJ0OiBzdGFydFZhbHVlLFxuICAgICAgICBpdGVtcyxcbiAgICAgICAgcmF3OiBsaW5lcy5zbGljZSgwLCBjb25zdW1lZCkuam9pbihcIlxcblwiKVxuICAgICAgfTtcbiAgICB9XG4gIH0sXG4gIG1hcmtkb3duT3B0aW9uczoge1xuICAgIGluZGVudHNDb250ZW50OiB0cnVlXG4gIH0sXG4gIGFkZENvbW1hbmRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0b2dnbGVPcmRlcmVkTGlzdDogKCkgPT4gKHsgY29tbWFuZHMsIGNoYWluIH0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5rZWVwQXR0cmlidXRlcykge1xuICAgICAgICAgIHJldHVybiBjaGFpbigpLnRvZ2dsZUxpc3QodGhpcy5uYW1lLCB0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lLCB0aGlzLm9wdGlvbnMua2VlcE1hcmtzKS51cGRhdGVBdHRyaWJ1dGVzKExpc3RJdGVtTmFtZTIsIHRoaXMuZWRpdG9yLmdldEF0dHJpYnV0ZXMoVGV4dFN0eWxlTmFtZTIpKS5ydW4oKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29tbWFuZHMudG9nZ2xlTGlzdCh0aGlzLm5hbWUsIHRoaXMub3B0aW9ucy5pdGVtVHlwZU5hbWUsIHRoaXMub3B0aW9ucy5rZWVwTWFya3MpO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIGFkZEtleWJvYXJkU2hvcnRjdXRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBcIk1vZC1TaGlmdC03XCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZU9yZGVyZWRMaXN0KClcbiAgICB9O1xuICB9LFxuICBhZGRJbnB1dFJ1bGVzKCkge1xuICAgIGxldCBpbnB1dFJ1bGUgPSB3cmFwcGluZ0lucHV0UnVsZTIoe1xuICAgICAgZmluZDogb3JkZXJlZExpc3RJbnB1dFJlZ2V4LFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgZ2V0QXR0cmlidXRlczogKG1hdGNoKSA9PiAoeyBzdGFydDogK21hdGNoWzFdIH0pLFxuICAgICAgam9pblByZWRpY2F0ZTogKG1hdGNoLCBub2RlKSA9PiBub2RlLmNoaWxkQ291bnQgKyBub2RlLmF0dHJzLnN0YXJ0ID09PSArbWF0Y2hbMV1cbiAgICB9KTtcbiAgICBpZiAodGhpcy5vcHRpb25zLmtlZXBNYXJrcyB8fCB0aGlzLm9wdGlvbnMua2VlcEF0dHJpYnV0ZXMpIHtcbiAgICAgIGlucHV0UnVsZSA9IHdyYXBwaW5nSW5wdXRSdWxlMih7XG4gICAgICAgIGZpbmQ6IG9yZGVyZWRMaXN0SW5wdXRSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICBrZWVwTWFya3M6IHRoaXMub3B0aW9ucy5rZWVwTWFya3MsXG4gICAgICAgIGtlZXBBdHRyaWJ1dGVzOiB0aGlzLm9wdGlvbnMua2VlcEF0dHJpYnV0ZXMsXG4gICAgICAgIGdldEF0dHJpYnV0ZXM6IChtYXRjaCkgPT4gKHsgc3RhcnQ6ICttYXRjaFsxXSwgLi4udGhpcy5lZGl0b3IuZ2V0QXR0cmlidXRlcyhUZXh0U3R5bGVOYW1lMikgfSksXG4gICAgICAgIGpvaW5QcmVkaWNhdGU6IChtYXRjaCwgbm9kZSkgPT4gbm9kZS5jaGlsZENvdW50ICsgbm9kZS5hdHRycy5zdGFydCA9PT0gK21hdGNoWzFdLFxuICAgICAgICBlZGl0b3I6IHRoaXMuZWRpdG9yXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIFtpbnB1dFJ1bGVdO1xuICB9XG59KTtcblxuLy8gc3JjL3Rhc2staXRlbS90YXNrLWl0ZW0udHNcbmltcG9ydCB7XG4gIGdldFJlbmRlcmVkQXR0cmlidXRlcyxcbiAgbWVyZ2VBdHRyaWJ1dGVzIGFzIG1lcmdlQXR0cmlidXRlczQsXG4gIE5vZGUgYXMgTm9kZTQsXG4gIHJlbmRlck5lc3RlZE1hcmtkb3duQ29udGVudCBhcyByZW5kZXJOZXN0ZWRNYXJrZG93bkNvbnRlbnQyLFxuICB3cmFwcGluZ0lucHV0UnVsZSBhcyB3cmFwcGluZ0lucHV0UnVsZTNcbn0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xudmFyIGlucHV0UmVnZXggPSAvXlxccyooXFxbKFsoIHx4XSk/XFxdKVxccyQvO1xudmFyIFRhc2tJdGVtID0gTm9kZTQuY3JlYXRlKHtcbiAgbmFtZTogXCJ0YXNrSXRlbVwiLFxuICBhZGRPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBuZXN0ZWQ6IGZhbHNlLFxuICAgICAgSFRNTEF0dHJpYnV0ZXM6IHt9LFxuICAgICAgdGFza0xpc3RUeXBlTmFtZTogXCJ0YXNrTGlzdFwiLFxuICAgICAgYTExeTogdm9pZCAwXG4gICAgfTtcbiAgfSxcbiAgY29udGVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLm5lc3RlZCA/IFwicGFyYWdyYXBoIGJsb2NrKlwiIDogXCJwYXJhZ3JhcGgrXCI7XG4gIH0sXG4gIGRlZmluaW5nOiB0cnVlLFxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjaGVja2VkOiB7XG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICBrZWVwT25TcGxpdDogZmFsc2UsXG4gICAgICAgIHBhcnNlSFRNTDogKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBkYXRhQ2hlY2tlZCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZGF0YS1jaGVja2VkXCIpO1xuICAgICAgICAgIHJldHVybiBkYXRhQ2hlY2tlZCA9PT0gXCJcIiB8fCBkYXRhQ2hlY2tlZCA9PT0gXCJ0cnVlXCI7XG4gICAgICAgIH0sXG4gICAgICAgIHJlbmRlckhUTUw6IChhdHRyaWJ1dGVzKSA9PiAoe1xuICAgICAgICAgIFwiZGF0YS1jaGVja2VkXCI6IGF0dHJpYnV0ZXMuY2hlY2tlZFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIHBhcnNlSFRNTCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0YWc6IGBsaVtkYXRhLXR5cGU9XCIke3RoaXMubmFtZX1cIl1gLFxuICAgICAgICBwcmlvcml0eTogNTFcbiAgICAgIH1cbiAgICBdO1xuICB9LFxuICByZW5kZXJIVE1MKHsgbm9kZSwgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXG4gICAgICBcImxpXCIsXG4gICAgICBtZXJnZUF0dHJpYnV0ZXM0KHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcywgSFRNTEF0dHJpYnV0ZXMsIHtcbiAgICAgICAgXCJkYXRhLXR5cGVcIjogdGhpcy5uYW1lXG4gICAgICB9KSxcbiAgICAgIFtcbiAgICAgICAgXCJsYWJlbFwiLFxuICAgICAgICBbXG4gICAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6IFwiY2hlY2tib3hcIixcbiAgICAgICAgICAgIGNoZWNrZWQ6IG5vZGUuYXR0cnMuY2hlY2tlZCA/IFwiY2hlY2tlZFwiIDogbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgW1wic3BhblwiXVxuICAgICAgXSxcbiAgICAgIFtcImRpdlwiLCAwXVxuICAgIF07XG4gIH0sXG4gIHBhcnNlTWFya2Rvd246ICh0b2tlbiwgaCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBbXTtcbiAgICBpZiAodG9rZW4udG9rZW5zICYmIHRva2VuLnRva2Vucy5sZW5ndGggPiAwKSB7XG4gICAgICBjb250ZW50LnB1c2goaC5jcmVhdGVOb2RlKFwicGFyYWdyYXBoXCIsIHt9LCBoLnBhcnNlSW5saW5lKHRva2VuLnRva2VucykpKTtcbiAgICB9IGVsc2UgaWYgKHRva2VuLnRleHQpIHtcbiAgICAgIGNvbnRlbnQucHVzaChoLmNyZWF0ZU5vZGUoXCJwYXJhZ3JhcGhcIiwge30sIFtoLmNyZWF0ZU5vZGUoXCJ0ZXh0XCIsIHsgdGV4dDogdG9rZW4udGV4dCB9KV0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGVudC5wdXNoKGguY3JlYXRlTm9kZShcInBhcmFncmFwaFwiLCB7fSwgW10pKTtcbiAgICB9XG4gICAgaWYgKHRva2VuLm5lc3RlZFRva2VucyAmJiB0b2tlbi5uZXN0ZWRUb2tlbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbmVzdGVkQ29udGVudCA9IGgucGFyc2VDaGlsZHJlbih0b2tlbi5uZXN0ZWRUb2tlbnMpO1xuICAgICAgY29udGVudC5wdXNoKC4uLm5lc3RlZENvbnRlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gaC5jcmVhdGVOb2RlKFwidGFza0l0ZW1cIiwgeyBjaGVja2VkOiB0b2tlbi5jaGVja2VkIHx8IGZhbHNlIH0sIGNvbnRlbnQpO1xuICB9LFxuICByZW5kZXJNYXJrZG93bjogKG5vZGUsIGgpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgY2hlY2tlZENoYXIgPSAoKF9hID0gbm9kZS5hdHRycykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNoZWNrZWQpID8gXCJ4XCIgOiBcIiBcIjtcbiAgICBjb25zdCBwcmVmaXggPSBgLSBbJHtjaGVja2VkQ2hhcn1dIGA7XG4gICAgcmV0dXJuIHJlbmRlck5lc3RlZE1hcmtkb3duQ29udGVudDIobm9kZSwgaCwgcHJlZml4KTtcbiAgfSxcbiAgYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKSB7XG4gICAgY29uc3Qgc2hvcnRjdXRzID0ge1xuICAgICAgRW50ZXI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnNwbGl0TGlzdEl0ZW0odGhpcy5uYW1lKSxcbiAgICAgIFwiU2hpZnQtVGFiXCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLmxpZnRMaXN0SXRlbSh0aGlzLm5hbWUpXG4gICAgfTtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5uZXN0ZWQpIHtcbiAgICAgIHJldHVybiBzaG9ydGN1dHM7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5zaG9ydGN1dHMsXG4gICAgICBUYWI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnNpbmtMaXN0SXRlbSh0aGlzLm5hbWUpXG4gICAgfTtcbiAgfSxcbiAgYWRkTm9kZVZpZXcoKSB7XG4gICAgcmV0dXJuICh7IG5vZGUsIEhUTUxBdHRyaWJ1dGVzLCBnZXRQb3MsIGVkaXRvciB9KSA9PiB7XG4gICAgICBjb25zdCBsaXN0SXRlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaVwiKTtcbiAgICAgIGNvbnN0IGNoZWNrYm94V3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsYWJlbFwiKTtcbiAgICAgIGNvbnN0IGNoZWNrYm94U3R5bGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG4gICAgICBjb25zdCBjaGVja2JveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgY29uc3QgdXBkYXRlQTExWSA9IChjdXJyZW50Tm9kZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjaGVja2JveC5hcmlhTGFiZWwgPSAoKF9iID0gKF9hID0gdGhpcy5vcHRpb25zLmExMXkpID09IG51bGwgPyB2b2lkIDAgOiBfYS5jaGVja2JveExhYmVsKSA9PSBudWxsID8gdm9pZCAwIDogX2IuY2FsbChfYSwgY3VycmVudE5vZGUsIGNoZWNrYm94LmNoZWNrZWQpKSB8fCBgVGFzayBpdGVtIGNoZWNrYm94IGZvciAke2N1cnJlbnROb2RlLnRleHRDb250ZW50IHx8IFwiZW1wdHkgdGFzayBpdGVtXCJ9YDtcbiAgICAgIH07XG4gICAgICB1cGRhdGVBMTFZKG5vZGUpO1xuICAgICAgY2hlY2tib3hXcmFwcGVyLmNvbnRlbnRFZGl0YWJsZSA9IFwiZmFsc2VcIjtcbiAgICAgIGNoZWNrYm94LnR5cGUgPSBcImNoZWNrYm94XCI7XG4gICAgICBjaGVja2JveC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIChldmVudCkgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKSk7XG4gICAgICBjaGVja2JveC5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoIWVkaXRvci5pc0VkaXRhYmxlICYmICF0aGlzLm9wdGlvbnMub25SZWFkT25seUNoZWNrZWQpIHtcbiAgICAgICAgICBjaGVja2JveC5jaGVja2VkID0gIWNoZWNrYm94LmNoZWNrZWQ7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgY2hlY2tlZCB9ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICBpZiAoZWRpdG9yLmlzRWRpdGFibGUgJiYgdHlwZW9mIGdldFBvcyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgZWRpdG9yLmNoYWluKCkuZm9jdXModm9pZCAwLCB7IHNjcm9sbEludG9WaWV3OiBmYWxzZSB9KS5jb21tYW5kKCh7IHRyIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gZ2V0UG9zKCk7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHBvc2l0aW9uICE9PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnROb2RlID0gdHIuZG9jLm5vZGVBdChwb3NpdGlvbik7XG4gICAgICAgICAgICB0ci5zZXROb2RlTWFya3VwKHBvc2l0aW9uLCB2b2lkIDAsIHtcbiAgICAgICAgICAgICAgLi4uY3VycmVudE5vZGUgPT0gbnVsbCA/IHZvaWQgMCA6IGN1cnJlbnROb2RlLmF0dHJzLFxuICAgICAgICAgICAgICBjaGVja2VkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH0pLnJ1bigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZWRpdG9yLmlzRWRpdGFibGUgJiYgdGhpcy5vcHRpb25zLm9uUmVhZE9ubHlDaGVja2VkKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMub25SZWFkT25seUNoZWNrZWQobm9kZSwgY2hlY2tlZCkpIHtcbiAgICAgICAgICAgIGNoZWNrYm94LmNoZWNrZWQgPSAhY2hlY2tib3guY2hlY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgT2JqZWN0LmVudHJpZXModGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgbGlzdEl0ZW0uc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgICAgfSk7XG4gICAgICBsaXN0SXRlbS5kYXRhc2V0LmNoZWNrZWQgPSBub2RlLmF0dHJzLmNoZWNrZWQ7XG4gICAgICBjaGVja2JveC5jaGVja2VkID0gbm9kZS5hdHRycy5jaGVja2VkO1xuICAgICAgY2hlY2tib3hXcmFwcGVyLmFwcGVuZChjaGVja2JveCwgY2hlY2tib3hTdHlsZXIpO1xuICAgICAgbGlzdEl0ZW0uYXBwZW5kKGNoZWNrYm94V3JhcHBlciwgY29udGVudCk7XG4gICAgICBPYmplY3QuZW50cmllcyhIVE1MQXR0cmlidXRlcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLnNldEF0dHJpYnV0ZShrZXksIHZhbHVlKTtcbiAgICAgIH0pO1xuICAgICAgbGV0IHByZXZSZW5kZXJlZEF0dHJpYnV0ZUtleXMgPSBuZXcgU2V0KE9iamVjdC5rZXlzKEhUTUxBdHRyaWJ1dGVzKSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkb206IGxpc3RJdGVtLFxuICAgICAgICBjb250ZW50RE9NOiBjb250ZW50LFxuICAgICAgICB1cGRhdGU6ICh1cGRhdGVkTm9kZSkgPT4ge1xuICAgICAgICAgIGlmICh1cGRhdGVkTm9kZS50eXBlICE9PSB0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGlzdEl0ZW0uZGF0YXNldC5jaGVja2VkID0gdXBkYXRlZE5vZGUuYXR0cnMuY2hlY2tlZDtcbiAgICAgICAgICBjaGVja2JveC5jaGVja2VkID0gdXBkYXRlZE5vZGUuYXR0cnMuY2hlY2tlZDtcbiAgICAgICAgICB1cGRhdGVBMTFZKHVwZGF0ZWROb2RlKTtcbiAgICAgICAgICBjb25zdCBleHRlbnNpb25BdHRyaWJ1dGVzID0gZWRpdG9yLmV4dGVuc2lvbk1hbmFnZXIuYXR0cmlidXRlcztcbiAgICAgICAgICBjb25zdCBuZXdIVE1MQXR0cmlidXRlcyA9IGdldFJlbmRlcmVkQXR0cmlidXRlcyh1cGRhdGVkTm9kZSwgZXh0ZW5zaW9uQXR0cmlidXRlcyk7XG4gICAgICAgICAgY29uc3QgbmV3S2V5cyA9IG5ldyBTZXQoT2JqZWN0LmtleXMobmV3SFRNTEF0dHJpYnV0ZXMpKTtcbiAgICAgICAgICBjb25zdCBzdGF0aWNBdHRycyA9IHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcztcbiAgICAgICAgICBwcmV2UmVuZGVyZWRBdHRyaWJ1dGVLZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFuZXdLZXlzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICAgIGlmIChrZXkgaW4gc3RhdGljQXR0cnMpIHtcbiAgICAgICAgICAgICAgICBsaXN0SXRlbS5zZXRBdHRyaWJ1dGUoa2V5LCBzdGF0aWNBdHRyc1trZXldKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsaXN0SXRlbS5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKG5ld0hUTUxBdHRyaWJ1dGVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICAgIGlmIChrZXkgaW4gc3RhdGljQXR0cnMpIHtcbiAgICAgICAgICAgICAgICBsaXN0SXRlbS5zZXRBdHRyaWJ1dGUoa2V5LCBzdGF0aWNBdHRyc1trZXldKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsaXN0SXRlbS5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbGlzdEl0ZW0uc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHByZXZSZW5kZXJlZEF0dHJpYnV0ZUtleXMgPSBuZXdLZXlzO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH07XG4gIH0sXG4gIGFkZElucHV0UnVsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHdyYXBwaW5nSW5wdXRSdWxlMyh7XG4gICAgICAgIGZpbmQ6IGlucHV0UmVnZXgsXG4gICAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgICAgZ2V0QXR0cmlidXRlczogKG1hdGNoKSA9PiAoe1xuICAgICAgICAgIGNoZWNrZWQ6IG1hdGNoW21hdGNoLmxlbmd0aCAtIDFdID09PSBcInhcIlxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICBdO1xuICB9XG59KTtcblxuLy8gc3JjL3Rhc2stbGlzdC90YXNrLWxpc3QudHNcbmltcG9ydCB7IG1lcmdlQXR0cmlidXRlcyBhcyBtZXJnZUF0dHJpYnV0ZXM1LCBOb2RlIGFzIE5vZGU1LCBwYXJzZUluZGVudGVkQmxvY2tzIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xudmFyIFRhc2tMaXN0ID0gTm9kZTUuY3JlYXRlKHtcbiAgbmFtZTogXCJ0YXNrTGlzdFwiLFxuICBhZGRPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpdGVtVHlwZU5hbWU6IFwidGFza0l0ZW1cIixcbiAgICAgIEhUTUxBdHRyaWJ1dGVzOiB7fVxuICAgIH07XG4gIH0sXG4gIGdyb3VwOiBcImJsb2NrIGxpc3RcIixcbiAgY29udGVudCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5vcHRpb25zLml0ZW1UeXBlTmFtZX0rYDtcbiAgfSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogYHVsW2RhdGEtdHlwZT1cIiR7dGhpcy5uYW1lfVwiXWAsXG4gICAgICAgIHByaW9yaXR5OiA1MVxuICAgICAgfVxuICAgIF07XG4gIH0sXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgcmV0dXJuIFtcInVsXCIsIG1lcmdlQXR0cmlidXRlczUodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLCBIVE1MQXR0cmlidXRlcywgeyBcImRhdGEtdHlwZVwiOiB0aGlzLm5hbWUgfSksIDBdO1xuICB9LFxuICBwYXJzZU1hcmtkb3duOiAodG9rZW4sIGgpID0+IHtcbiAgICByZXR1cm4gaC5jcmVhdGVOb2RlKFwidGFza0xpc3RcIiwge30sIGgucGFyc2VDaGlsZHJlbih0b2tlbi5pdGVtcyB8fCBbXSkpO1xuICB9LFxuICByZW5kZXJNYXJrZG93bjogKG5vZGUsIGgpID0+IHtcbiAgICBpZiAoIW5vZGUuY29udGVudCkge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBoLnJlbmRlckNoaWxkcmVuKG5vZGUuY29udGVudCwgXCJcXG5cIik7XG4gIH0sXG4gIG1hcmtkb3duVG9rZW5pemVyOiB7XG4gICAgbmFtZTogXCJ0YXNrTGlzdFwiLFxuICAgIGxldmVsOiBcImJsb2NrXCIsXG4gICAgc3RhcnQoc3JjKSB7XG4gICAgICB2YXIgX2E7XG4gICAgICBjb25zdCBpbmRleCA9IChfYSA9IHNyYy5tYXRjaCgvXlxccypbLSsqXVxccytcXFsoWyB4WF0pXFxdXFxzKy8pKSA9PSBudWxsID8gdm9pZCAwIDogX2EuaW5kZXg7XG4gICAgICByZXR1cm4gaW5kZXggIT09IHZvaWQgMCA/IGluZGV4IDogLTE7XG4gICAgfSxcbiAgICB0b2tlbml6ZShzcmMsIHRva2VucywgbGV4ZXIpIHtcbiAgICAgIGNvbnN0IHBhcnNlVGFza0xpc3RDb250ZW50ID0gKGNvbnRlbnQpID0+IHtcbiAgICAgICAgY29uc3QgbmVzdGVkUmVzdWx0ID0gcGFyc2VJbmRlbnRlZEJsb2NrcyhcbiAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGl0ZW1QYXR0ZXJuOiAvXihcXHMqKShbLSsqXSlcXHMrXFxbKFsgeFhdKVxcXVxccysoLiopJC8sXG4gICAgICAgICAgICBleHRyYWN0SXRlbURhdGE6IChtYXRjaCkgPT4gKHtcbiAgICAgICAgICAgICAgaW5kZW50TGV2ZWw6IG1hdGNoWzFdLmxlbmd0aCxcbiAgICAgICAgICAgICAgbWFpbkNvbnRlbnQ6IG1hdGNoWzRdLFxuICAgICAgICAgICAgICBjaGVja2VkOiBtYXRjaFszXS50b0xvd2VyQ2FzZSgpID09PSBcInhcIlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjcmVhdGVUb2tlbjogKGRhdGEsIG5lc3RlZFRva2VucykgPT4gKHtcbiAgICAgICAgICAgICAgdHlwZTogXCJ0YXNrSXRlbVwiLFxuICAgICAgICAgICAgICByYXc6IFwiXCIsXG4gICAgICAgICAgICAgIG1haW5Db250ZW50OiBkYXRhLm1haW5Db250ZW50LFxuICAgICAgICAgICAgICBpbmRlbnRMZXZlbDogZGF0YS5pbmRlbnRMZXZlbCxcbiAgICAgICAgICAgICAgY2hlY2tlZDogZGF0YS5jaGVja2VkLFxuICAgICAgICAgICAgICB0ZXh0OiBkYXRhLm1haW5Db250ZW50LFxuICAgICAgICAgICAgICB0b2tlbnM6IGxleGVyLmlubGluZVRva2VucyhkYXRhLm1haW5Db250ZW50KSxcbiAgICAgICAgICAgICAgbmVzdGVkVG9rZW5zXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC8vIEFsbG93IHJlY3Vyc2l2ZSBuZXN0aW5nXG4gICAgICAgICAgICBjdXN0b21OZXN0ZWRQYXJzZXI6IHBhcnNlVGFza0xpc3RDb250ZW50XG4gICAgICAgICAgfSxcbiAgICAgICAgICBsZXhlclxuICAgICAgICApO1xuICAgICAgICBpZiAobmVzdGVkUmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogXCJ0YXNrTGlzdFwiLFxuICAgICAgICAgICAgICByYXc6IG5lc3RlZFJlc3VsdC5yYXcsXG4gICAgICAgICAgICAgIGl0ZW1zOiBuZXN0ZWRSZXN1bHQuaXRlbXNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsZXhlci5ibG9ja1Rva2Vucyhjb250ZW50KTtcbiAgICAgIH07XG4gICAgICBjb25zdCByZXN1bHQgPSBwYXJzZUluZGVudGVkQmxvY2tzKFxuICAgICAgICBzcmMsXG4gICAgICAgIHtcbiAgICAgICAgICBpdGVtUGF0dGVybjogL14oXFxzKikoWy0rKl0pXFxzK1xcWyhbIHhYXSlcXF1cXHMrKC4qKSQvLFxuICAgICAgICAgIGV4dHJhY3RJdGVtRGF0YTogKG1hdGNoKSA9PiAoe1xuICAgICAgICAgICAgaW5kZW50TGV2ZWw6IG1hdGNoWzFdLmxlbmd0aCxcbiAgICAgICAgICAgIG1haW5Db250ZW50OiBtYXRjaFs0XSxcbiAgICAgICAgICAgIGNoZWNrZWQ6IG1hdGNoWzNdLnRvTG93ZXJDYXNlKCkgPT09IFwieFwiXG4gICAgICAgICAgfSksXG4gICAgICAgICAgY3JlYXRlVG9rZW46IChkYXRhLCBuZXN0ZWRUb2tlbnMpID0+ICh7XG4gICAgICAgICAgICB0eXBlOiBcInRhc2tJdGVtXCIsXG4gICAgICAgICAgICByYXc6IFwiXCIsXG4gICAgICAgICAgICBtYWluQ29udGVudDogZGF0YS5tYWluQ29udGVudCxcbiAgICAgICAgICAgIGluZGVudExldmVsOiBkYXRhLmluZGVudExldmVsLFxuICAgICAgICAgICAgY2hlY2tlZDogZGF0YS5jaGVja2VkLFxuICAgICAgICAgICAgdGV4dDogZGF0YS5tYWluQ29udGVudCxcbiAgICAgICAgICAgIHRva2VuczogbGV4ZXIuaW5saW5lVG9rZW5zKGRhdGEubWFpbkNvbnRlbnQpLFxuICAgICAgICAgICAgbmVzdGVkVG9rZW5zXG4gICAgICAgICAgfSksXG4gICAgICAgICAgLy8gVXNlIHRoZSByZWN1cnNpdmUgcGFyc2VyIGZvciBuZXN0ZWQgY29udGVudFxuICAgICAgICAgIGN1c3RvbU5lc3RlZFBhcnNlcjogcGFyc2VUYXNrTGlzdENvbnRlbnRcbiAgICAgICAgfSxcbiAgICAgICAgbGV4ZXJcbiAgICAgICk7XG4gICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogXCJ0YXNrTGlzdFwiLFxuICAgICAgICByYXc6IHJlc3VsdC5yYXcsXG4gICAgICAgIGl0ZW1zOiByZXN1bHQuaXRlbXNcbiAgICAgIH07XG4gICAgfVxuICB9LFxuICBtYXJrZG93bk9wdGlvbnM6IHtcbiAgICBpbmRlbnRzQ29udGVudDogdHJ1ZVxuICB9LFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdG9nZ2xlVGFza0xpc3Q6ICgpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnRvZ2dsZUxpc3QodGhpcy5uYW1lLCB0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBhZGRLZXlib2FyZFNob3J0Y3V0cygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJNb2QtU2hpZnQtOVwiOiAoKSA9PiB0aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVUYXNrTGlzdCgpXG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIHNyYy9raXQvaW5kZXgudHNcbnZhciBMaXN0S2l0ID0gRXh0ZW5zaW9uMi5jcmVhdGUoe1xuICBuYW1lOiBcImxpc3RLaXRcIixcbiAgYWRkRXh0ZW5zaW9ucygpIHtcbiAgICBjb25zdCBleHRlbnNpb25zID0gW107XG4gICAgaWYgKHRoaXMub3B0aW9ucy5idWxsZXRMaXN0ICE9PSBmYWxzZSkge1xuICAgICAgZXh0ZW5zaW9ucy5wdXNoKEJ1bGxldExpc3QuY29uZmlndXJlKHRoaXMub3B0aW9ucy5idWxsZXRMaXN0KSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnMubGlzdEl0ZW0gIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goTGlzdEl0ZW0uY29uZmlndXJlKHRoaXMub3B0aW9ucy5saXN0SXRlbSkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zLmxpc3RLZXltYXAgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goTGlzdEtleW1hcC5jb25maWd1cmUodGhpcy5vcHRpb25zLmxpc3RLZXltYXApKTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3B0aW9ucy5vcmRlcmVkTGlzdCAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaChPcmRlcmVkTGlzdC5jb25maWd1cmUodGhpcy5vcHRpb25zLm9yZGVyZWRMaXN0KSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnMudGFza0l0ZW0gIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goVGFza0l0ZW0uY29uZmlndXJlKHRoaXMub3B0aW9ucy50YXNrSXRlbSkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zLnRhc2tMaXN0ICE9PSBmYWxzZSkge1xuICAgICAgZXh0ZW5zaW9ucy5wdXNoKFRhc2tMaXN0LmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMudGFza0xpc3QpKTtcbiAgICB9XG4gICAgcmV0dXJuIGV4dGVuc2lvbnM7XG4gIH1cbn0pO1xuZXhwb3J0IHtcbiAgQnVsbGV0TGlzdCxcbiAgTGlzdEl0ZW0sXG4gIExpc3RLZXltYXAsXG4gIExpc3RLaXQsXG4gIE9yZGVyZWRMaXN0LFxuICBUYXNrSXRlbSxcbiAgVGFza0xpc3QsXG4gIGJ1bGxldExpc3RJbnB1dFJlZ2V4LFxuICBpbnB1dFJlZ2V4LFxuICBsaXN0SGVscGVyc19leHBvcnRzIGFzIGxpc3RIZWxwZXJzLFxuICBvcmRlcmVkTGlzdElucHV0UmVnZXhcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-list/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-paragraph/dist/index.js": -/*!****************************************************************!*\ - !*** ./node_modules/@tiptap/extension-paragraph/dist/index.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Paragraph: () => (/* binding */ Paragraph),\n/* harmony export */ \"default\": () => (/* binding */ index_default)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n// src/paragraph.ts\n\nvar EMPTY_PARAGRAPH_MARKDOWN = \" \";\nvar NBSP_CHAR = \"\\xA0\";\nvar Paragraph = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Node.create({\n name: \"paragraph\",\n priority: 1e3,\n addOptions() {\n return {\n HTMLAttributes: {}\n };\n },\n group: \"block\",\n content: \"inline*\",\n parseHTML() {\n return [{ tag: \"p\" }];\n },\n renderHTML({ HTMLAttributes }) {\n return [\"p\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n parseMarkdown: (token, helpers) => {\n const tokens = token.tokens || [];\n if (tokens.length === 1 && tokens[0].type === \"image\") {\n return helpers.parseChildren([tokens[0]]);\n }\n const content = helpers.parseInline(tokens);\n if (content.length === 1 && content[0].type === \"text\" && (content[0].text === EMPTY_PARAGRAPH_MARKDOWN || content[0].text === NBSP_CHAR)) {\n return helpers.createNode(\"paragraph\", void 0, []);\n }\n return helpers.createNode(\"paragraph\", void 0, content);\n },\n renderMarkdown: (node, h) => {\n if (!node) {\n return \"\";\n }\n const content = Array.isArray(node.content) ? node.content : [];\n if (content.length === 0) {\n return EMPTY_PARAGRAPH_MARKDOWN;\n }\n return h.renderChildren(content);\n },\n addCommands() {\n return {\n setParagraph: () => ({ commands }) => {\n return commands.setNode(this.name);\n }\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-Alt-0\": () => this.editor.commands.setParagraph()\n };\n }\n});\n\n// src/index.ts\nvar index_default = Paragraph;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24tcGFyYWdyYXBoL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDcUQ7QUFDckQsc0NBQXNDO0FBQ3RDO0FBQ0EsZ0JBQWdCLDhDQUFJO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxjQUFjLFVBQVU7QUFDeEIsR0FBRztBQUNILGVBQWUsZ0JBQWdCO0FBQy9CLGlCQUFpQiw2REFBZTtBQUNoQyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSw2QkFBNkIsVUFBVTtBQUN2QztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUlFO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEB0aXB0YXBcXGV4dGVuc2lvbi1wYXJhZ3JhcGhcXGRpc3RcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9wYXJhZ3JhcGgudHNcbmltcG9ydCB7IG1lcmdlQXR0cmlidXRlcywgTm9kZSB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbnZhciBFTVBUWV9QQVJBR1JBUEhfTUFSS0RPV04gPSBcIiZuYnNwO1wiO1xudmFyIE5CU1BfQ0hBUiA9IFwiXFx4QTBcIjtcbnZhciBQYXJhZ3JhcGggPSBOb2RlLmNyZWF0ZSh7XG4gIG5hbWU6IFwicGFyYWdyYXBoXCIsXG4gIHByaW9yaXR5OiAxZTMsXG4gIGFkZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIEhUTUxBdHRyaWJ1dGVzOiB7fVxuICAgIH07XG4gIH0sXG4gIGdyb3VwOiBcImJsb2NrXCIsXG4gIGNvbnRlbnQ6IFwiaW5saW5lKlwiLFxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFt7IHRhZzogXCJwXCIgfV07XG4gIH0sXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgcmV0dXJuIFtcInBcIiwgbWVyZ2VBdHRyaWJ1dGVzKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcywgSFRNTEF0dHJpYnV0ZXMpLCAwXTtcbiAgfSxcbiAgcGFyc2VNYXJrZG93bjogKHRva2VuLCBoZWxwZXJzKSA9PiB7XG4gICAgY29uc3QgdG9rZW5zID0gdG9rZW4udG9rZW5zIHx8IFtdO1xuICAgIGlmICh0b2tlbnMubGVuZ3RoID09PSAxICYmIHRva2Vuc1swXS50eXBlID09PSBcImltYWdlXCIpIHtcbiAgICAgIHJldHVybiBoZWxwZXJzLnBhcnNlQ2hpbGRyZW4oW3Rva2Vuc1swXV0pO1xuICAgIH1cbiAgICBjb25zdCBjb250ZW50ID0gaGVscGVycy5wYXJzZUlubGluZSh0b2tlbnMpO1xuICAgIGlmIChjb250ZW50Lmxlbmd0aCA9PT0gMSAmJiBjb250ZW50WzBdLnR5cGUgPT09IFwidGV4dFwiICYmIChjb250ZW50WzBdLnRleHQgPT09IEVNUFRZX1BBUkFHUkFQSF9NQVJLRE9XTiB8fCBjb250ZW50WzBdLnRleHQgPT09IE5CU1BfQ0hBUikpIHtcbiAgICAgIHJldHVybiBoZWxwZXJzLmNyZWF0ZU5vZGUoXCJwYXJhZ3JhcGhcIiwgdm9pZCAwLCBbXSk7XG4gICAgfVxuICAgIHJldHVybiBoZWxwZXJzLmNyZWF0ZU5vZGUoXCJwYXJhZ3JhcGhcIiwgdm9pZCAwLCBjb250ZW50KTtcbiAgfSxcbiAgcmVuZGVyTWFya2Rvd246IChub2RlLCBoKSA9PiB7XG4gICAgaWYgKCFub2RlKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgY29uc3QgY29udGVudCA9IEFycmF5LmlzQXJyYXkobm9kZS5jb250ZW50KSA/IG5vZGUuY29udGVudCA6IFtdO1xuICAgIGlmIChjb250ZW50Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIEVNUFRZX1BBUkFHUkFQSF9NQVJLRE9XTjtcbiAgICB9XG4gICAgcmV0dXJuIGgucmVuZGVyQ2hpbGRyZW4oY29udGVudCk7XG4gIH0sXG4gIGFkZENvbW1hbmRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZXRQYXJhZ3JhcGg6ICgpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnNldE5vZGUodGhpcy5uYW1lKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBhZGRLZXlib2FyZFNob3J0Y3V0cygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJNb2QtQWx0LTBcIjogKCkgPT4gdGhpcy5lZGl0b3IuY29tbWFuZHMuc2V0UGFyYWdyYXBoKClcbiAgICB9O1xuICB9XG59KTtcblxuLy8gc3JjL2luZGV4LnRzXG52YXIgaW5kZXhfZGVmYXVsdCA9IFBhcmFncmFwaDtcbmV4cG9ydCB7XG4gIFBhcmFncmFwaCxcbiAgaW5kZXhfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-paragraph/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-strike/dist/index.js": -/*!*************************************************************!*\ - !*** ./node_modules/@tiptap/extension-strike/dist/index.js ***! - \*************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Strike: () => (/* binding */ Strike),\n/* harmony export */ \"default\": () => (/* binding */ index_default),\n/* harmony export */ inputRegex: () => (/* binding */ inputRegex),\n/* harmony export */ pasteRegex: () => (/* binding */ pasteRegex)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n// src/strike.ts\n\nvar inputRegex = /(?:^|\\s)(~~(?!\\s+~~)((?:[^~]+))~~(?!\\s+~~))$/;\nvar pasteRegex = /(?:^|\\s)(~~(?!\\s+~~)((?:[^~]+))~~(?!\\s+~~))/g;\nvar Strike = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Mark.create({\n name: \"strike\",\n addOptions() {\n return {\n HTMLAttributes: {}\n };\n },\n parseHTML() {\n return [\n {\n tag: \"s\"\n },\n {\n tag: \"del\"\n },\n {\n tag: \"strike\"\n },\n {\n style: \"text-decoration\",\n consuming: false,\n getAttrs: (style) => style.includes(\"line-through\") ? {} : false\n }\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return [\"s\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n markdownTokenName: \"del\",\n parseMarkdown: (token, helpers) => {\n return helpers.applyMark(\"strike\", helpers.parseInline(token.tokens || []));\n },\n renderMarkdown: (node, h) => {\n return `~~${h.renderChildren(node)}~~`;\n },\n addCommands() {\n return {\n setStrike: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleStrike: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetStrike: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n }\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-Shift-s\": () => this.editor.commands.toggleStrike()\n };\n },\n addInputRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markInputRule)({\n find: inputRegex,\n type: this.type\n })\n ];\n },\n addPasteRules() {\n return [\n (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.markPasteRule)({\n find: pasteRegex,\n type: this.type\n })\n ];\n }\n});\n\n// src/index.ts\nvar index_default = Strike;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24tc3RyaWtlL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNtRjtBQUNuRjtBQUNBO0FBQ0EsYUFBYSw4Q0FBSTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxpRUFBaUU7QUFDakU7QUFDQTtBQUNBLEdBQUc7QUFDSCxlQUFlLGdCQUFnQjtBQUMvQixpQkFBaUIsNkRBQWU7QUFDaEMsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLGdCQUFnQix1QkFBdUI7QUFDdkMsR0FBRztBQUNIO0FBQ0E7QUFDQSwwQkFBMEIsVUFBVTtBQUNwQztBQUNBLE9BQU87QUFDUCw2QkFBNkIsVUFBVTtBQUN2QztBQUNBLE9BQU87QUFDUCw0QkFBNEIsVUFBVTtBQUN0QztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLE1BQU0sMkRBQWE7QUFDbkI7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsTUFBTSwyREFBYTtBQUNuQjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFNRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxleHRlbnNpb24tc3RyaWtlXFxkaXN0XFxpbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzcmMvc3RyaWtlLnRzXG5pbXBvcnQgeyBNYXJrLCBtYXJrSW5wdXRSdWxlLCBtYXJrUGFzdGVSdWxlLCBtZXJnZUF0dHJpYnV0ZXMgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG52YXIgaW5wdXRSZWdleCA9IC8oPzpefFxccykofn4oPyFcXHMrfn4pKCg/Oltefl0rKSl+fig/IVxccyt+fikpJC87XG52YXIgcGFzdGVSZWdleCA9IC8oPzpefFxccykofn4oPyFcXHMrfn4pKCg/Oltefl0rKSl+fig/IVxccyt+fikpL2c7XG52YXIgU3RyaWtlID0gTWFyay5jcmVhdGUoe1xuICBuYW1lOiBcInN0cmlrZVwiLFxuICBhZGRPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBIVE1MQXR0cmlidXRlczoge31cbiAgICB9O1xuICB9LFxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiBcInNcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGFnOiBcImRlbFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0YWc6IFwic3RyaWtlXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0eWxlOiBcInRleHQtZGVjb3JhdGlvblwiLFxuICAgICAgICBjb25zdW1pbmc6IGZhbHNlLFxuICAgICAgICBnZXRBdHRyczogKHN0eWxlKSA9PiBzdHlsZS5pbmNsdWRlcyhcImxpbmUtdGhyb3VnaFwiKSA/IHt9IDogZmFsc2VcbiAgICAgIH1cbiAgICBdO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXCJzXCIsIG1lcmdlQXR0cmlidXRlcyh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsIEhUTUxBdHRyaWJ1dGVzKSwgMF07XG4gIH0sXG4gIG1hcmtkb3duVG9rZW5OYW1lOiBcImRlbFwiLFxuICBwYXJzZU1hcmtkb3duOiAodG9rZW4sIGhlbHBlcnMpID0+IHtcbiAgICByZXR1cm4gaGVscGVycy5hcHBseU1hcmsoXCJzdHJpa2VcIiwgaGVscGVycy5wYXJzZUlubGluZSh0b2tlbi50b2tlbnMgfHwgW10pKTtcbiAgfSxcbiAgcmVuZGVyTWFya2Rvd246IChub2RlLCBoKSA9PiB7XG4gICAgcmV0dXJuIGB+fiR7aC5yZW5kZXJDaGlsZHJlbihub2RlKX1+fmA7XG4gIH0sXG4gIGFkZENvbW1hbmRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZXRTdHJpa2U6ICgpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnNldE1hcmsodGhpcy5uYW1lKTtcbiAgICAgIH0sXG4gICAgICB0b2dnbGVTdHJpa2U6ICgpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnRvZ2dsZU1hcmsodGhpcy5uYW1lKTtcbiAgICAgIH0sXG4gICAgICB1bnNldFN0cmlrZTogKCkgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY29tbWFuZHMudW5zZXRNYXJrKHRoaXMubmFtZSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwiTW9kLVNoaWZ0LXNcIjogKCkgPT4gdGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlU3RyaWtlKClcbiAgICB9O1xuICB9LFxuICBhZGRJbnB1dFJ1bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBtYXJrSW5wdXRSdWxlKHtcbiAgICAgICAgZmluZDogaW5wdXRSZWdleCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICB9KVxuICAgIF07XG4gIH0sXG4gIGFkZFBhc3RlUnVsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIG1hcmtQYXN0ZVJ1bGUoe1xuICAgICAgICBmaW5kOiBwYXN0ZVJlZ2V4LFxuICAgICAgICB0eXBlOiB0aGlzLnR5cGVcbiAgICAgIH0pXG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIHNyYy9pbmRleC50c1xudmFyIGluZGV4X2RlZmF1bHQgPSBTdHJpa2U7XG5leHBvcnQge1xuICBTdHJpa2UsXG4gIGluZGV4X2RlZmF1bHQgYXMgZGVmYXVsdCxcbiAgaW5wdXRSZWdleCxcbiAgcGFzdGVSZWdleFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-strike/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-text/dist/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/@tiptap/extension-text/dist/index.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Text: () => (/* binding */ Text),\n/* harmony export */ \"default\": () => (/* binding */ index_default)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n// src/text.ts\n\nvar Text = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Node.create({\n name: \"text\",\n group: \"inline\",\n parseMarkdown: (token) => {\n return {\n type: \"text\",\n text: token.text || \"\"\n };\n },\n renderMarkdown: (node) => node.text || \"\"\n});\n\n// src/index.ts\nvar index_default = Text;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24tdGV4dC9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ29DO0FBQ3BDLFdBQVcsOENBQUk7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUlFO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEB0aXB0YXBcXGV4dGVuc2lvbi10ZXh0XFxkaXN0XFxpbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzcmMvdGV4dC50c1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbnZhciBUZXh0ID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiBcInRleHRcIixcbiAgZ3JvdXA6IFwiaW5saW5lXCIsXG4gIHBhcnNlTWFya2Rvd246ICh0b2tlbikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgIHRleHQ6IHRva2VuLnRleHQgfHwgXCJcIlxuICAgIH07XG4gIH0sXG4gIHJlbmRlck1hcmtkb3duOiAobm9kZSkgPT4gbm9kZS50ZXh0IHx8IFwiXCJcbn0pO1xuXG4vLyBzcmMvaW5kZXgudHNcbnZhciBpbmRleF9kZWZhdWx0ID0gVGV4dDtcbmV4cG9ydCB7XG4gIFRleHQsXG4gIGluZGV4X2RlZmF1bHQgYXMgZGVmYXVsdFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-text/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extension-underline/dist/index.js": -/*!****************************************************************!*\ - !*** ./node_modules/@tiptap/extension-underline/dist/index.js ***! - \****************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Underline: () => (/* binding */ Underline),\n/* harmony export */ \"default\": () => (/* binding */ index_default)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n// src/underline.ts\n\nvar Underline = _tiptap_core__WEBPACK_IMPORTED_MODULE_0__.Mark.create({\n name: \"underline\",\n addOptions() {\n return {\n HTMLAttributes: {}\n };\n },\n parseHTML() {\n return [\n {\n tag: \"u\"\n },\n {\n style: \"text-decoration\",\n consuming: false,\n getAttrs: (style) => style.includes(\"underline\") ? {} : false\n }\n ];\n },\n renderHTML({ HTMLAttributes }) {\n return [\"u\", (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_0__.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), 0];\n },\n parseMarkdown(token, helpers) {\n return helpers.applyMark(this.name || \"underline\", helpers.parseInline(token.tokens || []));\n },\n renderMarkdown(node, helpers) {\n return `++${helpers.renderChildren(node)}++`;\n },\n markdownTokenizer: {\n name: \"underline\",\n level: \"inline\",\n start(src) {\n return src.indexOf(\"++\");\n },\n tokenize(src, _tokens, lexer) {\n const rule = /^(\\+\\+)([\\s\\S]+?)(\\+\\+)/;\n const match = rule.exec(src);\n if (!match) {\n return void 0;\n }\n const innerContent = match[2].trim();\n return {\n type: \"underline\",\n raw: match[0],\n text: innerContent,\n tokens: lexer.inlineTokens(innerContent)\n };\n }\n },\n addCommands() {\n return {\n setUnderline: () => ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleUnderline: () => ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n unsetUnderline: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n }\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-u\": () => this.editor.commands.toggleUnderline(),\n \"Mod-U\": () => this.editor.commands.toggleUnderline()\n };\n }\n});\n\n// src/index.ts\nvar index_default = Underline;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb24tdW5kZXJsaW5lL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDcUQ7QUFDckQsZ0JBQWdCLDhDQUFJO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsOERBQThEO0FBQzlEO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsZUFBZSxnQkFBZ0I7QUFDL0IsaUJBQWlCLDZEQUFlO0FBQ2hDLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZ0JBQWdCLDZCQUE2QjtBQUM3QyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSw2QkFBNkIsVUFBVTtBQUN2QztBQUNBLE9BQU87QUFDUCxnQ0FBZ0MsVUFBVTtBQUMxQztBQUNBLE9BQU87QUFDUCwrQkFBK0IsVUFBVTtBQUN6QztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBSUU7QUFDRiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xcQHRpcHRhcFxcZXh0ZW5zaW9uLXVuZGVybGluZVxcZGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL3VuZGVybGluZS50c1xuaW1wb3J0IHsgTWFyaywgbWVyZ2VBdHRyaWJ1dGVzIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xudmFyIFVuZGVybGluZSA9IE1hcmsuY3JlYXRlKHtcbiAgbmFtZTogXCJ1bmRlcmxpbmVcIixcbiAgYWRkT3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgSFRNTEF0dHJpYnV0ZXM6IHt9XG4gICAgfTtcbiAgfSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogXCJ1XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHN0eWxlOiBcInRleHQtZGVjb3JhdGlvblwiLFxuICAgICAgICBjb25zdW1pbmc6IGZhbHNlLFxuICAgICAgICBnZXRBdHRyczogKHN0eWxlKSA9PiBzdHlsZS5pbmNsdWRlcyhcInVuZGVybGluZVwiKSA/IHt9IDogZmFsc2VcbiAgICAgIH1cbiAgICBdO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXCJ1XCIsIG1lcmdlQXR0cmlidXRlcyh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsIEhUTUxBdHRyaWJ1dGVzKSwgMF07XG4gIH0sXG4gIHBhcnNlTWFya2Rvd24odG9rZW4sIGhlbHBlcnMpIHtcbiAgICByZXR1cm4gaGVscGVycy5hcHBseU1hcmsodGhpcy5uYW1lIHx8IFwidW5kZXJsaW5lXCIsIGhlbHBlcnMucGFyc2VJbmxpbmUodG9rZW4udG9rZW5zIHx8IFtdKSk7XG4gIH0sXG4gIHJlbmRlck1hcmtkb3duKG5vZGUsIGhlbHBlcnMpIHtcbiAgICByZXR1cm4gYCsrJHtoZWxwZXJzLnJlbmRlckNoaWxkcmVuKG5vZGUpfSsrYDtcbiAgfSxcbiAgbWFya2Rvd25Ub2tlbml6ZXI6IHtcbiAgICBuYW1lOiBcInVuZGVybGluZVwiLFxuICAgIGxldmVsOiBcImlubGluZVwiLFxuICAgIHN0YXJ0KHNyYykge1xuICAgICAgcmV0dXJuIHNyYy5pbmRleE9mKFwiKytcIik7XG4gICAgfSxcbiAgICB0b2tlbml6ZShzcmMsIF90b2tlbnMsIGxleGVyKSB7XG4gICAgICBjb25zdCBydWxlID0gL14oXFwrXFwrKShbXFxzXFxTXSs/KShcXCtcXCspLztcbiAgICAgIGNvbnN0IG1hdGNoID0gcnVsZS5leGVjKHNyYyk7XG4gICAgICBpZiAoIW1hdGNoKSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICB9XG4gICAgICBjb25zdCBpbm5lckNvbnRlbnQgPSBtYXRjaFsyXS50cmltKCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBcInVuZGVybGluZVwiLFxuICAgICAgICByYXc6IG1hdGNoWzBdLFxuICAgICAgICB0ZXh0OiBpbm5lckNvbnRlbnQsXG4gICAgICAgIHRva2VuczogbGV4ZXIuaW5saW5lVG9rZW5zKGlubmVyQ29udGVudClcbiAgICAgIH07XG4gICAgfVxuICB9LFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2V0VW5kZXJsaW5lOiAoKSA9PiAoeyBjb21tYW5kcyB9KSA9PiB7XG4gICAgICAgIHJldHVybiBjb21tYW5kcy5zZXRNYXJrKHRoaXMubmFtZSk7XG4gICAgICB9LFxuICAgICAgdG9nZ2xlVW5kZXJsaW5lOiAoKSA9PiAoeyBjb21tYW5kcyB9KSA9PiB7XG4gICAgICAgIHJldHVybiBjb21tYW5kcy50b2dnbGVNYXJrKHRoaXMubmFtZSk7XG4gICAgICB9LFxuICAgICAgdW5zZXRVbmRlcmxpbmU6ICgpID0+ICh7IGNvbW1hbmRzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1hbmRzLnVuc2V0TWFyayh0aGlzLm5hbWUpO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIGFkZEtleWJvYXJkU2hvcnRjdXRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBcIk1vZC11XCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZVVuZGVybGluZSgpLFxuICAgICAgXCJNb2QtVVwiOiAoKSA9PiB0aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVVbmRlcmxpbmUoKVxuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBzcmMvaW5kZXgudHNcbnZhciBpbmRleF9kZWZhdWx0ID0gVW5kZXJsaW5lO1xuZXhwb3J0IHtcbiAgVW5kZXJsaW5lLFxuICBpbmRleF9kZWZhdWx0IGFzIGRlZmF1bHRcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extension-underline/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/extensions/dist/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/@tiptap/extensions/dist/index.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CharacterCount: () => (/* binding */ CharacterCount),\n/* harmony export */ Dropcursor: () => (/* binding */ Dropcursor),\n/* harmony export */ Focus: () => (/* binding */ Focus),\n/* harmony export */ Gapcursor: () => (/* binding */ Gapcursor),\n/* harmony export */ Placeholder: () => (/* binding */ Placeholder),\n/* harmony export */ Selection: () => (/* binding */ Selection),\n/* harmony export */ TrailingNode: () => (/* binding */ TrailingNode),\n/* harmony export */ UndoRedo: () => (/* binding */ UndoRedo),\n/* harmony export */ preparePlaceholderAttribute: () => (/* binding */ preparePlaceholderAttribute)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n/* harmony import */ var _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/pm/state */ \"(ssr)/./node_modules/@tiptap/pm/dist/state/index.js\");\n/* harmony import */ var _tiptap_pm_dropcursor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tiptap/pm/dropcursor */ \"(ssr)/./node_modules/@tiptap/pm/dist/dropcursor/index.js\");\n/* harmony import */ var _tiptap_pm_view__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tiptap/pm/view */ \"(ssr)/./node_modules/@tiptap/pm/dist/view/index.js\");\n/* harmony import */ var _tiptap_pm_gapcursor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tiptap/pm/gapcursor */ \"(ssr)/./node_modules/@tiptap/pm/dist/gapcursor/index.js\");\n/* harmony import */ var _tiptap_pm_history__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tiptap/pm/history */ \"(ssr)/./node_modules/@tiptap/pm/dist/history/index.js\");\n// src/character-count/character-count.ts\n\n\nvar CharacterCount = _tiptap_core__WEBPACK_IMPORTED_MODULE_1__.Extension.create({\n name: \"characterCount\",\n addOptions() {\n return {\n limit: null,\n mode: \"textSize\",\n textCounter: (text) => text.length,\n wordCounter: (text) => text.split(\" \").filter((word) => word !== \"\").length\n };\n },\n addStorage() {\n return {\n characters: () => 0,\n words: () => 0\n };\n },\n onBeforeCreate() {\n this.storage.characters = (options) => {\n const node = (options == null ? void 0 : options.node) || this.editor.state.doc;\n const mode = (options == null ? void 0 : options.mode) || this.options.mode;\n if (mode === \"textSize\") {\n const text = node.textBetween(0, node.content.size, void 0, \" \");\n return this.options.textCounter(text);\n }\n return node.nodeSize;\n };\n this.storage.words = (options) => {\n const node = (options == null ? void 0 : options.node) || this.editor.state.doc;\n const text = node.textBetween(0, node.content.size, \" \", \" \");\n return this.options.wordCounter(text);\n };\n },\n addProseMirrorPlugins() {\n let initialEvaluationDone = false;\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.PluginKey(\"characterCount\"),\n appendTransaction: (transactions, oldState, newState) => {\n if (initialEvaluationDone) {\n return;\n }\n const limit = this.options.limit;\n if (limit === null || limit === void 0 || limit === 0) {\n initialEvaluationDone = true;\n return;\n }\n const initialContentSize = this.storage.characters({ node: newState.doc });\n if (initialContentSize > limit) {\n const over = initialContentSize - limit;\n const from = 0;\n const to = over;\n console.warn(\n `[CharacterCount] Initial content exceeded limit of ${limit} characters. Content was automatically trimmed.`\n );\n const tr = newState.tr.deleteRange(from, to);\n initialEvaluationDone = true;\n return tr;\n }\n initialEvaluationDone = true;\n },\n filterTransaction: (transaction, state) => {\n const limit = this.options.limit;\n if (!transaction.docChanged || limit === 0 || limit === null || limit === void 0) {\n return true;\n }\n const oldSize = this.storage.characters({ node: state.doc });\n const newSize = this.storage.characters({ node: transaction.doc });\n if (newSize <= limit) {\n return true;\n }\n if (oldSize > limit && newSize > limit && newSize <= oldSize) {\n return true;\n }\n if (oldSize > limit && newSize > limit && newSize > oldSize) {\n return false;\n }\n const isPaste = transaction.getMeta(\"paste\");\n if (!isPaste) {\n return false;\n }\n const pos = transaction.selection.$head.pos;\n const over = newSize - limit;\n const from = pos - over;\n const to = pos;\n transaction.deleteRange(from, to);\n const updatedSize = this.storage.characters({ node: transaction.doc });\n if (updatedSize > limit) {\n return false;\n }\n return true;\n }\n })\n ];\n }\n});\n\n// src/drop-cursor/drop-cursor.ts\n\n\nvar Dropcursor = _tiptap_core__WEBPACK_IMPORTED_MODULE_1__.Extension.create({\n name: \"dropCursor\",\n addOptions() {\n return {\n color: \"currentColor\",\n width: 1,\n class: void 0\n };\n },\n addProseMirrorPlugins() {\n return [(0,_tiptap_pm_dropcursor__WEBPACK_IMPORTED_MODULE_2__.dropCursor)(this.options)];\n }\n});\n\n// src/focus/focus.ts\n\n\n\nvar Focus = _tiptap_core__WEBPACK_IMPORTED_MODULE_1__.Extension.create({\n name: \"focus\",\n addOptions() {\n return {\n className: \"has-focus\",\n mode: \"all\"\n };\n },\n addProseMirrorPlugins() {\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.PluginKey(\"focus\"),\n props: {\n decorations: ({ doc, selection }) => {\n const { isEditable, isFocused } = this.editor;\n const { anchor } = selection;\n const decorations = [];\n if (!isEditable || !isFocused) {\n return _tiptap_pm_view__WEBPACK_IMPORTED_MODULE_3__.DecorationSet.create(doc, []);\n }\n let maxLevels = 0;\n if (this.options.mode === \"deepest\") {\n doc.descendants((node, pos) => {\n if (node.isText) {\n return;\n }\n const isCurrent = anchor >= pos && anchor <= pos + node.nodeSize - 1;\n if (!isCurrent) {\n return false;\n }\n maxLevels += 1;\n });\n }\n let currentLevel = 0;\n doc.descendants((node, pos) => {\n if (node.isText) {\n return false;\n }\n const isCurrent = anchor >= pos && anchor <= pos + node.nodeSize - 1;\n if (!isCurrent) {\n return false;\n }\n currentLevel += 1;\n const outOfScope = this.options.mode === \"deepest\" && maxLevels - currentLevel > 0 || this.options.mode === \"shallowest\" && currentLevel > 1;\n if (outOfScope) {\n return this.options.mode === \"deepest\";\n }\n decorations.push(\n _tiptap_pm_view__WEBPACK_IMPORTED_MODULE_3__.Decoration.node(pos, pos + node.nodeSize, {\n class: this.options.className\n })\n );\n });\n return _tiptap_pm_view__WEBPACK_IMPORTED_MODULE_3__.DecorationSet.create(doc, decorations);\n }\n }\n })\n ];\n }\n});\n\n// src/gap-cursor/gap-cursor.ts\n\n\nvar Gapcursor = _tiptap_core__WEBPACK_IMPORTED_MODULE_1__.Extension.create({\n name: \"gapCursor\",\n addProseMirrorPlugins() {\n return [(0,_tiptap_pm_gapcursor__WEBPACK_IMPORTED_MODULE_4__.gapCursor)()];\n },\n extendNodeSchema(extension) {\n var _a;\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage\n };\n return {\n allowGapCursor: (_a = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_1__.callOrReturn)((0,_tiptap_core__WEBPACK_IMPORTED_MODULE_1__.getExtensionField)(extension, \"allowGapCursor\", context))) != null ? _a : null\n };\n }\n});\n\n// src/placeholder/placeholder.ts\n\n\n\nvar DEFAULT_DATA_ATTRIBUTE = \"placeholder\";\nfunction preparePlaceholderAttribute(attr) {\n return attr.replace(/\\s+/g, \"-\").replace(/[^a-zA-Z0-9-]/g, \"\").replace(/^[0-9-]+/, \"\").replace(/^-+/, \"\").toLowerCase();\n}\nvar Placeholder = _tiptap_core__WEBPACK_IMPORTED_MODULE_1__.Extension.create({\n name: \"placeholder\",\n addOptions() {\n return {\n emptyEditorClass: \"is-editor-empty\",\n emptyNodeClass: \"is-empty\",\n dataAttribute: DEFAULT_DATA_ATTRIBUTE,\n placeholder: \"Write something \\u2026\",\n showOnlyWhenEditable: true,\n showOnlyCurrent: true,\n includeChildren: false\n };\n },\n addProseMirrorPlugins() {\n const dataAttribute = this.options.dataAttribute ? `data-${preparePlaceholderAttribute(this.options.dataAttribute)}` : `data-${DEFAULT_DATA_ATTRIBUTE}`;\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.PluginKey(\"placeholder\"),\n props: {\n decorations: ({ doc, selection }) => {\n const active = this.editor.isEditable || !this.options.showOnlyWhenEditable;\n const { anchor } = selection;\n const decorations = [];\n if (!active) {\n return null;\n }\n const isEmptyDoc = this.editor.isEmpty;\n doc.descendants((node, pos) => {\n const hasAnchor = anchor >= pos && anchor <= pos + node.nodeSize;\n const isEmpty = !node.isLeaf && (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_1__.isNodeEmpty)(node);\n if ((hasAnchor || !this.options.showOnlyCurrent) && isEmpty) {\n const classes = [this.options.emptyNodeClass];\n if (isEmptyDoc) {\n classes.push(this.options.emptyEditorClass);\n }\n const decoration = _tiptap_pm_view__WEBPACK_IMPORTED_MODULE_3__.Decoration.node(pos, pos + node.nodeSize, {\n class: classes.join(\" \"),\n [dataAttribute]: typeof this.options.placeholder === \"function\" ? this.options.placeholder({\n editor: this.editor,\n node,\n pos,\n hasAnchor\n }) : this.options.placeholder\n });\n decorations.push(decoration);\n }\n return this.options.includeChildren;\n });\n return _tiptap_pm_view__WEBPACK_IMPORTED_MODULE_3__.DecorationSet.create(doc, decorations);\n }\n }\n })\n ];\n }\n});\n\n// src/selection/selection.ts\n\n\n\nvar Selection = _tiptap_core__WEBPACK_IMPORTED_MODULE_1__.Extension.create({\n name: \"selection\",\n addOptions() {\n return {\n className: \"selection\"\n };\n },\n addProseMirrorPlugins() {\n const { editor, options } = this;\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.Plugin({\n key: new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.PluginKey(\"selection\"),\n props: {\n decorations(state) {\n if (state.selection.empty || editor.isFocused || !editor.isEditable || (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_1__.isNodeSelection)(state.selection) || editor.view.dragging) {\n return null;\n }\n return _tiptap_pm_view__WEBPACK_IMPORTED_MODULE_3__.DecorationSet.create(state.doc, [\n _tiptap_pm_view__WEBPACK_IMPORTED_MODULE_3__.Decoration.inline(state.selection.from, state.selection.to, {\n class: options.className\n })\n ]);\n }\n }\n })\n ];\n }\n});\n\n// src/trailing-node/trailing-node.ts\n\n\nfunction nodeEqualsType({ types, node }) {\n return node && Array.isArray(types) && types.includes(node.type) || (node == null ? void 0 : node.type) === types;\n}\nvar TrailingNode = _tiptap_core__WEBPACK_IMPORTED_MODULE_1__.Extension.create({\n name: \"trailingNode\",\n addOptions() {\n return {\n node: void 0,\n notAfter: []\n };\n },\n addProseMirrorPlugins() {\n var _a;\n const plugin = new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.PluginKey(this.name);\n const defaultNode = this.options.node || ((_a = this.editor.schema.topNodeType.contentMatch.defaultType) == null ? void 0 : _a.name) || \"paragraph\";\n const disabledNodes = Object.entries(this.editor.schema.nodes).map(([, value]) => value).filter((node) => (this.options.notAfter || []).concat(defaultNode).includes(node.name));\n return [\n new _tiptap_pm_state__WEBPACK_IMPORTED_MODULE_0__.Plugin({\n key: plugin,\n appendTransaction: (_, __, state) => {\n const { doc, tr, schema } = state;\n const shouldInsertNodeAtEnd = plugin.getState(state);\n const endPosition = doc.content.size;\n const type = schema.nodes[defaultNode];\n if (!shouldInsertNodeAtEnd) {\n return;\n }\n return tr.insert(endPosition, type.create());\n },\n state: {\n init: (_, state) => {\n const lastNode = state.tr.doc.lastChild;\n return !nodeEqualsType({ node: lastNode, types: disabledNodes });\n },\n apply: (tr, value) => {\n if (!tr.docChanged) {\n return value;\n }\n if (tr.getMeta(\"__uniqueIDTransaction\")) {\n return value;\n }\n const lastNode = tr.doc.lastChild;\n return !nodeEqualsType({ node: lastNode, types: disabledNodes });\n }\n }\n })\n ];\n }\n});\n\n// src/undo-redo/undo-redo.ts\n\n\nvar UndoRedo = _tiptap_core__WEBPACK_IMPORTED_MODULE_1__.Extension.create({\n name: \"undoRedo\",\n addOptions() {\n return {\n depth: 100,\n newGroupDelay: 500\n };\n },\n addCommands() {\n return {\n undo: () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_history__WEBPACK_IMPORTED_MODULE_5__.undo)(state, dispatch);\n },\n redo: () => ({ state, dispatch }) => {\n return (0,_tiptap_pm_history__WEBPACK_IMPORTED_MODULE_5__.redo)(state, dispatch);\n }\n };\n },\n addProseMirrorPlugins() {\n return [(0,_tiptap_pm_history__WEBPACK_IMPORTED_MODULE_5__.history)(this.options)];\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-z\": () => this.editor.commands.undo(),\n \"Shift-Mod-z\": () => this.editor.commands.redo(),\n \"Mod-y\": () => this.editor.commands.redo(),\n // Russian keyboard layouts\n \"Mod-\\u044F\": () => this.editor.commands.undo(),\n \"Shift-Mod-\\u044F\": () => this.editor.commands.redo()\n };\n }\n});\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9leHRlbnNpb25zL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDeUM7QUFDWTtBQUNyRCxxQkFBcUIsbURBQVM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxVQUFVLG9EQUFNO0FBQ2hCLGlCQUFpQix1REFBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0Qsb0JBQW9CO0FBQ25GO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRUFBb0UsT0FBTztBQUMzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxpQkFBaUI7QUFDckUsb0RBQW9ELHVCQUF1QjtBQUMzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3REFBd0QsdUJBQXVCO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDdUQ7QUFDSjtBQUNuRCxpQkFBaUIsbURBQVU7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxZQUFZLGlFQUFVO0FBQ3RCO0FBQ0EsQ0FBQzs7QUFFRDtBQUN1RDtBQUN1QjtBQUNsQjtBQUM1RCxZQUFZLG1EQUFV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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQjtBQUN0QyxlQUFlLHdEQUFJO0FBQ25CLE9BQU87QUFDUCxxQkFBcUIsaUJBQWlCO0FBQ3RDLGVBQWUsd0RBQUk7QUFDbkI7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLFlBQVksMkRBQU87QUFDbkIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQVdDO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEB0aXB0YXBcXGV4dGVuc2lvbnNcXGRpc3RcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9jaGFyYWN0ZXItY291bnQvY2hhcmFjdGVyLWNvdW50LnRzXG5pbXBvcnQgeyBFeHRlbnNpb24gfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBQbHVnaW4sIFBsdWdpbktleSB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG52YXIgQ2hhcmFjdGVyQ291bnQgPSBFeHRlbnNpb24uY3JlYXRlKHtcbiAgbmFtZTogXCJjaGFyYWN0ZXJDb3VudFwiLFxuICBhZGRPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsaW1pdDogbnVsbCxcbiAgICAgIG1vZGU6IFwidGV4dFNpemVcIixcbiAgICAgIHRleHRDb3VudGVyOiAodGV4dCkgPT4gdGV4dC5sZW5ndGgsXG4gICAgICB3b3JkQ291bnRlcjogKHRleHQpID0+IHRleHQuc3BsaXQoXCIgXCIpLmZpbHRlcigod29yZCkgPT4gd29yZCAhPT0gXCJcIikubGVuZ3RoXG4gICAgfTtcbiAgfSxcbiAgYWRkU3RvcmFnZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY2hhcmFjdGVyczogKCkgPT4gMCxcbiAgICAgIHdvcmRzOiAoKSA9PiAwXG4gICAgfTtcbiAgfSxcbiAgb25CZWZvcmVDcmVhdGUoKSB7XG4gICAgdGhpcy5zdG9yYWdlLmNoYXJhY3RlcnMgPSAob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IChvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLm5vZGUpIHx8IHRoaXMuZWRpdG9yLnN0YXRlLmRvYztcbiAgICAgIGNvbnN0IG1vZGUgPSAob3B0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogb3B0aW9ucy5tb2RlKSB8fCB0aGlzLm9wdGlvbnMubW9kZTtcbiAgICAgIGlmIChtb2RlID09PSBcInRleHRTaXplXCIpIHtcbiAgICAgICAgY29uc3QgdGV4dCA9IG5vZGUudGV4dEJldHdlZW4oMCwgbm9kZS5jb250ZW50LnNpemUsIHZvaWQgMCwgXCIgXCIpO1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRleHRDb3VudGVyKHRleHQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5vZGUubm9kZVNpemU7XG4gICAgfTtcbiAgICB0aGlzLnN0b3JhZ2Uud29yZHMgPSAob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IChvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLm5vZGUpIHx8IHRoaXMuZWRpdG9yLnN0YXRlLmRvYztcbiAgICAgIGNvbnN0IHRleHQgPSBub2RlLnRleHRCZXR3ZWVuKDAsIG5vZGUuY29udGVudC5zaXplLCBcIiBcIiwgXCIgXCIpO1xuICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy53b3JkQ291bnRlcih0ZXh0KTtcbiAgICB9O1xuICB9LFxuICBhZGRQcm9zZU1pcnJvclBsdWdpbnMoKSB7XG4gICAgbGV0IGluaXRpYWxFdmFsdWF0aW9uRG9uZSA9IGZhbHNlO1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgUGx1Z2luKHtcbiAgICAgICAga2V5OiBuZXcgUGx1Z2luS2V5KFwiY2hhcmFjdGVyQ291bnRcIiksXG4gICAgICAgIGFwcGVuZFRyYW5zYWN0aW9uOiAodHJhbnNhY3Rpb25zLCBvbGRTdGF0ZSwgbmV3U3RhdGUpID0+IHtcbiAgICAgICAgICBpZiAoaW5pdGlhbEV2YWx1YXRpb25Eb25lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGxpbWl0ID0gdGhpcy5vcHRpb25zLmxpbWl0O1xuICAgICAgICAgIGlmIChsaW1pdCA9PT0gbnVsbCB8fCBsaW1pdCA9PT0gdm9pZCAwIHx8IGxpbWl0ID09PSAwKSB7XG4gICAgICAgICAgICBpbml0aWFsRXZhbHVhdGlvbkRvbmUgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBpbml0aWFsQ29udGVudFNpemUgPSB0aGlzLnN0b3JhZ2UuY2hhcmFjdGVycyh7IG5vZGU6IG5ld1N0YXRlLmRvYyB9KTtcbiAgICAgICAgICBpZiAoaW5pdGlhbENvbnRlbnRTaXplID4gbGltaXQpIHtcbiAgICAgICAgICAgIGNvbnN0IG92ZXIgPSBpbml0aWFsQ29udGVudFNpemUgLSBsaW1pdDtcbiAgICAgICAgICAgIGNvbnN0IGZyb20gPSAwO1xuICAgICAgICAgICAgY29uc3QgdG8gPSBvdmVyO1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICBgW0NoYXJhY3RlckNvdW50XSBJbml0aWFsIGNvbnRlbnQgZXhjZWVkZWQgbGltaXQgb2YgJHtsaW1pdH0gY2hhcmFjdGVycy4gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSB0cmltbWVkLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCB0ciA9IG5ld1N0YXRlLnRyLmRlbGV0ZVJhbmdlKGZyb20sIHRvKTtcbiAgICAgICAgICAgIGluaXRpYWxFdmFsdWF0aW9uRG9uZSA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gdHI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGluaXRpYWxFdmFsdWF0aW9uRG9uZSA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlclRyYW5zYWN0aW9uOiAodHJhbnNhY3Rpb24sIHN0YXRlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbGltaXQgPSB0aGlzLm9wdGlvbnMubGltaXQ7XG4gICAgICAgICAgaWYgKCF0cmFuc2FjdGlvbi5kb2NDaGFuZ2VkIHx8IGxpbWl0ID09PSAwIHx8IGxpbWl0ID09PSBudWxsIHx8IGxpbWl0ID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBvbGRTaXplID0gdGhpcy5zdG9yYWdlLmNoYXJhY3RlcnMoeyBub2RlOiBzdGF0ZS5kb2MgfSk7XG4gICAgICAgICAgY29uc3QgbmV3U2l6ZSA9IHRoaXMuc3RvcmFnZS5jaGFyYWN0ZXJzKHsgbm9kZTogdHJhbnNhY3Rpb24uZG9jIH0pO1xuICAgICAgICAgIGlmIChuZXdTaXplIDw9IGxpbWl0KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG9sZFNpemUgPiBsaW1pdCAmJiBuZXdTaXplID4gbGltaXQgJiYgbmV3U2l6ZSA8PSBvbGRTaXplKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG9sZFNpemUgPiBsaW1pdCAmJiBuZXdTaXplID4gbGltaXQgJiYgbmV3U2l6ZSA+IG9sZFNpemUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgaXNQYXN0ZSA9IHRyYW5zYWN0aW9uLmdldE1ldGEoXCJwYXN0ZVwiKTtcbiAgICAgICAgICBpZiAoIWlzUGFzdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgcG9zID0gdHJhbnNhY3Rpb24uc2VsZWN0aW9uLiRoZWFkLnBvcztcbiAgICAgICAgICBjb25zdCBvdmVyID0gbmV3U2l6ZSAtIGxpbWl0O1xuICAgICAgICAgIGNvbnN0IGZyb20gPSBwb3MgLSBvdmVyO1xuICAgICAgICAgIGNvbnN0IHRvID0gcG9zO1xuICAgICAgICAgIHRyYW5zYWN0aW9uLmRlbGV0ZVJhbmdlKGZyb20sIHRvKTtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkU2l6ZSA9IHRoaXMuc3RvcmFnZS5jaGFyYWN0ZXJzKHsgbm9kZTogdHJhbnNhY3Rpb24uZG9jIH0pO1xuICAgICAgICAgIGlmICh1cGRhdGVkU2l6ZSA+IGxpbWl0KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIF07XG4gIH1cbn0pO1xuXG4vLyBzcmMvZHJvcC1jdXJzb3IvZHJvcC1jdXJzb3IudHNcbmltcG9ydCB7IEV4dGVuc2lvbiBhcyBFeHRlbnNpb24yIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xuaW1wb3J0IHsgZHJvcEN1cnNvciB9IGZyb20gXCJAdGlwdGFwL3BtL2Ryb3BjdXJzb3JcIjtcbnZhciBEcm9wY3Vyc29yID0gRXh0ZW5zaW9uMi5jcmVhdGUoe1xuICBuYW1lOiBcImRyb3BDdXJzb3JcIixcbiAgYWRkT3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IFwiY3VycmVudENvbG9yXCIsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIGNsYXNzOiB2b2lkIDBcbiAgICB9O1xuICB9LFxuICBhZGRQcm9zZU1pcnJvclBsdWdpbnMoKSB7XG4gICAgcmV0dXJuIFtkcm9wQ3Vyc29yKHRoaXMub3B0aW9ucyldO1xuICB9XG59KTtcblxuLy8gc3JjL2ZvY3VzL2ZvY3VzLnRzXG5pbXBvcnQgeyBFeHRlbnNpb24gYXMgRXh0ZW5zaW9uMyB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbmltcG9ydCB7IFBsdWdpbiBhcyBQbHVnaW4yLCBQbHVnaW5LZXkgYXMgUGx1Z2luS2V5MiB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG5pbXBvcnQgeyBEZWNvcmF0aW9uLCBEZWNvcmF0aW9uU2V0IH0gZnJvbSBcIkB0aXB0YXAvcG0vdmlld1wiO1xudmFyIEZvY3VzID0gRXh0ZW5zaW9uMy5jcmVhdGUoe1xuICBuYW1lOiBcImZvY3VzXCIsXG4gIGFkZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNsYXNzTmFtZTogXCJoYXMtZm9jdXNcIixcbiAgICAgIG1vZGU6IFwiYWxsXCJcbiAgICB9O1xuICB9LFxuICBhZGRQcm9zZU1pcnJvclBsdWdpbnMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIG5ldyBQbHVnaW4yKHtcbiAgICAgICAga2V5OiBuZXcgUGx1Z2luS2V5MihcImZvY3VzXCIpLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIGRlY29yYXRpb25zOiAoeyBkb2MsIHNlbGVjdGlvbiB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGlzRWRpdGFibGUsIGlzRm9jdXNlZCB9ID0gdGhpcy5lZGl0b3I7XG4gICAgICAgICAgICBjb25zdCB7IGFuY2hvciB9ID0gc2VsZWN0aW9uO1xuICAgICAgICAgICAgY29uc3QgZGVjb3JhdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIGlmICghaXNFZGl0YWJsZSB8fCAhaXNGb2N1c2VkKSB7XG4gICAgICAgICAgICAgIHJldHVybiBEZWNvcmF0aW9uU2V0LmNyZWF0ZShkb2MsIFtdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBtYXhMZXZlbHMgPSAwO1xuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5tb2RlID09PSBcImRlZXBlc3RcIikge1xuICAgICAgICAgICAgICBkb2MuZGVzY2VuZGFudHMoKG5vZGUsIHBvcykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChub2RlLmlzVGV4dCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBpc0N1cnJlbnQgPSBhbmNob3IgPj0gcG9zICYmIGFuY2hvciA8PSBwb3MgKyBub2RlLm5vZGVTaXplIC0gMTtcbiAgICAgICAgICAgICAgICBpZiAoIWlzQ3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtYXhMZXZlbHMgKz0gMTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgY3VycmVudExldmVsID0gMDtcbiAgICAgICAgICAgIGRvYy5kZXNjZW5kYW50cygobm9kZSwgcG9zKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChub2RlLmlzVGV4dCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCBpc0N1cnJlbnQgPSBhbmNob3IgPj0gcG9zICYmIGFuY2hvciA8PSBwb3MgKyBub2RlLm5vZGVTaXplIC0gMTtcbiAgICAgICAgICAgICAgaWYgKCFpc0N1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY3VycmVudExldmVsICs9IDE7XG4gICAgICAgICAgICAgIGNvbnN0IG91dE9mU2NvcGUgPSB0aGlzLm9wdGlvbnMubW9kZSA9PT0gXCJkZWVwZXN0XCIgJiYgbWF4TGV2ZWxzIC0gY3VycmVudExldmVsID4gMCB8fCB0aGlzLm9wdGlvbnMubW9kZSA9PT0gXCJzaGFsbG93ZXN0XCIgJiYgY3VycmVudExldmVsID4gMTtcbiAgICAgICAgICAgICAgaWYgKG91dE9mU2NvcGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLm1vZGUgPT09IFwiZGVlcGVzdFwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGRlY29yYXRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgRGVjb3JhdGlvbi5ub2RlKHBvcywgcG9zICsgbm9kZS5ub2RlU2l6ZSwge1xuICAgICAgICAgICAgICAgICAgY2xhc3M6IHRoaXMub3B0aW9ucy5jbGFzc05hbWVcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gRGVjb3JhdGlvblNldC5jcmVhdGUoZG9jLCBkZWNvcmF0aW9ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIF07XG4gIH1cbn0pO1xuXG4vLyBzcmMvZ2FwLWN1cnNvci9nYXAtY3Vyc29yLnRzXG5pbXBvcnQgeyBjYWxsT3JSZXR1cm4sIEV4dGVuc2lvbiBhcyBFeHRlbnNpb240LCBnZXRFeHRlbnNpb25GaWVsZCB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbmltcG9ydCB7IGdhcEN1cnNvciB9IGZyb20gXCJAdGlwdGFwL3BtL2dhcGN1cnNvclwiO1xudmFyIEdhcGN1cnNvciA9IEV4dGVuc2lvbjQuY3JlYXRlKHtcbiAgbmFtZTogXCJnYXBDdXJzb3JcIixcbiAgYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCkge1xuICAgIHJldHVybiBbZ2FwQ3Vyc29yKCldO1xuICB9LFxuICBleHRlbmROb2RlU2NoZW1hKGV4dGVuc2lvbikge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCBjb250ZXh0ID0ge1xuICAgICAgbmFtZTogZXh0ZW5zaW9uLm5hbWUsXG4gICAgICBvcHRpb25zOiBleHRlbnNpb24ub3B0aW9ucyxcbiAgICAgIHN0b3JhZ2U6IGV4dGVuc2lvbi5zdG9yYWdlXG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgYWxsb3dHYXBDdXJzb3I6IChfYSA9IGNhbGxPclJldHVybihnZXRFeHRlbnNpb25GaWVsZChleHRlbnNpb24sIFwiYWxsb3dHYXBDdXJzb3JcIiwgY29udGV4dCkpKSAhPSBudWxsID8gX2EgOiBudWxsXG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIHNyYy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlci50c1xuaW1wb3J0IHsgRXh0ZW5zaW9uIGFzIEV4dGVuc2lvbjUsIGlzTm9kZUVtcHR5IH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xuaW1wb3J0IHsgUGx1Z2luIGFzIFBsdWdpbjMsIFBsdWdpbktleSBhcyBQbHVnaW5LZXkzIH0gZnJvbSBcIkB0aXB0YXAvcG0vc3RhdGVcIjtcbmltcG9ydCB7IERlY29yYXRpb24gYXMgRGVjb3JhdGlvbjIsIERlY29yYXRpb25TZXQgYXMgRGVjb3JhdGlvblNldDIgfSBmcm9tIFwiQHRpcHRhcC9wbS92aWV3XCI7XG52YXIgREVGQVVMVF9EQVRBX0FUVFJJQlVURSA9IFwicGxhY2Vob2xkZXJcIjtcbmZ1bmN0aW9uIHByZXBhcmVQbGFjZWhvbGRlckF0dHJpYnV0ZShhdHRyKSB7XG4gIHJldHVybiBhdHRyLnJlcGxhY2UoL1xccysvZywgXCItXCIpLnJlcGxhY2UoL1teYS16QS1aMC05LV0vZywgXCJcIikucmVwbGFjZSgvXlswLTktXSsvLCBcIlwiKS5yZXBsYWNlKC9eLSsvLCBcIlwiKS50b0xvd2VyQ2FzZSgpO1xufVxudmFyIFBsYWNlaG9sZGVyID0gRXh0ZW5zaW9uNS5jcmVhdGUoe1xuICBuYW1lOiBcInBsYWNlaG9sZGVyXCIsXG4gIGFkZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVtcHR5RWRpdG9yQ2xhc3M6IFwiaXMtZWRpdG9yLWVtcHR5XCIsXG4gICAgICBlbXB0eU5vZGVDbGFzczogXCJpcy1lbXB0eVwiLFxuICAgICAgZGF0YUF0dHJpYnV0ZTogREVGQVVMVF9EQVRBX0FUVFJJQlVURSxcbiAgICAgIHBsYWNlaG9sZGVyOiBcIldyaXRlIHNvbWV0aGluZyBcXHUyMDI2XCIsXG4gICAgICBzaG93T25seVdoZW5FZGl0YWJsZTogdHJ1ZSxcbiAgICAgIHNob3dPbmx5Q3VycmVudDogdHJ1ZSxcbiAgICAgIGluY2x1ZGVDaGlsZHJlbjogZmFsc2VcbiAgICB9O1xuICB9LFxuICBhZGRQcm9zZU1pcnJvclBsdWdpbnMoKSB7XG4gICAgY29uc3QgZGF0YUF0dHJpYnV0ZSA9IHRoaXMub3B0aW9ucy5kYXRhQXR0cmlidXRlID8gYGRhdGEtJHtwcmVwYXJlUGxhY2Vob2xkZXJBdHRyaWJ1dGUodGhpcy5vcHRpb25zLmRhdGFBdHRyaWJ1dGUpfWAgOiBgZGF0YS0ke0RFRkFVTFRfREFUQV9BVFRSSUJVVEV9YDtcbiAgICByZXR1cm4gW1xuICAgICAgbmV3IFBsdWdpbjMoe1xuICAgICAgICBrZXk6IG5ldyBQbHVnaW5LZXkzKFwicGxhY2Vob2xkZXJcIiksXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgZGVjb3JhdGlvbnM6ICh7IGRvYywgc2VsZWN0aW9uIH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuZWRpdG9yLmlzRWRpdGFibGUgfHwgIXRoaXMub3B0aW9ucy5zaG93T25seVdoZW5FZGl0YWJsZTtcbiAgICAgICAgICAgIGNvbnN0IHsgYW5jaG9yIH0gPSBzZWxlY3Rpb247XG4gICAgICAgICAgICBjb25zdCBkZWNvcmF0aW9ucyA9IFtdO1xuICAgICAgICAgICAgaWYgKCFhY3RpdmUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpc0VtcHR5RG9jID0gdGhpcy5lZGl0b3IuaXNFbXB0eTtcbiAgICAgICAgICAgIGRvYy5kZXNjZW5kYW50cygobm9kZSwgcG9zKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGhhc0FuY2hvciA9IGFuY2hvciA+PSBwb3MgJiYgYW5jaG9yIDw9IHBvcyArIG5vZGUubm9kZVNpemU7XG4gICAgICAgICAgICAgIGNvbnN0IGlzRW1wdHkgPSAhbm9kZS5pc0xlYWYgJiYgaXNOb2RlRW1wdHkobm9kZSk7XG4gICAgICAgICAgICAgIGlmICgoaGFzQW5jaG9yIHx8ICF0aGlzLm9wdGlvbnMuc2hvd09ubHlDdXJyZW50KSAmJiBpc0VtcHR5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xhc3NlcyA9IFt0aGlzLm9wdGlvbnMuZW1wdHlOb2RlQ2xhc3NdO1xuICAgICAgICAgICAgICAgIGlmIChpc0VtcHR5RG9jKSB7XG4gICAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2godGhpcy5vcHRpb25zLmVtcHR5RWRpdG9yQ2xhc3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBkZWNvcmF0aW9uID0gRGVjb3JhdGlvbjIubm9kZShwb3MsIHBvcyArIG5vZGUubm9kZVNpemUsIHtcbiAgICAgICAgICAgICAgICAgIGNsYXNzOiBjbGFzc2VzLmpvaW4oXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgW2RhdGFBdHRyaWJ1dGVdOiB0eXBlb2YgdGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyID09PSBcImZ1bmN0aW9uXCIgPyB0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXIoe1xuICAgICAgICAgICAgICAgICAgICBlZGl0b3I6IHRoaXMuZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgICAgICBwb3MsXG4gICAgICAgICAgICAgICAgICAgIGhhc0FuY2hvclxuICAgICAgICAgICAgICAgICAgfSkgOiB0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBkZWNvcmF0aW9ucy5wdXNoKGRlY29yYXRpb24pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaW5jbHVkZUNoaWxkcmVuO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gRGVjb3JhdGlvblNldDIuY3JlYXRlKGRvYywgZGVjb3JhdGlvbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICBdO1xuICB9XG59KTtcblxuLy8gc3JjL3NlbGVjdGlvbi9zZWxlY3Rpb24udHNcbmltcG9ydCB7IEV4dGVuc2lvbiBhcyBFeHRlbnNpb242LCBpc05vZGVTZWxlY3Rpb24gfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBQbHVnaW4gYXMgUGx1Z2luNCwgUGx1Z2luS2V5IGFzIFBsdWdpbktleTQgfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xuaW1wb3J0IHsgRGVjb3JhdGlvbiBhcyBEZWNvcmF0aW9uMywgRGVjb3JhdGlvblNldCBhcyBEZWNvcmF0aW9uU2V0MyB9IGZyb20gXCJAdGlwdGFwL3BtL3ZpZXdcIjtcbnZhciBTZWxlY3Rpb24gPSBFeHRlbnNpb242LmNyZWF0ZSh7XG4gIG5hbWU6IFwic2VsZWN0aW9uXCIsXG4gIGFkZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNsYXNzTmFtZTogXCJzZWxlY3Rpb25cIlxuICAgIH07XG4gIH0sXG4gIGFkZFByb3NlTWlycm9yUGx1Z2lucygpIHtcbiAgICBjb25zdCB7IGVkaXRvciwgb3B0aW9ucyB9ID0gdGhpcztcbiAgICByZXR1cm4gW1xuICAgICAgbmV3IFBsdWdpbjQoe1xuICAgICAgICBrZXk6IG5ldyBQbHVnaW5LZXk0KFwic2VsZWN0aW9uXCIpLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgIGRlY29yYXRpb25zKHN0YXRlKSB7XG4gICAgICAgICAgICBpZiAoc3RhdGUuc2VsZWN0aW9uLmVtcHR5IHx8IGVkaXRvci5pc0ZvY3VzZWQgfHwgIWVkaXRvci5pc0VkaXRhYmxlIHx8IGlzTm9kZVNlbGVjdGlvbihzdGF0ZS5zZWxlY3Rpb24pIHx8IGVkaXRvci52aWV3LmRyYWdnaW5nKSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIERlY29yYXRpb25TZXQzLmNyZWF0ZShzdGF0ZS5kb2MsIFtcbiAgICAgICAgICAgICAgRGVjb3JhdGlvbjMuaW5saW5lKHN0YXRlLnNlbGVjdGlvbi5mcm9tLCBzdGF0ZS5zZWxlY3Rpb24udG8sIHtcbiAgICAgICAgICAgICAgICBjbGFzczogb3B0aW9ucy5jbGFzc05hbWVcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICBdO1xuICB9XG59KTtcblxuLy8gc3JjL3RyYWlsaW5nLW5vZGUvdHJhaWxpbmctbm9kZS50c1xuaW1wb3J0IHsgRXh0ZW5zaW9uIGFzIEV4dGVuc2lvbjcgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBQbHVnaW4gYXMgUGx1Z2luNSwgUGx1Z2luS2V5IGFzIFBsdWdpbktleTUgfSBmcm9tIFwiQHRpcHRhcC9wbS9zdGF0ZVwiO1xuZnVuY3Rpb24gbm9kZUVxdWFsc1R5cGUoeyB0eXBlcywgbm9kZSB9KSB7XG4gIHJldHVybiBub2RlICYmIEFycmF5LmlzQXJyYXkodHlwZXMpICYmIHR5cGVzLmluY2x1ZGVzKG5vZGUudHlwZSkgfHwgKG5vZGUgPT0gbnVsbCA/IHZvaWQgMCA6IG5vZGUudHlwZSkgPT09IHR5cGVzO1xufVxudmFyIFRyYWlsaW5nTm9kZSA9IEV4dGVuc2lvbjcuY3JlYXRlKHtcbiAgbmFtZTogXCJ0cmFpbGluZ05vZGVcIixcbiAgYWRkT3B0aW9ucygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbm9kZTogdm9pZCAwLFxuICAgICAgbm90QWZ0ZXI6IFtdXG4gICAgfTtcbiAgfSxcbiAgYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCkge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCBwbHVnaW4gPSBuZXcgUGx1Z2luS2V5NSh0aGlzLm5hbWUpO1xuICAgIGNvbnN0IGRlZmF1bHROb2RlID0gdGhpcy5vcHRpb25zLm5vZGUgfHwgKChfYSA9IHRoaXMuZWRpdG9yLnNjaGVtYS50b3BOb2RlVHlwZS5jb250ZW50TWF0Y2guZGVmYXVsdFR5cGUpID09IG51bGwgPyB2b2lkIDAgOiBfYS5uYW1lKSB8fCBcInBhcmFncmFwaFwiO1xuICAgIGNvbnN0IGRpc2FibGVkTm9kZXMgPSBPYmplY3QuZW50cmllcyh0aGlzLmVkaXRvci5zY2hlbWEubm9kZXMpLm1hcCgoWywgdmFsdWVdKSA9PiB2YWx1ZSkuZmlsdGVyKChub2RlKSA9PiAodGhpcy5vcHRpb25zLm5vdEFmdGVyIHx8IFtdKS5jb25jYXQoZGVmYXVsdE5vZGUpLmluY2x1ZGVzKG5vZGUubmFtZSkpO1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgUGx1Z2luNSh7XG4gICAgICAgIGtleTogcGx1Z2luLFxuICAgICAgICBhcHBlbmRUcmFuc2FjdGlvbjogKF8sIF9fLCBzdGF0ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgZG9jLCB0ciwgc2NoZW1hIH0gPSBzdGF0ZTtcbiAgICAgICAgICBjb25zdCBzaG91bGRJbnNlcnROb2RlQXRFbmQgPSBwbHVnaW4uZ2V0U3RhdGUoc3RhdGUpO1xuICAgICAgICAgIGNvbnN0IGVuZFBvc2l0aW9uID0gZG9jLmNvbnRlbnQuc2l6ZTtcbiAgICAgICAgICBjb25zdCB0eXBlID0gc2NoZW1hLm5vZGVzW2RlZmF1bHROb2RlXTtcbiAgICAgICAgICBpZiAoIXNob3VsZEluc2VydE5vZGVBdEVuZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHIuaW5zZXJ0KGVuZFBvc2l0aW9uLCB0eXBlLmNyZWF0ZSgpKTtcbiAgICAgICAgfSxcbiAgICAgICAgc3RhdGU6IHtcbiAgICAgICAgICBpbml0OiAoXywgc3RhdGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhc3ROb2RlID0gc3RhdGUudHIuZG9jLmxhc3RDaGlsZDtcbiAgICAgICAgICAgIHJldHVybiAhbm9kZUVxdWFsc1R5cGUoeyBub2RlOiBsYXN0Tm9kZSwgdHlwZXM6IGRpc2FibGVkTm9kZXMgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBhcHBseTogKHRyLCB2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0ci5kb2NDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0ci5nZXRNZXRhKFwiX191bmlxdWVJRFRyYW5zYWN0aW9uXCIpKSB7XG4gICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxhc3ROb2RlID0gdHIuZG9jLmxhc3RDaGlsZDtcbiAgICAgICAgICAgIHJldHVybiAhbm9kZUVxdWFsc1R5cGUoeyBub2RlOiBsYXN0Tm9kZSwgdHlwZXM6IGRpc2FibGVkTm9kZXMgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIF07XG4gIH1cbn0pO1xuXG4vLyBzcmMvdW5kby1yZWRvL3VuZG8tcmVkby50c1xuaW1wb3J0IHsgRXh0ZW5zaW9uIGFzIEV4dGVuc2lvbjggfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBoaXN0b3J5LCByZWRvLCB1bmRvIH0gZnJvbSBcIkB0aXB0YXAvcG0vaGlzdG9yeVwiO1xudmFyIFVuZG9SZWRvID0gRXh0ZW5zaW9uOC5jcmVhdGUoe1xuICBuYW1lOiBcInVuZG9SZWRvXCIsXG4gIGFkZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRlcHRoOiAxMDAsXG4gICAgICBuZXdHcm91cERlbGF5OiA1MDBcbiAgICB9O1xuICB9LFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdW5kbzogKCkgPT4gKHsgc3RhdGUsIGRpc3BhdGNoIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIHVuZG8oc3RhdGUsIGRpc3BhdGNoKTtcbiAgICAgIH0sXG4gICAgICByZWRvOiAoKSA9PiAoeyBzdGF0ZSwgZGlzcGF0Y2ggfSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVkbyhzdGF0ZSwgZGlzcGF0Y2gpO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIGFkZFByb3NlTWlycm9yUGx1Z2lucygpIHtcbiAgICByZXR1cm4gW2hpc3RvcnkodGhpcy5vcHRpb25zKV07XG4gIH0sXG4gIGFkZEtleWJvYXJkU2hvcnRjdXRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBcIk1vZC16XCI6ICgpID0+IHRoaXMuZWRpdG9yLmNvbW1hbmRzLnVuZG8oKSxcbiAgICAgIFwiU2hpZnQtTW9kLXpcIjogKCkgPT4gdGhpcy5lZGl0b3IuY29tbWFuZHMucmVkbygpLFxuICAgICAgXCJNb2QteVwiOiAoKSA9PiB0aGlzLmVkaXRvci5jb21tYW5kcy5yZWRvKCksXG4gICAgICAvLyBSdXNzaWFuIGtleWJvYXJkIGxheW91dHNcbiAgICAgIFwiTW9kLVxcdTA0NEZcIjogKCkgPT4gdGhpcy5lZGl0b3IuY29tbWFuZHMudW5kbygpLFxuICAgICAgXCJTaGlmdC1Nb2QtXFx1MDQ0RlwiOiAoKSA9PiB0aGlzLmVkaXRvci5jb21tYW5kcy5yZWRvKClcbiAgICB9O1xuICB9XG59KTtcbmV4cG9ydCB7XG4gIENoYXJhY3RlckNvdW50LFxuICBEcm9wY3Vyc29yLFxuICBGb2N1cyxcbiAgR2FwY3Vyc29yLFxuICBQbGFjZWhvbGRlcixcbiAgU2VsZWN0aW9uLFxuICBUcmFpbGluZ05vZGUsXG4gIFVuZG9SZWRvLFxuICBwcmVwYXJlUGxhY2Vob2xkZXJBdHRyaWJ1dGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/extensions/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/pm/dist/commands/index.js": -/*!********************************************************!*\ - !*** ./node_modules/@tiptap/pm/dist/commands/index.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ autoJoin: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.autoJoin),\n/* harmony export */ baseKeymap: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.baseKeymap),\n/* harmony export */ chainCommands: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.chainCommands),\n/* harmony export */ createParagraphNear: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.createParagraphNear),\n/* harmony export */ deleteSelection: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.deleteSelection),\n/* harmony export */ exitCode: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.exitCode),\n/* harmony export */ joinBackward: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.joinBackward),\n/* harmony export */ joinDown: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.joinDown),\n/* harmony export */ joinForward: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.joinForward),\n/* harmony export */ joinTextblockBackward: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.joinTextblockBackward),\n/* harmony export */ joinTextblockForward: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.joinTextblockForward),\n/* harmony export */ joinUp: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.joinUp),\n/* harmony export */ lift: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.lift),\n/* harmony export */ liftEmptyBlock: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.liftEmptyBlock),\n/* harmony export */ macBaseKeymap: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.macBaseKeymap),\n/* harmony export */ newlineInCode: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.newlineInCode),\n/* harmony export */ pcBaseKeymap: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.pcBaseKeymap),\n/* harmony export */ selectAll: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.selectAll),\n/* harmony export */ selectNodeBackward: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.selectNodeBackward),\n/* harmony export */ selectNodeForward: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.selectNodeForward),\n/* harmony export */ selectParentNode: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.selectParentNode),\n/* harmony export */ selectTextblockEnd: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.selectTextblockEnd),\n/* harmony export */ selectTextblockStart: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.selectTextblockStart),\n/* harmony export */ setBlockType: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.setBlockType),\n/* harmony export */ splitBlock: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.splitBlock),\n/* harmony export */ splitBlockAs: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.splitBlockAs),\n/* harmony export */ splitBlockKeepMarks: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.splitBlockKeepMarks),\n/* harmony export */ toggleMark: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.toggleMark),\n/* harmony export */ wrapIn: () => (/* reexport safe */ prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__.wrapIn)\n/* harmony export */ });\n/* harmony import */ var prosemirror_commands__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-commands */ \"(ssr)/./node_modules/prosemirror-commands/dist/index.js\");\n// commands/index.ts\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9wbS9kaXN0L2NvbW1hbmRzL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ3FDIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxwbVxcZGlzdFxcY29tbWFuZHNcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbW1hbmRzL2luZGV4LnRzXG5leHBvcnQgKiBmcm9tIFwicHJvc2VtaXJyb3ItY29tbWFuZHNcIjtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/pm/dist/commands/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/pm/dist/dropcursor/index.js": -/*!**********************************************************!*\ - !*** ./node_modules/@tiptap/pm/dist/dropcursor/index.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ dropCursor: () => (/* reexport safe */ prosemirror_dropcursor__WEBPACK_IMPORTED_MODULE_0__.dropCursor)\n/* harmony export */ });\n/* harmony import */ var prosemirror_dropcursor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-dropcursor */ \"(ssr)/./node_modules/prosemirror-dropcursor/dist/index.js\");\n// dropcursor/index.ts\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9wbS9kaXN0L2Ryb3BjdXJzb3IvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUN1QyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xcQHRpcHRhcFxccG1cXGRpc3RcXGRyb3BjdXJzb3JcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGRyb3BjdXJzb3IvaW5kZXgudHNcbmV4cG9ydCAqIGZyb20gXCJwcm9zZW1pcnJvci1kcm9wY3Vyc29yXCI7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/pm/dist/dropcursor/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/pm/dist/gapcursor/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/@tiptap/pm/dist/gapcursor/index.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GapCursor: () => (/* reexport safe */ prosemirror_gapcursor__WEBPACK_IMPORTED_MODULE_0__.GapCursor),\n/* harmony export */ gapCursor: () => (/* reexport safe */ prosemirror_gapcursor__WEBPACK_IMPORTED_MODULE_0__.gapCursor)\n/* harmony export */ });\n/* harmony import */ var prosemirror_gapcursor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-gapcursor */ \"(ssr)/./node_modules/prosemirror-gapcursor/dist/index.js\");\n// gapcursor/index.ts\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9wbS9kaXN0L2dhcGN1cnNvci9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNzQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xcQHRpcHRhcFxccG1cXGRpc3RcXGdhcGN1cnNvclxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZ2FwY3Vyc29yL2luZGV4LnRzXG5leHBvcnQgKiBmcm9tIFwicHJvc2VtaXJyb3ItZ2FwY3Vyc29yXCI7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/pm/dist/gapcursor/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/pm/dist/history/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/@tiptap/pm/dist/history/index.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ closeHistory: () => (/* reexport safe */ prosemirror_history__WEBPACK_IMPORTED_MODULE_0__.closeHistory),\n/* harmony export */ history: () => (/* reexport safe */ prosemirror_history__WEBPACK_IMPORTED_MODULE_0__.history),\n/* harmony export */ isHistoryTransaction: () => (/* reexport safe */ prosemirror_history__WEBPACK_IMPORTED_MODULE_0__.isHistoryTransaction),\n/* harmony export */ redo: () => (/* reexport safe */ prosemirror_history__WEBPACK_IMPORTED_MODULE_0__.redo),\n/* harmony export */ redoDepth: () => (/* reexport safe */ prosemirror_history__WEBPACK_IMPORTED_MODULE_0__.redoDepth),\n/* harmony export */ redoNoScroll: () => (/* reexport safe */ prosemirror_history__WEBPACK_IMPORTED_MODULE_0__.redoNoScroll),\n/* harmony export */ undo: () => (/* reexport safe */ prosemirror_history__WEBPACK_IMPORTED_MODULE_0__.undo),\n/* harmony export */ undoDepth: () => (/* reexport safe */ prosemirror_history__WEBPACK_IMPORTED_MODULE_0__.undoDepth),\n/* harmony export */ undoNoScroll: () => (/* reexport safe */ prosemirror_history__WEBPACK_IMPORTED_MODULE_0__.undoNoScroll)\n/* harmony export */ });\n/* harmony import */ var prosemirror_history__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-history */ \"(ssr)/./node_modules/prosemirror-history/dist/index.js\");\n// history/index.ts\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9wbS9kaXN0L2hpc3RvcnkvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ29DIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxwbVxcZGlzdFxcaGlzdG9yeVxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gaGlzdG9yeS9pbmRleC50c1xuZXhwb3J0ICogZnJvbSBcInByb3NlbWlycm9yLWhpc3RvcnlcIjtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/pm/dist/history/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/pm/dist/keymap/index.js": -/*!******************************************************!*\ - !*** ./node_modules/@tiptap/pm/dist/keymap/index.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ keydownHandler: () => (/* reexport safe */ prosemirror_keymap__WEBPACK_IMPORTED_MODULE_0__.keydownHandler),\n/* harmony export */ keymap: () => (/* reexport safe */ prosemirror_keymap__WEBPACK_IMPORTED_MODULE_0__.keymap)\n/* harmony export */ });\n/* harmony import */ var prosemirror_keymap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-keymap */ \"(ssr)/./node_modules/prosemirror-keymap/dist/index.js\");\n// keymap/index.ts\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9wbS9kaXN0L2tleW1hcC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNtQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xcQHRpcHRhcFxccG1cXGRpc3RcXGtleW1hcFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8ga2V5bWFwL2luZGV4LnRzXG5leHBvcnQgKiBmcm9tIFwicHJvc2VtaXJyb3Ita2V5bWFwXCI7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/pm/dist/keymap/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/pm/dist/model/index.js": -/*!*****************************************************!*\ - !*** ./node_modules/@tiptap/pm/dist/model/index.js ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ContentMatch: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.ContentMatch),\n/* harmony export */ DOMParser: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.DOMParser),\n/* harmony export */ DOMSerializer: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.DOMSerializer),\n/* harmony export */ Fragment: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.Fragment),\n/* harmony export */ Mark: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.Mark),\n/* harmony export */ MarkType: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.MarkType),\n/* harmony export */ Node: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.Node),\n/* harmony export */ NodeRange: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.NodeRange),\n/* harmony export */ NodeType: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.NodeType),\n/* harmony export */ ReplaceError: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.ReplaceError),\n/* harmony export */ ResolvedPos: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.ResolvedPos),\n/* harmony export */ Schema: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.Schema),\n/* harmony export */ Slice: () => (/* reexport safe */ prosemirror_model__WEBPACK_IMPORTED_MODULE_0__.Slice)\n/* harmony export */ });\n/* harmony import */ var prosemirror_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-model */ \"(ssr)/./node_modules/prosemirror-model/dist/index.js\");\n// model/index.ts\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9wbS9kaXN0L21vZGVsL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDa0MiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEB0aXB0YXBcXHBtXFxkaXN0XFxtb2RlbFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gbW9kZWwvaW5kZXgudHNcbmV4cG9ydCAqIGZyb20gXCJwcm9zZW1pcnJvci1tb2RlbFwiO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/pm/dist/model/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/pm/dist/schema-list/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/@tiptap/pm/dist/schema-list/index.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addListNodes: () => (/* reexport safe */ prosemirror_schema_list__WEBPACK_IMPORTED_MODULE_0__.addListNodes),\n/* harmony export */ bulletList: () => (/* reexport safe */ prosemirror_schema_list__WEBPACK_IMPORTED_MODULE_0__.bulletList),\n/* harmony export */ liftListItem: () => (/* reexport safe */ prosemirror_schema_list__WEBPACK_IMPORTED_MODULE_0__.liftListItem),\n/* harmony export */ listItem: () => (/* reexport safe */ prosemirror_schema_list__WEBPACK_IMPORTED_MODULE_0__.listItem),\n/* harmony export */ orderedList: () => (/* reexport safe */ prosemirror_schema_list__WEBPACK_IMPORTED_MODULE_0__.orderedList),\n/* harmony export */ sinkListItem: () => (/* reexport safe */ prosemirror_schema_list__WEBPACK_IMPORTED_MODULE_0__.sinkListItem),\n/* harmony export */ splitListItem: () => (/* reexport safe */ prosemirror_schema_list__WEBPACK_IMPORTED_MODULE_0__.splitListItem),\n/* harmony export */ splitListItemKeepMarks: () => (/* reexport safe */ prosemirror_schema_list__WEBPACK_IMPORTED_MODULE_0__.splitListItemKeepMarks),\n/* harmony export */ wrapInList: () => (/* reexport safe */ prosemirror_schema_list__WEBPACK_IMPORTED_MODULE_0__.wrapInList),\n/* harmony export */ wrapRangeInList: () => (/* reexport safe */ prosemirror_schema_list__WEBPACK_IMPORTED_MODULE_0__.wrapRangeInList)\n/* harmony export */ });\n/* harmony import */ var prosemirror_schema_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-schema-list */ \"(ssr)/./node_modules/prosemirror-schema-list/dist/index.js\");\n// schema-list/index.ts\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9wbS9kaXN0L3NjaGVtYS1saXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDd0MiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEB0aXB0YXBcXHBtXFxkaXN0XFxzY2hlbWEtbGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc2NoZW1hLWxpc3QvaW5kZXgudHNcbmV4cG9ydCAqIGZyb20gXCJwcm9zZW1pcnJvci1zY2hlbWEtbGlzdFwiO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/pm/dist/schema-list/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/pm/dist/state/index.js": -/*!*****************************************************!*\ - !*** ./node_modules/@tiptap/pm/dist/state/index.js ***! - \*****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AllSelection: () => (/* reexport safe */ prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.AllSelection),\n/* harmony export */ EditorState: () => (/* reexport safe */ prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.EditorState),\n/* harmony export */ NodeSelection: () => (/* reexport safe */ prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.NodeSelection),\n/* harmony export */ Plugin: () => (/* reexport safe */ prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.Plugin),\n/* harmony export */ PluginKey: () => (/* reexport safe */ prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.PluginKey),\n/* harmony export */ Selection: () => (/* reexport safe */ prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.Selection),\n/* harmony export */ SelectionRange: () => (/* reexport safe */ prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.SelectionRange),\n/* harmony export */ TextSelection: () => (/* reexport safe */ prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.TextSelection),\n/* harmony export */ Transaction: () => (/* reexport safe */ prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.Transaction)\n/* harmony export */ });\n/* harmony import */ var prosemirror_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-state */ \"(ssr)/./node_modules/prosemirror-state/dist/index.js\");\n// state/index.ts\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9wbS9kaXN0L3N0YXRlL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNrQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xcQHRpcHRhcFxccG1cXGRpc3RcXHN0YXRlXFxpbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdGF0ZS9pbmRleC50c1xuZXhwb3J0ICogZnJvbSBcInByb3NlbWlycm9yLXN0YXRlXCI7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/pm/dist/state/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/pm/dist/transform/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/@tiptap/pm/dist/transform/index.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AddMarkStep: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.AddMarkStep),\n/* harmony export */ AddNodeMarkStep: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.AddNodeMarkStep),\n/* harmony export */ AttrStep: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.AttrStep),\n/* harmony export */ DocAttrStep: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.DocAttrStep),\n/* harmony export */ MapResult: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.MapResult),\n/* harmony export */ Mapping: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.Mapping),\n/* harmony export */ RemoveMarkStep: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.RemoveMarkStep),\n/* harmony export */ RemoveNodeMarkStep: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.RemoveNodeMarkStep),\n/* harmony export */ ReplaceAroundStep: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.ReplaceAroundStep),\n/* harmony export */ ReplaceStep: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.ReplaceStep),\n/* harmony export */ Step: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.Step),\n/* harmony export */ StepMap: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.StepMap),\n/* harmony export */ StepResult: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.StepResult),\n/* harmony export */ Transform: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.Transform),\n/* harmony export */ TransformError: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.TransformError),\n/* harmony export */ canJoin: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.canJoin),\n/* harmony export */ canSplit: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.canSplit),\n/* harmony export */ dropPoint: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.dropPoint),\n/* harmony export */ findWrapping: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.findWrapping),\n/* harmony export */ insertPoint: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.insertPoint),\n/* harmony export */ joinPoint: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.joinPoint),\n/* harmony export */ liftTarget: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.liftTarget),\n/* harmony export */ replaceStep: () => (/* reexport safe */ prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.replaceStep)\n/* harmony export */ });\n/* harmony import */ var prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-transform */ \"(ssr)/./node_modules/prosemirror-transform/dist/index.js\");\n// transform/index.ts\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9wbS9kaXN0L3RyYW5zZm9ybS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNzQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xcQHRpcHRhcFxccG1cXGRpc3RcXHRyYW5zZm9ybVxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNmb3JtL2luZGV4LnRzXG5leHBvcnQgKiBmcm9tIFwicHJvc2VtaXJyb3ItdHJhbnNmb3JtXCI7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/pm/dist/transform/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/pm/dist/view/index.js": -/*!****************************************************!*\ - !*** ./node_modules/@tiptap/pm/dist/view/index.js ***! - \****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Decoration: () => (/* reexport safe */ prosemirror_view__WEBPACK_IMPORTED_MODULE_0__.Decoration),\n/* harmony export */ DecorationSet: () => (/* reexport safe */ prosemirror_view__WEBPACK_IMPORTED_MODULE_0__.DecorationSet),\n/* harmony export */ EditorView: () => (/* reexport safe */ prosemirror_view__WEBPACK_IMPORTED_MODULE_0__.EditorView),\n/* harmony export */ __endComposition: () => (/* reexport safe */ prosemirror_view__WEBPACK_IMPORTED_MODULE_0__.__endComposition),\n/* harmony export */ __parseFromClipboard: () => (/* reexport safe */ prosemirror_view__WEBPACK_IMPORTED_MODULE_0__.__parseFromClipboard)\n/* harmony export */ });\n/* harmony import */ var prosemirror_view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-view */ \"(ssr)/./node_modules/prosemirror-view/dist/index.js\");\n// view/index.ts\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9wbS9kaXN0L3ZpZXcvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDaUMiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEB0aXB0YXBcXHBtXFxkaXN0XFx2aWV3XFxpbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyB2aWV3L2luZGV4LnRzXG5leHBvcnQgKiBmcm9tIFwicHJvc2VtaXJyb3Itdmlld1wiO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/pm/dist/view/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/react/dist/index.js": -/*!**************************************************!*\ - !*** ./node_modules/@tiptap/react/dist/index.js ***! - \**************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CommandManager: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.CommandManager),\n/* harmony export */ Editor: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.Editor),\n/* harmony export */ EditorConsumer: () => (/* binding */ EditorConsumer),\n/* harmony export */ EditorContent: () => (/* binding */ EditorContent),\n/* harmony export */ EditorContext: () => (/* binding */ EditorContext),\n/* harmony export */ EditorProvider: () => (/* binding */ EditorProvider),\n/* harmony export */ Extendable: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.Extendable),\n/* harmony export */ Extension: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.Extension),\n/* harmony export */ Fragment: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.Fragment),\n/* harmony export */ InputRule: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.InputRule),\n/* harmony export */ MappablePosition: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.MappablePosition),\n/* harmony export */ Mark: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.Mark),\n/* harmony export */ MarkView: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.MarkView),\n/* harmony export */ MarkViewContent: () => (/* binding */ MarkViewContent),\n/* harmony export */ Node: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.Node),\n/* harmony export */ NodePos: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.NodePos),\n/* harmony export */ NodeView: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.NodeView),\n/* harmony export */ NodeViewContent: () => (/* binding */ NodeViewContent),\n/* harmony export */ NodeViewWrapper: () => (/* binding */ NodeViewWrapper),\n/* harmony export */ PasteRule: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.PasteRule),\n/* harmony export */ PureEditorContent: () => (/* binding */ PureEditorContent),\n/* harmony export */ ReactMarkView: () => (/* binding */ ReactMarkView),\n/* harmony export */ ReactMarkViewContext: () => (/* binding */ ReactMarkViewContext),\n/* harmony export */ ReactMarkViewRenderer: () => (/* binding */ ReactMarkViewRenderer),\n/* harmony export */ ReactNodeView: () => (/* binding */ ReactNodeView),\n/* harmony export */ ReactNodeViewContentProvider: () => (/* binding */ ReactNodeViewContentProvider),\n/* harmony export */ ReactNodeViewContext: () => (/* binding */ ReactNodeViewContext),\n/* harmony export */ ReactNodeViewRenderer: () => (/* binding */ ReactNodeViewRenderer),\n/* harmony export */ ReactRenderer: () => (/* binding */ ReactRenderer),\n/* harmony export */ ResizableNodeView: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.ResizableNodeView),\n/* harmony export */ ResizableNodeview: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.ResizableNodeview),\n/* harmony export */ Tiptap: () => (/* binding */ Tiptap),\n/* harmony export */ TiptapContent: () => (/* binding */ TiptapContent),\n/* harmony export */ TiptapContext: () => (/* binding */ TiptapContext),\n/* harmony export */ TiptapWrapper: () => (/* binding */ TiptapWrapper),\n/* harmony export */ Tracker: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.Tracker),\n/* harmony export */ callOrReturn: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.callOrReturn),\n/* harmony export */ canInsertNode: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.canInsertNode),\n/* harmony export */ combineTransactionSteps: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.combineTransactionSteps),\n/* harmony export */ commands: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.commands),\n/* harmony export */ createAtomBlockMarkdownSpec: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.createAtomBlockMarkdownSpec),\n/* harmony export */ createBlockMarkdownSpec: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.createBlockMarkdownSpec),\n/* harmony export */ createChainableState: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.createChainableState),\n/* harmony export */ createDocument: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.createDocument),\n/* harmony export */ createElement: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.createElement),\n/* harmony export */ createInlineMarkdownSpec: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.createInlineMarkdownSpec),\n/* harmony export */ createMappablePosition: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.createMappablePosition),\n/* harmony export */ createNodeFromContent: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.createNodeFromContent),\n/* harmony export */ createStyleTag: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.createStyleTag),\n/* harmony export */ defaultBlockAt: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.defaultBlockAt),\n/* harmony export */ deleteProps: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.deleteProps),\n/* harmony export */ elementFromString: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.elementFromString),\n/* harmony export */ escapeForRegEx: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.escapeForRegEx),\n/* harmony export */ extensions: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.extensions),\n/* harmony export */ findChildren: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.findChildren),\n/* harmony export */ findChildrenInRange: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.findChildrenInRange),\n/* harmony export */ findDuplicates: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.findDuplicates),\n/* harmony export */ findParentNode: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.findParentNode),\n/* harmony export */ findParentNodeClosestToPos: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.findParentNodeClosestToPos),\n/* harmony export */ flattenExtensions: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.flattenExtensions),\n/* harmony export */ fromString: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.fromString),\n/* harmony export */ generateHTML: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.generateHTML),\n/* harmony export */ generateJSON: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.generateJSON),\n/* harmony export */ generateText: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.generateText),\n/* harmony export */ getAttributes: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getAttributes),\n/* harmony export */ getAttributesFromExtensions: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getAttributesFromExtensions),\n/* harmony export */ getChangedRanges: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getChangedRanges),\n/* harmony export */ getDebugJSON: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getDebugJSON),\n/* harmony export */ getExtensionField: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getExtensionField),\n/* harmony export */ getHTMLFromFragment: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getHTMLFromFragment),\n/* harmony export */ getMarkAttributes: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getMarkAttributes),\n/* harmony export */ getMarkRange: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getMarkRange),\n/* harmony export */ getMarkType: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getMarkType),\n/* harmony export */ getMarksBetween: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getMarksBetween),\n/* harmony export */ getNodeAtPosition: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getNodeAtPosition),\n/* harmony export */ getNodeAttributes: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getNodeAttributes),\n/* harmony export */ getNodeType: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getNodeType),\n/* harmony export */ getRenderedAttributes: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getRenderedAttributes),\n/* harmony export */ getSchema: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getSchema),\n/* harmony export */ getSchemaByResolvedExtensions: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getSchemaByResolvedExtensions),\n/* harmony export */ getSchemaTypeByName: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getSchemaTypeByName),\n/* harmony export */ getSchemaTypeNameByName: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getSchemaTypeNameByName),\n/* harmony export */ getSplittedAttributes: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getSplittedAttributes),\n/* harmony export */ getText: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getText),\n/* harmony export */ getTextBetween: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getTextBetween),\n/* harmony export */ getTextContentFromNodes: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getTextContentFromNodes),\n/* harmony export */ getTextSerializersFromSchema: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getTextSerializersFromSchema),\n/* harmony export */ getUpdatedPosition: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getUpdatedPosition),\n/* harmony export */ h: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.h),\n/* harmony export */ injectExtensionAttributesToParseRule: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.injectExtensionAttributesToParseRule),\n/* harmony export */ inputRulesPlugin: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.inputRulesPlugin),\n/* harmony export */ isActive: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isActive),\n/* harmony export */ isAndroid: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isAndroid),\n/* harmony export */ isAtEndOfNode: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isAtEndOfNode),\n/* harmony export */ isAtStartOfNode: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isAtStartOfNode),\n/* harmony export */ isEmptyObject: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isEmptyObject),\n/* harmony export */ isExtensionRulesEnabled: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isExtensionRulesEnabled),\n/* harmony export */ isFirefox: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isFirefox),\n/* harmony export */ isFunction: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isFunction),\n/* harmony export */ isList: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isList),\n/* harmony export */ isMacOS: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isMacOS),\n/* harmony export */ isMarkActive: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isMarkActive),\n/* harmony export */ isNodeActive: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isNodeActive),\n/* harmony export */ isNodeEmpty: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isNodeEmpty),\n/* harmony export */ isNodeSelection: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isNodeSelection),\n/* harmony export */ isNumber: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isNumber),\n/* harmony export */ isPlainObject: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isPlainObject),\n/* harmony export */ isRegExp: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isRegExp),\n/* harmony export */ isSafari: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isSafari),\n/* harmony export */ isString: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isString),\n/* harmony export */ isTextSelection: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isTextSelection),\n/* harmony export */ isiOS: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.isiOS),\n/* harmony export */ markInputRule: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.markInputRule),\n/* harmony export */ markPasteRule: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.markPasteRule),\n/* harmony export */ markdown: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.markdown),\n/* harmony export */ mergeAttributes: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.mergeAttributes),\n/* harmony export */ mergeDeep: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.mergeDeep),\n/* harmony export */ minMax: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.minMax),\n/* harmony export */ nodeInputRule: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.nodeInputRule),\n/* harmony export */ nodePasteRule: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.nodePasteRule),\n/* harmony export */ objectIncludes: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.objectIncludes),\n/* harmony export */ parseAttributes: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.parseAttributes),\n/* harmony export */ parseIndentedBlocks: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.parseIndentedBlocks),\n/* harmony export */ pasteRulesPlugin: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.pasteRulesPlugin),\n/* harmony export */ posToDOMRect: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.posToDOMRect),\n/* harmony export */ removeDuplicates: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.removeDuplicates),\n/* harmony export */ renderNestedMarkdownContent: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.renderNestedMarkdownContent),\n/* harmony export */ resolveExtensions: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.resolveExtensions),\n/* harmony export */ resolveFocusPosition: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.resolveFocusPosition),\n/* harmony export */ rewriteUnknownContent: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.rewriteUnknownContent),\n/* harmony export */ selectionToInsertionEnd: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.selectionToInsertionEnd),\n/* harmony export */ serializeAttributes: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.serializeAttributes),\n/* harmony export */ sortExtensions: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.sortExtensions),\n/* harmony export */ splitExtensions: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.splitExtensions),\n/* harmony export */ textInputRule: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.textInputRule),\n/* harmony export */ textPasteRule: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.textPasteRule),\n/* harmony export */ textblockTypeInputRule: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.textblockTypeInputRule),\n/* harmony export */ updateMarkViewAttributes: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.updateMarkViewAttributes),\n/* harmony export */ useCurrentEditor: () => (/* binding */ useCurrentEditor),\n/* harmony export */ useEditor: () => (/* binding */ useEditor),\n/* harmony export */ useEditorState: () => (/* binding */ useEditorState),\n/* harmony export */ useReactNodeView: () => (/* binding */ useReactNodeView),\n/* harmony export */ useTiptap: () => (/* binding */ useTiptap),\n/* harmony export */ useTiptapState: () => (/* binding */ useTiptapState),\n/* harmony export */ wrappingInputRule: () => (/* reexport safe */ _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.wrappingInputRule)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js\");\n/* harmony import */ var use_sync_external_store_shim_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! use-sync-external-store/shim/index.js */ \"(ssr)/./node_modules/use-sync-external-store/shim/index.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n/* harmony import */ var fast_equals__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! fast-equals */ \"(ssr)/./node_modules/fast-equals/dist/es/index.mjs\");\n/* harmony import */ var use_sync_external_store_shim_with_selector_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! use-sync-external-store/shim/with-selector.js */ \"(ssr)/./node_modules/use-sync-external-store/shim/with-selector.js\");\n// src/Context.tsx\n\n\n// src/EditorContent.tsx\n\n\n\n\nvar mergeRefs = (...refs) => {\n return (node) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n ;\n ref.current = node;\n }\n });\n };\n};\nvar Portals = ({ contentComponent }) => {\n const renderers = (0,use_sync_external_store_shim_index_js__WEBPACK_IMPORTED_MODULE_2__.useSyncExternalStore)(\n contentComponent.subscribe,\n contentComponent.getSnapshot,\n contentComponent.getServerSnapshot\n );\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.Fragment, { children: Object.values(renderers) });\n};\nfunction getInstance() {\n const subscribers = /* @__PURE__ */ new Set();\n let renderers = {};\n return {\n /**\n * Subscribe to the editor instance's changes.\n */\n subscribe(callback) {\n subscribers.add(callback);\n return () => {\n subscribers.delete(callback);\n };\n },\n getSnapshot() {\n return renderers;\n },\n getServerSnapshot() {\n return renderers;\n },\n /**\n * Adds a new NodeView Renderer to the editor.\n */\n setRenderer(id, renderer) {\n renderers = {\n ...renderers,\n [id]: react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal(renderer.reactElement, renderer.element, id)\n };\n subscribers.forEach((subscriber) => subscriber());\n },\n /**\n * Removes a NodeView Renderer from the editor.\n */\n removeRenderer(id) {\n const nextRenderers = { ...renderers };\n delete nextRenderers[id];\n renderers = nextRenderers;\n subscribers.forEach((subscriber) => subscriber());\n }\n };\n}\nvar PureEditorContent = class extends react__WEBPACK_IMPORTED_MODULE_0__.Component {\n constructor(props) {\n var _a;\n super(props);\n this.editorContentRef = react__WEBPACK_IMPORTED_MODULE_0__.createRef();\n this.initialized = false;\n this.state = {\n hasContentComponentInitialized: Boolean((_a = props.editor) == null ? void 0 : _a.contentComponent)\n };\n }\n componentDidMount() {\n this.init();\n }\n componentDidUpdate() {\n this.init();\n }\n init() {\n var _a;\n const editor = this.props.editor;\n if (editor && !editor.isDestroyed && ((_a = editor.view.dom) == null ? void 0 : _a.parentNode)) {\n if (editor.contentComponent) {\n return;\n }\n const element = this.editorContentRef.current;\n element.append(...editor.view.dom.parentNode.childNodes);\n editor.setOptions({\n element\n });\n editor.contentComponent = getInstance();\n if (!this.state.hasContentComponentInitialized) {\n this.unsubscribeToContentComponent = editor.contentComponent.subscribe(() => {\n this.setState((prevState) => {\n if (!prevState.hasContentComponentInitialized) {\n return {\n hasContentComponentInitialized: true\n };\n }\n return prevState;\n });\n if (this.unsubscribeToContentComponent) {\n this.unsubscribeToContentComponent();\n }\n });\n }\n editor.createNodeViews();\n this.initialized = true;\n }\n }\n componentWillUnmount() {\n var _a;\n const editor = this.props.editor;\n if (!editor) {\n return;\n }\n this.initialized = false;\n if (!editor.isDestroyed) {\n editor.view.setProps({\n nodeViews: {}\n });\n }\n if (this.unsubscribeToContentComponent) {\n this.unsubscribeToContentComponent();\n }\n editor.contentComponent = null;\n try {\n if (!((_a = editor.view.dom) == null ? void 0 : _a.parentNode)) {\n return;\n }\n const newElement = document.createElement(\"div\");\n newElement.append(...editor.view.dom.parentNode.childNodes);\n editor.setOptions({\n element: newElement\n });\n } catch {\n }\n }\n render() {\n const { editor, innerRef, ...rest } = this.props;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.Fragment, { children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(\"div\", { ref: mergeRefs(innerRef, this.editorContentRef), ...rest }),\n (editor == null ? void 0 : editor.contentComponent) && /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(Portals, { contentComponent: editor.contentComponent })\n ] });\n }\n};\nvar EditorContentWithKey = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(\n (props, ref) => {\n const key = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n return Math.floor(Math.random() * 4294967295).toString();\n }, [props.editor]);\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(PureEditorContent, {\n key,\n innerRef: ref,\n ...props\n });\n }\n);\nvar EditorContent = react__WEBPACK_IMPORTED_MODULE_0__.memo(EditorContentWithKey);\n\n// src/useEditor.ts\n\n\n\n\n// src/useEditorState.ts\n\n\n\nvar useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect : react__WEBPACK_IMPORTED_MODULE_0__.useEffect;\nvar EditorStateManager = class {\n constructor(initialEditor) {\n this.transactionNumber = 0;\n this.lastTransactionNumber = 0;\n this.subscribers = /* @__PURE__ */ new Set();\n this.editor = initialEditor;\n this.lastSnapshot = { editor: initialEditor, transactionNumber: 0 };\n this.getSnapshot = this.getSnapshot.bind(this);\n this.getServerSnapshot = this.getServerSnapshot.bind(this);\n this.watch = this.watch.bind(this);\n this.subscribe = this.subscribe.bind(this);\n }\n /**\n * Get the current editor instance.\n */\n getSnapshot() {\n if (this.transactionNumber === this.lastTransactionNumber) {\n return this.lastSnapshot;\n }\n this.lastTransactionNumber = this.transactionNumber;\n this.lastSnapshot = { editor: this.editor, transactionNumber: this.transactionNumber };\n return this.lastSnapshot;\n }\n /**\n * Always disable the editor on the server-side.\n */\n getServerSnapshot() {\n return { editor: null, transactionNumber: 0 };\n }\n /**\n * Subscribe to the editor instance's changes.\n */\n subscribe(callback) {\n this.subscribers.add(callback);\n return () => {\n this.subscribers.delete(callback);\n };\n }\n /**\n * Watch the editor instance for changes.\n */\n watch(nextEditor) {\n this.editor = nextEditor;\n if (this.editor) {\n const fn = () => {\n this.transactionNumber += 1;\n this.subscribers.forEach((callback) => callback());\n };\n const currentEditor = this.editor;\n currentEditor.on(\"transaction\", fn);\n return () => {\n currentEditor.off(\"transaction\", fn);\n };\n }\n return void 0;\n }\n};\nfunction useEditorState(options) {\n var _a;\n const [editorStateManager] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(() => new EditorStateManager(options.editor));\n const selectedState = (0,use_sync_external_store_shim_with_selector_js__WEBPACK_IMPORTED_MODULE_4__.useSyncExternalStoreWithSelector)(\n editorStateManager.subscribe,\n editorStateManager.getSnapshot,\n editorStateManager.getServerSnapshot,\n options.selector,\n (_a = options.equalityFn) != null ? _a : fast_equals__WEBPACK_IMPORTED_MODULE_5__.deepEqual\n );\n useIsomorphicLayoutEffect(() => {\n return editorStateManager.watch(options.editor);\n }, [options.editor, editorStateManager]);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useDebugValue)(selectedState);\n return selectedState;\n}\n\n// src/useEditor.ts\nvar isDev = \"development\" !== \"production\";\nvar isSSR = typeof window === \"undefined\";\nvar isNext = isSSR || Boolean(typeof window !== \"undefined\" && window.next);\nvar EditorInstanceManager = class _EditorInstanceManager {\n constructor(options) {\n /**\n * The current editor instance.\n */\n this.editor = null;\n /**\n * The subscriptions to notify when the editor instance\n * has been created or destroyed.\n */\n this.subscriptions = /* @__PURE__ */ new Set();\n /**\n * Whether the editor has been mounted.\n */\n this.isComponentMounted = false;\n /**\n * The most recent dependencies array.\n */\n this.previousDeps = null;\n /**\n * The unique instance ID. This is used to identify the editor instance. And will be re-generated for each new instance.\n */\n this.instanceId = \"\";\n this.options = options;\n this.subscriptions = /* @__PURE__ */ new Set();\n this.setEditor(this.getInitialEditor());\n this.scheduleDestroy();\n this.getEditor = this.getEditor.bind(this);\n this.getServerSnapshot = this.getServerSnapshot.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.refreshEditorInstance = this.refreshEditorInstance.bind(this);\n this.scheduleDestroy = this.scheduleDestroy.bind(this);\n this.onRender = this.onRender.bind(this);\n this.createEditor = this.createEditor.bind(this);\n }\n setEditor(editor) {\n this.editor = editor;\n this.instanceId = Math.random().toString(36).slice(2, 9);\n this.subscriptions.forEach((cb) => cb());\n }\n getInitialEditor() {\n if (this.options.current.immediatelyRender === void 0) {\n if (isSSR || isNext) {\n if (isDev) {\n throw new Error(\n \"Tiptap Error: SSR has been detected, please set `immediatelyRender` explicitly to `false` to avoid hydration mismatches.\"\n );\n }\n return null;\n }\n return this.createEditor();\n }\n if (this.options.current.immediatelyRender && isSSR && isDev) {\n throw new Error(\n \"Tiptap Error: SSR has been detected, and `immediatelyRender` has been set to `true` this is an unsupported configuration that may result in errors, explicitly set `immediatelyRender` to `false` to avoid hydration mismatches.\"\n );\n }\n if (this.options.current.immediatelyRender) {\n return this.createEditor();\n }\n return null;\n }\n /**\n * Create a new editor instance. And attach event listeners.\n */\n createEditor() {\n const optionsToApply = {\n ...this.options.current,\n // Always call the most recent version of the callback function by default\n onBeforeCreate: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onBeforeCreate) == null ? void 0 : _b.call(_a, ...args);\n },\n onBlur: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onBlur) == null ? void 0 : _b.call(_a, ...args);\n },\n onCreate: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onCreate) == null ? void 0 : _b.call(_a, ...args);\n },\n onDestroy: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onDestroy) == null ? void 0 : _b.call(_a, ...args);\n },\n onFocus: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onFocus) == null ? void 0 : _b.call(_a, ...args);\n },\n onSelectionUpdate: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onSelectionUpdate) == null ? void 0 : _b.call(_a, ...args);\n },\n onTransaction: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onTransaction) == null ? void 0 : _b.call(_a, ...args);\n },\n onUpdate: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onUpdate) == null ? void 0 : _b.call(_a, ...args);\n },\n onContentError: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onContentError) == null ? void 0 : _b.call(_a, ...args);\n },\n onDrop: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onDrop) == null ? void 0 : _b.call(_a, ...args);\n },\n onPaste: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onPaste) == null ? void 0 : _b.call(_a, ...args);\n },\n onDelete: (...args) => {\n var _a, _b;\n return (_b = (_a = this.options.current).onDelete) == null ? void 0 : _b.call(_a, ...args);\n }\n };\n const editor = new _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.Editor(optionsToApply);\n return editor;\n }\n /**\n * Get the current editor instance.\n */\n getEditor() {\n return this.editor;\n }\n /**\n * Always disable the editor on the server-side.\n */\n getServerSnapshot() {\n return null;\n }\n /**\n * Subscribe to the editor instance's changes.\n */\n subscribe(onStoreChange) {\n this.subscriptions.add(onStoreChange);\n return () => {\n this.subscriptions.delete(onStoreChange);\n };\n }\n static compareOptions(a, b) {\n return Object.keys(a).every((key) => {\n if ([\n \"onCreate\",\n \"onBeforeCreate\",\n \"onDestroy\",\n \"onUpdate\",\n \"onTransaction\",\n \"onFocus\",\n \"onBlur\",\n \"onSelectionUpdate\",\n \"onContentError\",\n \"onDrop\",\n \"onPaste\"\n ].includes(key)) {\n return true;\n }\n if (key === \"extensions\" && a.extensions && b.extensions) {\n if (a.extensions.length !== b.extensions.length) {\n return false;\n }\n return a.extensions.every((extension, index) => {\n var _a;\n if (extension !== ((_a = b.extensions) == null ? void 0 : _a[index])) {\n return false;\n }\n return true;\n });\n }\n if (a[key] !== b[key]) {\n return false;\n }\n return true;\n });\n }\n /**\n * On each render, we will create, update, or destroy the editor instance.\n * @param deps The dependencies to watch for changes\n * @returns A cleanup function\n */\n onRender(deps) {\n return () => {\n this.isComponentMounted = true;\n clearTimeout(this.scheduledDestructionTimeout);\n if (this.editor && !this.editor.isDestroyed && deps.length === 0) {\n if (!_EditorInstanceManager.compareOptions(this.options.current, this.editor.options)) {\n this.editor.setOptions({\n ...this.options.current,\n editable: this.editor.isEditable\n });\n }\n } else {\n this.refreshEditorInstance(deps);\n }\n return () => {\n this.isComponentMounted = false;\n this.scheduleDestroy();\n };\n };\n }\n /**\n * Recreate the editor instance if the dependencies have changed.\n */\n refreshEditorInstance(deps) {\n if (this.editor && !this.editor.isDestroyed) {\n if (this.previousDeps === null) {\n this.previousDeps = deps;\n return;\n }\n const depsAreEqual = this.previousDeps.length === deps.length && this.previousDeps.every((dep, index) => dep === deps[index]);\n if (depsAreEqual) {\n return;\n }\n }\n if (this.editor && !this.editor.isDestroyed) {\n this.editor.destroy();\n }\n this.setEditor(this.createEditor());\n this.previousDeps = deps;\n }\n /**\n * Schedule the destruction of the editor instance.\n * This will only destroy the editor if it was not mounted on the next tick.\n * This is to avoid destroying the editor instance when it's actually still mounted.\n */\n scheduleDestroy() {\n const currentInstanceId = this.instanceId;\n const currentEditor = this.editor;\n this.scheduledDestructionTimeout = setTimeout(() => {\n if (this.isComponentMounted && this.instanceId === currentInstanceId) {\n if (currentEditor) {\n currentEditor.setOptions(this.options.current);\n }\n return;\n }\n if (currentEditor && !currentEditor.isDestroyed) {\n currentEditor.destroy();\n if (this.instanceId === currentInstanceId) {\n this.setEditor(null);\n }\n }\n }, 1);\n }\n};\nfunction useEditor(options = {}, deps = []) {\n const mostRecentOptions = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(options);\n mostRecentOptions.current = options;\n const [instanceManager] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(() => new EditorInstanceManager(mostRecentOptions));\n const editor = (0,use_sync_external_store_shim_index_js__WEBPACK_IMPORTED_MODULE_2__.useSyncExternalStore)(\n instanceManager.subscribe,\n instanceManager.getEditor,\n instanceManager.getServerSnapshot\n );\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useDebugValue)(editor);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(instanceManager.onRender(deps));\n useEditorState({\n editor,\n selector: ({ transactionNumber }) => {\n if (options.shouldRerenderOnTransaction === false || options.shouldRerenderOnTransaction === void 0) {\n return null;\n }\n if (options.immediatelyRender && transactionNumber === 0) {\n return 0;\n }\n return transactionNumber + 1;\n }\n });\n return editor;\n}\n\n// src/Context.tsx\n\nvar EditorContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({\n editor: null\n});\nvar EditorConsumer = EditorContext.Consumer;\nvar useCurrentEditor = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(EditorContext);\nfunction EditorProvider({\n children,\n slotAfter,\n slotBefore,\n editorContainerProps = {},\n ...editorOptions\n}) {\n const editor = useEditor(editorOptions);\n const contextValue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({ editor }), [editor]);\n if (!editor) {\n return null;\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(EditorContext.Provider, { value: contextValue, children: [\n slotBefore,\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(EditorConsumer, { children: ({ editor: currentEditor }) => /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(EditorContent, { editor: currentEditor, ...editorContainerProps }) }),\n children,\n slotAfter\n ] });\n}\n\n// src/useReactNodeView.ts\n\nvar ReactNodeViewContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({\n onDragStart: () => {\n },\n nodeViewContentChildren: void 0,\n nodeViewContentRef: () => {\n }\n});\nvar ReactNodeViewContentProvider = ({ children, content }) => {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(ReactNodeViewContext.Provider, { value: { nodeViewContentChildren: content } }, children);\n};\nvar useReactNodeView = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ReactNodeViewContext);\n\n// src/NodeViewContent.tsx\n\nfunction NodeViewContent({\n as: Tag = \"div\",\n ...props\n}) {\n const { nodeViewContentRef, nodeViewContentChildren } = useReactNodeView();\n return (\n // @ts-ignore\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(\n Tag,\n {\n ...props,\n ref: nodeViewContentRef,\n \"data-node-view-content\": \"\",\n style: {\n whiteSpace: \"pre-wrap\",\n ...props.style\n },\n children: nodeViewContentChildren\n }\n )\n );\n}\n\n// src/NodeViewWrapper.tsx\n\n\nvar NodeViewWrapper = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, ref) => {\n const { onDragStart } = useReactNodeView();\n const Tag = props.as || \"div\";\n return (\n // @ts-ignore\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(\n Tag,\n {\n ...props,\n ref,\n \"data-node-view-wrapper\": \"\",\n onDragStart,\n style: {\n whiteSpace: \"normal\",\n ...props.style\n }\n }\n )\n );\n});\n\n// src/ReactMarkViewRenderer.tsx\n\n\n\n// src/ReactRenderer.tsx\n\n\n\nfunction isClassComponent(Component) {\n return !!(typeof Component === \"function\" && Component.prototype && Component.prototype.isReactComponent);\n}\nfunction isForwardRefComponent(Component) {\n return !!(typeof Component === \"object\" && Component.$$typeof && (Component.$$typeof.toString() === \"Symbol(react.forward_ref)\" || Component.$$typeof.description === \"react.forward_ref\"));\n}\nfunction isMemoComponent(Component) {\n return !!(typeof Component === \"object\" && Component.$$typeof && (Component.$$typeof.toString() === \"Symbol(react.memo)\" || Component.$$typeof.description === \"react.memo\"));\n}\nfunction canReceiveRef(Component) {\n if (isClassComponent(Component)) {\n return true;\n }\n if (isForwardRefComponent(Component)) {\n return true;\n }\n if (isMemoComponent(Component)) {\n const wrappedComponent = Component.type;\n if (wrappedComponent) {\n return isClassComponent(wrappedComponent) || isForwardRefComponent(wrappedComponent);\n }\n }\n return false;\n}\nfunction isReact19Plus() {\n try {\n if (react__WEBPACK_IMPORTED_MODULE_0__.version) {\n const majorVersion = parseInt(react__WEBPACK_IMPORTED_MODULE_0__.version.split(\".\")[0], 10);\n return majorVersion >= 19;\n }\n } catch {\n }\n return false;\n}\nvar ReactRenderer = class {\n /**\n * Immediately creates element and renders the provided React component.\n */\n constructor(component, { editor, props = {}, as = \"div\", className = \"\" }) {\n this.ref = null;\n /**\n * Flag to track if the renderer has been destroyed, preventing queued or asynchronous renders from executing after teardown.\n */\n this.destroyed = false;\n this.id = Math.floor(Math.random() * 4294967295).toString();\n this.component = component;\n this.editor = editor;\n this.props = props;\n this.element = document.createElement(as);\n this.element.classList.add(\"react-renderer\");\n if (className) {\n this.element.classList.add(...className.split(\" \"));\n }\n if (this.editor.isInitialized) {\n (0,react_dom__WEBPACK_IMPORTED_MODULE_1__.flushSync)(() => {\n this.render();\n });\n } else {\n queueMicrotask(() => {\n if (this.destroyed) {\n return;\n }\n this.render();\n });\n }\n }\n /**\n * Render the React component.\n */\n render() {\n var _a;\n if (this.destroyed) {\n return;\n }\n const Component = this.component;\n const props = this.props;\n const editor = this.editor;\n const isReact19 = isReact19Plus();\n const componentCanReceiveRef = canReceiveRef(Component);\n const elementProps = { ...props };\n if (elementProps.ref && !(isReact19 || componentCanReceiveRef)) {\n delete elementProps.ref;\n }\n if (!elementProps.ref && (isReact19 || componentCanReceiveRef)) {\n elementProps.ref = (ref) => {\n this.ref = ref;\n };\n }\n this.reactElement = /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(Component, { ...elementProps });\n (_a = editor == null ? void 0 : editor.contentComponent) == null ? void 0 : _a.setRenderer(this.id, this);\n }\n /**\n * Re-renders the React component with new props.\n */\n updateProps(props = {}) {\n if (this.destroyed) {\n return;\n }\n this.props = {\n ...this.props,\n ...props\n };\n this.render();\n }\n /**\n * Destroy the React component.\n */\n destroy() {\n var _a;\n this.destroyed = true;\n const editor = this.editor;\n (_a = editor == null ? void 0 : editor.contentComponent) == null ? void 0 : _a.removeRenderer(this.id);\n try {\n if (this.element && this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n } catch {\n }\n }\n /**\n * Update the attributes of the element that holds the React component.\n */\n updateAttributes(attributes) {\n Object.keys(attributes).forEach((key) => {\n this.element.setAttribute(key, attributes[key]);\n });\n }\n};\n\n// src/ReactMarkViewRenderer.tsx\n\nvar ReactMarkViewContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext({\n markViewContentRef: () => {\n }\n});\nvar MarkViewContent = (props) => {\n const { as: Tag = \"span\", ...rest } = props;\n const { markViewContentRef } = react__WEBPACK_IMPORTED_MODULE_0__.useContext(ReactMarkViewContext);\n return (\n // @ts-ignore\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(Tag, { ...rest, ref: markViewContentRef, \"data-mark-view-content\": \"\" })\n );\n};\nvar ReactMarkView = class extends _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.MarkView {\n constructor(component, props, options) {\n super(component, props, options);\n const { as = \"span\", attrs, className = \"\" } = options || {};\n const componentProps = { ...props, updateAttributes: this.updateAttributes.bind(this) };\n this.contentDOMElement = document.createElement(\"span\");\n const markViewContentRef = (el) => {\n if (el && !el.contains(this.contentDOMElement)) {\n el.appendChild(this.contentDOMElement);\n }\n };\n const context = {\n markViewContentRef\n };\n const ReactMarkViewProvider = react__WEBPACK_IMPORTED_MODULE_0__.memo((componentProps2) => {\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(ReactMarkViewContext.Provider, { value: context, children: react__WEBPACK_IMPORTED_MODULE_0__.createElement(component, componentProps2) });\n });\n ReactMarkViewProvider.displayName = \"ReactMarkView\";\n this.renderer = new ReactRenderer(ReactMarkViewProvider, {\n editor: props.editor,\n props: componentProps,\n as,\n className: `mark-${props.mark.type.name} ${className}`.trim()\n });\n if (attrs) {\n this.renderer.updateAttributes(attrs);\n }\n }\n get dom() {\n return this.renderer.element;\n }\n get contentDOM() {\n return this.contentDOMElement;\n }\n};\nfunction ReactMarkViewRenderer(component, options = {}) {\n return (props) => new ReactMarkView(component, props, options);\n}\n\n// src/ReactNodeViewRenderer.tsx\n\n\n\nvar ReactNodeView = class extends _tiptap_core__WEBPACK_IMPORTED_MODULE_6__.NodeView {\n constructor(component, props, options) {\n super(component, props, options);\n /**\n * The requestAnimationFrame ID used for selection updates.\n */\n this.selectionRafId = null;\n this.cachedExtensionWithSyncedStorage = null;\n if (!this.node.isLeaf) {\n if (this.options.contentDOMElementTag) {\n this.contentDOMElement = document.createElement(this.options.contentDOMElementTag);\n } else {\n this.contentDOMElement = document.createElement(this.node.isInline ? \"span\" : \"div\");\n }\n this.contentDOMElement.dataset.nodeViewContentReact = \"\";\n this.contentDOMElement.dataset.nodeViewWrapper = \"\";\n this.contentDOMElement.style.whiteSpace = \"inherit\";\n const contentTarget = this.dom.querySelector(\"[data-node-view-content]\");\n if (!contentTarget) {\n return;\n }\n contentTarget.appendChild(this.contentDOMElement);\n }\n }\n /**\n * Returns a proxy of the extension that redirects storage access to the editor's mutable storage.\n * This preserves the original prototype chain (instanceof checks, methods like configure/extend work).\n * Cached to avoid proxy creation on every update.\n */\n get extensionWithSyncedStorage() {\n if (!this.cachedExtensionWithSyncedStorage) {\n const editor = this.editor;\n const extension = this.extension;\n this.cachedExtensionWithSyncedStorage = new Proxy(extension, {\n get(target, prop, receiver) {\n var _a;\n if (prop === \"storage\") {\n return (_a = editor.storage[extension.name]) != null ? _a : {};\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n }\n return this.cachedExtensionWithSyncedStorage;\n }\n /**\n * Setup the React component.\n * Called on initialization.\n */\n mount() {\n const props = {\n editor: this.editor,\n node: this.node,\n decorations: this.decorations,\n innerDecorations: this.innerDecorations,\n view: this.view,\n selected: false,\n extension: this.extensionWithSyncedStorage,\n HTMLAttributes: this.HTMLAttributes,\n getPos: () => this.getPos(),\n updateAttributes: (attributes = {}) => this.updateAttributes(attributes),\n deleteNode: () => this.deleteNode(),\n ref: (0,react__WEBPACK_IMPORTED_MODULE_0__.createRef)()\n };\n if (!this.component.displayName) {\n const capitalizeFirstChar = (string) => {\n return string.charAt(0).toUpperCase() + string.substring(1);\n };\n this.component.displayName = capitalizeFirstChar(this.extension.name);\n }\n const onDragStart = this.onDragStart.bind(this);\n const nodeViewContentRef = (element) => {\n if (element && this.contentDOMElement && element.firstChild !== this.contentDOMElement) {\n if (element.hasAttribute(\"data-node-view-wrapper\")) {\n element.removeAttribute(\"data-node-view-wrapper\");\n }\n element.appendChild(this.contentDOMElement);\n }\n };\n const context = { onDragStart, nodeViewContentRef };\n const Component = this.component;\n const ReactNodeViewProvider = (0,react__WEBPACK_IMPORTED_MODULE_0__.memo)((componentProps) => {\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(ReactNodeViewContext.Provider, { value: context, children: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(Component, componentProps) });\n });\n ReactNodeViewProvider.displayName = \"ReactNodeView\";\n let as = this.node.isInline ? \"span\" : \"div\";\n if (this.options.as) {\n as = this.options.as;\n }\n const { className = \"\" } = this.options;\n this.handleSelectionUpdate = this.handleSelectionUpdate.bind(this);\n this.renderer = new ReactRenderer(ReactNodeViewProvider, {\n editor: this.editor,\n props,\n as,\n className: `node-${this.node.type.name} ${className}`.trim()\n });\n this.editor.on(\"selectionUpdate\", this.handleSelectionUpdate);\n this.updateElementAttributes();\n }\n /**\n * Return the DOM element.\n * This is the element that will be used to display the node view.\n */\n get dom() {\n var _a;\n if (this.renderer.element.firstElementChild && !((_a = this.renderer.element.firstElementChild) == null ? void 0 : _a.hasAttribute(\"data-node-view-wrapper\"))) {\n throw Error(\"Please use the NodeViewWrapper component for your node view.\");\n }\n return this.renderer.element;\n }\n /**\n * Return the content DOM element.\n * This is the element that will be used to display the rich-text content of the node.\n */\n get contentDOM() {\n if (this.node.isLeaf) {\n return null;\n }\n return this.contentDOMElement;\n }\n /**\n * On editor selection update, check if the node is selected.\n * If it is, call `selectNode`, otherwise call `deselectNode`.\n */\n handleSelectionUpdate() {\n if (this.selectionRafId) {\n cancelAnimationFrame(this.selectionRafId);\n this.selectionRafId = null;\n }\n this.selectionRafId = requestAnimationFrame(() => {\n this.selectionRafId = null;\n const { from, to } = this.editor.state.selection;\n const pos = this.getPos();\n if (typeof pos !== \"number\") {\n return;\n }\n if (from <= pos && to >= pos + this.node.nodeSize) {\n if (this.renderer.props.selected) {\n return;\n }\n this.selectNode();\n } else {\n if (!this.renderer.props.selected) {\n return;\n }\n this.deselectNode();\n }\n });\n }\n /**\n * On update, update the React component.\n * To prevent unnecessary updates, the `update` option can be used.\n */\n update(node, decorations, innerDecorations) {\n const rerenderComponent = (props) => {\n this.renderer.updateProps(props);\n if (typeof this.options.attrs === \"function\") {\n this.updateElementAttributes();\n }\n };\n if (node.type !== this.node.type) {\n return false;\n }\n if (typeof this.options.update === \"function\") {\n const oldNode = this.node;\n const oldDecorations = this.decorations;\n const oldInnerDecorations = this.innerDecorations;\n this.node = node;\n this.decorations = decorations;\n this.innerDecorations = innerDecorations;\n return this.options.update({\n oldNode,\n oldDecorations,\n newNode: node,\n newDecorations: decorations,\n oldInnerDecorations,\n innerDecorations,\n updateProps: () => rerenderComponent({ node, decorations, innerDecorations, extension: this.extensionWithSyncedStorage })\n });\n }\n if (node === this.node && this.decorations === decorations && this.innerDecorations === innerDecorations) {\n return true;\n }\n this.node = node;\n this.decorations = decorations;\n this.innerDecorations = innerDecorations;\n rerenderComponent({ node, decorations, innerDecorations, extension: this.extensionWithSyncedStorage });\n return true;\n }\n /**\n * Select the node.\n * Add the `selected` prop and the `ProseMirror-selectednode` class.\n */\n selectNode() {\n this.renderer.updateProps({\n selected: true\n });\n this.renderer.element.classList.add(\"ProseMirror-selectednode\");\n }\n /**\n * Deselect the node.\n * Remove the `selected` prop and the `ProseMirror-selectednode` class.\n */\n deselectNode() {\n this.renderer.updateProps({\n selected: false\n });\n this.renderer.element.classList.remove(\"ProseMirror-selectednode\");\n }\n /**\n * Destroy the React component instance.\n */\n destroy() {\n this.renderer.destroy();\n this.editor.off(\"selectionUpdate\", this.handleSelectionUpdate);\n this.contentDOMElement = null;\n if (this.selectionRafId) {\n cancelAnimationFrame(this.selectionRafId);\n this.selectionRafId = null;\n }\n }\n /**\n * Update the attributes of the top-level element that holds the React component.\n * Applying the attributes defined in the `attrs` option.\n */\n updateElementAttributes() {\n if (this.options.attrs) {\n let attrsObj = {};\n if (typeof this.options.attrs === \"function\") {\n const extensionAttributes = this.editor.extensionManager.attributes;\n const HTMLAttributes = (0,_tiptap_core__WEBPACK_IMPORTED_MODULE_6__.getRenderedAttributes)(this.node, extensionAttributes);\n attrsObj = this.options.attrs({ node: this.node, HTMLAttributes });\n } else {\n attrsObj = this.options.attrs;\n }\n this.renderer.updateAttributes(attrsObj);\n }\n }\n};\nfunction ReactNodeViewRenderer(component, options) {\n return (props) => {\n if (!props.editor.contentComponent) {\n return {};\n }\n return new ReactNodeView(component, props, options);\n };\n}\n\n// src/Tiptap.tsx\n\n\nvar TiptapContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({\n get editor() {\n throw new Error(\"useTiptap must be used within a provider\");\n }\n});\nTiptapContext.displayName = \"TiptapContext\";\nvar useTiptap = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(TiptapContext);\nfunction useTiptapState(selector, equalityFn) {\n const { editor } = useTiptap();\n return useEditorState({\n editor,\n selector,\n equalityFn\n });\n}\nfunction TiptapWrapper({ editor, instance, children }) {\n const resolvedEditor = editor != null ? editor : instance;\n if (!resolvedEditor) {\n throw new Error(\"Tiptap: An editor instance is required. Pass a non-null `editor` prop.\");\n }\n const tiptapContextValue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({ editor: resolvedEditor }), [resolvedEditor]);\n const legacyContextValue = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({ editor: resolvedEditor }), [resolvedEditor]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(EditorContext.Provider, { value: legacyContextValue, children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(TiptapContext.Provider, { value: tiptapContextValue, children }) });\n}\nTiptapWrapper.displayName = \"Tiptap\";\nfunction TiptapContent({ ...rest }) {\n const { editor } = useTiptap();\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(EditorContent, { editor, ...rest });\n}\nTiptapContent.displayName = \"Tiptap.Content\";\nvar Tiptap = Object.assign(TiptapWrapper, {\n /**\n * The Tiptap Content component that renders the EditorContent with the editor instance from the context.\n * @see TiptapContent\n */\n Content: TiptapContent\n});\n\n// src/index.ts\n\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9yZWFjdC9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDMkQ7O0FBRTNEO0FBQzBDO0FBQ1Q7QUFDNEM7QUFDckI7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLGlCQUFpQixrQkFBa0I7QUFDbkMsb0JBQW9CLDJGQUFvQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixzREFBRyxDQUFDLHVEQUFRLElBQUksb0NBQW9DO0FBQzdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLG1EQUFxQjtBQUNuQztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQyw0Q0FBZTtBQUNyRDtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsNENBQWU7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLHlCQUF5Qiw0QkFBNEI7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsOENBQVEsVUFBVSx3QkFBd0I7QUFDdkUsNkJBQTZCLDhDQUFRLFVBQVUsd0JBQXdCO0FBQ3ZFLHlCQUF5QixzREFBSSwyQkFBMkIscURBQXFELHNEQUFJLDJCQUEyQixxQ0FBcUMsR0FBRztBQUNwTDtBQUNBO0FBQ0EseUJBQXlCLFNBQVM7QUFDbEMsVUFBVSxTQUFTO0FBQ25CLHlCQUF5QixzREFBSSxrQkFBa0IsaUJBQWlCO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQzZCO0FBNEIzQjtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAdGlwdGFwXFxyZWFjdFxcZGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL0NvbnRleHQudHN4XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5cbi8vIHNyYy9FZGl0b3JDb250ZW50LnRzeFxuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdERPTSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyB1c2VTeW5jRXh0ZXJuYWxTdG9yZSB9IGZyb20gXCJ1c2Utc3luYy1leHRlcm5hbC1zdG9yZS9zaGltL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgbWVyZ2VSZWZzID0gKC4uLnJlZnMpID0+IHtcbiAgcmV0dXJuIChub2RlKSA9PiB7XG4gICAgcmVmcy5mb3JFYWNoKChyZWYpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgcmVmID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmVmKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChyZWYpIHtcbiAgICAgICAgO1xuICAgICAgICByZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG59O1xudmFyIFBvcnRhbHMgPSAoeyBjb250ZW50Q29tcG9uZW50IH0pID0+IHtcbiAgY29uc3QgcmVuZGVyZXJzID0gdXNlU3luY0V4dGVybmFsU3RvcmUoXG4gICAgY29udGVudENvbXBvbmVudC5zdWJzY3JpYmUsXG4gICAgY29udGVudENvbXBvbmVudC5nZXRTbmFwc2hvdCxcbiAgICBjb250ZW50Q29tcG9uZW50LmdldFNlcnZlclNuYXBzaG90XG4gICk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEZyYWdtZW50LCB7IGNoaWxkcmVuOiBPYmplY3QudmFsdWVzKHJlbmRlcmVycykgfSk7XG59O1xuZnVuY3Rpb24gZ2V0SW5zdGFuY2UoKSB7XG4gIGNvbnN0IHN1YnNjcmliZXJzID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcbiAgbGV0IHJlbmRlcmVycyA9IHt9O1xuICByZXR1cm4ge1xuICAgIC8qKlxuICAgICAqIFN1YnNjcmliZSB0byB0aGUgZWRpdG9yIGluc3RhbmNlJ3MgY2hhbmdlcy5cbiAgICAgKi9cbiAgICBzdWJzY3JpYmUoY2FsbGJhY2spIHtcbiAgICAgIHN1YnNjcmliZXJzLmFkZChjYWxsYmFjayk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBzdWJzY3JpYmVycy5kZWxldGUoY2FsbGJhY2spO1xuICAgICAgfTtcbiAgICB9LFxuICAgIGdldFNuYXBzaG90KCkge1xuICAgICAgcmV0dXJuIHJlbmRlcmVycztcbiAgICB9LFxuICAgIGdldFNlcnZlclNuYXBzaG90KCkge1xuICAgICAgcmV0dXJuIHJlbmRlcmVycztcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBuZXcgTm9kZVZpZXcgUmVuZGVyZXIgdG8gdGhlIGVkaXRvci5cbiAgICAgKi9cbiAgICBzZXRSZW5kZXJlcihpZCwgcmVuZGVyZXIpIHtcbiAgICAgIHJlbmRlcmVycyA9IHtcbiAgICAgICAgLi4ucmVuZGVyZXJzLFxuICAgICAgICBbaWRdOiBSZWFjdERPTS5jcmVhdGVQb3J0YWwocmVuZGVyZXIucmVhY3RFbGVtZW50LCByZW5kZXJlci5lbGVtZW50LCBpZClcbiAgICAgIH07XG4gICAgICBzdWJzY3JpYmVycy5mb3JFYWNoKChzdWJzY3JpYmVyKSA9PiBzdWJzY3JpYmVyKCkpO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIE5vZGVWaWV3IFJlbmRlcmVyIGZyb20gdGhlIGVkaXRvci5cbiAgICAgKi9cbiAgICByZW1vdmVSZW5kZXJlcihpZCkge1xuICAgICAgY29uc3QgbmV4dFJlbmRlcmVycyA9IHsgLi4ucmVuZGVyZXJzIH07XG4gICAgICBkZWxldGUgbmV4dFJlbmRlcmVyc1tpZF07XG4gICAgICByZW5kZXJlcnMgPSBuZXh0UmVuZGVyZXJzO1xuICAgICAgc3Vic2NyaWJlcnMuZm9yRWFjaCgoc3Vic2NyaWJlcikgPT4gc3Vic2NyaWJlcigpKTtcbiAgICB9XG4gIH07XG59XG52YXIgUHVyZUVkaXRvckNvbnRlbnQgPSBjbGFzcyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgdmFyIF9hO1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLmVkaXRvckNvbnRlbnRSZWYgPSBSZWFjdC5jcmVhdGVSZWYoKTtcbiAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGhhc0NvbnRlbnRDb21wb25lbnRJbml0aWFsaXplZDogQm9vbGVhbigoX2EgPSBwcm9wcy5lZGl0b3IpID09IG51bGwgPyB2b2lkIDAgOiBfYS5jb250ZW50Q29tcG9uZW50KVxuICAgIH07XG4gIH1cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG4gIGluaXQoKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IGVkaXRvciA9IHRoaXMucHJvcHMuZWRpdG9yO1xuICAgIGlmIChlZGl0b3IgJiYgIWVkaXRvci5pc0Rlc3Ryb3llZCAmJiAoKF9hID0gZWRpdG9yLnZpZXcuZG9tKSA9PSBudWxsID8gdm9pZCAwIDogX2EucGFyZW50Tm9kZSkpIHtcbiAgICAgIGlmIChlZGl0b3IuY29udGVudENvbXBvbmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lZGl0b3JDb250ZW50UmVmLmN1cnJlbnQ7XG4gICAgICBlbGVtZW50LmFwcGVuZCguLi5lZGl0b3Iudmlldy5kb20ucGFyZW50Tm9kZS5jaGlsZE5vZGVzKTtcbiAgICAgIGVkaXRvci5zZXRPcHRpb25zKHtcbiAgICAgICAgZWxlbWVudFxuICAgICAgfSk7XG4gICAgICBlZGl0b3IuY29udGVudENvbXBvbmVudCA9IGdldEluc3RhbmNlKCk7XG4gICAgICBpZiAoIXRoaXMuc3RhdGUuaGFzQ29udGVudENvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVUb0NvbnRlbnRDb21wb25lbnQgPSBlZGl0b3IuY29udGVudENvbXBvbmVudC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFwcmV2U3RhdGUuaGFzQ29udGVudENvbXBvbmVudEluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaGFzQ29udGVudENvbXBvbmVudEluaXRpYWxpemVkOiB0cnVlXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmICh0aGlzLnVuc3Vic2NyaWJlVG9Db250ZW50Q29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLnVuc3Vic2NyaWJlVG9Db250ZW50Q29tcG9uZW50KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGVkaXRvci5jcmVhdGVOb2RlVmlld3MoKTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5wcm9wcy5lZGl0b3I7XG4gICAgaWYgKCFlZGl0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIGlmICghZWRpdG9yLmlzRGVzdHJveWVkKSB7XG4gICAgICBlZGl0b3Iudmlldy5zZXRQcm9wcyh7XG4gICAgICAgIG5vZGVWaWV3czoge31cbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy51bnN1YnNjcmliZVRvQ29udGVudENvbXBvbmVudCkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZVRvQ29udGVudENvbXBvbmVudCgpO1xuICAgIH1cbiAgICBlZGl0b3IuY29udGVudENvbXBvbmVudCA9IG51bGw7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghKChfYSA9IGVkaXRvci52aWV3LmRvbSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLnBhcmVudE5vZGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgbmV3RWxlbWVudC5hcHBlbmQoLi4uZWRpdG9yLnZpZXcuZG9tLnBhcmVudE5vZGUuY2hpbGROb2Rlcyk7XG4gICAgICBlZGl0b3Iuc2V0T3B0aW9ucyh7XG4gICAgICAgIGVsZW1lbnQ6IG5ld0VsZW1lbnRcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2gge1xuICAgIH1cbiAgfVxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBlZGl0b3IsIGlubmVyUmVmLCAuLi5yZXN0IH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhGcmFnbWVudCwgeyBjaGlsZHJlbjogW1xuICAgICAgLyogQF9fUFVSRV9fICovIGpzeChcImRpdlwiLCB7IHJlZjogbWVyZ2VSZWZzKGlubmVyUmVmLCB0aGlzLmVkaXRvckNvbnRlbnRSZWYpLCAuLi5yZXN0IH0pLFxuICAgICAgKGVkaXRvciA9PSBudWxsID8gdm9pZCAwIDogZWRpdG9yLmNvbnRlbnRDb21wb25lbnQpICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goUG9ydGFscywgeyBjb250ZW50Q29tcG9uZW50OiBlZGl0b3IuY29udGVudENvbXBvbmVudCB9KVxuICAgIF0gfSk7XG4gIH1cbn07XG52YXIgRWRpdG9yQ29udGVudFdpdGhLZXkgPSBmb3J3YXJkUmVmKFxuICAocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IGtleSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDQyOTQ5NjcyOTUpLnRvU3RyaW5nKCk7XG4gICAgfSwgW3Byb3BzLmVkaXRvcl0pO1xuICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFB1cmVFZGl0b3JDb250ZW50LCB7XG4gICAgICBrZXksXG4gICAgICBpbm5lclJlZjogcmVmLFxuICAgICAgLi4ucHJvcHNcbiAgICB9KTtcbiAgfVxuKTtcbnZhciBFZGl0b3JDb250ZW50ID0gUmVhY3QubWVtbyhFZGl0b3JDb250ZW50V2l0aEtleSk7XG5cbi8vIHNyYy91c2VFZGl0b3IudHNcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbmltcG9ydCB7IHVzZURlYnVnVmFsdWUgYXMgdXNlRGVidWdWYWx1ZTIsIHVzZUVmZmVjdCBhcyB1c2VFZmZlY3QyLCB1c2VSZWYsIHVzZVN0YXRlIGFzIHVzZVN0YXRlMiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlU3luY0V4dGVybmFsU3RvcmUgYXMgdXNlU3luY0V4dGVybmFsU3RvcmUyIH0gZnJvbSBcInVzZS1zeW5jLWV4dGVybmFsLXN0b3JlL3NoaW0vaW5kZXguanNcIjtcblxuLy8gc3JjL3VzZUVkaXRvclN0YXRlLnRzXG5pbXBvcnQgeyBkZWVwRXF1YWwgfSBmcm9tIFwiZmFzdC1lcXVhbHNcIjtcbmltcG9ydCB7IHVzZURlYnVnVmFsdWUsIHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlU3luY0V4dGVybmFsU3RvcmVXaXRoU2VsZWN0b3IgfSBmcm9tIFwidXNlLXN5bmMtZXh0ZXJuYWwtc3RvcmUvc2hpbS93aXRoLXNlbGVjdG9yLmpzXCI7XG52YXIgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCA9IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgPyB1c2VMYXlvdXRFZmZlY3QgOiB1c2VFZmZlY3Q7XG52YXIgRWRpdG9yU3RhdGVNYW5hZ2VyID0gY2xhc3Mge1xuICBjb25zdHJ1Y3Rvcihpbml0aWFsRWRpdG9yKSB7XG4gICAgdGhpcy50cmFuc2FjdGlvbk51bWJlciA9IDA7XG4gICAgdGhpcy5sYXN0VHJhbnNhY3Rpb25OdW1iZXIgPSAwO1xuICAgIHRoaXMuc3Vic2NyaWJlcnMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuICAgIHRoaXMuZWRpdG9yID0gaW5pdGlhbEVkaXRvcjtcbiAgICB0aGlzLmxhc3RTbmFwc2hvdCA9IHsgZWRpdG9yOiBpbml0aWFsRWRpdG9yLCB0cmFuc2FjdGlvbk51bWJlcjogMCB9O1xuICAgIHRoaXMuZ2V0U25hcHNob3QgPSB0aGlzLmdldFNuYXBzaG90LmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRTZXJ2ZXJTbmFwc2hvdCA9IHRoaXMuZ2V0U2VydmVyU25hcHNob3QuYmluZCh0aGlzKTtcbiAgICB0aGlzLndhdGNoID0gdGhpcy53YXRjaC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuc3Vic2NyaWJlID0gdGhpcy5zdWJzY3JpYmUuYmluZCh0aGlzKTtcbiAgfVxuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IGVkaXRvciBpbnN0YW5jZS5cbiAgICovXG4gIGdldFNuYXBzaG90KCkge1xuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uTnVtYmVyID09PSB0aGlzLmxhc3RUcmFuc2FjdGlvbk51bWJlcikge1xuICAgICAgcmV0dXJuIHRoaXMubGFzdFNuYXBzaG90O1xuICAgIH1cbiAgICB0aGlzLmxhc3RUcmFuc2FjdGlvbk51bWJlciA9IHRoaXMudHJhbnNhY3Rpb25OdW1iZXI7XG4gICAgdGhpcy5sYXN0U25hcHNob3QgPSB7IGVkaXRvcjogdGhpcy5lZGl0b3IsIHRyYW5zYWN0aW9uTnVtYmVyOiB0aGlzLnRyYW5zYWN0aW9uTnVtYmVyIH07XG4gICAgcmV0dXJuIHRoaXMubGFzdFNuYXBzaG90O1xuICB9XG4gIC8qKlxuICAgKiBBbHdheXMgZGlzYWJsZSB0aGUgZWRpdG9yIG9uIHRoZSBzZXJ2ZXItc2lkZS5cbiAgICovXG4gIGdldFNlcnZlclNuYXBzaG90KCkge1xuICAgIHJldHVybiB7IGVkaXRvcjogbnVsbCwgdHJhbnNhY3Rpb25OdW1iZXI6IDAgfTtcbiAgfVxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIHRoZSBlZGl0b3IgaW5zdGFuY2UncyBjaGFuZ2VzLlxuICAgKi9cbiAgc3Vic2NyaWJlKGNhbGxiYWNrKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVycy5hZGQoY2FsbGJhY2spO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB0aGlzLnN1YnNjcmliZXJzLmRlbGV0ZShjYWxsYmFjayk7XG4gICAgfTtcbiAgfVxuICAvKipcbiAgICogV2F0Y2ggdGhlIGVkaXRvciBpbnN0YW5jZSBmb3IgY2hhbmdlcy5cbiAgICovXG4gIHdhdGNoKG5leHRFZGl0b3IpIHtcbiAgICB0aGlzLmVkaXRvciA9IG5leHRFZGl0b3I7XG4gICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICBjb25zdCBmbiA9ICgpID0+IHtcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbk51bWJlciArPSAxO1xuICAgICAgICB0aGlzLnN1YnNjcmliZXJzLmZvckVhY2goKGNhbGxiYWNrKSA9PiBjYWxsYmFjaygpKTtcbiAgICAgIH07XG4gICAgICBjb25zdCBjdXJyZW50RWRpdG9yID0gdGhpcy5lZGl0b3I7XG4gICAgICBjdXJyZW50RWRpdG9yLm9uKFwidHJhbnNhY3Rpb25cIiwgZm4pO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgY3VycmVudEVkaXRvci5vZmYoXCJ0cmFuc2FjdGlvblwiLCBmbik7XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG59O1xuZnVuY3Rpb24gdXNlRWRpdG9yU3RhdGUob3B0aW9ucykge1xuICB2YXIgX2E7XG4gIGNvbnN0IFtlZGl0b3JTdGF0ZU1hbmFnZXJdID0gdXNlU3RhdGUoKCkgPT4gbmV3IEVkaXRvclN0YXRlTWFuYWdlcihvcHRpb25zLmVkaXRvcikpO1xuICBjb25zdCBzZWxlY3RlZFN0YXRlID0gdXNlU3luY0V4dGVybmFsU3RvcmVXaXRoU2VsZWN0b3IoXG4gICAgZWRpdG9yU3RhdGVNYW5hZ2VyLnN1YnNjcmliZSxcbiAgICBlZGl0b3JTdGF0ZU1hbmFnZXIuZ2V0U25hcHNob3QsXG4gICAgZWRpdG9yU3RhdGVNYW5hZ2VyLmdldFNlcnZlclNuYXBzaG90LFxuICAgIG9wdGlvbnMuc2VsZWN0b3IsXG4gICAgKF9hID0gb3B0aW9ucy5lcXVhbGl0eUZuKSAhPSBudWxsID8gX2EgOiBkZWVwRXF1YWxcbiAgKTtcbiAgdXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIGVkaXRvclN0YXRlTWFuYWdlci53YXRjaChvcHRpb25zLmVkaXRvcik7XG4gIH0sIFtvcHRpb25zLmVkaXRvciwgZWRpdG9yU3RhdGVNYW5hZ2VyXSk7XG4gIHVzZURlYnVnVmFsdWUoc2VsZWN0ZWRTdGF0ZSk7XG4gIHJldHVybiBzZWxlY3RlZFN0YXRlO1xufVxuXG4vLyBzcmMvdXNlRWRpdG9yLnRzXG52YXIgaXNEZXYgPSBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCI7XG52YXIgaXNTU1IgPSB0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiO1xudmFyIGlzTmV4dCA9IGlzU1NSIHx8IEJvb2xlYW4odHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aW5kb3cubmV4dCk7XG52YXIgRWRpdG9ySW5zdGFuY2VNYW5hZ2VyID0gY2xhc3MgX0VkaXRvckluc3RhbmNlTWFuYWdlciB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAvKipcbiAgICAgKiBUaGUgY3VycmVudCBlZGl0b3IgaW5zdGFuY2UuXG4gICAgICovXG4gICAgdGhpcy5lZGl0b3IgPSBudWxsO1xuICAgIC8qKlxuICAgICAqIFRoZSBzdWJzY3JpcHRpb25zIHRvIG5vdGlmeSB3aGVuIHRoZSBlZGl0b3IgaW5zdGFuY2VcbiAgICAgKiBoYXMgYmVlbiBjcmVhdGVkIG9yIGRlc3Ryb3llZC5cbiAgICAgKi9cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGVkaXRvciBoYXMgYmVlbiBtb3VudGVkLlxuICAgICAqL1xuICAgIHRoaXMuaXNDb21wb25lbnRNb3VudGVkID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVGhlIG1vc3QgcmVjZW50IGRlcGVuZGVuY2llcyBhcnJheS5cbiAgICAgKi9cbiAgICB0aGlzLnByZXZpb3VzRGVwcyA9IG51bGw7XG4gICAgLyoqXG4gICAgICogVGhlIHVuaXF1ZSBpbnN0YW5jZSBJRC4gVGhpcyBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBlZGl0b3IgaW5zdGFuY2UuIEFuZCB3aWxsIGJlIHJlLWdlbmVyYXRlZCBmb3IgZWFjaCBuZXcgaW5zdGFuY2UuXG4gICAgICovXG4gICAgdGhpcy5pbnN0YW5jZUlkID0gXCJcIjtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCk7XG4gICAgdGhpcy5zZXRFZGl0b3IodGhpcy5nZXRJbml0aWFsRWRpdG9yKCkpO1xuICAgIHRoaXMuc2NoZWR1bGVEZXN0cm95KCk7XG4gICAgdGhpcy5nZXRFZGl0b3IgPSB0aGlzLmdldEVkaXRvci5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0U2VydmVyU25hcHNob3QgPSB0aGlzLmdldFNlcnZlclNuYXBzaG90LmJpbmQodGhpcyk7XG4gICAgdGhpcy5zdWJzY3JpYmUgPSB0aGlzLnN1YnNjcmliZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVmcmVzaEVkaXRvckluc3RhbmNlID0gdGhpcy5yZWZyZXNoRWRpdG9ySW5zdGFuY2UuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNjaGVkdWxlRGVzdHJveSA9IHRoaXMuc2NoZWR1bGVEZXN0cm95LmJpbmQodGhpcyk7XG4gICAgdGhpcy5vblJlbmRlciA9IHRoaXMub25SZW5kZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNyZWF0ZUVkaXRvciA9IHRoaXMuY3JlYXRlRWRpdG9yLmJpbmQodGhpcyk7XG4gIH1cbiAgc2V0RWRpdG9yKGVkaXRvcikge1xuICAgIHRoaXMuZWRpdG9yID0gZWRpdG9yO1xuICAgIHRoaXMuaW5zdGFuY2VJZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChjYikgPT4gY2IoKSk7XG4gIH1cbiAgZ2V0SW5pdGlhbEVkaXRvcigpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmN1cnJlbnQuaW1tZWRpYXRlbHlSZW5kZXIgPT09IHZvaWQgMCkge1xuICAgICAgaWYgKGlzU1NSIHx8IGlzTmV4dCkge1xuICAgICAgICBpZiAoaXNEZXYpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBcIlRpcHRhcCBFcnJvcjogU1NSIGhhcyBiZWVuIGRldGVjdGVkLCBwbGVhc2Ugc2V0IGBpbW1lZGlhdGVseVJlbmRlcmAgZXhwbGljaXRseSB0byBgZmFsc2VgIHRvIGF2b2lkIGh5ZHJhdGlvbiBtaXNtYXRjaGVzLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUVkaXRvcigpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zLmN1cnJlbnQuaW1tZWRpYXRlbHlSZW5kZXIgJiYgaXNTU1IgJiYgaXNEZXYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJUaXB0YXAgRXJyb3I6IFNTUiBoYXMgYmVlbiBkZXRlY3RlZCwgYW5kIGBpbW1lZGlhdGVseVJlbmRlcmAgaGFzIGJlZW4gc2V0IHRvIGB0cnVlYCB0aGlzIGlzIGFuIHVuc3VwcG9ydGVkIGNvbmZpZ3VyYXRpb24gdGhhdCBtYXkgcmVzdWx0IGluIGVycm9ycywgZXhwbGljaXRseSBzZXQgYGltbWVkaWF0ZWx5UmVuZGVyYCB0byBgZmFsc2VgIHRvIGF2b2lkIGh5ZHJhdGlvbiBtaXNtYXRjaGVzLlwiXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zLmN1cnJlbnQuaW1tZWRpYXRlbHlSZW5kZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUVkaXRvcigpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IGVkaXRvciBpbnN0YW5jZS4gQW5kIGF0dGFjaCBldmVudCBsaXN0ZW5lcnMuXG4gICAqL1xuICBjcmVhdGVFZGl0b3IoKSB7XG4gICAgY29uc3Qgb3B0aW9uc1RvQXBwbHkgPSB7XG4gICAgICAuLi50aGlzLm9wdGlvbnMuY3VycmVudCxcbiAgICAgIC8vIEFsd2F5cyBjYWxsIHRoZSBtb3N0IHJlY2VudCB2ZXJzaW9uIG9mIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBieSBkZWZhdWx0XG4gICAgICBvbkJlZm9yZUNyZWF0ZTogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgcmV0dXJuIChfYiA9IChfYSA9IHRoaXMub3B0aW9ucy5jdXJyZW50KS5vbkJlZm9yZUNyZWF0ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIC4uLmFyZ3MpO1xuICAgICAgfSxcbiAgICAgIG9uQmx1cjogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgcmV0dXJuIChfYiA9IChfYSA9IHRoaXMub3B0aW9ucy5jdXJyZW50KS5vbkJsdXIpID09IG51bGwgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCAuLi5hcmdzKTtcbiAgICAgIH0sXG4gICAgICBvbkNyZWF0ZTogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgcmV0dXJuIChfYiA9IChfYSA9IHRoaXMub3B0aW9ucy5jdXJyZW50KS5vbkNyZWF0ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIC4uLmFyZ3MpO1xuICAgICAgfSxcbiAgICAgIG9uRGVzdHJveTogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgcmV0dXJuIChfYiA9IChfYSA9IHRoaXMub3B0aW9ucy5jdXJyZW50KS5vbkRlc3Ryb3kpID09IG51bGwgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCAuLi5hcmdzKTtcbiAgICAgIH0sXG4gICAgICBvbkZvY3VzOiAoLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICByZXR1cm4gKF9iID0gKF9hID0gdGhpcy5vcHRpb25zLmN1cnJlbnQpLm9uRm9jdXMpID09IG51bGwgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCAuLi5hcmdzKTtcbiAgICAgIH0sXG4gICAgICBvblNlbGVjdGlvblVwZGF0ZTogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgcmV0dXJuIChfYiA9IChfYSA9IHRoaXMub3B0aW9ucy5jdXJyZW50KS5vblNlbGVjdGlvblVwZGF0ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIC4uLmFyZ3MpO1xuICAgICAgfSxcbiAgICAgIG9uVHJhbnNhY3Rpb246ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHJldHVybiAoX2IgPSAoX2EgPSB0aGlzLm9wdGlvbnMuY3VycmVudCkub25UcmFuc2FjdGlvbikgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIC4uLmFyZ3MpO1xuICAgICAgfSxcbiAgICAgIG9uVXBkYXRlOiAoLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICByZXR1cm4gKF9iID0gKF9hID0gdGhpcy5vcHRpb25zLmN1cnJlbnQpLm9uVXBkYXRlKSA9PSBudWxsID8gdm9pZCAwIDogX2IuY2FsbChfYSwgLi4uYXJncyk7XG4gICAgICB9LFxuICAgICAgb25Db250ZW50RXJyb3I6ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHJldHVybiAoX2IgPSAoX2EgPSB0aGlzLm9wdGlvbnMuY3VycmVudCkub25Db250ZW50RXJyb3IpID09IG51bGwgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCAuLi5hcmdzKTtcbiAgICAgIH0sXG4gICAgICBvbkRyb3A6ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHJldHVybiAoX2IgPSAoX2EgPSB0aGlzLm9wdGlvbnMuY3VycmVudCkub25Ecm9wKSA9PSBudWxsID8gdm9pZCAwIDogX2IuY2FsbChfYSwgLi4uYXJncyk7XG4gICAgICB9LFxuICAgICAgb25QYXN0ZTogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgcmV0dXJuIChfYiA9IChfYSA9IHRoaXMub3B0aW9ucy5jdXJyZW50KS5vblBhc3RlKSA9PSBudWxsID8gdm9pZCAwIDogX2IuY2FsbChfYSwgLi4uYXJncyk7XG4gICAgICB9LFxuICAgICAgb25EZWxldGU6ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIHJldHVybiAoX2IgPSAoX2EgPSB0aGlzLm9wdGlvbnMuY3VycmVudCkub25EZWxldGUpID09IG51bGwgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCAuLi5hcmdzKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IGVkaXRvciA9IG5ldyBFZGl0b3Iob3B0aW9uc1RvQXBwbHkpO1xuICAgIHJldHVybiBlZGl0b3I7XG4gIH1cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBlZGl0b3IgaW5zdGFuY2UuXG4gICAqL1xuICBnZXRFZGl0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yO1xuICB9XG4gIC8qKlxuICAgKiBBbHdheXMgZGlzYWJsZSB0aGUgZWRpdG9yIG9uIHRoZSBzZXJ2ZXItc2lkZS5cbiAgICovXG4gIGdldFNlcnZlclNuYXBzaG90KCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gdGhlIGVkaXRvciBpbnN0YW5jZSdzIGNoYW5nZXMuXG4gICAqL1xuICBzdWJzY3JpYmUob25TdG9yZUNoYW5nZSkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQob25TdG9yZUNoYW5nZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5kZWxldGUob25TdG9yZUNoYW5nZSk7XG4gICAgfTtcbiAgfVxuICBzdGF0aWMgY29tcGFyZU9wdGlvbnMoYSwgYikge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhhKS5ldmVyeSgoa2V5KSA9PiB7XG4gICAgICBpZiAoW1xuICAgICAgICBcIm9uQ3JlYXRlXCIsXG4gICAgICAgIFwib25CZWZvcmVDcmVhdGVcIixcbiAgICAgICAgXCJvbkRlc3Ryb3lcIixcbiAgICAgICAgXCJvblVwZGF0ZVwiLFxuICAgICAgICBcIm9uVHJhbnNhY3Rpb25cIixcbiAgICAgICAgXCJvbkZvY3VzXCIsXG4gICAgICAgIFwib25CbHVyXCIsXG4gICAgICAgIFwib25TZWxlY3Rpb25VcGRhdGVcIixcbiAgICAgICAgXCJvbkNvbnRlbnRFcnJvclwiLFxuICAgICAgICBcIm9uRHJvcFwiLFxuICAgICAgICBcIm9uUGFzdGVcIlxuICAgICAgXS5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGtleSA9PT0gXCJleHRlbnNpb25zXCIgJiYgYS5leHRlbnNpb25zICYmIGIuZXh0ZW5zaW9ucykge1xuICAgICAgICBpZiAoYS5leHRlbnNpb25zLmxlbmd0aCAhPT0gYi5leHRlbnNpb25zLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYS5leHRlbnNpb25zLmV2ZXJ5KChleHRlbnNpb24sIGluZGV4KSA9PiB7XG4gICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgIGlmIChleHRlbnNpb24gIT09ICgoX2EgPSBiLmV4dGVuc2lvbnMpID09IG51bGwgPyB2b2lkIDAgOiBfYVtpbmRleF0pKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChhW2tleV0gIT09IGJba2V5XSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogT24gZWFjaCByZW5kZXIsIHdlIHdpbGwgY3JlYXRlLCB1cGRhdGUsIG9yIGRlc3Ryb3kgdGhlIGVkaXRvciBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGRlcHMgVGhlIGRlcGVuZGVuY2llcyB0byB3YXRjaCBmb3IgY2hhbmdlc1xuICAgKiBAcmV0dXJucyBBIGNsZWFudXAgZnVuY3Rpb25cbiAgICovXG4gIG9uUmVuZGVyKGRlcHMpIHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgdGhpcy5pc0NvbXBvbmVudE1vdW50ZWQgPSB0cnVlO1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2NoZWR1bGVkRGVzdHJ1Y3Rpb25UaW1lb3V0KTtcbiAgICAgIGlmICh0aGlzLmVkaXRvciAmJiAhdGhpcy5lZGl0b3IuaXNEZXN0cm95ZWQgJiYgZGVwcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKCFfRWRpdG9ySW5zdGFuY2VNYW5hZ2VyLmNvbXBhcmVPcHRpb25zKHRoaXMub3B0aW9ucy5jdXJyZW50LCB0aGlzLmVkaXRvci5vcHRpb25zKSkge1xuICAgICAgICAgIHRoaXMuZWRpdG9yLnNldE9wdGlvbnMoe1xuICAgICAgICAgICAgLi4udGhpcy5vcHRpb25zLmN1cnJlbnQsXG4gICAgICAgICAgICBlZGl0YWJsZTogdGhpcy5lZGl0b3IuaXNFZGl0YWJsZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlZnJlc2hFZGl0b3JJbnN0YW5jZShkZXBzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNDb21wb25lbnRNb3VudGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVEZXN0cm95KCk7XG4gICAgICB9O1xuICAgIH07XG4gIH1cbiAgLyoqXG4gICAqIFJlY3JlYXRlIHRoZSBlZGl0b3IgaW5zdGFuY2UgaWYgdGhlIGRlcGVuZGVuY2llcyBoYXZlIGNoYW5nZWQuXG4gICAqL1xuICByZWZyZXNoRWRpdG9ySW5zdGFuY2UoZGVwcykge1xuICAgIGlmICh0aGlzLmVkaXRvciAmJiAhdGhpcy5lZGl0b3IuaXNEZXN0cm95ZWQpIHtcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzRGVwcyA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLnByZXZpb3VzRGVwcyA9IGRlcHM7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRlcHNBcmVFcXVhbCA9IHRoaXMucHJldmlvdXNEZXBzLmxlbmd0aCA9PT0gZGVwcy5sZW5ndGggJiYgdGhpcy5wcmV2aW91c0RlcHMuZXZlcnkoKGRlcCwgaW5kZXgpID0+IGRlcCA9PT0gZGVwc1tpbmRleF0pO1xuICAgICAgaWYgKGRlcHNBcmVFcXVhbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmVkaXRvciAmJiAhdGhpcy5lZGl0b3IuaXNEZXN0cm95ZWQpIHtcbiAgICAgIHRoaXMuZWRpdG9yLmRlc3Ryb3koKTtcbiAgICB9XG4gICAgdGhpcy5zZXRFZGl0b3IodGhpcy5jcmVhdGVFZGl0b3IoKSk7XG4gICAgdGhpcy5wcmV2aW91c0RlcHMgPSBkZXBzO1xuICB9XG4gIC8qKlxuICAgKiBTY2hlZHVsZSB0aGUgZGVzdHJ1Y3Rpb24gb2YgdGhlIGVkaXRvciBpbnN0YW5jZS5cbiAgICogVGhpcyB3aWxsIG9ubHkgZGVzdHJveSB0aGUgZWRpdG9yIGlmIGl0IHdhcyBub3QgbW91bnRlZCBvbiB0aGUgbmV4dCB0aWNrLlxuICAgKiBUaGlzIGlzIHRvIGF2b2lkIGRlc3Ryb3lpbmcgdGhlIGVkaXRvciBpbnN0YW5jZSB3aGVuIGl0J3MgYWN0dWFsbHkgc3RpbGwgbW91bnRlZC5cbiAgICovXG4gIHNjaGVkdWxlRGVzdHJveSgpIHtcbiAgICBjb25zdCBjdXJyZW50SW5zdGFuY2VJZCA9IHRoaXMuaW5zdGFuY2VJZDtcbiAgICBjb25zdCBjdXJyZW50RWRpdG9yID0gdGhpcy5lZGl0b3I7XG4gICAgdGhpcy5zY2hlZHVsZWREZXN0cnVjdGlvblRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzQ29tcG9uZW50TW91bnRlZCAmJiB0aGlzLmluc3RhbmNlSWQgPT09IGN1cnJlbnRJbnN0YW5jZUlkKSB7XG4gICAgICAgIGlmIChjdXJyZW50RWRpdG9yKSB7XG4gICAgICAgICAgY3VycmVudEVkaXRvci5zZXRPcHRpb25zKHRoaXMub3B0aW9ucy5jdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoY3VycmVudEVkaXRvciAmJiAhY3VycmVudEVkaXRvci5pc0Rlc3Ryb3llZCkge1xuICAgICAgICBjdXJyZW50RWRpdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2VJZCA9PT0gY3VycmVudEluc3RhbmNlSWQpIHtcbiAgICAgICAgICB0aGlzLnNldEVkaXRvcihudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIDEpO1xuICB9XG59O1xuZnVuY3Rpb24gdXNlRWRpdG9yKG9wdGlvbnMgPSB7fSwgZGVwcyA9IFtdKSB7XG4gIGNvbnN0IG1vc3RSZWNlbnRPcHRpb25zID0gdXNlUmVmKG9wdGlvbnMpO1xuICBtb3N0UmVjZW50T3B0aW9ucy5jdXJyZW50ID0gb3B0aW9ucztcbiAgY29uc3QgW2luc3RhbmNlTWFuYWdlcl0gPSB1c2VTdGF0ZTIoKCkgPT4gbmV3IEVkaXRvckluc3RhbmNlTWFuYWdlcihtb3N0UmVjZW50T3B0aW9ucykpO1xuICBjb25zdCBlZGl0b3IgPSB1c2VTeW5jRXh0ZXJuYWxTdG9yZTIoXG4gICAgaW5zdGFuY2VNYW5hZ2VyLnN1YnNjcmliZSxcbiAgICBpbnN0YW5jZU1hbmFnZXIuZ2V0RWRpdG9yLFxuICAgIGluc3RhbmNlTWFuYWdlci5nZXRTZXJ2ZXJTbmFwc2hvdFxuICApO1xuICB1c2VEZWJ1Z1ZhbHVlMihlZGl0b3IpO1xuICB1c2VFZmZlY3QyKGluc3RhbmNlTWFuYWdlci5vblJlbmRlcihkZXBzKSk7XG4gIHVzZUVkaXRvclN0YXRlKHtcbiAgICBlZGl0b3IsXG4gICAgc2VsZWN0b3I6ICh7IHRyYW5zYWN0aW9uTnVtYmVyIH0pID0+IHtcbiAgICAgIGlmIChvcHRpb25zLnNob3VsZFJlcmVuZGVyT25UcmFuc2FjdGlvbiA9PT0gZmFsc2UgfHwgb3B0aW9ucy5zaG91bGRSZXJlbmRlck9uVHJhbnNhY3Rpb24gPT09IHZvaWQgMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zLmltbWVkaWF0ZWx5UmVuZGVyICYmIHRyYW5zYWN0aW9uTnVtYmVyID09PSAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uTnVtYmVyICsgMTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gZWRpdG9yO1xufVxuXG4vLyBzcmMvQ29udGV4dC50c3hcbmltcG9ydCB7IGpzeCBhcyBqc3gyLCBqc3hzIGFzIGpzeHMyIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgRWRpdG9yQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe1xuICBlZGl0b3I6IG51bGxcbn0pO1xudmFyIEVkaXRvckNvbnN1bWVyID0gRWRpdG9yQ29udGV4dC5Db25zdW1lcjtcbnZhciB1c2VDdXJyZW50RWRpdG9yID0gKCkgPT4gdXNlQ29udGV4dChFZGl0b3JDb250ZXh0KTtcbmZ1bmN0aW9uIEVkaXRvclByb3ZpZGVyKHtcbiAgY2hpbGRyZW4sXG4gIHNsb3RBZnRlcixcbiAgc2xvdEJlZm9yZSxcbiAgZWRpdG9yQ29udGFpbmVyUHJvcHMgPSB7fSxcbiAgLi4uZWRpdG9yT3B0aW9uc1xufSkge1xuICBjb25zdCBlZGl0b3IgPSB1c2VFZGl0b3IoZWRpdG9yT3B0aW9ucyk7XG4gIGNvbnN0IGNvbnRleHRWYWx1ZSA9IHVzZU1lbW8oKCkgPT4gKHsgZWRpdG9yIH0pLCBbZWRpdG9yXSk7XG4gIGlmICghZWRpdG9yKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzMihFZGl0b3JDb250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiBjb250ZXh0VmFsdWUsIGNoaWxkcmVuOiBbXG4gICAgc2xvdEJlZm9yZSxcbiAgICAvKiBAX19QVVJFX18gKi8ganN4MihFZGl0b3JDb25zdW1lciwgeyBjaGlsZHJlbjogKHsgZWRpdG9yOiBjdXJyZW50RWRpdG9yIH0pID0+IC8qIEBfX1BVUkVfXyAqLyBqc3gyKEVkaXRvckNvbnRlbnQsIHsgZWRpdG9yOiBjdXJyZW50RWRpdG9yLCAuLi5lZGl0b3JDb250YWluZXJQcm9wcyB9KSB9KSxcbiAgICBjaGlsZHJlbixcbiAgICBzbG90QWZ0ZXJcbiAgXSB9KTtcbn1cblxuLy8gc3JjL3VzZVJlYWN0Tm9kZVZpZXcudHNcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQgYXMgY3JlYXRlQ29udGV4dDIsIGNyZWF0ZUVsZW1lbnQsIHVzZUNvbnRleHQgYXMgdXNlQ29udGV4dDIgfSBmcm9tIFwicmVhY3RcIjtcbnZhciBSZWFjdE5vZGVWaWV3Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQyKHtcbiAgb25EcmFnU3RhcnQ6ICgpID0+IHtcbiAgfSxcbiAgbm9kZVZpZXdDb250ZW50Q2hpbGRyZW46IHZvaWQgMCxcbiAgbm9kZVZpZXdDb250ZW50UmVmOiAoKSA9PiB7XG4gIH1cbn0pO1xudmFyIFJlYWN0Tm9kZVZpZXdDb250ZW50UHJvdmlkZXIgPSAoeyBjaGlsZHJlbiwgY29udGVudCB9KSA9PiB7XG4gIHJldHVybiBjcmVhdGVFbGVtZW50KFJlYWN0Tm9kZVZpZXdDb250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiB7IG5vZGVWaWV3Q29udGVudENoaWxkcmVuOiBjb250ZW50IH0gfSwgY2hpbGRyZW4pO1xufTtcbnZhciB1c2VSZWFjdE5vZGVWaWV3ID0gKCkgPT4gdXNlQ29udGV4dDIoUmVhY3ROb2RlVmlld0NvbnRleHQpO1xuXG4vLyBzcmMvTm9kZVZpZXdDb250ZW50LnRzeFxuaW1wb3J0IHsganN4IGFzIGpzeDMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmZ1bmN0aW9uIE5vZGVWaWV3Q29udGVudCh7XG4gIGFzOiBUYWcgPSBcImRpdlwiLFxuICAuLi5wcm9wc1xufSkge1xuICBjb25zdCB7IG5vZGVWaWV3Q29udGVudFJlZiwgbm9kZVZpZXdDb250ZW50Q2hpbGRyZW4gfSA9IHVzZVJlYWN0Tm9kZVZpZXcoKTtcbiAgcmV0dXJuIChcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgLyogQF9fUFVSRV9fICovIGpzeDMoXG4gICAgICBUYWcsXG4gICAgICB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICByZWY6IG5vZGVWaWV3Q29udGVudFJlZixcbiAgICAgICAgXCJkYXRhLW5vZGUtdmlldy1jb250ZW50XCI6IFwiXCIsXG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgd2hpdGVTcGFjZTogXCJwcmUtd3JhcFwiLFxuICAgICAgICAgIC4uLnByb3BzLnN0eWxlXG4gICAgICAgIH0sXG4gICAgICAgIGNoaWxkcmVuOiBub2RlVmlld0NvbnRlbnRDaGlsZHJlblxuICAgICAgfVxuICAgIClcbiAgKTtcbn1cblxuLy8gc3JjL05vZGVWaWV3V3JhcHBlci50c3hcbmltcG9ydCBSZWFjdDMgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBqc3ggYXMganN4NCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIE5vZGVWaWV3V3JhcHBlciA9IFJlYWN0My5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XG4gIGNvbnN0IHsgb25EcmFnU3RhcnQgfSA9IHVzZVJlYWN0Tm9kZVZpZXcoKTtcbiAgY29uc3QgVGFnID0gcHJvcHMuYXMgfHwgXCJkaXZcIjtcbiAgcmV0dXJuIChcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgLyogQF9fUFVSRV9fICovIGpzeDQoXG4gICAgICBUYWcsXG4gICAgICB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICByZWYsXG4gICAgICAgIFwiZGF0YS1ub2RlLXZpZXctd3JhcHBlclwiOiBcIlwiLFxuICAgICAgICBvbkRyYWdTdGFydCxcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICB3aGl0ZVNwYWNlOiBcIm5vcm1hbFwiLFxuICAgICAgICAgIC4uLnByb3BzLnN0eWxlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApXG4gICk7XG59KTtcblxuLy8gc3JjL1JlYWN0TWFya1ZpZXdSZW5kZXJlci50c3hcbmltcG9ydCB7IE1hcmtWaWV3IH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xuaW1wb3J0IFJlYWN0NCBmcm9tIFwicmVhY3RcIjtcblxuLy8gc3JjL1JlYWN0UmVuZGVyZXIudHN4XG5pbXBvcnQgeyB2ZXJzaW9uIGFzIHJlYWN0VmVyc2lvbiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgZmx1c2hTeW5jIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IHsganN4IGFzIGpzeDUgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmZ1bmN0aW9uIGlzQ2xhc3NDb21wb25lbnQoQ29tcG9uZW50KSB7XG4gIHJldHVybiAhISh0eXBlb2YgQ29tcG9uZW50ID09PSBcImZ1bmN0aW9uXCIgJiYgQ29tcG9uZW50LnByb3RvdHlwZSAmJiBDb21wb25lbnQucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpO1xufVxuZnVuY3Rpb24gaXNGb3J3YXJkUmVmQ29tcG9uZW50KENvbXBvbmVudCkge1xuICByZXR1cm4gISEodHlwZW9mIENvbXBvbmVudCA9PT0gXCJvYmplY3RcIiAmJiBDb21wb25lbnQuJCR0eXBlb2YgJiYgKENvbXBvbmVudC4kJHR5cGVvZi50b1N0cmluZygpID09PSBcIlN5bWJvbChyZWFjdC5mb3J3YXJkX3JlZilcIiB8fCBDb21wb25lbnQuJCR0eXBlb2YuZGVzY3JpcHRpb24gPT09IFwicmVhY3QuZm9yd2FyZF9yZWZcIikpO1xufVxuZnVuY3Rpb24gaXNNZW1vQ29tcG9uZW50KENvbXBvbmVudCkge1xuICByZXR1cm4gISEodHlwZW9mIENvbXBvbmVudCA9PT0gXCJvYmplY3RcIiAmJiBDb21wb25lbnQuJCR0eXBlb2YgJiYgKENvbXBvbmVudC4kJHR5cGVvZi50b1N0cmluZygpID09PSBcIlN5bWJvbChyZWFjdC5tZW1vKVwiIHx8IENvbXBvbmVudC4kJHR5cGVvZi5kZXNjcmlwdGlvbiA9PT0gXCJyZWFjdC5tZW1vXCIpKTtcbn1cbmZ1bmN0aW9uIGNhblJlY2VpdmVSZWYoQ29tcG9uZW50KSB7XG4gIGlmIChpc0NsYXNzQ29tcG9uZW50KENvbXBvbmVudCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoaXNGb3J3YXJkUmVmQ29tcG9uZW50KENvbXBvbmVudCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoaXNNZW1vQ29tcG9uZW50KENvbXBvbmVudCkpIHtcbiAgICBjb25zdCB3cmFwcGVkQ29tcG9uZW50ID0gQ29tcG9uZW50LnR5cGU7XG4gICAgaWYgKHdyYXBwZWRDb21wb25lbnQpIHtcbiAgICAgIHJldHVybiBpc0NsYXNzQ29tcG9uZW50KHdyYXBwZWRDb21wb25lbnQpIHx8IGlzRm9yd2FyZFJlZkNvbXBvbmVudCh3cmFwcGVkQ29tcG9uZW50KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gaXNSZWFjdDE5UGx1cygpIHtcbiAgdHJ5IHtcbiAgICBpZiAocmVhY3RWZXJzaW9uKSB7XG4gICAgICBjb25zdCBtYWpvclZlcnNpb24gPSBwYXJzZUludChyZWFjdFZlcnNpb24uc3BsaXQoXCIuXCIpWzBdLCAxMCk7XG4gICAgICByZXR1cm4gbWFqb3JWZXJzaW9uID49IDE5O1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxudmFyIFJlYWN0UmVuZGVyZXIgPSBjbGFzcyB7XG4gIC8qKlxuICAgKiBJbW1lZGlhdGVseSBjcmVhdGVzIGVsZW1lbnQgYW5kIHJlbmRlcnMgdGhlIHByb3ZpZGVkIFJlYWN0IGNvbXBvbmVudC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGNvbXBvbmVudCwgeyBlZGl0b3IsIHByb3BzID0ge30sIGFzID0gXCJkaXZcIiwgY2xhc3NOYW1lID0gXCJcIiB9KSB7XG4gICAgdGhpcy5yZWYgPSBudWxsO1xuICAgIC8qKlxuICAgICAqIEZsYWcgdG8gdHJhY2sgaWYgdGhlIHJlbmRlcmVyIGhhcyBiZWVuIGRlc3Ryb3llZCwgcHJldmVudGluZyBxdWV1ZWQgb3IgYXN5bmNocm9ub3VzIHJlbmRlcnMgZnJvbSBleGVjdXRpbmcgYWZ0ZXIgdGVhcmRvd24uXG4gICAgICovXG4gICAgdGhpcy5kZXN0cm95ZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNDI5NDk2NzI5NSkudG9TdHJpbmcoKTtcbiAgICB0aGlzLmNvbXBvbmVudCA9IGNvbXBvbmVudDtcbiAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5lbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhcyk7XG4gICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJyZWFjdC1yZW5kZXJlclwiKTtcbiAgICBpZiAoY2xhc3NOYW1lKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5jbGFzc05hbWUuc3BsaXQoXCIgXCIpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZWRpdG9yLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIGZsdXNoU3luYygoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5kZXN0cm95ZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogUmVuZGVyIHRoZSBSZWFjdCBjb21wb25lbnQuXG4gICAqL1xuICByZW5kZXIoKSB7XG4gICAgdmFyIF9hO1xuICAgIGlmICh0aGlzLmRlc3Ryb3llZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBDb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudDtcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5lZGl0b3I7XG4gICAgY29uc3QgaXNSZWFjdDE5ID0gaXNSZWFjdDE5UGx1cygpO1xuICAgIGNvbnN0IGNvbXBvbmVudENhblJlY2VpdmVSZWYgPSBjYW5SZWNlaXZlUmVmKENvbXBvbmVudCk7XG4gICAgY29uc3QgZWxlbWVudFByb3BzID0geyAuLi5wcm9wcyB9O1xuICAgIGlmIChlbGVtZW50UHJvcHMucmVmICYmICEoaXNSZWFjdDE5IHx8IGNvbXBvbmVudENhblJlY2VpdmVSZWYpKSB7XG4gICAgICBkZWxldGUgZWxlbWVudFByb3BzLnJlZjtcbiAgICB9XG4gICAgaWYgKCFlbGVtZW50UHJvcHMucmVmICYmIChpc1JlYWN0MTkgfHwgY29tcG9uZW50Q2FuUmVjZWl2ZVJlZikpIHtcbiAgICAgIGVsZW1lbnRQcm9wcy5yZWYgPSAocmVmKSA9PiB7XG4gICAgICAgIHRoaXMucmVmID0gcmVmO1xuICAgICAgfTtcbiAgICB9XG4gICAgdGhpcy5yZWFjdEVsZW1lbnQgPSAvKiBAX19QVVJFX18gKi8ganN4NShDb21wb25lbnQsIHsgLi4uZWxlbWVudFByb3BzIH0pO1xuICAgIChfYSA9IGVkaXRvciA9PSBudWxsID8gdm9pZCAwIDogZWRpdG9yLmNvbnRlbnRDb21wb25lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfYS5zZXRSZW5kZXJlcih0aGlzLmlkLCB0aGlzKTtcbiAgfVxuICAvKipcbiAgICogUmUtcmVuZGVycyB0aGUgUmVhY3QgY29tcG9uZW50IHdpdGggbmV3IHByb3BzLlxuICAgKi9cbiAgdXBkYXRlUHJvcHMocHJvcHMgPSB7fSkge1xuICAgIGlmICh0aGlzLmRlc3Ryb3llZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnByb3BzID0ge1xuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICAgIC4uLnByb3BzXG4gICAgfTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG4gIC8qKlxuICAgKiBEZXN0cm95IHRoZSBSZWFjdCBjb21wb25lbnQuXG4gICAqL1xuICBkZXN0cm95KCkge1xuICAgIHZhciBfYTtcbiAgICB0aGlzLmRlc3Ryb3llZCA9IHRydWU7XG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5lZGl0b3I7XG4gICAgKF9hID0gZWRpdG9yID09IG51bGwgPyB2b2lkIDAgOiBlZGl0b3IuY29udGVudENvbXBvbmVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLnJlbW92ZVJlbmRlcmVyKHRoaXMuaWQpO1xuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5lbGVtZW50ICYmIHRoaXMuZWxlbWVudC5wYXJlbnROb2RlKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlIGVsZW1lbnQgdGhhdCBob2xkcyB0aGUgUmVhY3QgY29tcG9uZW50LlxuICAgKi9cbiAgdXBkYXRlQXR0cmlidXRlcyhhdHRyaWJ1dGVzKSB7XG4gICAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKGtleSwgYXR0cmlidXRlc1trZXldKTtcbiAgICB9KTtcbiAgfVxufTtcblxuLy8gc3JjL1JlYWN0TWFya1ZpZXdSZW5kZXJlci50c3hcbmltcG9ydCB7IGpzeCBhcyBqc3g2IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgUmVhY3RNYXJrVmlld0NvbnRleHQgPSBSZWFjdDQuY3JlYXRlQ29udGV4dCh7XG4gIG1hcmtWaWV3Q29udGVudFJlZjogKCkgPT4ge1xuICB9XG59KTtcbnZhciBNYXJrVmlld0NvbnRlbnQgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBhczogVGFnID0gXCJzcGFuXCIsIC4uLnJlc3QgfSA9IHByb3BzO1xuICBjb25zdCB7IG1hcmtWaWV3Q29udGVudFJlZiB9ID0gUmVhY3Q0LnVzZUNvbnRleHQoUmVhY3RNYXJrVmlld0NvbnRleHQpO1xuICByZXR1cm4gKFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICAvKiBAX19QVVJFX18gKi8ganN4NihUYWcsIHsgLi4ucmVzdCwgcmVmOiBtYXJrVmlld0NvbnRlbnRSZWYsIFwiZGF0YS1tYXJrLXZpZXctY29udGVudFwiOiBcIlwiIH0pXG4gICk7XG59O1xudmFyIFJlYWN0TWFya1ZpZXcgPSBjbGFzcyBleHRlbmRzIE1hcmtWaWV3IHtcbiAgY29uc3RydWN0b3IoY29tcG9uZW50LCBwcm9wcywgb3B0aW9ucykge1xuICAgIHN1cGVyKGNvbXBvbmVudCwgcHJvcHMsIG9wdGlvbnMpO1xuICAgIGNvbnN0IHsgYXMgPSBcInNwYW5cIiwgYXR0cnMsIGNsYXNzTmFtZSA9IFwiXCIgfSA9IG9wdGlvbnMgfHwge307XG4gICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSB7IC4uLnByb3BzLCB1cGRhdGVBdHRyaWJ1dGVzOiB0aGlzLnVwZGF0ZUF0dHJpYnV0ZXMuYmluZCh0aGlzKSB9O1xuICAgIHRoaXMuY29udGVudERPTUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtcbiAgICBjb25zdCBtYXJrVmlld0NvbnRlbnRSZWYgPSAoZWwpID0+IHtcbiAgICAgIGlmIChlbCAmJiAhZWwuY29udGFpbnModGhpcy5jb250ZW50RE9NRWxlbWVudCkpIHtcbiAgICAgICAgZWwuYXBwZW5kQ2hpbGQodGhpcy5jb250ZW50RE9NRWxlbWVudCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBjb250ZXh0ID0ge1xuICAgICAgbWFya1ZpZXdDb250ZW50UmVmXG4gICAgfTtcbiAgICBjb25zdCBSZWFjdE1hcmtWaWV3UHJvdmlkZXIgPSBSZWFjdDQubWVtbygoY29tcG9uZW50UHJvcHMyKSA9PiB7XG4gICAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeDYoUmVhY3RNYXJrVmlld0NvbnRleHQuUHJvdmlkZXIsIHsgdmFsdWU6IGNvbnRleHQsIGNoaWxkcmVuOiBSZWFjdDQuY3JlYXRlRWxlbWVudChjb21wb25lbnQsIGNvbXBvbmVudFByb3BzMikgfSk7XG4gICAgfSk7XG4gICAgUmVhY3RNYXJrVmlld1Byb3ZpZGVyLmRpc3BsYXlOYW1lID0gXCJSZWFjdE1hcmtWaWV3XCI7XG4gICAgdGhpcy5yZW5kZXJlciA9IG5ldyBSZWFjdFJlbmRlcmVyKFJlYWN0TWFya1ZpZXdQcm92aWRlciwge1xuICAgICAgZWRpdG9yOiBwcm9wcy5lZGl0b3IsXG4gICAgICBwcm9wczogY29tcG9uZW50UHJvcHMsXG4gICAgICBhcyxcbiAgICAgIGNsYXNzTmFtZTogYG1hcmstJHtwcm9wcy5tYXJrLnR5cGUubmFtZX0gJHtjbGFzc05hbWV9YC50cmltKClcbiAgICB9KTtcbiAgICBpZiAoYXR0cnMpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIudXBkYXRlQXR0cmlidXRlcyhhdHRycyk7XG4gICAgfVxuICB9XG4gIGdldCBkb20oKSB7XG4gICAgcmV0dXJuIHRoaXMucmVuZGVyZXIuZWxlbWVudDtcbiAgfVxuICBnZXQgY29udGVudERPTSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50RE9NRWxlbWVudDtcbiAgfVxufTtcbmZ1bmN0aW9uIFJlYWN0TWFya1ZpZXdSZW5kZXJlcihjb21wb25lbnQsIG9wdGlvbnMgPSB7fSkge1xuICByZXR1cm4gKHByb3BzKSA9PiBuZXcgUmVhY3RNYXJrVmlldyhjb21wb25lbnQsIHByb3BzLCBvcHRpb25zKTtcbn1cblxuLy8gc3JjL1JlYWN0Tm9kZVZpZXdSZW5kZXJlci50c3hcbmltcG9ydCB7IGdldFJlbmRlcmVkQXR0cmlidXRlcywgTm9kZVZpZXcgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBjcmVhdGVFbGVtZW50IGFzIGNyZWF0ZUVsZW1lbnQyLCBjcmVhdGVSZWYsIG1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGpzeCBhcyBqc3g3IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgUmVhY3ROb2RlVmlldyA9IGNsYXNzIGV4dGVuZHMgTm9kZVZpZXcge1xuICBjb25zdHJ1Y3Rvcihjb21wb25lbnQsIHByb3BzLCBvcHRpb25zKSB7XG4gICAgc3VwZXIoY29tcG9uZW50LCBwcm9wcywgb3B0aW9ucyk7XG4gICAgLyoqXG4gICAgICogVGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBJRCB1c2VkIGZvciBzZWxlY3Rpb24gdXBkYXRlcy5cbiAgICAgKi9cbiAgICB0aGlzLnNlbGVjdGlvblJhZklkID0gbnVsbDtcbiAgICB0aGlzLmNhY2hlZEV4dGVuc2lvbldpdGhTeW5jZWRTdG9yYWdlID0gbnVsbDtcbiAgICBpZiAoIXRoaXMubm9kZS5pc0xlYWYpIHtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuY29udGVudERPTUVsZW1lbnRUYWcpIHtcbiAgICAgICAgdGhpcy5jb250ZW50RE9NRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGhpcy5vcHRpb25zLmNvbnRlbnRET01FbGVtZW50VGFnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY29udGVudERPTUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRoaXMubm9kZS5pc0lubGluZSA/IFwic3BhblwiIDogXCJkaXZcIik7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbnRlbnRET01FbGVtZW50LmRhdGFzZXQubm9kZVZpZXdDb250ZW50UmVhY3QgPSBcIlwiO1xuICAgICAgdGhpcy5jb250ZW50RE9NRWxlbWVudC5kYXRhc2V0Lm5vZGVWaWV3V3JhcHBlciA9IFwiXCI7XG4gICAgICB0aGlzLmNvbnRlbnRET01FbGVtZW50LnN0eWxlLndoaXRlU3BhY2UgPSBcImluaGVyaXRcIjtcbiAgICAgIGNvbnN0IGNvbnRlbnRUYXJnZXQgPSB0aGlzLmRvbS5xdWVyeVNlbGVjdG9yKFwiW2RhdGEtbm9kZS12aWV3LWNvbnRlbnRdXCIpO1xuICAgICAgaWYgKCFjb250ZW50VGFyZ2V0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnRlbnRUYXJnZXQuYXBwZW5kQ2hpbGQodGhpcy5jb250ZW50RE9NRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcHJveHkgb2YgdGhlIGV4dGVuc2lvbiB0aGF0IHJlZGlyZWN0cyBzdG9yYWdlIGFjY2VzcyB0byB0aGUgZWRpdG9yJ3MgbXV0YWJsZSBzdG9yYWdlLlxuICAgKiBUaGlzIHByZXNlcnZlcyB0aGUgb3JpZ2luYWwgcHJvdG90eXBlIGNoYWluIChpbnN0YW5jZW9mIGNoZWNrcywgbWV0aG9kcyBsaWtlIGNvbmZpZ3VyZS9leHRlbmQgd29yaykuXG4gICAqIENhY2hlZCB0byBhdm9pZCBwcm94eSBjcmVhdGlvbiBvbiBldmVyeSB1cGRhdGUuXG4gICAqL1xuICBnZXQgZXh0ZW5zaW9uV2l0aFN5bmNlZFN0b3JhZ2UoKSB7XG4gICAgaWYgKCF0aGlzLmNhY2hlZEV4dGVuc2lvbldpdGhTeW5jZWRTdG9yYWdlKSB7XG4gICAgICBjb25zdCBlZGl0b3IgPSB0aGlzLmVkaXRvcjtcbiAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IHRoaXMuZXh0ZW5zaW9uO1xuICAgICAgdGhpcy5jYWNoZWRFeHRlbnNpb25XaXRoU3luY2VkU3RvcmFnZSA9IG5ldyBQcm94eShleHRlbnNpb24sIHtcbiAgICAgICAgZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpIHtcbiAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgaWYgKHByb3AgPT09IFwic3RvcmFnZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKF9hID0gZWRpdG9yLnN0b3JhZ2VbZXh0ZW5zaW9uLm5hbWVdKSAhPSBudWxsID8gX2EgOiB7fTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkRXh0ZW5zaW9uV2l0aFN5bmNlZFN0b3JhZ2U7XG4gIH1cbiAgLyoqXG4gICAqIFNldHVwIHRoZSBSZWFjdCBjb21wb25lbnQuXG4gICAqIENhbGxlZCBvbiBpbml0aWFsaXphdGlvbi5cbiAgICovXG4gIG1vdW50KCkge1xuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvcixcbiAgICAgIG5vZGU6IHRoaXMubm9kZSxcbiAgICAgIGRlY29yYXRpb25zOiB0aGlzLmRlY29yYXRpb25zLFxuICAgICAgaW5uZXJEZWNvcmF0aW9uczogdGhpcy5pbm5lckRlY29yYXRpb25zLFxuICAgICAgdmlldzogdGhpcy52aWV3LFxuICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgZXh0ZW5zaW9uOiB0aGlzLmV4dGVuc2lvbldpdGhTeW5jZWRTdG9yYWdlLFxuICAgICAgSFRNTEF0dHJpYnV0ZXM6IHRoaXMuSFRNTEF0dHJpYnV0ZXMsXG4gICAgICBnZXRQb3M6ICgpID0+IHRoaXMuZ2V0UG9zKCksXG4gICAgICB1cGRhdGVBdHRyaWJ1dGVzOiAoYXR0cmlidXRlcyA9IHt9KSA9PiB0aGlzLnVwZGF0ZUF0dHJpYnV0ZXMoYXR0cmlidXRlcyksXG4gICAgICBkZWxldGVOb2RlOiAoKSA9PiB0aGlzLmRlbGV0ZU5vZGUoKSxcbiAgICAgIHJlZjogY3JlYXRlUmVmKClcbiAgICB9O1xuICAgIGlmICghdGhpcy5jb21wb25lbnQuZGlzcGxheU5hbWUpIHtcbiAgICAgIGNvbnN0IGNhcGl0YWxpemVGaXJzdENoYXIgPSAoc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBzdHJpbmcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHJpbmcuc3Vic3RyaW5nKDEpO1xuICAgICAgfTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmRpc3BsYXlOYW1lID0gY2FwaXRhbGl6ZUZpcnN0Q2hhcih0aGlzLmV4dGVuc2lvbi5uYW1lKTtcbiAgICB9XG4gICAgY29uc3Qgb25EcmFnU3RhcnQgPSB0aGlzLm9uRHJhZ1N0YXJ0LmJpbmQodGhpcyk7XG4gICAgY29uc3Qgbm9kZVZpZXdDb250ZW50UmVmID0gKGVsZW1lbnQpID0+IHtcbiAgICAgIGlmIChlbGVtZW50ICYmIHRoaXMuY29udGVudERPTUVsZW1lbnQgJiYgZWxlbWVudC5maXJzdENoaWxkICE9PSB0aGlzLmNvbnRlbnRET01FbGVtZW50KSB7XG4gICAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZShcImRhdGEtbm9kZS12aWV3LXdyYXBwZXJcIikpIHtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcImRhdGEtbm9kZS12aWV3LXdyYXBwZXJcIik7XG4gICAgICAgIH1cbiAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmNvbnRlbnRET01FbGVtZW50KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IGNvbnRleHQgPSB7IG9uRHJhZ1N0YXJ0LCBub2RlVmlld0NvbnRlbnRSZWYgfTtcbiAgICBjb25zdCBDb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudDtcbiAgICBjb25zdCBSZWFjdE5vZGVWaWV3UHJvdmlkZXIgPSBtZW1vKChjb21wb25lbnRQcm9wcykgPT4ge1xuICAgICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3g3KFJlYWN0Tm9kZVZpZXdDb250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiBjb250ZXh0LCBjaGlsZHJlbjogY3JlYXRlRWxlbWVudDIoQ29tcG9uZW50LCBjb21wb25lbnRQcm9wcykgfSk7XG4gICAgfSk7XG4gICAgUmVhY3ROb2RlVmlld1Byb3ZpZGVyLmRpc3BsYXlOYW1lID0gXCJSZWFjdE5vZGVWaWV3XCI7XG4gICAgbGV0IGFzID0gdGhpcy5ub2RlLmlzSW5saW5lID8gXCJzcGFuXCIgOiBcImRpdlwiO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuYXMpIHtcbiAgICAgIGFzID0gdGhpcy5vcHRpb25zLmFzO1xuICAgIH1cbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9IFwiXCIgfSA9IHRoaXMub3B0aW9ucztcbiAgICB0aGlzLmhhbmRsZVNlbGVjdGlvblVwZGF0ZSA9IHRoaXMuaGFuZGxlU2VsZWN0aW9uVXBkYXRlLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZW5kZXJlciA9IG5ldyBSZWFjdFJlbmRlcmVyKFJlYWN0Tm9kZVZpZXdQcm92aWRlciwge1xuICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvcixcbiAgICAgIHByb3BzLFxuICAgICAgYXMsXG4gICAgICBjbGFzc05hbWU6IGBub2RlLSR7dGhpcy5ub2RlLnR5cGUubmFtZX0gJHtjbGFzc05hbWV9YC50cmltKClcbiAgICB9KTtcbiAgICB0aGlzLmVkaXRvci5vbihcInNlbGVjdGlvblVwZGF0ZVwiLCB0aGlzLmhhbmRsZVNlbGVjdGlvblVwZGF0ZSk7XG4gICAgdGhpcy51cGRhdGVFbGVtZW50QXR0cmlidXRlcygpO1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIERPTSBlbGVtZW50LlxuICAgKiBUaGlzIGlzIHRoZSBlbGVtZW50IHRoYXQgd2lsbCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIG5vZGUgdmlldy5cbiAgICovXG4gIGdldCBkb20oKSB7XG4gICAgdmFyIF9hO1xuICAgIGlmICh0aGlzLnJlbmRlcmVyLmVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQgJiYgISgoX2EgPSB0aGlzLnJlbmRlcmVyLmVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQpID09IG51bGwgPyB2b2lkIDAgOiBfYS5oYXNBdHRyaWJ1dGUoXCJkYXRhLW5vZGUtdmlldy13cmFwcGVyXCIpKSkge1xuICAgICAgdGhyb3cgRXJyb3IoXCJQbGVhc2UgdXNlIHRoZSBOb2RlVmlld1dyYXBwZXIgY29tcG9uZW50IGZvciB5b3VyIG5vZGUgdmlldy5cIik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlbmRlcmVyLmVsZW1lbnQ7XG4gIH1cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgY29udGVudCBET00gZWxlbWVudC5cbiAgICogVGhpcyBpcyB0aGUgZWxlbWVudCB0aGF0IHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IHRoZSByaWNoLXRleHQgY29udGVudCBvZiB0aGUgbm9kZS5cbiAgICovXG4gIGdldCBjb250ZW50RE9NKCkge1xuICAgIGlmICh0aGlzLm5vZGUuaXNMZWFmKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29udGVudERPTUVsZW1lbnQ7XG4gIH1cbiAgLyoqXG4gICAqIE9uIGVkaXRvciBzZWxlY3Rpb24gdXBkYXRlLCBjaGVjayBpZiB0aGUgbm9kZSBpcyBzZWxlY3RlZC5cbiAgICogSWYgaXQgaXMsIGNhbGwgYHNlbGVjdE5vZGVgLCBvdGhlcndpc2UgY2FsbCBgZGVzZWxlY3ROb2RlYC5cbiAgICovXG4gIGhhbmRsZVNlbGVjdGlvblVwZGF0ZSgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25SYWZJZCkge1xuICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5zZWxlY3Rpb25SYWZJZCk7XG4gICAgICB0aGlzLnNlbGVjdGlvblJhZklkID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3Rpb25SYWZJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGlvblJhZklkID0gbnVsbDtcbiAgICAgIGNvbnN0IHsgZnJvbSwgdG8gfSA9IHRoaXMuZWRpdG9yLnN0YXRlLnNlbGVjdGlvbjtcbiAgICAgIGNvbnN0IHBvcyA9IHRoaXMuZ2V0UG9zKCk7XG4gICAgICBpZiAodHlwZW9mIHBvcyAhPT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoZnJvbSA8PSBwb3MgJiYgdG8gPj0gcG9zICsgdGhpcy5ub2RlLm5vZGVTaXplKSB7XG4gICAgICAgIGlmICh0aGlzLnJlbmRlcmVyLnByb3BzLnNlbGVjdGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0Tm9kZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlbmRlcmVyLnByb3BzLnNlbGVjdGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGVzZWxlY3ROb2RlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIE9uIHVwZGF0ZSwgdXBkYXRlIHRoZSBSZWFjdCBjb21wb25lbnQuXG4gICAqIFRvIHByZXZlbnQgdW5uZWNlc3NhcnkgdXBkYXRlcywgdGhlIGB1cGRhdGVgIG9wdGlvbiBjYW4gYmUgdXNlZC5cbiAgICovXG4gIHVwZGF0ZShub2RlLCBkZWNvcmF0aW9ucywgaW5uZXJEZWNvcmF0aW9ucykge1xuICAgIGNvbnN0IHJlcmVuZGVyQ29tcG9uZW50ID0gKHByb3BzKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnVwZGF0ZVByb3BzKHByb3BzKTtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLmF0dHJzID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdGhpcy51cGRhdGVFbGVtZW50QXR0cmlidXRlcygpO1xuICAgICAgfVxuICAgIH07XG4gICAgaWYgKG5vZGUudHlwZSAhPT0gdGhpcy5ub2RlLnR5cGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMudXBkYXRlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIGNvbnN0IG9sZE5vZGUgPSB0aGlzLm5vZGU7XG4gICAgICBjb25zdCBvbGREZWNvcmF0aW9ucyA9IHRoaXMuZGVjb3JhdGlvbnM7XG4gICAgICBjb25zdCBvbGRJbm5lckRlY29yYXRpb25zID0gdGhpcy5pbm5lckRlY29yYXRpb25zO1xuICAgICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICAgIHRoaXMuZGVjb3JhdGlvbnMgPSBkZWNvcmF0aW9ucztcbiAgICAgIHRoaXMuaW5uZXJEZWNvcmF0aW9ucyA9IGlubmVyRGVjb3JhdGlvbnM7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnVwZGF0ZSh7XG4gICAgICAgIG9sZE5vZGUsXG4gICAgICAgIG9sZERlY29yYXRpb25zLFxuICAgICAgICBuZXdOb2RlOiBub2RlLFxuICAgICAgICBuZXdEZWNvcmF0aW9uczogZGVjb3JhdGlvbnMsXG4gICAgICAgIG9sZElubmVyRGVjb3JhdGlvbnMsXG4gICAgICAgIGlubmVyRGVjb3JhdGlvbnMsXG4gICAgICAgIHVwZGF0ZVByb3BzOiAoKSA9PiByZXJlbmRlckNvbXBvbmVudCh7IG5vZGUsIGRlY29yYXRpb25zLCBpbm5lckRlY29yYXRpb25zLCBleHRlbnNpb246IHRoaXMuZXh0ZW5zaW9uV2l0aFN5bmNlZFN0b3JhZ2UgfSlcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAobm9kZSA9PT0gdGhpcy5ub2RlICYmIHRoaXMuZGVjb3JhdGlvbnMgPT09IGRlY29yYXRpb25zICYmIHRoaXMuaW5uZXJEZWNvcmF0aW9ucyA9PT0gaW5uZXJEZWNvcmF0aW9ucykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy5kZWNvcmF0aW9ucyA9IGRlY29yYXRpb25zO1xuICAgIHRoaXMuaW5uZXJEZWNvcmF0aW9ucyA9IGlubmVyRGVjb3JhdGlvbnM7XG4gICAgcmVyZW5kZXJDb21wb25lbnQoeyBub2RlLCBkZWNvcmF0aW9ucywgaW5uZXJEZWNvcmF0aW9ucywgZXh0ZW5zaW9uOiB0aGlzLmV4dGVuc2lvbldpdGhTeW5jZWRTdG9yYWdlIH0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIC8qKlxuICAgKiBTZWxlY3QgdGhlIG5vZGUuXG4gICAqIEFkZCB0aGUgYHNlbGVjdGVkYCBwcm9wIGFuZCB0aGUgYFByb3NlTWlycm9yLXNlbGVjdGVkbm9kZWAgY2xhc3MuXG4gICAqL1xuICBzZWxlY3ROb2RlKCkge1xuICAgIHRoaXMucmVuZGVyZXIudXBkYXRlUHJvcHMoe1xuICAgICAgc2VsZWN0ZWQ6IHRydWVcbiAgICB9KTtcbiAgICB0aGlzLnJlbmRlcmVyLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChcIlByb3NlTWlycm9yLXNlbGVjdGVkbm9kZVwiKTtcbiAgfVxuICAvKipcbiAgICogRGVzZWxlY3QgdGhlIG5vZGUuXG4gICAqIFJlbW92ZSB0aGUgYHNlbGVjdGVkYCBwcm9wIGFuZCB0aGUgYFByb3NlTWlycm9yLXNlbGVjdGVkbm9kZWAgY2xhc3MuXG4gICAqL1xuICBkZXNlbGVjdE5vZGUoKSB7XG4gICAgdGhpcy5yZW5kZXJlci51cGRhdGVQcm9wcyh7XG4gICAgICBzZWxlY3RlZDogZmFsc2VcbiAgICB9KTtcbiAgICB0aGlzLnJlbmRlcmVyLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcIlByb3NlTWlycm9yLXNlbGVjdGVkbm9kZVwiKTtcbiAgfVxuICAvKipcbiAgICogRGVzdHJveSB0aGUgUmVhY3QgY29tcG9uZW50IGluc3RhbmNlLlxuICAgKi9cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLnJlbmRlcmVyLmRlc3Ryb3koKTtcbiAgICB0aGlzLmVkaXRvci5vZmYoXCJzZWxlY3Rpb25VcGRhdGVcIiwgdGhpcy5oYW5kbGVTZWxlY3Rpb25VcGRhdGUpO1xuICAgIHRoaXMuY29udGVudERPTUVsZW1lbnQgPSBudWxsO1xuICAgIGlmICh0aGlzLnNlbGVjdGlvblJhZklkKSB7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnNlbGVjdGlvblJhZklkKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uUmFmSWQgPSBudWxsO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogVXBkYXRlIHRoZSBhdHRyaWJ1dGVzIG9mIHRoZSB0b3AtbGV2ZWwgZWxlbWVudCB0aGF0IGhvbGRzIHRoZSBSZWFjdCBjb21wb25lbnQuXG4gICAqIEFwcGx5aW5nIHRoZSBhdHRyaWJ1dGVzIGRlZmluZWQgaW4gdGhlIGBhdHRyc2Agb3B0aW9uLlxuICAgKi9cbiAgdXBkYXRlRWxlbWVudEF0dHJpYnV0ZXMoKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5hdHRycykge1xuICAgICAgbGV0IGF0dHJzT2JqID0ge307XG4gICAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5hdHRycyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbkF0dHJpYnV0ZXMgPSB0aGlzLmVkaXRvci5leHRlbnNpb25NYW5hZ2VyLmF0dHJpYnV0ZXM7XG4gICAgICAgIGNvbnN0IEhUTUxBdHRyaWJ1dGVzID0gZ2V0UmVuZGVyZWRBdHRyaWJ1dGVzKHRoaXMubm9kZSwgZXh0ZW5zaW9uQXR0cmlidXRlcyk7XG4gICAgICAgIGF0dHJzT2JqID0gdGhpcy5vcHRpb25zLmF0dHJzKHsgbm9kZTogdGhpcy5ub2RlLCBIVE1MQXR0cmlidXRlcyB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF0dHJzT2JqID0gdGhpcy5vcHRpb25zLmF0dHJzO1xuICAgICAgfVxuICAgICAgdGhpcy5yZW5kZXJlci51cGRhdGVBdHRyaWJ1dGVzKGF0dHJzT2JqKTtcbiAgICB9XG4gIH1cbn07XG5mdW5jdGlvbiBSZWFjdE5vZGVWaWV3UmVuZGVyZXIoY29tcG9uZW50LCBvcHRpb25zKSB7XG4gIHJldHVybiAocHJvcHMpID0+IHtcbiAgICBpZiAoIXByb3BzLmVkaXRvci5jb250ZW50Q29tcG9uZW50KSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHJldHVybiBuZXcgUmVhY3ROb2RlVmlldyhjb21wb25lbnQsIHByb3BzLCBvcHRpb25zKTtcbiAgfTtcbn1cblxuLy8gc3JjL1RpcHRhcC50c3hcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQgYXMgY3JlYXRlQ29udGV4dDMsIHVzZUNvbnRleHQgYXMgdXNlQ29udGV4dDMsIHVzZU1lbW8gYXMgdXNlTWVtbzIgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGpzeCBhcyBqc3g4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgVGlwdGFwQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQzKHtcbiAgZ2V0IGVkaXRvcigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VUaXB0YXAgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIDxUaXB0YXA+IHByb3ZpZGVyXCIpO1xuICB9XG59KTtcblRpcHRhcENvbnRleHQuZGlzcGxheU5hbWUgPSBcIlRpcHRhcENvbnRleHRcIjtcbnZhciB1c2VUaXB0YXAgPSAoKSA9PiB1c2VDb250ZXh0MyhUaXB0YXBDb250ZXh0KTtcbmZ1bmN0aW9uIHVzZVRpcHRhcFN0YXRlKHNlbGVjdG9yLCBlcXVhbGl0eUZuKSB7XG4gIGNvbnN0IHsgZWRpdG9yIH0gPSB1c2VUaXB0YXAoKTtcbiAgcmV0dXJuIHVzZUVkaXRvclN0YXRlKHtcbiAgICBlZGl0b3IsXG4gICAgc2VsZWN0b3IsXG4gICAgZXF1YWxpdHlGblxuICB9KTtcbn1cbmZ1bmN0aW9uIFRpcHRhcFdyYXBwZXIoeyBlZGl0b3IsIGluc3RhbmNlLCBjaGlsZHJlbiB9KSB7XG4gIGNvbnN0IHJlc29sdmVkRWRpdG9yID0gZWRpdG9yICE9IG51bGwgPyBlZGl0b3IgOiBpbnN0YW5jZTtcbiAgaWYgKCFyZXNvbHZlZEVkaXRvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlRpcHRhcDogQW4gZWRpdG9yIGluc3RhbmNlIGlzIHJlcXVpcmVkLiBQYXNzIGEgbm9uLW51bGwgYGVkaXRvcmAgcHJvcC5cIik7XG4gIH1cbiAgY29uc3QgdGlwdGFwQ29udGV4dFZhbHVlID0gdXNlTWVtbzIoKCkgPT4gKHsgZWRpdG9yOiByZXNvbHZlZEVkaXRvciB9KSwgW3Jlc29sdmVkRWRpdG9yXSk7XG4gIGNvbnN0IGxlZ2FjeUNvbnRleHRWYWx1ZSA9IHVzZU1lbW8yKCgpID0+ICh7IGVkaXRvcjogcmVzb2x2ZWRFZGl0b3IgfSksIFtyZXNvbHZlZEVkaXRvcl0pO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeDgoRWRpdG9yQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZTogbGVnYWN5Q29udGV4dFZhbHVlLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeDgoVGlwdGFwQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZTogdGlwdGFwQ29udGV4dFZhbHVlLCBjaGlsZHJlbiB9KSB9KTtcbn1cblRpcHRhcFdyYXBwZXIuZGlzcGxheU5hbWUgPSBcIlRpcHRhcFwiO1xuZnVuY3Rpb24gVGlwdGFwQ29udGVudCh7IC4uLnJlc3QgfSkge1xuICBjb25zdCB7IGVkaXRvciB9ID0gdXNlVGlwdGFwKCk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4OChFZGl0b3JDb250ZW50LCB7IGVkaXRvciwgLi4ucmVzdCB9KTtcbn1cblRpcHRhcENvbnRlbnQuZGlzcGxheU5hbWUgPSBcIlRpcHRhcC5Db250ZW50XCI7XG52YXIgVGlwdGFwID0gT2JqZWN0LmFzc2lnbihUaXB0YXBXcmFwcGVyLCB7XG4gIC8qKlxuICAgKiBUaGUgVGlwdGFwIENvbnRlbnQgY29tcG9uZW50IHRoYXQgcmVuZGVycyB0aGUgRWRpdG9yQ29udGVudCB3aXRoIHRoZSBlZGl0b3IgaW5zdGFuY2UgZnJvbSB0aGUgY29udGV4dC5cbiAgICogQHNlZSBUaXB0YXBDb250ZW50XG4gICAqL1xuICBDb250ZW50OiBUaXB0YXBDb250ZW50XG59KTtcblxuLy8gc3JjL2luZGV4LnRzXG5leHBvcnQgKiBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5leHBvcnQge1xuICBFZGl0b3JDb25zdW1lcixcbiAgRWRpdG9yQ29udGVudCxcbiAgRWRpdG9yQ29udGV4dCxcbiAgRWRpdG9yUHJvdmlkZXIsXG4gIE1hcmtWaWV3Q29udGVudCxcbiAgTm9kZVZpZXdDb250ZW50LFxuICBOb2RlVmlld1dyYXBwZXIsXG4gIFB1cmVFZGl0b3JDb250ZW50LFxuICBSZWFjdE1hcmtWaWV3LFxuICBSZWFjdE1hcmtWaWV3Q29udGV4dCxcbiAgUmVhY3RNYXJrVmlld1JlbmRlcmVyLFxuICBSZWFjdE5vZGVWaWV3LFxuICBSZWFjdE5vZGVWaWV3Q29udGVudFByb3ZpZGVyLFxuICBSZWFjdE5vZGVWaWV3Q29udGV4dCxcbiAgUmVhY3ROb2RlVmlld1JlbmRlcmVyLFxuICBSZWFjdFJlbmRlcmVyLFxuICBUaXB0YXAsXG4gIFRpcHRhcENvbnRlbnQsXG4gIFRpcHRhcENvbnRleHQsXG4gIFRpcHRhcFdyYXBwZXIsXG4gIHVzZUN1cnJlbnRFZGl0b3IsXG4gIHVzZUVkaXRvcixcbiAgdXNlRWRpdG9yU3RhdGUsXG4gIHVzZVJlYWN0Tm9kZVZpZXcsXG4gIHVzZVRpcHRhcCxcbiAgdXNlVGlwdGFwU3RhdGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/react/dist/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@tiptap/starter-kit/dist/index.js": -/*!********************************************************!*\ - !*** ./node_modules/@tiptap/starter-kit/dist/index.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StarterKit: () => (/* binding */ StarterKit),\n/* harmony export */ \"default\": () => (/* binding */ index_default)\n/* harmony export */ });\n/* harmony import */ var _tiptap_core__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @tiptap/core */ \"(ssr)/./node_modules/@tiptap/core/dist/index.js\");\n/* harmony import */ var _tiptap_extension_blockquote__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tiptap/extension-blockquote */ \"(ssr)/./node_modules/@tiptap/extension-blockquote/dist/index.js\");\n/* harmony import */ var _tiptap_extension_bold__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tiptap/extension-bold */ \"(ssr)/./node_modules/@tiptap/extension-bold/dist/index.js\");\n/* harmony import */ var _tiptap_extension_code__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tiptap/extension-code */ \"(ssr)/./node_modules/@tiptap/extension-code/dist/index.js\");\n/* harmony import */ var _tiptap_extension_code_block__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tiptap/extension-code-block */ \"(ssr)/./node_modules/@tiptap/extension-code-block/dist/index.js\");\n/* harmony import */ var _tiptap_extension_document__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tiptap/extension-document */ \"(ssr)/./node_modules/@tiptap/extension-document/dist/index.js\");\n/* harmony import */ var _tiptap_extension_hard_break__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tiptap/extension-hard-break */ \"(ssr)/./node_modules/@tiptap/extension-hard-break/dist/index.js\");\n/* harmony import */ var _tiptap_extension_heading__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @tiptap/extension-heading */ \"(ssr)/./node_modules/@tiptap/extension-heading/dist/index.js\");\n/* harmony import */ var _tiptap_extension_horizontal_rule__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @tiptap/extension-horizontal-rule */ \"(ssr)/./node_modules/@tiptap/extension-horizontal-rule/dist/index.js\");\n/* harmony import */ var _tiptap_extension_italic__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @tiptap/extension-italic */ \"(ssr)/./node_modules/@tiptap/extension-italic/dist/index.js\");\n/* harmony import */ var _tiptap_extension_link__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @tiptap/extension-link */ \"(ssr)/./node_modules/@tiptap/extension-link/dist/index.js\");\n/* harmony import */ var _tiptap_extension_list__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @tiptap/extension-list */ \"(ssr)/./node_modules/@tiptap/extension-list/dist/index.js\");\n/* harmony import */ var _tiptap_extension_paragraph__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @tiptap/extension-paragraph */ \"(ssr)/./node_modules/@tiptap/extension-paragraph/dist/index.js\");\n/* harmony import */ var _tiptap_extension_strike__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @tiptap/extension-strike */ \"(ssr)/./node_modules/@tiptap/extension-strike/dist/index.js\");\n/* harmony import */ var _tiptap_extension_text__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @tiptap/extension-text */ \"(ssr)/./node_modules/@tiptap/extension-text/dist/index.js\");\n/* harmony import */ var _tiptap_extension_underline__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @tiptap/extension-underline */ \"(ssr)/./node_modules/@tiptap/extension-underline/dist/index.js\");\n/* harmony import */ var _tiptap_extensions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @tiptap/extensions */ \"(ssr)/./node_modules/@tiptap/extensions/dist/index.js\");\n// src/starter-kit.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar StarterKit = _tiptap_core__WEBPACK_IMPORTED_MODULE_16__.Extension.create({\n name: \"starterKit\",\n addExtensions() {\n var _a, _b, _c, _d;\n const extensions = [];\n if (this.options.bold !== false) {\n extensions.push(_tiptap_extension_bold__WEBPACK_IMPORTED_MODULE_1__.Bold.configure(this.options.bold));\n }\n if (this.options.blockquote !== false) {\n extensions.push(_tiptap_extension_blockquote__WEBPACK_IMPORTED_MODULE_0__.Blockquote.configure(this.options.blockquote));\n }\n if (this.options.bulletList !== false) {\n extensions.push(_tiptap_extension_list__WEBPACK_IMPORTED_MODULE_10__.BulletList.configure(this.options.bulletList));\n }\n if (this.options.code !== false) {\n extensions.push(_tiptap_extension_code__WEBPACK_IMPORTED_MODULE_2__.Code.configure(this.options.code));\n }\n if (this.options.codeBlock !== false) {\n extensions.push(_tiptap_extension_code_block__WEBPACK_IMPORTED_MODULE_3__.CodeBlock.configure(this.options.codeBlock));\n }\n if (this.options.document !== false) {\n extensions.push(_tiptap_extension_document__WEBPACK_IMPORTED_MODULE_4__.Document.configure(this.options.document));\n }\n if (this.options.dropcursor !== false) {\n extensions.push(_tiptap_extensions__WEBPACK_IMPORTED_MODULE_15__.Dropcursor.configure(this.options.dropcursor));\n }\n if (this.options.gapcursor !== false) {\n extensions.push(_tiptap_extensions__WEBPACK_IMPORTED_MODULE_15__.Gapcursor.configure(this.options.gapcursor));\n }\n if (this.options.hardBreak !== false) {\n extensions.push(_tiptap_extension_hard_break__WEBPACK_IMPORTED_MODULE_5__.HardBreak.configure(this.options.hardBreak));\n }\n if (this.options.heading !== false) {\n extensions.push(_tiptap_extension_heading__WEBPACK_IMPORTED_MODULE_6__.Heading.configure(this.options.heading));\n }\n if (this.options.undoRedo !== false) {\n extensions.push(_tiptap_extensions__WEBPACK_IMPORTED_MODULE_15__.UndoRedo.configure(this.options.undoRedo));\n }\n if (this.options.horizontalRule !== false) {\n extensions.push(_tiptap_extension_horizontal_rule__WEBPACK_IMPORTED_MODULE_7__.HorizontalRule.configure(this.options.horizontalRule));\n }\n if (this.options.italic !== false) {\n extensions.push(_tiptap_extension_italic__WEBPACK_IMPORTED_MODULE_8__.Italic.configure(this.options.italic));\n }\n if (this.options.listItem !== false) {\n extensions.push(_tiptap_extension_list__WEBPACK_IMPORTED_MODULE_10__.ListItem.configure(this.options.listItem));\n }\n if (this.options.listKeymap !== false) {\n extensions.push(_tiptap_extension_list__WEBPACK_IMPORTED_MODULE_10__.ListKeymap.configure((_a = this.options) == null ? void 0 : _a.listKeymap));\n }\n if (this.options.link !== false) {\n extensions.push(_tiptap_extension_link__WEBPACK_IMPORTED_MODULE_9__.Link.configure((_b = this.options) == null ? void 0 : _b.link));\n }\n if (this.options.orderedList !== false) {\n extensions.push(_tiptap_extension_list__WEBPACK_IMPORTED_MODULE_10__.OrderedList.configure(this.options.orderedList));\n }\n if (this.options.paragraph !== false) {\n extensions.push(_tiptap_extension_paragraph__WEBPACK_IMPORTED_MODULE_11__.Paragraph.configure(this.options.paragraph));\n }\n if (this.options.strike !== false) {\n extensions.push(_tiptap_extension_strike__WEBPACK_IMPORTED_MODULE_12__.Strike.configure(this.options.strike));\n }\n if (this.options.text !== false) {\n extensions.push(_tiptap_extension_text__WEBPACK_IMPORTED_MODULE_13__.Text.configure(this.options.text));\n }\n if (this.options.underline !== false) {\n extensions.push(_tiptap_extension_underline__WEBPACK_IMPORTED_MODULE_14__.Underline.configure((_c = this.options) == null ? void 0 : _c.underline));\n }\n if (this.options.trailingNode !== false) {\n extensions.push(_tiptap_extensions__WEBPACK_IMPORTED_MODULE_15__.TrailingNode.configure((_d = this.options) == null ? void 0 : _d.trailingNode));\n }\n return extensions;\n }\n});\n\n// src/index.ts\nvar index_default = StarterKit;\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHRpcHRhcC9zdGFydGVyLWtpdC9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUN5QztBQUNpQjtBQUNaO0FBQ0E7QUFDVztBQUNIO0FBQ0c7QUFDTDtBQUNlO0FBQ2pCO0FBQ0o7QUFDeUM7QUFDL0I7QUFDTjtBQUNKO0FBQ1U7QUFDMkI7QUFDbkYsaUJBQWlCLG9EQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isd0RBQUk7QUFDMUI7QUFDQTtBQUNBLHNCQUFzQixvRUFBVTtBQUNoQztBQUNBO0FBQ0Esc0JBQXNCLCtEQUFVO0FBQ2hDO0FBQ0E7QUFDQSxzQkFBc0Isd0RBQUk7QUFDMUI7QUFDQTtBQUNBLHNCQUFzQixtRUFBUztBQUMvQjtBQUNBO0FBQ0Esc0JBQXNCLGdFQUFRO0FBQzlCO0FBQ0E7QUFDQSxzQkFBc0IsMkRBQVU7QUFDaEM7QUFDQTtBQUNBLHNCQUFzQiwwREFBUztBQUMvQjtBQUNBO0FBQ0Esc0JBQXNCLG1FQUFTO0FBQy9CO0FBQ0E7QUFDQSxzQkFBc0IsOERBQU87QUFDN0I7QUFDQTtBQUNBLHNCQUFzQix5REFBUTtBQUM5QjtBQUNBO0FBQ0Esc0JBQXNCLDZFQUFjO0FBQ3BDO0FBQ0E7QUFDQSxzQkFBc0IsNERBQU07QUFDNUI7QUFDQTtBQUNBLHNCQUFzQiw2REFBUTtBQUM5QjtBQUNBO0FBQ0Esc0JBQXNCLCtEQUFVO0FBQ2hDO0FBQ0E7QUFDQSxzQkFBc0Isd0RBQUk7QUFDMUI7QUFDQTtBQUNBLHNCQUFzQixnRUFBVztBQUNqQztBQUNBO0FBQ0Esc0JBQXNCLG1FQUFTO0FBQy9CO0FBQ0E7QUFDQSxzQkFBc0IsNkRBQU07QUFDNUI7QUFDQTtBQUNBLHNCQUFzQix5REFBSTtBQUMxQjtBQUNBO0FBQ0Esc0JBQXNCLG1FQUFTO0FBQy9CO0FBQ0E7QUFDQSxzQkFBc0IsNkRBQVk7QUFDbEM7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBSUU7QUFDRiIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xcQHRpcHRhcFxcc3RhcnRlci1raXRcXGRpc3RcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9zdGFydGVyLWtpdC50c1xuaW1wb3J0IHsgRXh0ZW5zaW9uIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xuaW1wb3J0IHsgQmxvY2txdW90ZSB9IGZyb20gXCJAdGlwdGFwL2V4dGVuc2lvbi1ibG9ja3F1b3RlXCI7XG5pbXBvcnQgeyBCb2xkIH0gZnJvbSBcIkB0aXB0YXAvZXh0ZW5zaW9uLWJvbGRcIjtcbmltcG9ydCB7IENvZGUgfSBmcm9tIFwiQHRpcHRhcC9leHRlbnNpb24tY29kZVwiO1xuaW1wb3J0IHsgQ29kZUJsb2NrIH0gZnJvbSBcIkB0aXB0YXAvZXh0ZW5zaW9uLWNvZGUtYmxvY2tcIjtcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSBcIkB0aXB0YXAvZXh0ZW5zaW9uLWRvY3VtZW50XCI7XG5pbXBvcnQgeyBIYXJkQnJlYWsgfSBmcm9tIFwiQHRpcHRhcC9leHRlbnNpb24taGFyZC1icmVha1wiO1xuaW1wb3J0IHsgSGVhZGluZyB9IGZyb20gXCJAdGlwdGFwL2V4dGVuc2lvbi1oZWFkaW5nXCI7XG5pbXBvcnQgeyBIb3Jpem9udGFsUnVsZSB9IGZyb20gXCJAdGlwdGFwL2V4dGVuc2lvbi1ob3Jpem9udGFsLXJ1bGVcIjtcbmltcG9ydCB7IEl0YWxpYyB9IGZyb20gXCJAdGlwdGFwL2V4dGVuc2lvbi1pdGFsaWNcIjtcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiQHRpcHRhcC9leHRlbnNpb24tbGlua1wiO1xuaW1wb3J0IHsgQnVsbGV0TGlzdCwgTGlzdEl0ZW0sIExpc3RLZXltYXAsIE9yZGVyZWRMaXN0IH0gZnJvbSBcIkB0aXB0YXAvZXh0ZW5zaW9uLWxpc3RcIjtcbmltcG9ydCB7IFBhcmFncmFwaCB9IGZyb20gXCJAdGlwdGFwL2V4dGVuc2lvbi1wYXJhZ3JhcGhcIjtcbmltcG9ydCB7IFN0cmlrZSB9IGZyb20gXCJAdGlwdGFwL2V4dGVuc2lvbi1zdHJpa2VcIjtcbmltcG9ydCB7IFRleHQgfSBmcm9tIFwiQHRpcHRhcC9leHRlbnNpb24tdGV4dFwiO1xuaW1wb3J0IHsgVW5kZXJsaW5lIH0gZnJvbSBcIkB0aXB0YXAvZXh0ZW5zaW9uLXVuZGVybGluZVwiO1xuaW1wb3J0IHsgRHJvcGN1cnNvciwgR2FwY3Vyc29yLCBUcmFpbGluZ05vZGUsIFVuZG9SZWRvIH0gZnJvbSBcIkB0aXB0YXAvZXh0ZW5zaW9uc1wiO1xudmFyIFN0YXJ0ZXJLaXQgPSBFeHRlbnNpb24uY3JlYXRlKHtcbiAgbmFtZTogXCJzdGFydGVyS2l0XCIsXG4gIGFkZEV4dGVuc2lvbnMoKSB7XG4gICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBbXTtcbiAgICBpZiAodGhpcy5vcHRpb25zLmJvbGQgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goQm9sZC5jb25maWd1cmUodGhpcy5vcHRpb25zLmJvbGQpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3B0aW9ucy5ibG9ja3F1b3RlICE9PSBmYWxzZSkge1xuICAgICAgZXh0ZW5zaW9ucy5wdXNoKEJsb2NrcXVvdGUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5ibG9ja3F1b3RlKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnMuYnVsbGV0TGlzdCAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaChCdWxsZXRMaXN0LmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuYnVsbGV0TGlzdCkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zLmNvZGUgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goQ29kZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmNvZGUpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3B0aW9ucy5jb2RlQmxvY2sgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goQ29kZUJsb2NrLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuY29kZUJsb2NrKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnMuZG9jdW1lbnQgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goRG9jdW1lbnQuY29uZmlndXJlKHRoaXMub3B0aW9ucy5kb2N1bWVudCkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zLmRyb3BjdXJzb3IgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goRHJvcGN1cnNvci5jb25maWd1cmUodGhpcy5vcHRpb25zLmRyb3BjdXJzb3IpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3B0aW9ucy5nYXBjdXJzb3IgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goR2FwY3Vyc29yLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuZ2FwY3Vyc29yKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnMuaGFyZEJyZWFrICE9PSBmYWxzZSkge1xuICAgICAgZXh0ZW5zaW9ucy5wdXNoKEhhcmRCcmVhay5jb25maWd1cmUodGhpcy5vcHRpb25zLmhhcmRCcmVhaykpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zLmhlYWRpbmcgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goSGVhZGluZy5jb25maWd1cmUodGhpcy5vcHRpb25zLmhlYWRpbmcpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3B0aW9ucy51bmRvUmVkbyAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaChVbmRvUmVkby5jb25maWd1cmUodGhpcy5vcHRpb25zLnVuZG9SZWRvKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnMuaG9yaXpvbnRhbFJ1bGUgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goSG9yaXpvbnRhbFJ1bGUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5ob3Jpem9udGFsUnVsZSkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zLml0YWxpYyAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaChJdGFsaWMuY29uZmlndXJlKHRoaXMub3B0aW9ucy5pdGFsaWMpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3B0aW9ucy5saXN0SXRlbSAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaChMaXN0SXRlbS5jb25maWd1cmUodGhpcy5vcHRpb25zLmxpc3RJdGVtKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnMubGlzdEtleW1hcCAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaChMaXN0S2V5bWFwLmNvbmZpZ3VyZSgoX2EgPSB0aGlzLm9wdGlvbnMpID09IG51bGwgPyB2b2lkIDAgOiBfYS5saXN0S2V5bWFwKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnMubGluayAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaChMaW5rLmNvbmZpZ3VyZSgoX2IgPSB0aGlzLm9wdGlvbnMpID09IG51bGwgPyB2b2lkIDAgOiBfYi5saW5rKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnMub3JkZXJlZExpc3QgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goT3JkZXJlZExpc3QuY29uZmlndXJlKHRoaXMub3B0aW9ucy5vcmRlcmVkTGlzdCkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zLnBhcmFncmFwaCAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaChQYXJhZ3JhcGguY29uZmlndXJlKHRoaXMub3B0aW9ucy5wYXJhZ3JhcGgpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3B0aW9ucy5zdHJpa2UgIT09IGZhbHNlKSB7XG4gICAgICBleHRlbnNpb25zLnB1c2goU3RyaWtlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuc3RyaWtlKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnMudGV4dCAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaChUZXh0LmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMudGV4dCkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zLnVuZGVybGluZSAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaChVbmRlcmxpbmUuY29uZmlndXJlKChfYyA9IHRoaXMub3B0aW9ucykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jLnVuZGVybGluZSkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zLnRyYWlsaW5nTm9kZSAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuc2lvbnMucHVzaChUcmFpbGluZ05vZGUuY29uZmlndXJlKChfZCA9IHRoaXMub3B0aW9ucykgPT0gbnVsbCA/IHZvaWQgMCA6IF9kLnRyYWlsaW5nTm9kZSkpO1xuICAgIH1cbiAgICByZXR1cm4gZXh0ZW5zaW9ucztcbiAgfVxufSk7XG5cbi8vIHNyYy9pbmRleC50c1xudmFyIGluZGV4X2RlZmF1bHQgPSBTdGFydGVyS2l0O1xuZXhwb3J0IHtcbiAgU3RhcnRlcktpdCxcbiAgaW5kZXhfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@tiptap/starter-kit/dist/index.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/fast-equals.js b/.next/server/vendor-chunks/fast-equals.js deleted file mode 100644 index 24dd219..0000000 --- a/.next/server/vendor-chunks/fast-equals.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/fast-equals"; -exports.ids = ["vendor-chunks/fast-equals"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/fast-equals/dist/es/index.mjs": -/*!****************************************************!*\ - !*** ./node_modules/fast-equals/dist/es/index.mjs ***! - \****************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ circularDeepEqual: () => (/* binding */ circularDeepEqual),\n/* harmony export */ circularShallowEqual: () => (/* binding */ circularShallowEqual),\n/* harmony export */ createCustomEqual: () => (/* binding */ createCustomEqual),\n/* harmony export */ deepEqual: () => (/* binding */ deepEqual),\n/* harmony export */ sameValueZeroEqual: () => (/* binding */ sameValueZeroEqual),\n/* harmony export */ shallowEqual: () => (/* binding */ shallowEqual),\n/* harmony export */ strictCircularDeepEqual: () => (/* binding */ strictCircularDeepEqual),\n/* harmony export */ strictCircularShallowEqual: () => (/* binding */ strictCircularShallowEqual),\n/* harmony export */ strictDeepEqual: () => (/* binding */ strictDeepEqual),\n/* harmony export */ strictShallowEqual: () => (/* binding */ strictShallowEqual)\n/* harmony export */ });\nconst { getOwnPropertyNames, getOwnPropertySymbols } = Object;\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst { hasOwnProperty } = Object.prototype;\n/**\n * Combine two comparators into a single comparators.\n */\nfunction combineComparators(comparatorA, comparatorB) {\n return function isEqual(a, b, state) {\n return comparatorA(a, b, state) && comparatorB(a, b, state);\n };\n}\n/**\n * Wrap the provided `areItemsEqual` method to manage the circular state, allowing\n * for circular references to be safely included in the comparison without creating\n * stack overflows.\n */\nfunction createIsCircular(areItemsEqual) {\n return function isCircular(a, b, state) {\n if (!a || !b || typeof a !== 'object' || typeof b !== 'object') {\n return areItemsEqual(a, b, state);\n }\n const { cache } = state;\n const cachedA = cache.get(a);\n const cachedB = cache.get(b);\n if (cachedA && cachedB) {\n return cachedA === b && cachedB === a;\n }\n cache.set(a, b);\n cache.set(b, a);\n const result = areItemsEqual(a, b, state);\n cache.delete(a);\n cache.delete(b);\n return result;\n };\n}\n/**\n * Get the `@@toStringTag` of the value, if it exists.\n */\nfunction getShortTag(value) {\n return value != null ? value[Symbol.toStringTag] : undefined;\n}\n/**\n * Get the properties to strictly examine, which include both own properties that are\n * not enumerable and symbol properties.\n */\nfunction getStrictProperties(object) {\n return getOwnPropertyNames(object).concat(getOwnPropertySymbols(object));\n}\n/**\n * Whether the object contains the property passed as an own property.\n */\nconst hasOwn = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nObject.hasOwn || ((object, property) => hasOwnProperty.call(object, property));\n/**\n * Whether the values passed are strictly equal or both NaN.\n */\nfunction sameValueZeroEqual(a, b) {\n return a === b || (!a && !b && a !== a && b !== b);\n}\n\nconst PREACT_VNODE = '__v';\nconst PREACT_OWNER = '__o';\nconst REACT_OWNER = '_owner';\nconst { getOwnPropertyDescriptor, keys } = Object;\n/**\n * Whether the array buffers are equal in value.\n */\nfunction areArrayBuffersEqual(a, b) {\n return a.byteLength === b.byteLength && areTypedArraysEqual(new Uint8Array(a), new Uint8Array(b));\n}\n/**\n * Whether the arrays are equal in value.\n */\nfunction areArraysEqual(a, b, state) {\n let index = a.length;\n if (b.length !== index) {\n return false;\n }\n while (index-- > 0) {\n if (!state.equals(a[index], b[index], index, index, a, b, state)) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the dataviews are equal in value.\n */\nfunction areDataViewsEqual(a, b) {\n return (a.byteLength === b.byteLength\n && areTypedArraysEqual(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)));\n}\n/**\n * Whether the dates passed are equal in value.\n */\nfunction areDatesEqual(a, b) {\n return sameValueZeroEqual(a.getTime(), b.getTime());\n}\n/**\n * Whether the errors passed are equal in value.\n */\nfunction areErrorsEqual(a, b) {\n return a.name === b.name && a.message === b.message && a.cause === b.cause && a.stack === b.stack;\n}\n/**\n * Whether the functions passed are equal in value.\n */\nfunction areFunctionsEqual(a, b) {\n return a === b;\n}\n/**\n * Whether the `Map`s are equal in value.\n */\nfunction areMapsEqual(a, b, state) {\n const size = a.size;\n if (size !== b.size) {\n return false;\n }\n if (!size) {\n return true;\n }\n const matchedIndices = new Array(size);\n const aIterable = a.entries();\n let aResult;\n let bResult;\n let index = 0;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n while ((aResult = aIterable.next())) {\n if (aResult.done) {\n break;\n }\n const bIterable = b.entries();\n let hasMatch = false;\n let matchIndex = 0;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n while ((bResult = bIterable.next())) {\n if (bResult.done) {\n break;\n }\n if (matchedIndices[matchIndex]) {\n matchIndex++;\n continue;\n }\n const aEntry = aResult.value;\n const bEntry = bResult.value;\n if (state.equals(aEntry[0], bEntry[0], index, matchIndex, a, b, state)\n && state.equals(aEntry[1], bEntry[1], aEntry[0], bEntry[0], a, b, state)) {\n hasMatch = matchedIndices[matchIndex] = true;\n break;\n }\n matchIndex++;\n }\n if (!hasMatch) {\n return false;\n }\n index++;\n }\n return true;\n}\n/**\n * Whether the numbers are equal in value.\n */\nconst areNumbersEqual = sameValueZeroEqual;\n/**\n * Whether the objects are equal in value.\n */\nfunction areObjectsEqual(a, b, state) {\n const properties = keys(a);\n let index = properties.length;\n if (keys(b).length !== index) {\n return false;\n }\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n if (!isPropertyEqual(a, b, state, properties[index])) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the objects are equal in value with strict property checking.\n */\nfunction areObjectsEqualStrict(a, b, state) {\n const properties = getStrictProperties(a);\n let index = properties.length;\n if (getStrictProperties(b).length !== index) {\n return false;\n }\n let property;\n let descriptorA;\n let descriptorB;\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n property = properties[index];\n if (!isPropertyEqual(a, b, state, property)) {\n return false;\n }\n descriptorA = getOwnPropertyDescriptor(a, property);\n descriptorB = getOwnPropertyDescriptor(b, property);\n if ((descriptorA || descriptorB)\n && (!descriptorA\n || !descriptorB\n || descriptorA.configurable !== descriptorB.configurable\n || descriptorA.enumerable !== descriptorB.enumerable\n || descriptorA.writable !== descriptorB.writable)) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the primitive wrappers passed are equal in value.\n */\nfunction arePrimitiveWrappersEqual(a, b) {\n return sameValueZeroEqual(a.valueOf(), b.valueOf());\n}\n/**\n * Whether the regexps passed are equal in value.\n */\nfunction areRegExpsEqual(a, b) {\n return a.source === b.source && a.flags === b.flags;\n}\n/**\n * Whether the `Set`s are equal in value.\n */\nfunction areSetsEqual(a, b, state) {\n const size = a.size;\n if (size !== b.size) {\n return false;\n }\n if (!size) {\n return true;\n }\n const matchedIndices = new Array(size);\n const aIterable = a.values();\n let aResult;\n let bResult;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n while ((aResult = aIterable.next())) {\n if (aResult.done) {\n break;\n }\n const bIterable = b.values();\n let hasMatch = false;\n let matchIndex = 0;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n while ((bResult = bIterable.next())) {\n if (bResult.done) {\n break;\n }\n if (!matchedIndices[matchIndex]\n && state.equals(aResult.value, bResult.value, aResult.value, bResult.value, a, b, state)) {\n hasMatch = matchedIndices[matchIndex] = true;\n break;\n }\n matchIndex++;\n }\n if (!hasMatch) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the TypedArray instances are equal in value.\n */\nfunction areTypedArraysEqual(a, b) {\n let index = a.byteLength;\n if (b.byteLength !== index || a.byteOffset !== b.byteOffset) {\n return false;\n }\n while (index-- > 0) {\n if (a[index] !== b[index]) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the URL instances are equal in value.\n */\nfunction areUrlsEqual(a, b) {\n return (a.hostname === b.hostname\n && a.pathname === b.pathname\n && a.protocol === b.protocol\n && a.port === b.port\n && a.hash === b.hash\n && a.username === b.username\n && a.password === b.password);\n}\nfunction isPropertyEqual(a, b, state, property) {\n if ((property === REACT_OWNER || property === PREACT_OWNER || property === PREACT_VNODE)\n && (a.$$typeof || b.$$typeof)) {\n return true;\n }\n return hasOwn(b, property) && state.equals(a[property], b[property], property, property, a, b, state);\n}\n\nconst ARRAY_BUFFER_TAG = '[object ArrayBuffer]';\nconst ARGUMENTS_TAG = '[object Arguments]';\nconst BOOLEAN_TAG = '[object Boolean]';\nconst DATA_VIEW_TAG = '[object DataView]';\nconst DATE_TAG = '[object Date]';\nconst ERROR_TAG = '[object Error]';\nconst MAP_TAG = '[object Map]';\nconst NUMBER_TAG = '[object Number]';\nconst OBJECT_TAG = '[object Object]';\nconst REG_EXP_TAG = '[object RegExp]';\nconst SET_TAG = '[object Set]';\nconst STRING_TAG = '[object String]';\nconst TYPED_ARRAY_TAGS = {\n '[object Int8Array]': true,\n '[object Uint8Array]': true,\n '[object Uint8ClampedArray]': true,\n '[object Int16Array]': true,\n '[object Uint16Array]': true,\n '[object Int32Array]': true,\n '[object Uint32Array]': true,\n '[object Float16Array]': true,\n '[object Float32Array]': true,\n '[object Float64Array]': true,\n '[object BigInt64Array]': true,\n '[object BigUint64Array]': true,\n};\nconst URL_TAG = '[object URL]';\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst toString = Object.prototype.toString;\n/**\n * Create a comparator method based on the type-specific equality comparators passed.\n */\nfunction createEqualityComparator({ areArrayBuffersEqual, areArraysEqual, areDataViewsEqual, areDatesEqual, areErrorsEqual, areFunctionsEqual, areMapsEqual, areNumbersEqual, areObjectsEqual, arePrimitiveWrappersEqual, areRegExpsEqual, areSetsEqual, areTypedArraysEqual, areUrlsEqual, unknownTagComparators, }) {\n /**\n * compare the value of the two objects and return true if they are equivalent in values\n */\n return function comparator(a, b, state) {\n // If the items are strictly equal, no need to do a value comparison.\n if (a === b) {\n return true;\n }\n // If either of the items are nullish and fail the strictly equal check\n // above, then they must be unequal.\n if (a == null || b == null) {\n return false;\n }\n const type = typeof a;\n if (type !== typeof b) {\n return false;\n }\n if (type !== 'object') {\n if (type === 'number') {\n return areNumbersEqual(a, b, state);\n }\n if (type === 'function') {\n return areFunctionsEqual(a, b, state);\n }\n // If a primitive value that is not strictly equal, it must be unequal.\n return false;\n }\n const constructor = a.constructor;\n // Checks are listed in order of commonality of use-case:\n // 1. Common complex object types (plain object, array)\n // 2. Common data values (date, regexp)\n // 3. Less-common complex object types (map, set)\n // 4. Less-common data values (promise, primitive wrappers)\n // Inherently this is both subjective and assumptive, however\n // when reviewing comparable libraries in the wild this order\n // appears to be generally consistent.\n // Constructors should match, otherwise there is potential for false positives\n // between class and subclass or custom object and POJO.\n if (constructor !== b.constructor) {\n return false;\n }\n // `isPlainObject` only checks against the object's own realm. Cross-realm\n // comparisons are rare, and will be handled in the ultimate fallback, so\n // we can avoid capturing the string tag.\n if (constructor === Object) {\n return areObjectsEqual(a, b, state);\n }\n // `isArray()` works on subclasses and is cross-realm, so we can avoid capturing\n // the string tag or doing an `instanceof` check.\n if (Array.isArray(a)) {\n return areArraysEqual(a, b, state);\n }\n // Try to fast-path equality checks for other complex object types in the\n // same realm to avoid capturing the string tag. Strict equality is used\n // instead of `instanceof` because it is more performant for the common\n // use-case. If someone is subclassing a native class, it will be handled\n // with the string tag comparison.\n if (constructor === Date) {\n return areDatesEqual(a, b, state);\n }\n if (constructor === RegExp) {\n return areRegExpsEqual(a, b, state);\n }\n if (constructor === Map) {\n return areMapsEqual(a, b, state);\n }\n if (constructor === Set) {\n return areSetsEqual(a, b, state);\n }\n // Since this is a custom object, capture the string tag to determing its type.\n // This is reasonably performant in modern environments like v8 and SpiderMonkey.\n const tag = toString.call(a);\n if (tag === DATE_TAG) {\n return areDatesEqual(a, b, state);\n }\n // For RegExp, the properties are not enumerable, and therefore will give false positives if\n // tested like a standard object.\n if (tag === REG_EXP_TAG) {\n return areRegExpsEqual(a, b, state);\n }\n if (tag === MAP_TAG) {\n return areMapsEqual(a, b, state);\n }\n if (tag === SET_TAG) {\n return areSetsEqual(a, b, state);\n }\n if (tag === OBJECT_TAG) {\n // The exception for value comparison is custom `Promise`-like class instances. These should\n // be treated the same as standard `Promise` objects, which means strict equality, and if\n // it reaches this point then that strict equality comparison has already failed.\n return typeof a.then !== 'function' && typeof b.then !== 'function' && areObjectsEqual(a, b, state);\n }\n // If a URL tag, it should be tested explicitly. Like RegExp, the properties are not\n // enumerable, and therefore will give false positives if tested like a standard object.\n if (tag === URL_TAG) {\n return areUrlsEqual(a, b, state);\n }\n // If an error tag, it should be tested explicitly. Like RegExp, the properties are not\n // enumerable, and therefore will give false positives if tested like a standard object.\n if (tag === ERROR_TAG) {\n return areErrorsEqual(a, b, state);\n }\n // If an arguments tag, it should be treated as a standard object.\n if (tag === ARGUMENTS_TAG) {\n return areObjectsEqual(a, b, state);\n }\n if (TYPED_ARRAY_TAGS[tag]) {\n return areTypedArraysEqual(a, b, state);\n }\n if (tag === ARRAY_BUFFER_TAG) {\n return areArrayBuffersEqual(a, b, state);\n }\n if (tag === DATA_VIEW_TAG) {\n return areDataViewsEqual(a, b, state);\n }\n // As the penultimate fallback, check if the values passed are primitive wrappers. This\n // is very rare in modern JS, which is why it is deprioritized compared to all other object\n // types.\n if (tag === BOOLEAN_TAG || tag === NUMBER_TAG || tag === STRING_TAG) {\n return arePrimitiveWrappersEqual(a, b, state);\n }\n if (unknownTagComparators) {\n let unknownTagComparator = unknownTagComparators[tag];\n if (!unknownTagComparator) {\n const shortTag = getShortTag(a);\n if (shortTag) {\n unknownTagComparator = unknownTagComparators[shortTag];\n }\n }\n // If the custom config has an unknown tag comparator that matches the captured tag or the\n // @@toStringTag, it is the source of truth for whether the values are equal.\n if (unknownTagComparator) {\n return unknownTagComparator(a, b, state);\n }\n }\n // If not matching any tags that require a specific type of comparison, then we hard-code false because\n // the only thing remaining is strict equality, which has already been compared. This is for a few reasons:\n // - Certain types that cannot be introspected (e.g., `WeakMap`). For these types, this is the only\n // comparison that can be made.\n // - For types that can be introspected, but rarely have requirements to be compared\n // (`ArrayBuffer`, `DataView`, etc.), the cost is avoided to prioritize the common\n // use-cases (may be included in a future release, if requested enough).\n // - For types that can be introspected but do not have an objective definition of what\n // equality is (`Error`, etc.), the subjective decision is to be conservative and strictly compare.\n // In all cases, these decisions should be reevaluated based on changes to the language and\n // common development practices.\n return false;\n };\n}\n/**\n * Create the configuration object used for building comparators.\n */\nfunction createEqualityComparatorConfig({ circular, createCustomConfig, strict, }) {\n let config = {\n areArrayBuffersEqual,\n areArraysEqual: strict ? areObjectsEqualStrict : areArraysEqual,\n areDataViewsEqual,\n areDatesEqual: areDatesEqual,\n areErrorsEqual: areErrorsEqual,\n areFunctionsEqual: areFunctionsEqual,\n areMapsEqual: strict ? combineComparators(areMapsEqual, areObjectsEqualStrict) : areMapsEqual,\n areNumbersEqual: areNumbersEqual,\n areObjectsEqual: strict ? areObjectsEqualStrict : areObjectsEqual,\n arePrimitiveWrappersEqual: arePrimitiveWrappersEqual,\n areRegExpsEqual: areRegExpsEqual,\n areSetsEqual: strict ? combineComparators(areSetsEqual, areObjectsEqualStrict) : areSetsEqual,\n areTypedArraysEqual: strict\n ? combineComparators(areTypedArraysEqual, areObjectsEqualStrict)\n : areTypedArraysEqual,\n areUrlsEqual: areUrlsEqual,\n unknownTagComparators: undefined,\n };\n if (createCustomConfig) {\n config = Object.assign({}, config, createCustomConfig(config));\n }\n if (circular) {\n const areArraysEqual = createIsCircular(config.areArraysEqual);\n const areMapsEqual = createIsCircular(config.areMapsEqual);\n const areObjectsEqual = createIsCircular(config.areObjectsEqual);\n const areSetsEqual = createIsCircular(config.areSetsEqual);\n config = Object.assign({}, config, {\n areArraysEqual,\n areMapsEqual,\n areObjectsEqual,\n areSetsEqual,\n });\n }\n return config;\n}\n/**\n * Default equality comparator pass-through, used as the standard `isEqual` creator for\n * use inside the built comparator.\n */\nfunction createInternalEqualityComparator(compare) {\n return function (a, b, _indexOrKeyA, _indexOrKeyB, _parentA, _parentB, state) {\n return compare(a, b, state);\n };\n}\n/**\n * Create the `isEqual` function used by the consuming application.\n */\nfunction createIsEqual({ circular, comparator, createState, equals, strict }) {\n if (createState) {\n return function isEqual(a, b) {\n const { cache = circular ? new WeakMap() : undefined, meta } = createState();\n return comparator(a, b, {\n cache,\n equals,\n meta,\n strict,\n });\n };\n }\n if (circular) {\n return function isEqual(a, b) {\n return comparator(a, b, {\n cache: new WeakMap(),\n equals,\n meta: undefined,\n strict,\n });\n };\n }\n const state = {\n cache: undefined,\n equals,\n meta: undefined,\n strict,\n };\n return function isEqual(a, b) {\n return comparator(a, b, state);\n };\n}\n\n/**\n * Whether the items passed are deeply-equal in value.\n */\nconst deepEqual = createCustomEqual();\n/**\n * Whether the items passed are deeply-equal in value based on strict comparison.\n */\nconst strictDeepEqual = createCustomEqual({ strict: true });\n/**\n * Whether the items passed are deeply-equal in value, including circular references.\n */\nconst circularDeepEqual = createCustomEqual({ circular: true });\n/**\n * Whether the items passed are deeply-equal in value, including circular references,\n * based on strict comparison.\n */\nconst strictCircularDeepEqual = createCustomEqual({\n circular: true,\n strict: true,\n});\n/**\n * Whether the items passed are shallowly-equal in value.\n */\nconst shallowEqual = createCustomEqual({\n createInternalComparator: () => sameValueZeroEqual,\n});\n/**\n * Whether the items passed are shallowly-equal in value based on strict comparison\n */\nconst strictShallowEqual = createCustomEqual({\n strict: true,\n createInternalComparator: () => sameValueZeroEqual,\n});\n/**\n * Whether the items passed are shallowly-equal in value, including circular references.\n */\nconst circularShallowEqual = createCustomEqual({\n circular: true,\n createInternalComparator: () => sameValueZeroEqual,\n});\n/**\n * Whether the items passed are shallowly-equal in value, including circular references,\n * based on strict comparison.\n */\nconst strictCircularShallowEqual = createCustomEqual({\n circular: true,\n createInternalComparator: () => sameValueZeroEqual,\n strict: true,\n});\n/**\n * Create a custom equality comparison method.\n *\n * This can be done to create very targeted comparisons in extreme hot-path scenarios\n * where the standard methods are not performant enough, but can also be used to provide\n * support for legacy environments that do not support expected features like\n * `RegExp.prototype.flags` out of the box.\n */\nfunction createCustomEqual(options = {}) {\n const { circular = false, createInternalComparator: createCustomInternalComparator, createState, strict = false, } = options;\n const config = createEqualityComparatorConfig(options);\n const comparator = createEqualityComparator(config);\n const equals = createCustomInternalComparator\n ? createCustomInternalComparator(comparator)\n : createInternalEqualityComparator(comparator);\n return createIsEqual({ circular, comparator, createState, equals, strict });\n}\n\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZmFzdC1lcXVhbHMvZGlzdC9lcy9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLFFBQVEsNkNBQTZDO0FBQ3JEO0FBQ0EsUUFBUSxpQkFBaUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLFFBQVE7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLGlDQUFpQztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxnUkFBZ1I7QUFDcFQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyx1Q0FBdUM7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLG1EQUFtRDtBQUM1RTtBQUNBO0FBQ0Esb0JBQW9CLHFEQUFxRDtBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsY0FBYztBQUMxRDtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMsZ0JBQWdCO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkMsWUFBWSwyR0FBMkc7QUFDdkg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixtREFBbUQ7QUFDOUU7O0FBRTZNO0FBQzdNIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxmYXN0LWVxdWFsc1xcZGlzdFxcZXNcXGluZGV4Lm1qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB7IGdldE93blByb3BlcnR5TmFtZXMsIGdldE93blByb3BlcnR5U3ltYm9scyB9ID0gT2JqZWN0O1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFxuY29uc3QgeyBoYXNPd25Qcm9wZXJ0eSB9ID0gT2JqZWN0LnByb3RvdHlwZTtcbi8qKlxuICogQ29tYmluZSB0d28gY29tcGFyYXRvcnMgaW50byBhIHNpbmdsZSBjb21wYXJhdG9ycy5cbiAqL1xuZnVuY3Rpb24gY29tYmluZUNvbXBhcmF0b3JzKGNvbXBhcmF0b3JBLCBjb21wYXJhdG9yQikge1xuICAgIHJldHVybiBmdW5jdGlvbiBpc0VxdWFsKGEsIGIsIHN0YXRlKSB7XG4gICAgICAgIHJldHVybiBjb21wYXJhdG9yQShhLCBiLCBzdGF0ZSkgJiYgY29tcGFyYXRvckIoYSwgYiwgc3RhdGUpO1xuICAgIH07XG59XG4vKipcbiAqIFdyYXAgdGhlIHByb3ZpZGVkIGBhcmVJdGVtc0VxdWFsYCBtZXRob2QgdG8gbWFuYWdlIHRoZSBjaXJjdWxhciBzdGF0ZSwgYWxsb3dpbmdcbiAqIGZvciBjaXJjdWxhciByZWZlcmVuY2VzIHRvIGJlIHNhZmVseSBpbmNsdWRlZCBpbiB0aGUgY29tcGFyaXNvbiB3aXRob3V0IGNyZWF0aW5nXG4gKiBzdGFjayBvdmVyZmxvd3MuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUlzQ2lyY3VsYXIoYXJlSXRlbXNFcXVhbCkge1xuICAgIHJldHVybiBmdW5jdGlvbiBpc0NpcmN1bGFyKGEsIGIsIHN0YXRlKSB7XG4gICAgICAgIGlmICghYSB8fCAhYiB8fCB0eXBlb2YgYSAhPT0gJ29iamVjdCcgfHwgdHlwZW9mIGIgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJlSXRlbXNFcXVhbChhLCBiLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBjYWNoZSB9ID0gc3RhdGU7XG4gICAgICAgIGNvbnN0IGNhY2hlZEEgPSBjYWNoZS5nZXQoYSk7XG4gICAgICAgIGNvbnN0IGNhY2hlZEIgPSBjYWNoZS5nZXQoYik7XG4gICAgICAgIGlmIChjYWNoZWRBICYmIGNhY2hlZEIpIHtcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRBID09PSBiICYmIGNhY2hlZEIgPT09IGE7XG4gICAgICAgIH1cbiAgICAgICAgY2FjaGUuc2V0KGEsIGIpO1xuICAgICAgICBjYWNoZS5zZXQoYiwgYSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGFyZUl0ZW1zRXF1YWwoYSwgYiwgc3RhdGUpO1xuICAgICAgICBjYWNoZS5kZWxldGUoYSk7XG4gICAgICAgIGNhY2hlLmRlbGV0ZShiKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xufVxuLyoqXG4gKiBHZXQgdGhlIGBAQHRvU3RyaW5nVGFnYCBvZiB0aGUgdmFsdWUsIGlmIGl0IGV4aXN0cy5cbiAqL1xuZnVuY3Rpb24gZ2V0U2hvcnRUYWcodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgIT0gbnVsbCA/IHZhbHVlW1N5bWJvbC50b1N0cmluZ1RhZ10gOiB1bmRlZmluZWQ7XG59XG4vKipcbiAqIEdldCB0aGUgcHJvcGVydGllcyB0byBzdHJpY3RseSBleGFtaW5lLCB3aGljaCBpbmNsdWRlIGJvdGggb3duIHByb3BlcnRpZXMgdGhhdCBhcmVcbiAqIG5vdCBlbnVtZXJhYmxlIGFuZCBzeW1ib2wgcHJvcGVydGllcy5cbiAqL1xuZnVuY3Rpb24gZ2V0U3RyaWN0UHJvcGVydGllcyhvYmplY3QpIHtcbiAgICByZXR1cm4gZ2V0T3duUHJvcGVydHlOYW1lcyhvYmplY3QpLmNvbmNhdChnZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KSk7XG59XG4vKipcbiAqIFdoZXRoZXIgdGhlIG9iamVjdCBjb250YWlucyB0aGUgcHJvcGVydHkgcGFzc2VkIGFzIGFuIG93biBwcm9wZXJ0eS5cbiAqL1xuY29uc3QgaGFzT3duID0gXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuT2JqZWN0Lmhhc093biB8fCAoKG9iamVjdCwgcHJvcGVydHkpID0+IGhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSkpO1xuLyoqXG4gKiBXaGV0aGVyIHRoZSB2YWx1ZXMgcGFzc2VkIGFyZSBzdHJpY3RseSBlcXVhbCBvciBib3RoIE5hTi5cbiAqL1xuZnVuY3Rpb24gc2FtZVZhbHVlWmVyb0VxdWFsKGEsIGIpIHtcbiAgICByZXR1cm4gYSA9PT0gYiB8fCAoIWEgJiYgIWIgJiYgYSAhPT0gYSAmJiBiICE9PSBiKTtcbn1cblxuY29uc3QgUFJFQUNUX1ZOT0RFID0gJ19fdic7XG5jb25zdCBQUkVBQ1RfT1dORVIgPSAnX19vJztcbmNvbnN0IFJFQUNUX09XTkVSID0gJ19vd25lcic7XG5jb25zdCB7IGdldE93blByb3BlcnR5RGVzY3JpcHRvciwga2V5cyB9ID0gT2JqZWN0O1xuLyoqXG4gKiBXaGV0aGVyIHRoZSBhcnJheSBidWZmZXJzIGFyZSBlcXVhbCBpbiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gYXJlQXJyYXlCdWZmZXJzRXF1YWwoYSwgYikge1xuICAgIHJldHVybiBhLmJ5dGVMZW5ndGggPT09IGIuYnl0ZUxlbmd0aCAmJiBhcmVUeXBlZEFycmF5c0VxdWFsKG5ldyBVaW50OEFycmF5KGEpLCBuZXcgVWludDhBcnJheShiKSk7XG59XG4vKipcbiAqIFdoZXRoZXIgdGhlIGFycmF5cyBhcmUgZXF1YWwgaW4gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGFyZUFycmF5c0VxdWFsKGEsIGIsIHN0YXRlKSB7XG4gICAgbGV0IGluZGV4ID0gYS5sZW5ndGg7XG4gICAgaWYgKGIubGVuZ3RoICE9PSBpbmRleCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHdoaWxlIChpbmRleC0tID4gMCkge1xuICAgICAgICBpZiAoIXN0YXRlLmVxdWFscyhhW2luZGV4XSwgYltpbmRleF0sIGluZGV4LCBpbmRleCwgYSwgYiwgc3RhdGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG4vKipcbiAqIFdoZXRoZXIgdGhlIGRhdGF2aWV3cyBhcmUgZXF1YWwgaW4gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGFyZURhdGFWaWV3c0VxdWFsKGEsIGIpIHtcbiAgICByZXR1cm4gKGEuYnl0ZUxlbmd0aCA9PT0gYi5ieXRlTGVuZ3RoXG4gICAgICAgICYmIGFyZVR5cGVkQXJyYXlzRXF1YWwobmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsIGEuYnl0ZU9mZnNldCwgYS5ieXRlTGVuZ3RoKSwgbmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsIGIuYnl0ZU9mZnNldCwgYi5ieXRlTGVuZ3RoKSkpO1xufVxuLyoqXG4gKiBXaGV0aGVyIHRoZSBkYXRlcyBwYXNzZWQgYXJlIGVxdWFsIGluIHZhbHVlLlxuICovXG5mdW5jdGlvbiBhcmVEYXRlc0VxdWFsKGEsIGIpIHtcbiAgICByZXR1cm4gc2FtZVZhbHVlWmVyb0VxdWFsKGEuZ2V0VGltZSgpLCBiLmdldFRpbWUoKSk7XG59XG4vKipcbiAqIFdoZXRoZXIgdGhlIGVycm9ycyBwYXNzZWQgYXJlIGVxdWFsIGluIHZhbHVlLlxuICovXG5mdW5jdGlvbiBhcmVFcnJvcnNFcXVhbChhLCBiKSB7XG4gICAgcmV0dXJuIGEubmFtZSA9PT0gYi5uYW1lICYmIGEubWVzc2FnZSA9PT0gYi5tZXNzYWdlICYmIGEuY2F1c2UgPT09IGIuY2F1c2UgJiYgYS5zdGFjayA9PT0gYi5zdGFjaztcbn1cbi8qKlxuICogV2hldGhlciB0aGUgZnVuY3Rpb25zIHBhc3NlZCBhcmUgZXF1YWwgaW4gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGFyZUZ1bmN0aW9uc0VxdWFsKGEsIGIpIHtcbiAgICByZXR1cm4gYSA9PT0gYjtcbn1cbi8qKlxuICogV2hldGhlciB0aGUgYE1hcGBzIGFyZSBlcXVhbCBpbiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gYXJlTWFwc0VxdWFsKGEsIGIsIHN0YXRlKSB7XG4gICAgY29uc3Qgc2l6ZSA9IGEuc2l6ZTtcbiAgICBpZiAoc2l6ZSAhPT0gYi5zaXplKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFzaXplKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBtYXRjaGVkSW5kaWNlcyA9IG5ldyBBcnJheShzaXplKTtcbiAgICBjb25zdCBhSXRlcmFibGUgPSBhLmVudHJpZXMoKTtcbiAgICBsZXQgYVJlc3VsdDtcbiAgICBsZXQgYlJlc3VsdDtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG4gICAgd2hpbGUgKChhUmVzdWx0ID0gYUl0ZXJhYmxlLm5leHQoKSkpIHtcbiAgICAgICAgaWYgKGFSZXN1bHQuZG9uZSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYkl0ZXJhYmxlID0gYi5lbnRyaWVzKCk7XG4gICAgICAgIGxldCBoYXNNYXRjaCA9IGZhbHNlO1xuICAgICAgICBsZXQgbWF0Y2hJbmRleCA9IDA7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG4gICAgICAgIHdoaWxlICgoYlJlc3VsdCA9IGJJdGVyYWJsZS5uZXh0KCkpKSB7XG4gICAgICAgICAgICBpZiAoYlJlc3VsdC5kb25lKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobWF0Y2hlZEluZGljZXNbbWF0Y2hJbmRleF0pIHtcbiAgICAgICAgICAgICAgICBtYXRjaEluZGV4Kys7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhRW50cnkgPSBhUmVzdWx0LnZhbHVlO1xuICAgICAgICAgICAgY29uc3QgYkVudHJ5ID0gYlJlc3VsdC52YWx1ZTtcbiAgICAgICAgICAgIGlmIChzdGF0ZS5lcXVhbHMoYUVudHJ5WzBdLCBiRW50cnlbMF0sIGluZGV4LCBtYXRjaEluZGV4LCBhLCBiLCBzdGF0ZSlcbiAgICAgICAgICAgICAgICAmJiBzdGF0ZS5lcXVhbHMoYUVudHJ5WzFdLCBiRW50cnlbMV0sIGFFbnRyeVswXSwgYkVudHJ5WzBdLCBhLCBiLCBzdGF0ZSkpIHtcbiAgICAgICAgICAgICAgICBoYXNNYXRjaCA9IG1hdGNoZWRJbmRpY2VzW21hdGNoSW5kZXhdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hdGNoSW5kZXgrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWhhc01hdGNoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaW5kZXgrKztcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG4vKipcbiAqIFdoZXRoZXIgdGhlIG51bWJlcnMgYXJlIGVxdWFsIGluIHZhbHVlLlxuICovXG5jb25zdCBhcmVOdW1iZXJzRXF1YWwgPSBzYW1lVmFsdWVaZXJvRXF1YWw7XG4vKipcbiAqIFdoZXRoZXIgdGhlIG9iamVjdHMgYXJlIGVxdWFsIGluIHZhbHVlLlxuICovXG5mdW5jdGlvbiBhcmVPYmplY3RzRXF1YWwoYSwgYiwgc3RhdGUpIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ga2V5cyhhKTtcbiAgICBsZXQgaW5kZXggPSBwcm9wZXJ0aWVzLmxlbmd0aDtcbiAgICBpZiAoa2V5cyhiKS5sZW5ndGggIT09IGluZGV4KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLy8gRGVjcmVtZW50aW5nIGB3aGlsZWAgc2hvd2VkIGZhc3RlciByZXN1bHRzIHRoYW4gZWl0aGVyIGluY3JlbWVudGluZyBvclxuICAgIC8vIGRlY3JlbWVudGluZyBgZm9yYCBsb29wIGFuZCB0aGFuIGFuIGluY3JlbWVudGluZyBgd2hpbGVgIGxvb3AuIERlY2xhcmF0aXZlXG4gICAgLy8gbWV0aG9kcyBsaWtlIGBzb21lYCAvIGBldmVyeWAgd2VyZSBub3QgdXNlZCB0byBhdm9pZCBpbmN1cnJpbmcgdGhlIGdhcmJhZ2VcbiAgICAvLyBjb3N0IG9mIGFub255bW91cyBjYWxsYmFja3MuXG4gICAgd2hpbGUgKGluZGV4LS0gPiAwKSB7XG4gICAgICAgIGlmICghaXNQcm9wZXJ0eUVxdWFsKGEsIGIsIHN0YXRlLCBwcm9wZXJ0aWVzW2luZGV4XSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbi8qKlxuICogV2hldGhlciB0aGUgb2JqZWN0cyBhcmUgZXF1YWwgaW4gdmFsdWUgd2l0aCBzdHJpY3QgcHJvcGVydHkgY2hlY2tpbmcuXG4gKi9cbmZ1bmN0aW9uIGFyZU9iamVjdHNFcXVhbFN0cmljdChhLCBiLCBzdGF0ZSkge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBnZXRTdHJpY3RQcm9wZXJ0aWVzKGEpO1xuICAgIGxldCBpbmRleCA9IHByb3BlcnRpZXMubGVuZ3RoO1xuICAgIGlmIChnZXRTdHJpY3RQcm9wZXJ0aWVzKGIpLmxlbmd0aCAhPT0gaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBsZXQgcHJvcGVydHk7XG4gICAgbGV0IGRlc2NyaXB0b3JBO1xuICAgIGxldCBkZXNjcmlwdG9yQjtcbiAgICAvLyBEZWNyZW1lbnRpbmcgYHdoaWxlYCBzaG93ZWQgZmFzdGVyIHJlc3VsdHMgdGhhbiBlaXRoZXIgaW5jcmVtZW50aW5nIG9yXG4gICAgLy8gZGVjcmVtZW50aW5nIGBmb3JgIGxvb3AgYW5kIHRoYW4gYW4gaW5jcmVtZW50aW5nIGB3aGlsZWAgbG9vcC4gRGVjbGFyYXRpdmVcbiAgICAvLyBtZXRob2RzIGxpa2UgYHNvbWVgIC8gYGV2ZXJ5YCB3ZXJlIG5vdCB1c2VkIHRvIGF2b2lkIGluY3VycmluZyB0aGUgZ2FyYmFnZVxuICAgIC8vIGNvc3Qgb2YgYW5vbnltb3VzIGNhbGxiYWNrcy5cbiAgICB3aGlsZSAoaW5kZXgtLSA+IDApIHtcbiAgICAgICAgcHJvcGVydHkgPSBwcm9wZXJ0aWVzW2luZGV4XTtcbiAgICAgICAgaWYgKCFpc1Byb3BlcnR5RXF1YWwoYSwgYiwgc3RhdGUsIHByb3BlcnR5KSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGRlc2NyaXB0b3JBID0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGEsIHByb3BlcnR5KTtcbiAgICAgICAgZGVzY3JpcHRvckIgPSBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYiwgcHJvcGVydHkpO1xuICAgICAgICBpZiAoKGRlc2NyaXB0b3JBIHx8IGRlc2NyaXB0b3JCKVxuICAgICAgICAgICAgJiYgKCFkZXNjcmlwdG9yQVxuICAgICAgICAgICAgICAgIHx8ICFkZXNjcmlwdG9yQlxuICAgICAgICAgICAgICAgIHx8IGRlc2NyaXB0b3JBLmNvbmZpZ3VyYWJsZSAhPT0gZGVzY3JpcHRvckIuY29uZmlndXJhYmxlXG4gICAgICAgICAgICAgICAgfHwgZGVzY3JpcHRvckEuZW51bWVyYWJsZSAhPT0gZGVzY3JpcHRvckIuZW51bWVyYWJsZVxuICAgICAgICAgICAgICAgIHx8IGRlc2NyaXB0b3JBLndyaXRhYmxlICE9PSBkZXNjcmlwdG9yQi53cml0YWJsZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbi8qKlxuICogV2hldGhlciB0aGUgcHJpbWl0aXZlIHdyYXBwZXJzIHBhc3NlZCBhcmUgZXF1YWwgaW4gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGFyZVByaW1pdGl2ZVdyYXBwZXJzRXF1YWwoYSwgYikge1xuICAgIHJldHVybiBzYW1lVmFsdWVaZXJvRXF1YWwoYS52YWx1ZU9mKCksIGIudmFsdWVPZigpKTtcbn1cbi8qKlxuICogV2hldGhlciB0aGUgcmVnZXhwcyBwYXNzZWQgYXJlIGVxdWFsIGluIHZhbHVlLlxuICovXG5mdW5jdGlvbiBhcmVSZWdFeHBzRXF1YWwoYSwgYikge1xuICAgIHJldHVybiBhLnNvdXJjZSA9PT0gYi5zb3VyY2UgJiYgYS5mbGFncyA9PT0gYi5mbGFncztcbn1cbi8qKlxuICogV2hldGhlciB0aGUgYFNldGBzIGFyZSBlcXVhbCBpbiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gYXJlU2V0c0VxdWFsKGEsIGIsIHN0YXRlKSB7XG4gICAgY29uc3Qgc2l6ZSA9IGEuc2l6ZTtcbiAgICBpZiAoc2l6ZSAhPT0gYi5zaXplKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFzaXplKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBtYXRjaGVkSW5kaWNlcyA9IG5ldyBBcnJheShzaXplKTtcbiAgICBjb25zdCBhSXRlcmFibGUgPSBhLnZhbHVlcygpO1xuICAgIGxldCBhUmVzdWx0O1xuICAgIGxldCBiUmVzdWx0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG4gICAgd2hpbGUgKChhUmVzdWx0ID0gYUl0ZXJhYmxlLm5leHQoKSkpIHtcbiAgICAgICAgaWYgKGFSZXN1bHQuZG9uZSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYkl0ZXJhYmxlID0gYi52YWx1ZXMoKTtcbiAgICAgICAgbGV0IGhhc01hdGNoID0gZmFsc2U7XG4gICAgICAgIGxldCBtYXRjaEluZGV4ID0gMDtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb25cbiAgICAgICAgd2hpbGUgKChiUmVzdWx0ID0gYkl0ZXJhYmxlLm5leHQoKSkpIHtcbiAgICAgICAgICAgIGlmIChiUmVzdWx0LmRvbmUpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghbWF0Y2hlZEluZGljZXNbbWF0Y2hJbmRleF1cbiAgICAgICAgICAgICAgICAmJiBzdGF0ZS5lcXVhbHMoYVJlc3VsdC52YWx1ZSwgYlJlc3VsdC52YWx1ZSwgYVJlc3VsdC52YWx1ZSwgYlJlc3VsdC52YWx1ZSwgYSwgYiwgc3RhdGUpKSB7XG4gICAgICAgICAgICAgICAgaGFzTWF0Y2ggPSBtYXRjaGVkSW5kaWNlc1ttYXRjaEluZGV4XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXRjaEluZGV4Kys7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFoYXNNYXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuLyoqXG4gKiBXaGV0aGVyIHRoZSBUeXBlZEFycmF5IGluc3RhbmNlcyBhcmUgZXF1YWwgaW4gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGFyZVR5cGVkQXJyYXlzRXF1YWwoYSwgYikge1xuICAgIGxldCBpbmRleCA9IGEuYnl0ZUxlbmd0aDtcbiAgICBpZiAoYi5ieXRlTGVuZ3RoICE9PSBpbmRleCB8fCBhLmJ5dGVPZmZzZXQgIT09IGIuYnl0ZU9mZnNldCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHdoaWxlIChpbmRleC0tID4gMCkge1xuICAgICAgICBpZiAoYVtpbmRleF0gIT09IGJbaW5kZXhdKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG4vKipcbiAqIFdoZXRoZXIgdGhlIFVSTCBpbnN0YW5jZXMgYXJlIGVxdWFsIGluIHZhbHVlLlxuICovXG5mdW5jdGlvbiBhcmVVcmxzRXF1YWwoYSwgYikge1xuICAgIHJldHVybiAoYS5ob3N0bmFtZSA9PT0gYi5ob3N0bmFtZVxuICAgICAgICAmJiBhLnBhdGhuYW1lID09PSBiLnBhdGhuYW1lXG4gICAgICAgICYmIGEucHJvdG9jb2wgPT09IGIucHJvdG9jb2xcbiAgICAgICAgJiYgYS5wb3J0ID09PSBiLnBvcnRcbiAgICAgICAgJiYgYS5oYXNoID09PSBiLmhhc2hcbiAgICAgICAgJiYgYS51c2VybmFtZSA9PT0gYi51c2VybmFtZVxuICAgICAgICAmJiBhLnBhc3N3b3JkID09PSBiLnBhc3N3b3JkKTtcbn1cbmZ1bmN0aW9uIGlzUHJvcGVydHlFcXVhbChhLCBiLCBzdGF0ZSwgcHJvcGVydHkpIHtcbiAgICBpZiAoKHByb3BlcnR5ID09PSBSRUFDVF9PV05FUiB8fCBwcm9wZXJ0eSA9PT0gUFJFQUNUX09XTkVSIHx8IHByb3BlcnR5ID09PSBQUkVBQ1RfVk5PREUpXG4gICAgICAgICYmIChhLiQkdHlwZW9mIHx8IGIuJCR0eXBlb2YpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gaGFzT3duKGIsIHByb3BlcnR5KSAmJiBzdGF0ZS5lcXVhbHMoYVtwcm9wZXJ0eV0sIGJbcHJvcGVydHldLCBwcm9wZXJ0eSwgcHJvcGVydHksIGEsIGIsIHN0YXRlKTtcbn1cblxuY29uc3QgQVJSQVlfQlVGRkVSX1RBRyA9ICdbb2JqZWN0IEFycmF5QnVmZmVyXSc7XG5jb25zdCBBUkdVTUVOVFNfVEFHID0gJ1tvYmplY3QgQXJndW1lbnRzXSc7XG5jb25zdCBCT09MRUFOX1RBRyA9ICdbb2JqZWN0IEJvb2xlYW5dJztcbmNvbnN0IERBVEFfVklFV19UQUcgPSAnW29iamVjdCBEYXRhVmlld10nO1xuY29uc3QgREFURV9UQUcgPSAnW29iamVjdCBEYXRlXSc7XG5jb25zdCBFUlJPUl9UQUcgPSAnW29iamVjdCBFcnJvcl0nO1xuY29uc3QgTUFQX1RBRyA9ICdbb2JqZWN0IE1hcF0nO1xuY29uc3QgTlVNQkVSX1RBRyA9ICdbb2JqZWN0IE51bWJlcl0nO1xuY29uc3QgT0JKRUNUX1RBRyA9ICdbb2JqZWN0IE9iamVjdF0nO1xuY29uc3QgUkVHX0VYUF9UQUcgPSAnW29iamVjdCBSZWdFeHBdJztcbmNvbnN0IFNFVF9UQUcgPSAnW29iamVjdCBTZXRdJztcbmNvbnN0IFNUUklOR19UQUcgPSAnW29iamVjdCBTdHJpbmddJztcbmNvbnN0IFRZUEVEX0FSUkFZX1RBR1MgPSB7XG4gICAgJ1tvYmplY3QgSW50OEFycmF5XSc6IHRydWUsXG4gICAgJ1tvYmplY3QgVWludDhBcnJheV0nOiB0cnVlLFxuICAgICdbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSc6IHRydWUsXG4gICAgJ1tvYmplY3QgSW50MTZBcnJheV0nOiB0cnVlLFxuICAgICdbb2JqZWN0IFVpbnQxNkFycmF5XSc6IHRydWUsXG4gICAgJ1tvYmplY3QgSW50MzJBcnJheV0nOiB0cnVlLFxuICAgICdbb2JqZWN0IFVpbnQzMkFycmF5XSc6IHRydWUsXG4gICAgJ1tvYmplY3QgRmxvYXQxNkFycmF5XSc6IHRydWUsXG4gICAgJ1tvYmplY3QgRmxvYXQzMkFycmF5XSc6IHRydWUsXG4gICAgJ1tvYmplY3QgRmxvYXQ2NEFycmF5XSc6IHRydWUsXG4gICAgJ1tvYmplY3QgQmlnSW50NjRBcnJheV0nOiB0cnVlLFxuICAgICdbb2JqZWN0IEJpZ1VpbnQ2NEFycmF5XSc6IHRydWUsXG59O1xuY29uc3QgVVJMX1RBRyA9ICdbb2JqZWN0IFVSTF0nO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFxuY29uc3QgdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuLyoqXG4gKiBDcmVhdGUgYSBjb21wYXJhdG9yIG1ldGhvZCBiYXNlZCBvbiB0aGUgdHlwZS1zcGVjaWZpYyBlcXVhbGl0eSBjb21wYXJhdG9ycyBwYXNzZWQuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUVxdWFsaXR5Q29tcGFyYXRvcih7IGFyZUFycmF5QnVmZmVyc0VxdWFsLCBhcmVBcnJheXNFcXVhbCwgYXJlRGF0YVZpZXdzRXF1YWwsIGFyZURhdGVzRXF1YWwsIGFyZUVycm9yc0VxdWFsLCBhcmVGdW5jdGlvbnNFcXVhbCwgYXJlTWFwc0VxdWFsLCBhcmVOdW1iZXJzRXF1YWwsIGFyZU9iamVjdHNFcXVhbCwgYXJlUHJpbWl0aXZlV3JhcHBlcnNFcXVhbCwgYXJlUmVnRXhwc0VxdWFsLCBhcmVTZXRzRXF1YWwsIGFyZVR5cGVkQXJyYXlzRXF1YWwsIGFyZVVybHNFcXVhbCwgdW5rbm93blRhZ0NvbXBhcmF0b3JzLCB9KSB7XG4gICAgLyoqXG4gICAgICogY29tcGFyZSB0aGUgdmFsdWUgb2YgdGhlIHR3byBvYmplY3RzIGFuZCByZXR1cm4gdHJ1ZSBpZiB0aGV5IGFyZSBlcXVpdmFsZW50IGluIHZhbHVlc1xuICAgICAqL1xuICAgIHJldHVybiBmdW5jdGlvbiBjb21wYXJhdG9yKGEsIGIsIHN0YXRlKSB7XG4gICAgICAgIC8vIElmIHRoZSBpdGVtcyBhcmUgc3RyaWN0bHkgZXF1YWwsIG5vIG5lZWQgdG8gZG8gYSB2YWx1ZSBjb21wYXJpc29uLlxuICAgICAgICBpZiAoYSA9PT0gYikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgZWl0aGVyIG9mIHRoZSBpdGVtcyBhcmUgbnVsbGlzaCBhbmQgZmFpbCB0aGUgc3RyaWN0bHkgZXF1YWwgY2hlY2tcbiAgICAgICAgLy8gYWJvdmUsIHRoZW4gdGhleSBtdXN0IGJlIHVuZXF1YWwuXG4gICAgICAgIGlmIChhID09IG51bGwgfHwgYiA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdHlwZSA9IHR5cGVvZiBhO1xuICAgICAgICBpZiAodHlwZSAhPT0gdHlwZW9mIGIpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBhcmVOdW1iZXJzRXF1YWwoYSwgYiwgc3RhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYXJlRnVuY3Rpb25zRXF1YWwoYSwgYiwgc3RhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgYSBwcmltaXRpdmUgdmFsdWUgdGhhdCBpcyBub3Qgc3RyaWN0bHkgZXF1YWwsIGl0IG11c3QgYmUgdW5lcXVhbC5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb25zdHJ1Y3RvciA9IGEuY29uc3RydWN0b3I7XG4gICAgICAgIC8vIENoZWNrcyBhcmUgbGlzdGVkIGluIG9yZGVyIG9mIGNvbW1vbmFsaXR5IG9mIHVzZS1jYXNlOlxuICAgICAgICAvLyAgIDEuIENvbW1vbiBjb21wbGV4IG9iamVjdCB0eXBlcyAocGxhaW4gb2JqZWN0LCBhcnJheSlcbiAgICAgICAgLy8gICAyLiBDb21tb24gZGF0YSB2YWx1ZXMgKGRhdGUsIHJlZ2V4cClcbiAgICAgICAgLy8gICAzLiBMZXNzLWNvbW1vbiBjb21wbGV4IG9iamVjdCB0eXBlcyAobWFwLCBzZXQpXG4gICAgICAgIC8vICAgNC4gTGVzcy1jb21tb24gZGF0YSB2YWx1ZXMgKHByb21pc2UsIHByaW1pdGl2ZSB3cmFwcGVycylcbiAgICAgICAgLy8gSW5oZXJlbnRseSB0aGlzIGlzIGJvdGggc3ViamVjdGl2ZSBhbmQgYXNzdW1wdGl2ZSwgaG93ZXZlclxuICAgICAgICAvLyB3aGVuIHJldmlld2luZyBjb21wYXJhYmxlIGxpYnJhcmllcyBpbiB0aGUgd2lsZCB0aGlzIG9yZGVyXG4gICAgICAgIC8vIGFwcGVhcnMgdG8gYmUgZ2VuZXJhbGx5IGNvbnNpc3RlbnQuXG4gICAgICAgIC8vIENvbnN0cnVjdG9ycyBzaG91bGQgbWF0Y2gsIG90aGVyd2lzZSB0aGVyZSBpcyBwb3RlbnRpYWwgZm9yIGZhbHNlIHBvc2l0aXZlc1xuICAgICAgICAvLyBiZXR3ZWVuIGNsYXNzIGFuZCBzdWJjbGFzcyBvciBjdXN0b20gb2JqZWN0IGFuZCBQT0pPLlxuICAgICAgICBpZiAoY29uc3RydWN0b3IgIT09IGIuY29uc3RydWN0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBgaXNQbGFpbk9iamVjdGAgb25seSBjaGVja3MgYWdhaW5zdCB0aGUgb2JqZWN0J3Mgb3duIHJlYWxtLiBDcm9zcy1yZWFsbVxuICAgICAgICAvLyBjb21wYXJpc29ucyBhcmUgcmFyZSwgYW5kIHdpbGwgYmUgaGFuZGxlZCBpbiB0aGUgdWx0aW1hdGUgZmFsbGJhY2ssIHNvXG4gICAgICAgIC8vIHdlIGNhbiBhdm9pZCBjYXB0dXJpbmcgdGhlIHN0cmluZyB0YWcuXG4gICAgICAgIGlmIChjb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gYXJlT2JqZWN0c0VxdWFsKGEsIGIsIHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBgaXNBcnJheSgpYCB3b3JrcyBvbiBzdWJjbGFzc2VzIGFuZCBpcyBjcm9zcy1yZWFsbSwgc28gd2UgY2FuIGF2b2lkIGNhcHR1cmluZ1xuICAgICAgICAvLyB0aGUgc3RyaW5nIHRhZyBvciBkb2luZyBhbiBgaW5zdGFuY2VvZmAgY2hlY2suXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGEpKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJlQXJyYXlzRXF1YWwoYSwgYiwgc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRyeSB0byBmYXN0LXBhdGggZXF1YWxpdHkgY2hlY2tzIGZvciBvdGhlciBjb21wbGV4IG9iamVjdCB0eXBlcyBpbiB0aGVcbiAgICAgICAgLy8gc2FtZSByZWFsbSB0byBhdm9pZCBjYXB0dXJpbmcgdGhlIHN0cmluZyB0YWcuIFN0cmljdCBlcXVhbGl0eSBpcyB1c2VkXG4gICAgICAgIC8vIGluc3RlYWQgb2YgYGluc3RhbmNlb2ZgIGJlY2F1c2UgaXQgaXMgbW9yZSBwZXJmb3JtYW50IGZvciB0aGUgY29tbW9uXG4gICAgICAgIC8vIHVzZS1jYXNlLiBJZiBzb21lb25lIGlzIHN1YmNsYXNzaW5nIGEgbmF0aXZlIGNsYXNzLCBpdCB3aWxsIGJlIGhhbmRsZWRcbiAgICAgICAgLy8gd2l0aCB0aGUgc3RyaW5nIHRhZyBjb21wYXJpc29uLlxuICAgICAgICBpZiAoY29uc3RydWN0b3IgPT09IERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmVEYXRlc0VxdWFsKGEsIGIsIHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uc3RydWN0b3IgPT09IFJlZ0V4cCkge1xuICAgICAgICAgICAgcmV0dXJuIGFyZVJlZ0V4cHNFcXVhbChhLCBiLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbnN0cnVjdG9yID09PSBNYXApIHtcbiAgICAgICAgICAgIHJldHVybiBhcmVNYXBzRXF1YWwoYSwgYiwgc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25zdHJ1Y3RvciA9PT0gU2V0KSB7XG4gICAgICAgICAgICByZXR1cm4gYXJlU2V0c0VxdWFsKGEsIGIsIHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBTaW5jZSB0aGlzIGlzIGEgY3VzdG9tIG9iamVjdCwgY2FwdHVyZSB0aGUgc3RyaW5nIHRhZyB0byBkZXRlcm1pbmcgaXRzIHR5cGUuXG4gICAgICAgIC8vIFRoaXMgaXMgcmVhc29uYWJseSBwZXJmb3JtYW50IGluIG1vZGVybiBlbnZpcm9ubWVudHMgbGlrZSB2OCBhbmQgU3BpZGVyTW9ua2V5LlxuICAgICAgICBjb25zdCB0YWcgPSB0b1N0cmluZy5jYWxsKGEpO1xuICAgICAgICBpZiAodGFnID09PSBEQVRFX1RBRykge1xuICAgICAgICAgICAgcmV0dXJuIGFyZURhdGVzRXF1YWwoYSwgYiwgc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIC8vIEZvciBSZWdFeHAsIHRoZSBwcm9wZXJ0aWVzIGFyZSBub3QgZW51bWVyYWJsZSwgYW5kIHRoZXJlZm9yZSB3aWxsIGdpdmUgZmFsc2UgcG9zaXRpdmVzIGlmXG4gICAgICAgIC8vIHRlc3RlZCBsaWtlIGEgc3RhbmRhcmQgb2JqZWN0LlxuICAgICAgICBpZiAodGFnID09PSBSRUdfRVhQX1RBRykge1xuICAgICAgICAgICAgcmV0dXJuIGFyZVJlZ0V4cHNFcXVhbChhLCBiLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRhZyA9PT0gTUFQX1RBRykge1xuICAgICAgICAgICAgcmV0dXJuIGFyZU1hcHNFcXVhbChhLCBiLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRhZyA9PT0gU0VUX1RBRykge1xuICAgICAgICAgICAgcmV0dXJuIGFyZVNldHNFcXVhbChhLCBiLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRhZyA9PT0gT0JKRUNUX1RBRykge1xuICAgICAgICAgICAgLy8gVGhlIGV4Y2VwdGlvbiBmb3IgdmFsdWUgY29tcGFyaXNvbiBpcyBjdXN0b20gYFByb21pc2VgLWxpa2UgY2xhc3MgaW5zdGFuY2VzLiBUaGVzZSBzaG91bGRcbiAgICAgICAgICAgIC8vIGJlIHRyZWF0ZWQgdGhlIHNhbWUgYXMgc3RhbmRhcmQgYFByb21pc2VgIG9iamVjdHMsIHdoaWNoIG1lYW5zIHN0cmljdCBlcXVhbGl0eSwgYW5kIGlmXG4gICAgICAgICAgICAvLyBpdCByZWFjaGVzIHRoaXMgcG9pbnQgdGhlbiB0aGF0IHN0cmljdCBlcXVhbGl0eSBjb21wYXJpc29uIGhhcyBhbHJlYWR5IGZhaWxlZC5cbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgYS50aGVuICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBiLnRoZW4gIT09ICdmdW5jdGlvbicgJiYgYXJlT2JqZWN0c0VxdWFsKGEsIGIsIHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiBhIFVSTCB0YWcsIGl0IHNob3VsZCBiZSB0ZXN0ZWQgZXhwbGljaXRseS4gTGlrZSBSZWdFeHAsIHRoZSBwcm9wZXJ0aWVzIGFyZSBub3RcbiAgICAgICAgLy8gZW51bWVyYWJsZSwgYW5kIHRoZXJlZm9yZSB3aWxsIGdpdmUgZmFsc2UgcG9zaXRpdmVzIGlmIHRlc3RlZCBsaWtlIGEgc3RhbmRhcmQgb2JqZWN0LlxuICAgICAgICBpZiAodGFnID09PSBVUkxfVEFHKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJlVXJsc0VxdWFsKGEsIGIsIHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiBhbiBlcnJvciB0YWcsIGl0IHNob3VsZCBiZSB0ZXN0ZWQgZXhwbGljaXRseS4gTGlrZSBSZWdFeHAsIHRoZSBwcm9wZXJ0aWVzIGFyZSBub3RcbiAgICAgICAgLy8gZW51bWVyYWJsZSwgYW5kIHRoZXJlZm9yZSB3aWxsIGdpdmUgZmFsc2UgcG9zaXRpdmVzIGlmIHRlc3RlZCBsaWtlIGEgc3RhbmRhcmQgb2JqZWN0LlxuICAgICAgICBpZiAodGFnID09PSBFUlJPUl9UQUcpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmVFcnJvcnNFcXVhbChhLCBiLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgYW4gYXJndW1lbnRzIHRhZywgaXQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYSBzdGFuZGFyZCBvYmplY3QuXG4gICAgICAgIGlmICh0YWcgPT09IEFSR1VNRU5UU19UQUcpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmVPYmplY3RzRXF1YWwoYSwgYiwgc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChUWVBFRF9BUlJBWV9UQUdTW3RhZ10pIHtcbiAgICAgICAgICAgIHJldHVybiBhcmVUeXBlZEFycmF5c0VxdWFsKGEsIGIsIHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFnID09PSBBUlJBWV9CVUZGRVJfVEFHKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJlQXJyYXlCdWZmZXJzRXF1YWwoYSwgYiwgc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YWcgPT09IERBVEFfVklFV19UQUcpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmVEYXRhVmlld3NFcXVhbChhLCBiLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQXMgdGhlIHBlbnVsdGltYXRlIGZhbGxiYWNrLCBjaGVjayBpZiB0aGUgdmFsdWVzIHBhc3NlZCBhcmUgcHJpbWl0aXZlIHdyYXBwZXJzLiBUaGlzXG4gICAgICAgIC8vIGlzIHZlcnkgcmFyZSBpbiBtb2Rlcm4gSlMsIHdoaWNoIGlzIHdoeSBpdCBpcyBkZXByaW9yaXRpemVkIGNvbXBhcmVkIHRvIGFsbCBvdGhlciBvYmplY3RcbiAgICAgICAgLy8gdHlwZXMuXG4gICAgICAgIGlmICh0YWcgPT09IEJPT0xFQU5fVEFHIHx8IHRhZyA9PT0gTlVNQkVSX1RBRyB8fCB0YWcgPT09IFNUUklOR19UQUcpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmVQcmltaXRpdmVXcmFwcGVyc0VxdWFsKGEsIGIsIHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodW5rbm93blRhZ0NvbXBhcmF0b3JzKSB7XG4gICAgICAgICAgICBsZXQgdW5rbm93blRhZ0NvbXBhcmF0b3IgPSB1bmtub3duVGFnQ29tcGFyYXRvcnNbdGFnXTtcbiAgICAgICAgICAgIGlmICghdW5rbm93blRhZ0NvbXBhcmF0b3IpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzaG9ydFRhZyA9IGdldFNob3J0VGFnKGEpO1xuICAgICAgICAgICAgICAgIGlmIChzaG9ydFRhZykge1xuICAgICAgICAgICAgICAgICAgICB1bmtub3duVGFnQ29tcGFyYXRvciA9IHVua25vd25UYWdDb21wYXJhdG9yc1tzaG9ydFRhZ107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgdGhlIGN1c3RvbSBjb25maWcgaGFzIGFuIHVua25vd24gdGFnIGNvbXBhcmF0b3IgdGhhdCBtYXRjaGVzIHRoZSBjYXB0dXJlZCB0YWcgb3IgdGhlXG4gICAgICAgICAgICAvLyBAQHRvU3RyaW5nVGFnLCBpdCBpcyB0aGUgc291cmNlIG9mIHRydXRoIGZvciB3aGV0aGVyIHRoZSB2YWx1ZXMgYXJlIGVxdWFsLlxuICAgICAgICAgICAgaWYgKHVua25vd25UYWdDb21wYXJhdG9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVua25vd25UYWdDb21wYXJhdG9yKGEsIGIsIHN0YXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBJZiBub3QgbWF0Y2hpbmcgYW55IHRhZ3MgdGhhdCByZXF1aXJlIGEgc3BlY2lmaWMgdHlwZSBvZiBjb21wYXJpc29uLCB0aGVuIHdlIGhhcmQtY29kZSBmYWxzZSBiZWNhdXNlXG4gICAgICAgIC8vIHRoZSBvbmx5IHRoaW5nIHJlbWFpbmluZyBpcyBzdHJpY3QgZXF1YWxpdHksIHdoaWNoIGhhcyBhbHJlYWR5IGJlZW4gY29tcGFyZWQuIFRoaXMgaXMgZm9yIGEgZmV3IHJlYXNvbnM6XG4gICAgICAgIC8vICAgLSBDZXJ0YWluIHR5cGVzIHRoYXQgY2Fubm90IGJlIGludHJvc3BlY3RlZCAoZS5nLiwgYFdlYWtNYXBgKS4gRm9yIHRoZXNlIHR5cGVzLCB0aGlzIGlzIHRoZSBvbmx5XG4gICAgICAgIC8vICAgICBjb21wYXJpc29uIHRoYXQgY2FuIGJlIG1hZGUuXG4gICAgICAgIC8vICAgLSBGb3IgdHlwZXMgdGhhdCBjYW4gYmUgaW50cm9zcGVjdGVkLCBidXQgcmFyZWx5IGhhdmUgcmVxdWlyZW1lbnRzIHRvIGJlIGNvbXBhcmVkXG4gICAgICAgIC8vICAgICAoYEFycmF5QnVmZmVyYCwgYERhdGFWaWV3YCwgZXRjLiksIHRoZSBjb3N0IGlzIGF2b2lkZWQgdG8gcHJpb3JpdGl6ZSB0aGUgY29tbW9uXG4gICAgICAgIC8vICAgICB1c2UtY2FzZXMgKG1heSBiZSBpbmNsdWRlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLCBpZiByZXF1ZXN0ZWQgZW5vdWdoKS5cbiAgICAgICAgLy8gICAtIEZvciB0eXBlcyB0aGF0IGNhbiBiZSBpbnRyb3NwZWN0ZWQgYnV0IGRvIG5vdCBoYXZlIGFuIG9iamVjdGl2ZSBkZWZpbml0aW9uIG9mIHdoYXRcbiAgICAgICAgLy8gICAgIGVxdWFsaXR5IGlzIChgRXJyb3JgLCBldGMuKSwgdGhlIHN1YmplY3RpdmUgZGVjaXNpb24gaXMgdG8gYmUgY29uc2VydmF0aXZlIGFuZCBzdHJpY3RseSBjb21wYXJlLlxuICAgICAgICAvLyBJbiBhbGwgY2FzZXMsIHRoZXNlIGRlY2lzaW9ucyBzaG91bGQgYmUgcmVldmFsdWF0ZWQgYmFzZWQgb24gY2hhbmdlcyB0byB0aGUgbGFuZ3VhZ2UgYW5kXG4gICAgICAgIC8vIGNvbW1vbiBkZXZlbG9wbWVudCBwcmFjdGljZXMuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xufVxuLyoqXG4gKiBDcmVhdGUgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHVzZWQgZm9yIGJ1aWxkaW5nIGNvbXBhcmF0b3JzLlxuICovXG5mdW5jdGlvbiBjcmVhdGVFcXVhbGl0eUNvbXBhcmF0b3JDb25maWcoeyBjaXJjdWxhciwgY3JlYXRlQ3VzdG9tQ29uZmlnLCBzdHJpY3QsIH0pIHtcbiAgICBsZXQgY29uZmlnID0ge1xuICAgICAgICBhcmVBcnJheUJ1ZmZlcnNFcXVhbCxcbiAgICAgICAgYXJlQXJyYXlzRXF1YWw6IHN0cmljdCA/IGFyZU9iamVjdHNFcXVhbFN0cmljdCA6IGFyZUFycmF5c0VxdWFsLFxuICAgICAgICBhcmVEYXRhVmlld3NFcXVhbCxcbiAgICAgICAgYXJlRGF0ZXNFcXVhbDogYXJlRGF0ZXNFcXVhbCxcbiAgICAgICAgYXJlRXJyb3JzRXF1YWw6IGFyZUVycm9yc0VxdWFsLFxuICAgICAgICBhcmVGdW5jdGlvbnNFcXVhbDogYXJlRnVuY3Rpb25zRXF1YWwsXG4gICAgICAgIGFyZU1hcHNFcXVhbDogc3RyaWN0ID8gY29tYmluZUNvbXBhcmF0b3JzKGFyZU1hcHNFcXVhbCwgYXJlT2JqZWN0c0VxdWFsU3RyaWN0KSA6IGFyZU1hcHNFcXVhbCxcbiAgICAgICAgYXJlTnVtYmVyc0VxdWFsOiBhcmVOdW1iZXJzRXF1YWwsXG4gICAgICAgIGFyZU9iamVjdHNFcXVhbDogc3RyaWN0ID8gYXJlT2JqZWN0c0VxdWFsU3RyaWN0IDogYXJlT2JqZWN0c0VxdWFsLFxuICAgICAgICBhcmVQcmltaXRpdmVXcmFwcGVyc0VxdWFsOiBhcmVQcmltaXRpdmVXcmFwcGVyc0VxdWFsLFxuICAgICAgICBhcmVSZWdFeHBzRXF1YWw6IGFyZVJlZ0V4cHNFcXVhbCxcbiAgICAgICAgYXJlU2V0c0VxdWFsOiBzdHJpY3QgPyBjb21iaW5lQ29tcGFyYXRvcnMoYXJlU2V0c0VxdWFsLCBhcmVPYmplY3RzRXF1YWxTdHJpY3QpIDogYXJlU2V0c0VxdWFsLFxuICAgICAgICBhcmVUeXBlZEFycmF5c0VxdWFsOiBzdHJpY3RcbiAgICAgICAgICAgID8gY29tYmluZUNvbXBhcmF0b3JzKGFyZVR5cGVkQXJyYXlzRXF1YWwsIGFyZU9iamVjdHNFcXVhbFN0cmljdClcbiAgICAgICAgICAgIDogYXJlVHlwZWRBcnJheXNFcXVhbCxcbiAgICAgICAgYXJlVXJsc0VxdWFsOiBhcmVVcmxzRXF1YWwsXG4gICAgICAgIHVua25vd25UYWdDb21wYXJhdG9yczogdW5kZWZpbmVkLFxuICAgIH07XG4gICAgaWYgKGNyZWF0ZUN1c3RvbUNvbmZpZykge1xuICAgICAgICBjb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcsIGNyZWF0ZUN1c3RvbUNvbmZpZyhjb25maWcpKTtcbiAgICB9XG4gICAgaWYgKGNpcmN1bGFyKSB7XG4gICAgICAgIGNvbnN0IGFyZUFycmF5c0VxdWFsID0gY3JlYXRlSXNDaXJjdWxhcihjb25maWcuYXJlQXJyYXlzRXF1YWwpO1xuICAgICAgICBjb25zdCBhcmVNYXBzRXF1YWwgPSBjcmVhdGVJc0NpcmN1bGFyKGNvbmZpZy5hcmVNYXBzRXF1YWwpO1xuICAgICAgICBjb25zdCBhcmVPYmplY3RzRXF1YWwgPSBjcmVhdGVJc0NpcmN1bGFyKGNvbmZpZy5hcmVPYmplY3RzRXF1YWwpO1xuICAgICAgICBjb25zdCBhcmVTZXRzRXF1YWwgPSBjcmVhdGVJc0NpcmN1bGFyKGNvbmZpZy5hcmVTZXRzRXF1YWwpO1xuICAgICAgICBjb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcsIHtcbiAgICAgICAgICAgIGFyZUFycmF5c0VxdWFsLFxuICAgICAgICAgICAgYXJlTWFwc0VxdWFsLFxuICAgICAgICAgICAgYXJlT2JqZWN0c0VxdWFsLFxuICAgICAgICAgICAgYXJlU2V0c0VxdWFsLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbmZpZztcbn1cbi8qKlxuICogRGVmYXVsdCBlcXVhbGl0eSBjb21wYXJhdG9yIHBhc3MtdGhyb3VnaCwgdXNlZCBhcyB0aGUgc3RhbmRhcmQgYGlzRXF1YWxgIGNyZWF0b3IgZm9yXG4gKiB1c2UgaW5zaWRlIHRoZSBidWlsdCBjb21wYXJhdG9yLlxuICovXG5mdW5jdGlvbiBjcmVhdGVJbnRlcm5hbEVxdWFsaXR5Q29tcGFyYXRvcihjb21wYXJlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBfaW5kZXhPcktleUEsIF9pbmRleE9yS2V5QiwgX3BhcmVudEEsIF9wYXJlbnRCLCBzdGF0ZSkge1xuICAgICAgICByZXR1cm4gY29tcGFyZShhLCBiLCBzdGF0ZSk7XG4gICAgfTtcbn1cbi8qKlxuICogQ3JlYXRlIHRoZSBgaXNFcXVhbGAgZnVuY3Rpb24gdXNlZCBieSB0aGUgY29uc3VtaW5nIGFwcGxpY2F0aW9uLlxuICovXG5mdW5jdGlvbiBjcmVhdGVJc0VxdWFsKHsgY2lyY3VsYXIsIGNvbXBhcmF0b3IsIGNyZWF0ZVN0YXRlLCBlcXVhbHMsIHN0cmljdCB9KSB7XG4gICAgaWYgKGNyZWF0ZVN0YXRlKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiBpc0VxdWFsKGEsIGIpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY2FjaGUgPSBjaXJjdWxhciA/IG5ldyBXZWFrTWFwKCkgOiB1bmRlZmluZWQsIG1ldGEgfSA9IGNyZWF0ZVN0YXRlKCk7XG4gICAgICAgICAgICByZXR1cm4gY29tcGFyYXRvcihhLCBiLCB7XG4gICAgICAgICAgICAgICAgY2FjaGUsXG4gICAgICAgICAgICAgICAgZXF1YWxzLFxuICAgICAgICAgICAgICAgIG1ldGEsXG4gICAgICAgICAgICAgICAgc3RyaWN0LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmIChjaXJjdWxhcikge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gaXNFcXVhbChhLCBiKSB7XG4gICAgICAgICAgICByZXR1cm4gY29tcGFyYXRvcihhLCBiLCB7XG4gICAgICAgICAgICAgICAgY2FjaGU6IG5ldyBXZWFrTWFwKCksXG4gICAgICAgICAgICAgICAgZXF1YWxzLFxuICAgICAgICAgICAgICAgIG1ldGE6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBzdHJpY3QsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICAgIGNhY2hlOiB1bmRlZmluZWQsXG4gICAgICAgIGVxdWFscyxcbiAgICAgICAgbWV0YTogdW5kZWZpbmVkLFxuICAgICAgICBzdHJpY3QsXG4gICAgfTtcbiAgICByZXR1cm4gZnVuY3Rpb24gaXNFcXVhbChhLCBiKSB7XG4gICAgICAgIHJldHVybiBjb21wYXJhdG9yKGEsIGIsIHN0YXRlKTtcbiAgICB9O1xufVxuXG4vKipcbiAqIFdoZXRoZXIgdGhlIGl0ZW1zIHBhc3NlZCBhcmUgZGVlcGx5LWVxdWFsIGluIHZhbHVlLlxuICovXG5jb25zdCBkZWVwRXF1YWwgPSBjcmVhdGVDdXN0b21FcXVhbCgpO1xuLyoqXG4gKiBXaGV0aGVyIHRoZSBpdGVtcyBwYXNzZWQgYXJlIGRlZXBseS1lcXVhbCBpbiB2YWx1ZSBiYXNlZCBvbiBzdHJpY3QgY29tcGFyaXNvbi5cbiAqL1xuY29uc3Qgc3RyaWN0RGVlcEVxdWFsID0gY3JlYXRlQ3VzdG9tRXF1YWwoeyBzdHJpY3Q6IHRydWUgfSk7XG4vKipcbiAqIFdoZXRoZXIgdGhlIGl0ZW1zIHBhc3NlZCBhcmUgZGVlcGx5LWVxdWFsIGluIHZhbHVlLCBpbmNsdWRpbmcgY2lyY3VsYXIgcmVmZXJlbmNlcy5cbiAqL1xuY29uc3QgY2lyY3VsYXJEZWVwRXF1YWwgPSBjcmVhdGVDdXN0b21FcXVhbCh7IGNpcmN1bGFyOiB0cnVlIH0pO1xuLyoqXG4gKiBXaGV0aGVyIHRoZSBpdGVtcyBwYXNzZWQgYXJlIGRlZXBseS1lcXVhbCBpbiB2YWx1ZSwgaW5jbHVkaW5nIGNpcmN1bGFyIHJlZmVyZW5jZXMsXG4gKiBiYXNlZCBvbiBzdHJpY3QgY29tcGFyaXNvbi5cbiAqL1xuY29uc3Qgc3RyaWN0Q2lyY3VsYXJEZWVwRXF1YWwgPSBjcmVhdGVDdXN0b21FcXVhbCh7XG4gICAgY2lyY3VsYXI6IHRydWUsXG4gICAgc3RyaWN0OiB0cnVlLFxufSk7XG4vKipcbiAqIFdoZXRoZXIgdGhlIGl0ZW1zIHBhc3NlZCBhcmUgc2hhbGxvd2x5LWVxdWFsIGluIHZhbHVlLlxuICovXG5jb25zdCBzaGFsbG93RXF1YWwgPSBjcmVhdGVDdXN0b21FcXVhbCh7XG4gICAgY3JlYXRlSW50ZXJuYWxDb21wYXJhdG9yOiAoKSA9PiBzYW1lVmFsdWVaZXJvRXF1YWwsXG59KTtcbi8qKlxuICogV2hldGhlciB0aGUgaXRlbXMgcGFzc2VkIGFyZSBzaGFsbG93bHktZXF1YWwgaW4gdmFsdWUgYmFzZWQgb24gc3RyaWN0IGNvbXBhcmlzb25cbiAqL1xuY29uc3Qgc3RyaWN0U2hhbGxvd0VxdWFsID0gY3JlYXRlQ3VzdG9tRXF1YWwoe1xuICAgIHN0cmljdDogdHJ1ZSxcbiAgICBjcmVhdGVJbnRlcm5hbENvbXBhcmF0b3I6ICgpID0+IHNhbWVWYWx1ZVplcm9FcXVhbCxcbn0pO1xuLyoqXG4gKiBXaGV0aGVyIHRoZSBpdGVtcyBwYXNzZWQgYXJlIHNoYWxsb3dseS1lcXVhbCBpbiB2YWx1ZSwgaW5jbHVkaW5nIGNpcmN1bGFyIHJlZmVyZW5jZXMuXG4gKi9cbmNvbnN0IGNpcmN1bGFyU2hhbGxvd0VxdWFsID0gY3JlYXRlQ3VzdG9tRXF1YWwoe1xuICAgIGNpcmN1bGFyOiB0cnVlLFxuICAgIGNyZWF0ZUludGVybmFsQ29tcGFyYXRvcjogKCkgPT4gc2FtZVZhbHVlWmVyb0VxdWFsLFxufSk7XG4vKipcbiAqIFdoZXRoZXIgdGhlIGl0ZW1zIHBhc3NlZCBhcmUgc2hhbGxvd2x5LWVxdWFsIGluIHZhbHVlLCBpbmNsdWRpbmcgY2lyY3VsYXIgcmVmZXJlbmNlcyxcbiAqIGJhc2VkIG9uIHN0cmljdCBjb21wYXJpc29uLlxuICovXG5jb25zdCBzdHJpY3RDaXJjdWxhclNoYWxsb3dFcXVhbCA9IGNyZWF0ZUN1c3RvbUVxdWFsKHtcbiAgICBjaXJjdWxhcjogdHJ1ZSxcbiAgICBjcmVhdGVJbnRlcm5hbENvbXBhcmF0b3I6ICgpID0+IHNhbWVWYWx1ZVplcm9FcXVhbCxcbiAgICBzdHJpY3Q6IHRydWUsXG59KTtcbi8qKlxuICogQ3JlYXRlIGEgY3VzdG9tIGVxdWFsaXR5IGNvbXBhcmlzb24gbWV0aG9kLlxuICpcbiAqIFRoaXMgY2FuIGJlIGRvbmUgdG8gY3JlYXRlIHZlcnkgdGFyZ2V0ZWQgY29tcGFyaXNvbnMgaW4gZXh0cmVtZSBob3QtcGF0aCBzY2VuYXJpb3NcbiAqIHdoZXJlIHRoZSBzdGFuZGFyZCBtZXRob2RzIGFyZSBub3QgcGVyZm9ybWFudCBlbm91Z2gsIGJ1dCBjYW4gYWxzbyBiZSB1c2VkIHRvIHByb3ZpZGVcbiAqIHN1cHBvcnQgZm9yIGxlZ2FjeSBlbnZpcm9ubWVudHMgdGhhdCBkbyBub3Qgc3VwcG9ydCBleHBlY3RlZCBmZWF0dXJlcyBsaWtlXG4gKiBgUmVnRXhwLnByb3RvdHlwZS5mbGFnc2Agb3V0IG9mIHRoZSBib3guXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUN1c3RvbUVxdWFsKG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgY2lyY3VsYXIgPSBmYWxzZSwgY3JlYXRlSW50ZXJuYWxDb21wYXJhdG9yOiBjcmVhdGVDdXN0b21JbnRlcm5hbENvbXBhcmF0b3IsIGNyZWF0ZVN0YXRlLCBzdHJpY3QgPSBmYWxzZSwgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgY29uZmlnID0gY3JlYXRlRXF1YWxpdHlDb21wYXJhdG9yQ29uZmlnKG9wdGlvbnMpO1xuICAgIGNvbnN0IGNvbXBhcmF0b3IgPSBjcmVhdGVFcXVhbGl0eUNvbXBhcmF0b3IoY29uZmlnKTtcbiAgICBjb25zdCBlcXVhbHMgPSBjcmVhdGVDdXN0b21JbnRlcm5hbENvbXBhcmF0b3JcbiAgICAgICAgPyBjcmVhdGVDdXN0b21JbnRlcm5hbENvbXBhcmF0b3IoY29tcGFyYXRvcilcbiAgICAgICAgOiBjcmVhdGVJbnRlcm5hbEVxdWFsaXR5Q29tcGFyYXRvcihjb21wYXJhdG9yKTtcbiAgICByZXR1cm4gY3JlYXRlSXNFcXVhbCh7IGNpcmN1bGFyLCBjb21wYXJhdG9yLCBjcmVhdGVTdGF0ZSwgZXF1YWxzLCBzdHJpY3QgfSk7XG59XG5cbmV4cG9ydCB7IGNpcmN1bGFyRGVlcEVxdWFsLCBjaXJjdWxhclNoYWxsb3dFcXVhbCwgY3JlYXRlQ3VzdG9tRXF1YWwsIGRlZXBFcXVhbCwgc2FtZVZhbHVlWmVyb0VxdWFsLCBzaGFsbG93RXF1YWwsIHN0cmljdENpcmN1bGFyRGVlcEVxdWFsLCBzdHJpY3RDaXJjdWxhclNoYWxsb3dFcXVhbCwgc3RyaWN0RGVlcEVxdWFsLCBzdHJpY3RTaGFsbG93RXF1YWwgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/fast-equals/dist/es/index.mjs\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/linkifyjs.js b/.next/server/vendor-chunks/linkifyjs.js deleted file mode 100644 index ad5208a..0000000 --- a/.next/server/vendor-chunks/linkifyjs.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/linkifyjs"; -exports.ids = ["vendor-chunks/linkifyjs"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/linkifyjs/dist/linkify.mjs": -/*!*************************************************!*\ - !*** ./node_modules/linkifyjs/dist/linkify.mjs ***! - \*************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MultiToken: () => (/* binding */ MultiToken),\n/* harmony export */ Options: () => (/* binding */ Options),\n/* harmony export */ State: () => (/* binding */ State),\n/* harmony export */ createTokenClass: () => (/* binding */ createTokenClass),\n/* harmony export */ find: () => (/* binding */ find),\n/* harmony export */ init: () => (/* binding */ init),\n/* harmony export */ multi: () => (/* binding */ multi),\n/* harmony export */ options: () => (/* binding */ options),\n/* harmony export */ regexp: () => (/* binding */ regexp),\n/* harmony export */ registerCustomProtocol: () => (/* binding */ registerCustomProtocol),\n/* harmony export */ registerPlugin: () => (/* binding */ registerPlugin),\n/* harmony export */ registerTokenPlugin: () => (/* binding */ registerTokenPlugin),\n/* harmony export */ reset: () => (/* binding */ reset),\n/* harmony export */ stringToArray: () => (/* binding */ stringToArray),\n/* harmony export */ test: () => (/* binding */ test),\n/* harmony export */ text: () => (/* binding */ multi),\n/* harmony export */ tokenize: () => (/* binding */ tokenize)\n/* harmony export */ });\n// THIS FILE IS AUTOMATICALLY GENERATED DO NOT EDIT DIRECTLY\n// See update-tlds.js for encoding/decoding format\n// https://data.iana.org/TLD/tlds-alpha-by-domain.txt\nconst encodedTlds = 'aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2';\n// Internationalized domain names containing non-ASCII\nconst encodedUtlds = 'ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2';\n\n/**\n * Finite State Machine generation utilities\n */\n\n/**\n * @template T\n * @typedef {{ [group: string]: T[] }} Collections\n */\n\n/**\n * @typedef {{ [group: string]: true }} Flags\n */\n\n// Keys in scanner Collections instances\nconst numeric = 'numeric';\nconst ascii = 'ascii';\nconst alpha = 'alpha';\nconst asciinumeric = 'asciinumeric';\nconst alphanumeric = 'alphanumeric';\nconst domain = 'domain';\nconst emoji = 'emoji';\nconst scheme = 'scheme';\nconst slashscheme = 'slashscheme';\nconst whitespace = 'whitespace';\n\n/**\n * @template T\n * @param {string} name\n * @param {Collections} groups to register in\n * @returns {T[]} Current list of tokens in the given collection\n */\nfunction registerGroup(name, groups) {\n if (!(name in groups)) {\n groups[name] = [];\n }\n return groups[name];\n}\n\n/**\n * @template T\n * @param {T} t token to add\n * @param {Collections} groups\n * @param {Flags} flags\n */\nfunction addToGroups(t, flags, groups) {\n if (flags[numeric]) {\n flags[asciinumeric] = true;\n flags[alphanumeric] = true;\n }\n if (flags[ascii]) {\n flags[asciinumeric] = true;\n flags[alpha] = true;\n }\n if (flags[asciinumeric]) {\n flags[alphanumeric] = true;\n }\n if (flags[alpha]) {\n flags[alphanumeric] = true;\n }\n if (flags[alphanumeric]) {\n flags[domain] = true;\n }\n if (flags[emoji]) {\n flags[domain] = true;\n }\n for (const k in flags) {\n const group = registerGroup(k, groups);\n if (group.indexOf(t) < 0) {\n group.push(t);\n }\n }\n}\n\n/**\n * @template T\n * @param {T} t token to check\n * @param {Collections} groups\n * @returns {Flags} group flags that contain this token\n */\nfunction flagsForToken(t, groups) {\n const result = {};\n for (const c in groups) {\n if (groups[c].indexOf(t) >= 0) {\n result[c] = true;\n }\n }\n return result;\n}\n\n/**\n * @template T\n * @typedef {null | T } Transition\n */\n\n/**\n * Define a basic state machine state. j is the list of character transitions,\n * jr is the list of regex-match transitions, jd is the default state to\n * transition to t is the accepting token type, if any. If this is the terminal\n * state, then it does not emit a token.\n *\n * The template type T represents the type of the token this state accepts. This\n * should be a string (such as of the token exports in `text.js`) or a\n * MultiToken subclass (from `multi.js`)\n *\n * @template T\n * @param {T} [token] Token that this state emits\n */\nfunction State(token = null) {\n // this.n = null; // DEBUG: State name\n /** @type {{ [input: string]: State }} j */\n this.j = {}; // IMPLEMENTATION 1\n // this.j = []; // IMPLEMENTATION 2\n /** @type {[RegExp, State][]} jr */\n this.jr = [];\n /** @type {?State} jd */\n this.jd = null;\n /** @type {?T} t */\n this.t = token;\n}\n\n/**\n * Scanner token groups\n * @type Collections\n */\nState.groups = {};\nState.prototype = {\n accepts() {\n return !!this.t;\n },\n /**\n * Follow an existing transition from the given input to the next state.\n * Does not mutate.\n * @param {string} input character or token type to transition on\n * @returns {?State} the next state, if any\n */\n go(input) {\n const state = this;\n const nextState = state.j[input];\n if (nextState) {\n return nextState;\n }\n for (let i = 0; i < state.jr.length; i++) {\n const regex = state.jr[i][0];\n const nextState = state.jr[i][1]; // note: might be empty to prevent default jump\n if (nextState && regex.test(input)) {\n return nextState;\n }\n }\n // Nowhere left to jump! Return default, if any\n return state.jd;\n },\n /**\n * Whether the state has a transition for the given input. Set the second\n * argument to true to only look for an exact match (and not a default or\n * regular-expression-based transition)\n * @param {string} input\n * @param {boolean} exactOnly\n */\n has(input, exactOnly = false) {\n return exactOnly ? input in this.j : !!this.go(input);\n },\n /**\n * Short for \"transition all\"; create a transition from the array of items\n * in the given list to the same final resulting state.\n * @param {string | string[]} inputs Group of inputs to transition on\n * @param {Transition | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n */\n ta(inputs, next, flags, groups) {\n for (let i = 0; i < inputs.length; i++) {\n this.tt(inputs[i], next, flags, groups);\n }\n },\n /**\n * Short for \"take regexp transition\"; defines a transition for this state\n * when it encounters a token which matches the given regular expression\n * @param {RegExp} regexp Regular expression transition (populate first)\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n * @returns {State} taken after the given input\n */\n tr(regexp, next, flags, groups) {\n groups = groups || State.groups;\n let nextState;\n if (next && next.j) {\n nextState = next;\n } else {\n // Token with maybe token groups\n nextState = new State(next);\n if (flags && groups) {\n addToGroups(next, flags, groups);\n }\n }\n this.jr.push([regexp, nextState]);\n return nextState;\n },\n /**\n * Short for \"take transitions\", will take as many sequential transitions as\n * the length of the given input and returns the\n * resulting final state.\n * @param {string | string[]} input\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n * @returns {State} taken after the given input\n */\n ts(input, next, flags, groups) {\n let state = this;\n const len = input.length;\n if (!len) {\n return state;\n }\n for (let i = 0; i < len - 1; i++) {\n state = state.tt(input[i]);\n }\n return state.tt(input[len - 1], next, flags, groups);\n },\n /**\n * Short for \"take transition\", this is a method for building/working with\n * state machines.\n *\n * If a state already exists for the given input, returns it.\n *\n * If a token is specified, that state will emit that token when reached by\n * the linkify engine.\n *\n * If no state exists, it will be initialized with some default transitions\n * that resemble existing default transitions.\n *\n * If a state is given for the second argument, that state will be\n * transitioned to on the given input regardless of what that input\n * previously did.\n *\n * Specify a token group flags to define groups that this token belongs to.\n * The token will be added to corresponding entires in the given groups\n * object.\n *\n * @param {string} input character, token type to transition on\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of groups\n * @returns {State} taken after the given input\n */\n tt(input, next, flags, groups) {\n groups = groups || State.groups;\n const state = this;\n\n // Check if existing state given, just a basic transition\n if (next && next.j) {\n state.j[input] = next;\n return next;\n }\n const t = next;\n\n // Take the transition with the usual default mechanisms and use that as\n // a template for creating the next state\n let nextState,\n templateState = state.go(input);\n if (templateState) {\n nextState = new State();\n Object.assign(nextState.j, templateState.j);\n nextState.jr.push.apply(nextState.jr, templateState.jr);\n nextState.jd = templateState.jd;\n nextState.t = templateState.t;\n } else {\n nextState = new State();\n }\n if (t) {\n // Ensure newly token is in the same groups as the old token\n if (groups) {\n if (nextState.t && typeof nextState.t === 'string') {\n const allFlags = Object.assign(flagsForToken(nextState.t, groups), flags);\n addToGroups(t, allFlags, groups);\n } else if (flags) {\n addToGroups(t, flags, groups);\n }\n }\n nextState.t = t; // overwrite anything that was previously there\n }\n state.j[input] = nextState;\n return nextState;\n }\n};\n\n// Helper functions to improve minification (not exported outside linkifyjs module)\n\n/**\n * @template T\n * @param {State} state\n * @param {string | string[]} input\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst ta = (state, input, next, flags, groups) => state.ta(input, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {RegExp} regexp\n * @param {T | State} [next]\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst tr = (state, regexp, next, flags, groups) => state.tr(regexp, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {string | string[]} input\n * @param {T | State} [next]\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst ts = (state, input, next, flags, groups) => state.ts(input, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {string} input\n * @param {T | State} [next]\n * @param {Collections} [groups]\n * @param {Flags} [flags]\n */\nconst tt = (state, input, next, flags, groups) => state.tt(input, next, flags, groups);\n\n/******************************************************************************\nText Tokens\nIdentifiers for token outputs from the regexp scanner\n******************************************************************************/\n\n// A valid web domain token\nconst WORD = 'WORD'; // only contains a-z\nconst UWORD = 'UWORD'; // contains letters other than a-z, used for IDN\nconst ASCIINUMERICAL = 'ASCIINUMERICAL'; // contains a-z, 0-9\nconst ALPHANUMERICAL = 'ALPHANUMERICAL'; // contains numbers and letters other than a-z, used for IDN\n\n// Special case of word\nconst LOCALHOST = 'LOCALHOST';\n\n// Valid top-level domain, special case of WORD (see tlds.js)\nconst TLD = 'TLD';\n\n// Valid IDN TLD, special case of UWORD (see tlds.js)\nconst UTLD = 'UTLD';\n\n// The scheme portion of a web URI protocol. Supported types include: `mailto`,\n// `file`, and user-defined custom protocols. Limited to schemes that contain\n// only letters\nconst SCHEME = 'SCHEME';\n\n// Similar to SCHEME, except makes distinction for schemes that must always be\n// followed by `://`, not just `:`. Supported types include `http`, `https`,\n// `ftp`, `ftps`\nconst SLASH_SCHEME = 'SLASH_SCHEME';\n\n// Any sequence of digits 0-9\nconst NUM = 'NUM';\n\n// Any number of consecutive whitespace characters that are not newline\nconst WS = 'WS';\n\n// New line (unix style)\nconst NL = 'NL'; // \\n\n\n// Opening/closing bracket classes\n// TODO: Rename OPEN -> LEFT and CLOSE -> RIGHT in v5 to fit with Unicode names\n// Also rename angle brackes to LESSTHAN and GREATER THAN\nconst OPENBRACE = 'OPENBRACE'; // {\nconst CLOSEBRACE = 'CLOSEBRACE'; // }\nconst OPENBRACKET = 'OPENBRACKET'; // [\nconst CLOSEBRACKET = 'CLOSEBRACKET'; // ]\nconst OPENPAREN = 'OPENPAREN'; // (\nconst CLOSEPAREN = 'CLOSEPAREN'; // )\nconst OPENANGLEBRACKET = 'OPENANGLEBRACKET'; // <\nconst CLOSEANGLEBRACKET = 'CLOSEANGLEBRACKET'; // >\nconst FULLWIDTHLEFTPAREN = 'FULLWIDTHLEFTPAREN'; // (\nconst FULLWIDTHRIGHTPAREN = 'FULLWIDTHRIGHTPAREN'; // )\nconst LEFTCORNERBRACKET = 'LEFTCORNERBRACKET'; // 「\nconst RIGHTCORNERBRACKET = 'RIGHTCORNERBRACKET'; // 」\nconst LEFTWHITECORNERBRACKET = 'LEFTWHITECORNERBRACKET'; // 『\nconst RIGHTWHITECORNERBRACKET = 'RIGHTWHITECORNERBRACKET'; // 』\nconst FULLWIDTHLESSTHAN = 'FULLWIDTHLESSTHAN'; // <\nconst FULLWIDTHGREATERTHAN = 'FULLWIDTHGREATERTHAN'; // >\n\n// Various symbols\nconst AMPERSAND = 'AMPERSAND'; // &\nconst APOSTROPHE = 'APOSTROPHE'; // '\nconst ASTERISK = 'ASTERISK'; // *\nconst AT = 'AT'; // @\nconst BACKSLASH = 'BACKSLASH'; // \\\nconst BACKTICK = 'BACKTICK'; // `\nconst CARET = 'CARET'; // ^\nconst COLON = 'COLON'; // :\nconst COMMA = 'COMMA'; // ,\nconst DOLLAR = 'DOLLAR'; // $\nconst DOT = 'DOT'; // .\nconst EQUALS = 'EQUALS'; // =\nconst EXCLAMATION = 'EXCLAMATION'; // !\nconst HYPHEN = 'HYPHEN'; // -\nconst PERCENT = 'PERCENT'; // %\nconst PIPE = 'PIPE'; // |\nconst PLUS = 'PLUS'; // +\nconst POUND = 'POUND'; // #\nconst QUERY = 'QUERY'; // ?\nconst QUOTE = 'QUOTE'; // \"\nconst FULLWIDTHMIDDLEDOT = 'FULLWIDTHMIDDLEDOT'; // ・\n\nconst SEMI = 'SEMI'; // ;\nconst SLASH = 'SLASH'; // /\nconst TILDE = 'TILDE'; // ~\nconst UNDERSCORE = 'UNDERSCORE'; // _\n\n// Emoji symbol\nconst EMOJI$1 = 'EMOJI';\n\n// Default token - anything that is not one of the above\nconst SYM = 'SYM';\n\nvar tk = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tALPHANUMERICAL: ALPHANUMERICAL,\n\tAMPERSAND: AMPERSAND,\n\tAPOSTROPHE: APOSTROPHE,\n\tASCIINUMERICAL: ASCIINUMERICAL,\n\tASTERISK: ASTERISK,\n\tAT: AT,\n\tBACKSLASH: BACKSLASH,\n\tBACKTICK: BACKTICK,\n\tCARET: CARET,\n\tCLOSEANGLEBRACKET: CLOSEANGLEBRACKET,\n\tCLOSEBRACE: CLOSEBRACE,\n\tCLOSEBRACKET: CLOSEBRACKET,\n\tCLOSEPAREN: CLOSEPAREN,\n\tCOLON: COLON,\n\tCOMMA: COMMA,\n\tDOLLAR: DOLLAR,\n\tDOT: DOT,\n\tEMOJI: EMOJI$1,\n\tEQUALS: EQUALS,\n\tEXCLAMATION: EXCLAMATION,\n\tFULLWIDTHGREATERTHAN: FULLWIDTHGREATERTHAN,\n\tFULLWIDTHLEFTPAREN: FULLWIDTHLEFTPAREN,\n\tFULLWIDTHLESSTHAN: FULLWIDTHLESSTHAN,\n\tFULLWIDTHMIDDLEDOT: FULLWIDTHMIDDLEDOT,\n\tFULLWIDTHRIGHTPAREN: FULLWIDTHRIGHTPAREN,\n\tHYPHEN: HYPHEN,\n\tLEFTCORNERBRACKET: LEFTCORNERBRACKET,\n\tLEFTWHITECORNERBRACKET: LEFTWHITECORNERBRACKET,\n\tLOCALHOST: LOCALHOST,\n\tNL: NL,\n\tNUM: NUM,\n\tOPENANGLEBRACKET: OPENANGLEBRACKET,\n\tOPENBRACE: OPENBRACE,\n\tOPENBRACKET: OPENBRACKET,\n\tOPENPAREN: OPENPAREN,\n\tPERCENT: PERCENT,\n\tPIPE: PIPE,\n\tPLUS: PLUS,\n\tPOUND: POUND,\n\tQUERY: QUERY,\n\tQUOTE: QUOTE,\n\tRIGHTCORNERBRACKET: RIGHTCORNERBRACKET,\n\tRIGHTWHITECORNERBRACKET: RIGHTWHITECORNERBRACKET,\n\tSCHEME: SCHEME,\n\tSEMI: SEMI,\n\tSLASH: SLASH,\n\tSLASH_SCHEME: SLASH_SCHEME,\n\tSYM: SYM,\n\tTILDE: TILDE,\n\tTLD: TLD,\n\tUNDERSCORE: UNDERSCORE,\n\tUTLD: UTLD,\n\tUWORD: UWORD,\n\tWORD: WORD,\n\tWS: WS\n});\n\n// Note that these two Unicode ones expand into a really big one with Babel\nconst ASCII_LETTER = /[a-z]/;\nconst LETTER = /\\p{L}/u; // Any Unicode character with letter data type\nconst EMOJI = /\\p{Emoji}/u; // Any Unicode emoji character\nconst EMOJI_VARIATION$1 = /\\ufe0f/;\nconst DIGIT = /\\d/;\nconst SPACE = /\\s/;\n\nvar regexp = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tASCII_LETTER: ASCII_LETTER,\n\tDIGIT: DIGIT,\n\tEMOJI: EMOJI,\n\tEMOJI_VARIATION: EMOJI_VARIATION$1,\n\tLETTER: LETTER,\n\tSPACE: SPACE\n});\n\n/**\n\tThe scanner provides an interface that takes a string of text as input, and\n\toutputs an array of tokens instances that can be used for easy URL parsing.\n*/\n\nconst CR = '\\r'; // carriage-return character\nconst LF = '\\n'; // line-feed character\nconst EMOJI_VARIATION = '\\ufe0f'; // Variation selector, follows heart and others\nconst EMOJI_JOINER = '\\u200d'; // zero-width joiner\nconst OBJECT_REPLACEMENT = '\\ufffc'; // whitespace placeholder that sometimes appears in rich text editors\n\nlet tlds = null,\n utlds = null; // don't change so only have to be computed once\n\n/**\n * Scanner output token:\n * - `t` is the token name (e.g., 'NUM', 'EMOJI', 'TLD')\n * - `v` is the value of the token (e.g., '123', '❤️', 'com')\n * - `s` is the start index of the token in the original string\n * - `e` is the end index of the token in the original string\n * @typedef {{t: string, v: string, s: number, e: number}} Token\n */\n\n/**\n * @template T\n * @typedef {{ [collection: string]: T[] }} Collections\n */\n\n/**\n * Initialize the scanner character-based state machine for the given start\n * state\n * @param {[string, boolean][]} customSchemes List of custom schemes, where each\n * item is a length-2 tuple with the first element set to the string scheme, and\n * the second element set to `true` if the `://` after the scheme is optional\n */\nfunction init$2(customSchemes = []) {\n // Frequently used states (name argument removed during minification)\n /** @type Collections */\n const groups = {}; // of tokens\n State.groups = groups;\n /** @type State */\n const Start = new State();\n if (tlds == null) {\n tlds = decodeTlds(encodedTlds);\n }\n if (utlds == null) {\n utlds = decodeTlds(encodedUtlds);\n }\n\n // States for special URL symbols that accept immediately after start\n tt(Start, \"'\", APOSTROPHE);\n tt(Start, '{', OPENBRACE);\n tt(Start, '}', CLOSEBRACE);\n tt(Start, '[', OPENBRACKET);\n tt(Start, ']', CLOSEBRACKET);\n tt(Start, '(', OPENPAREN);\n tt(Start, ')', CLOSEPAREN);\n tt(Start, '<', OPENANGLEBRACKET);\n tt(Start, '>', CLOSEANGLEBRACKET);\n tt(Start, '(', FULLWIDTHLEFTPAREN);\n tt(Start, ')', FULLWIDTHRIGHTPAREN);\n tt(Start, '「', LEFTCORNERBRACKET);\n tt(Start, '」', RIGHTCORNERBRACKET);\n tt(Start, '『', LEFTWHITECORNERBRACKET);\n tt(Start, '』', RIGHTWHITECORNERBRACKET);\n tt(Start, '<', FULLWIDTHLESSTHAN);\n tt(Start, '>', FULLWIDTHGREATERTHAN);\n tt(Start, '&', AMPERSAND);\n tt(Start, '*', ASTERISK);\n tt(Start, '@', AT);\n tt(Start, '`', BACKTICK);\n tt(Start, '^', CARET);\n tt(Start, ':', COLON);\n tt(Start, ',', COMMA);\n tt(Start, '$', DOLLAR);\n tt(Start, '.', DOT);\n tt(Start, '=', EQUALS);\n tt(Start, '!', EXCLAMATION);\n tt(Start, '-', HYPHEN);\n tt(Start, '%', PERCENT);\n tt(Start, '|', PIPE);\n tt(Start, '+', PLUS);\n tt(Start, '#', POUND);\n tt(Start, '?', QUERY);\n tt(Start, '\"', QUOTE);\n tt(Start, '/', SLASH);\n tt(Start, ';', SEMI);\n tt(Start, '~', TILDE);\n tt(Start, '_', UNDERSCORE);\n tt(Start, '\\\\', BACKSLASH);\n tt(Start, '・', FULLWIDTHMIDDLEDOT);\n const Num = tr(Start, DIGIT, NUM, {\n [numeric]: true\n });\n tr(Num, DIGIT, Num);\n const Asciinumeric = tr(Num, ASCII_LETTER, ASCIINUMERICAL, {\n [asciinumeric]: true\n });\n const Alphanumeric = tr(Num, LETTER, ALPHANUMERICAL, {\n [alphanumeric]: true\n });\n\n // State which emits a word token\n const Word = tr(Start, ASCII_LETTER, WORD, {\n [ascii]: true\n });\n tr(Word, DIGIT, Asciinumeric);\n tr(Word, ASCII_LETTER, Word);\n tr(Asciinumeric, DIGIT, Asciinumeric);\n tr(Asciinumeric, ASCII_LETTER, Asciinumeric);\n\n // Same as previous, but specific to non-fsm.ascii alphabet words\n const UWord = tr(Start, LETTER, UWORD, {\n [alpha]: true\n });\n tr(UWord, ASCII_LETTER); // Non-accepting\n tr(UWord, DIGIT, Alphanumeric);\n tr(UWord, LETTER, UWord);\n tr(Alphanumeric, DIGIT, Alphanumeric);\n tr(Alphanumeric, ASCII_LETTER); // Non-accepting\n tr(Alphanumeric, LETTER, Alphanumeric); // Non-accepting\n\n // Whitespace jumps\n // Tokens of only non-newline whitespace are arbitrarily long\n // If any whitespace except newline, more whitespace!\n const Nl = tt(Start, LF, NL, {\n [whitespace]: true\n });\n const Cr = tt(Start, CR, WS, {\n [whitespace]: true\n });\n const Ws = tr(Start, SPACE, WS, {\n [whitespace]: true\n });\n tt(Start, OBJECT_REPLACEMENT, Ws);\n tt(Cr, LF, Nl); // \\r\\n\n tt(Cr, OBJECT_REPLACEMENT, Ws);\n tr(Cr, SPACE, Ws);\n tt(Ws, CR); // non-accepting state to avoid mixing whitespaces\n tt(Ws, LF); // non-accepting state to avoid mixing whitespaces\n tr(Ws, SPACE, Ws);\n tt(Ws, OBJECT_REPLACEMENT, Ws);\n\n // Emoji tokens. They are not grouped by the scanner except in cases where a\n // zero-width joiner is present\n const Emoji = tr(Start, EMOJI, EMOJI$1, {\n [emoji]: true\n });\n tt(Emoji, '#'); // no transition, emoji regex seems to match #\n tr(Emoji, EMOJI, Emoji);\n tt(Emoji, EMOJI_VARIATION, Emoji);\n // tt(Start, EMOJI_VARIATION, Emoji); // This one is sketchy\n\n const EmojiJoiner = tt(Emoji, EMOJI_JOINER);\n tt(EmojiJoiner, '#');\n tr(EmojiJoiner, EMOJI, Emoji);\n // tt(EmojiJoiner, EMOJI_VARIATION, Emoji); // also sketchy\n\n // Generates states for top-level domains\n // Note that this is most accurate when tlds are in alphabetical order\n const wordjr = [[ASCII_LETTER, Word], [DIGIT, Asciinumeric]];\n const uwordjr = [[ASCII_LETTER, null], [LETTER, UWord], [DIGIT, Alphanumeric]];\n for (let i = 0; i < tlds.length; i++) {\n fastts(Start, tlds[i], TLD, WORD, wordjr);\n }\n for (let i = 0; i < utlds.length; i++) {\n fastts(Start, utlds[i], UTLD, UWORD, uwordjr);\n }\n addToGroups(TLD, {\n tld: true,\n ascii: true\n }, groups);\n addToGroups(UTLD, {\n utld: true,\n alpha: true\n }, groups);\n\n // Collect the states generated by different protocols. NOTE: If any new TLDs\n // get added that are also protocols, set the token to be the same as the\n // protocol to ensure parsing works as expected.\n fastts(Start, 'file', SCHEME, WORD, wordjr);\n fastts(Start, 'mailto', SCHEME, WORD, wordjr);\n fastts(Start, 'http', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'https', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'ftp', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'ftps', SLASH_SCHEME, WORD, wordjr);\n addToGroups(SCHEME, {\n scheme: true,\n ascii: true\n }, groups);\n addToGroups(SLASH_SCHEME, {\n slashscheme: true,\n ascii: true\n }, groups);\n\n // Register custom schemes. Assumes each scheme is asciinumeric with hyphens\n customSchemes = customSchemes.sort((a, b) => a[0] > b[0] ? 1 : -1);\n for (let i = 0; i < customSchemes.length; i++) {\n const sch = customSchemes[i][0];\n const optionalSlashSlash = customSchemes[i][1];\n const flags = optionalSlashSlash ? {\n [scheme]: true\n } : {\n [slashscheme]: true\n };\n if (sch.indexOf('-') >= 0) {\n flags[domain] = true;\n } else if (!ASCII_LETTER.test(sch)) {\n flags[numeric] = true; // numbers only\n } else if (DIGIT.test(sch)) {\n flags[asciinumeric] = true;\n } else {\n flags[ascii] = true;\n }\n ts(Start, sch, sch, flags);\n }\n\n // Localhost token\n ts(Start, 'localhost', LOCALHOST, {\n ascii: true\n });\n\n // Set default transition for start state (some symbol)\n Start.jd = new State(SYM);\n return {\n start: Start,\n tokens: Object.assign({\n groups\n }, tk)\n };\n}\n\n/**\n\tGiven a string, returns an array of TOKEN instances representing the\n\tcomposition of that string.\n\n\t@method run\n\t@param {State} start scanner starting state\n\t@param {string} str input string to scan\n\t@return {Token[]} list of tokens, each with a type and value\n*/\nfunction run$1(start, str) {\n // State machine is not case sensitive, so input is tokenized in lowercased\n // form (still returns regular case). Uses selective `toLowerCase` because\n // lowercasing the entire string causes the length and character position to\n // vary in some non-English strings with V8-based runtimes.\n const iterable = stringToArray(str.replace(/[A-Z]/g, c => c.toLowerCase()));\n const charCount = iterable.length; // <= len if there are emojis, etc\n const tokens = []; // return value\n\n // cursor through the string itself, accounting for characters that have\n // width with length 2 such as emojis\n let cursor = 0;\n\n // Cursor through the array-representation of the string\n let charCursor = 0;\n\n // Tokenize the string\n while (charCursor < charCount) {\n let state = start;\n let nextState = null;\n let tokenLength = 0;\n let latestAccepting = null;\n let sinceAccepts = -1;\n let charsSinceAccepts = -1;\n while (charCursor < charCount && (nextState = state.go(iterable[charCursor]))) {\n state = nextState;\n\n // Keep track of the latest accepting state\n if (state.accepts()) {\n sinceAccepts = 0;\n charsSinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts += iterable[charCursor].length;\n charsSinceAccepts++;\n }\n tokenLength += iterable[charCursor].length;\n cursor += iterable[charCursor].length;\n charCursor++;\n }\n\n // Roll back to the latest accepting state\n cursor -= sinceAccepts;\n charCursor -= charsSinceAccepts;\n tokenLength -= sinceAccepts;\n\n // No more jumps, just make a new token from the last accepting one\n tokens.push({\n t: latestAccepting.t,\n // token type/name\n v: str.slice(cursor - tokenLength, cursor),\n // string value\n s: cursor - tokenLength,\n // start index\n e: cursor // end index (excluding)\n });\n }\n return tokens;\n}\n\n/**\n * Convert a String to an Array of characters, taking into account that some\n * characters like emojis take up two string indexes.\n *\n * Adapted from core-js (MIT license)\n * https://github.com/zloirock/core-js/blob/2d69cf5f99ab3ea3463c395df81e5a15b68f49d9/packages/core-js/internals/string-multibyte.js\n *\n * @function stringToArray\n * @param {string} str\n * @returns {string[]}\n */\nfunction stringToArray(str) {\n const result = [];\n const len = str.length;\n let index = 0;\n while (index < len) {\n let first = str.charCodeAt(index);\n let second;\n let char = first < 0xd800 || first > 0xdbff || index + 1 === len || (second = str.charCodeAt(index + 1)) < 0xdc00 || second > 0xdfff ? str[index] // single character\n : str.slice(index, index + 2); // two-index characters\n result.push(char);\n index += char.length;\n }\n return result;\n}\n\n/**\n * Fast version of ts function for when transition defaults are well known\n * @param {State} state\n * @param {string} input\n * @param {string} t\n * @param {string} defaultt\n * @param {[RegExp, State][]} jr\n * @returns {State}\n */\nfunction fastts(state, input, t, defaultt, jr) {\n let next;\n const len = input.length;\n for (let i = 0; i < len - 1; i++) {\n const char = input[i];\n if (state.j[char]) {\n next = state.j[char];\n } else {\n next = new State(defaultt);\n next.jr = jr.slice();\n state.j[char] = next;\n }\n state = next;\n }\n next = new State(t);\n next.jr = jr.slice();\n state.j[input[len - 1]] = next;\n return next;\n}\n\n/**\n * Converts a string of Top-Level Domain names encoded in update-tlds.js back\n * into a list of strings.\n * @param {str} encoded encoded TLDs string\n * @returns {str[]} original TLDs list\n */\nfunction decodeTlds(encoded) {\n const words = [];\n const stack = [];\n let i = 0;\n let digits = '0123456789';\n while (i < encoded.length) {\n let popDigitCount = 0;\n while (digits.indexOf(encoded[i + popDigitCount]) >= 0) {\n popDigitCount++; // encountered some digits, have to pop to go one level up trie\n }\n if (popDigitCount > 0) {\n words.push(stack.join('')); // whatever preceded the pop digits must be a word\n for (let popCount = parseInt(encoded.substring(i, i + popDigitCount), 10); popCount > 0; popCount--) {\n stack.pop();\n }\n i += popDigitCount;\n } else {\n stack.push(encoded[i]); // drop down a level into the trie\n i++;\n }\n }\n return words;\n}\n\n/**\n * An object where each key is a valid DOM Event Name such as `click` or `focus`\n * and each value is an event handler function.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/Element#events\n * @typedef {?{ [event: string]: Function }} EventListeners\n */\n\n/**\n * All formatted properties required to render a link, including `tagName`,\n * `attributes`, `content` and `eventListeners`.\n * @typedef {{ tagName: any, attributes: {[attr: string]: any}, content: string,\n * eventListeners: EventListeners }} IntermediateRepresentation\n */\n\n/**\n * Specify either an object described by the template type `O` or a function.\n *\n * The function takes a string value (usually the link's href attribute), the\n * link type (`'url'`, `'hashtag`', etc.) and an internal token representation\n * of the link. It should return an object of the template type `O`\n * @template O\n * @typedef {O | ((value: string, type: string, token: MultiToken) => O)} OptObj\n */\n\n/**\n * Specify either a function described by template type `F` or an object.\n *\n * Each key in the object should be a link type (`'url'`, `'hashtag`', etc.). Each\n * value should be a function with template type `F` that is called when the\n * corresponding link type is encountered.\n * @template F\n * @typedef {F | { [type: string]: F}} OptFn\n */\n\n/**\n * Specify either a value with template type `V`, a function that returns `V` or\n * an object where each value resolves to `V`.\n *\n * The function takes a string value (usually the link's href attribute), the\n * link type (`'url'`, `'hashtag`', etc.) and an internal token representation\n * of the link. It should return an object of the template type `V`\n *\n * For the object, each key should be a link type (`'url'`, `'hashtag`', etc.).\n * Each value should either have type `V` or a function that returns V. This\n * function similarly takes a string value and a token.\n *\n * Example valid types for `Opt`:\n *\n * ```js\n * 'hello'\n * (value, type, token) => 'world'\n * { url: 'hello', email: (value, token) => 'world'}\n * ```\n * @template V\n * @typedef {V | ((value: string, type: string, token: MultiToken) => V) | { [type: string]: V | ((value: string, token: MultiToken) => V) }} Opt\n */\n\n/**\n * See available options: https://linkify.js.org/docs/options.html\n * @typedef {{\n * \tdefaultProtocol?: string,\n * events?: OptObj,\n * \tformat?: Opt,\n * \tformatHref?: Opt,\n * \tnl2br?: boolean,\n * \ttagName?: Opt,\n * \ttarget?: Opt,\n * \trel?: Opt,\n * \tvalidate?: Opt,\n * \ttruncate?: Opt,\n * \tclassName?: Opt,\n * \tattributes?: OptObj<({ [attr: string]: any })>,\n * ignoreTags?: string[],\n * \trender?: OptFn<((ir: IntermediateRepresentation) => any)>\n * }} Opts\n */\n\n/**\n * @type Required\n */\nconst defaults = {\n defaultProtocol: 'http',\n events: null,\n format: noop,\n formatHref: noop,\n nl2br: false,\n tagName: 'a',\n target: null,\n rel: null,\n validate: true,\n truncate: Infinity,\n className: null,\n attributes: null,\n ignoreTags: [],\n render: null\n};\n\n/**\n * Utility class for linkify interfaces to apply specified\n * {@link Opts formatting and rendering options}.\n *\n * @param {Opts | Options} [opts] Option value overrides.\n * @param {(ir: IntermediateRepresentation) => any} [defaultRender] (For\n * internal use) default render function that determines how to generate an\n * HTML element based on a link token's derived tagName, attributes and HTML.\n * Similar to render option\n */\nfunction Options(opts, defaultRender = null) {\n let o = Object.assign({}, defaults);\n if (opts) {\n o = Object.assign(o, opts instanceof Options ? opts.o : opts);\n }\n\n // Ensure all ignored tags are uppercase\n const ignoredTags = o.ignoreTags;\n const uppercaseIgnoredTags = [];\n for (let i = 0; i < ignoredTags.length; i++) {\n uppercaseIgnoredTags.push(ignoredTags[i].toUpperCase());\n }\n /** @protected */\n this.o = o;\n if (defaultRender) {\n this.defaultRender = defaultRender;\n }\n this.ignoreTags = uppercaseIgnoredTags;\n}\nOptions.prototype = {\n o: defaults,\n /**\n * @type string[]\n */\n ignoreTags: [],\n /**\n * @param {IntermediateRepresentation} ir\n * @returns {any}\n */\n defaultRender(ir) {\n return ir;\n },\n /**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options.\n * @param {MultiToken} token\n * @returns {boolean}\n */\n check(token) {\n return this.get('validate', token.toString(), token);\n },\n // Private methods\n\n /**\n * Resolve an option's value based on the value of the option and the given\n * params. If operator and token are specified and the target option is\n * callable, automatically calls the function with the given argument.\n * @template {keyof Opts} K\n * @param {K} key Name of option to use\n * @param {string} [operator] will be passed to the target option if it's a\n * function. If not specified, RAW function value gets returned\n * @param {MultiToken} [token] The token from linkify.tokenize\n * @returns {Opts[K] | any}\n */\n get(key, operator, token) {\n const isCallable = operator != null;\n let option = this.o[key];\n if (!option) {\n return option;\n }\n if (typeof option === 'object') {\n option = token.t in option ? option[token.t] : defaults[key];\n if (typeof option === 'function' && isCallable) {\n option = option(operator, token);\n }\n } else if (typeof option === 'function' && isCallable) {\n option = option(operator, token.t, token);\n }\n return option;\n },\n /**\n * @template {keyof Opts} L\n * @param {L} key Name of options object to use\n * @param {string} [operator]\n * @param {MultiToken} [token]\n * @returns {Opts[L] | any}\n */\n getObj(key, operator, token) {\n let obj = this.o[key];\n if (typeof obj === 'function' && operator != null) {\n obj = obj(operator, token.t, token);\n }\n return obj;\n },\n /**\n * Convert the given token to a rendered element that may be added to the\n * calling-interface's DOM\n * @param {MultiToken} token Token to render to an HTML element\n * @returns {any} Render result; e.g., HTML string, DOM element, React\n * Component, etc.\n */\n render(token) {\n const ir = token.render(this); // intermediate representation\n const renderFn = this.get('render', null, token) || this.defaultRender;\n return renderFn(ir, token.t, token);\n }\n};\nfunction noop(val) {\n return val;\n}\n\nvar options = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tOptions: Options,\n\tdefaults: defaults\n});\n\n/******************************************************************************\n\tMulti-Tokens\n\tTokens composed of arrays of TextTokens\n******************************************************************************/\n\n/**\n * @param {string} value\n * @param {Token[]} tokens\n */\nfunction MultiToken(value, tokens) {\n this.t = 'token';\n this.v = value;\n this.tk = tokens;\n}\n\n/**\n * Abstract class used for manufacturing tokens of text tokens. That is rather\n * than the value for a token being a small string of text, it's value an array\n * of text tokens.\n *\n * Used for grouping together URLs, emails, hashtags, and other potential\n * creations.\n * @class MultiToken\n * @property {string} t\n * @property {string} v\n * @property {Token[]} tk\n * @abstract\n */\nMultiToken.prototype = {\n isLink: false,\n /**\n * Return the string this token represents.\n * @return {string}\n */\n toString() {\n return this.v;\n },\n /**\n * What should the value for this token be in the `href` HTML attribute?\n * Returns the `.toString` value by default.\n * @param {string} [scheme]\n * @return {string}\n */\n toHref(scheme) {\n return this.toString();\n },\n /**\n * @param {Options} options Formatting options\n * @returns {string}\n */\n toFormattedString(options) {\n const val = this.toString();\n const truncate = options.get('truncate', val, this);\n const formatted = options.get('format', val, this);\n return truncate && formatted.length > truncate ? formatted.substring(0, truncate) + '…' : formatted;\n },\n /**\n *\n * @param {Options} options\n * @returns {string}\n */\n toFormattedHref(options) {\n return options.get('formatHref', this.toHref(options.get('defaultProtocol')), this);\n },\n /**\n * The start index of this token in the original input string\n * @returns {number}\n */\n startIndex() {\n return this.tk[0].s;\n },\n /**\n * The end index of this token in the original input string (up to this\n * index but not including it)\n * @returns {number}\n */\n endIndex() {\n return this.tk[this.tk.length - 1].e;\n },\n /**\n \tReturns an object of relevant values for this token, which includes keys\n \t* type - Kind of token ('url', 'email', etc.)\n \t* value - Original text\n \t* href - The value that should be added to the anchor tag's href\n \t\tattribute\n \t\t@method toObject\n \t@param {string} [protocol] `'http'` by default\n */\n toObject(protocol = defaults.defaultProtocol) {\n return {\n type: this.t,\n value: this.toString(),\n isLink: this.isLink,\n href: this.toHref(protocol),\n start: this.startIndex(),\n end: this.endIndex()\n };\n },\n /**\n *\n * @param {Options} options Formatting option\n */\n toFormattedObject(options) {\n return {\n type: this.t,\n value: this.toFormattedString(options),\n isLink: this.isLink,\n href: this.toFormattedHref(options),\n start: this.startIndex(),\n end: this.endIndex()\n };\n },\n /**\n * Whether this token should be rendered as a link according to the given options\n * @param {Options} options\n * @returns {boolean}\n */\n validate(options) {\n return options.get('validate', this.toString(), this);\n },\n /**\n * Return an object that represents how this link should be rendered.\n * @param {Options} options Formattinng options\n */\n render(options) {\n const token = this;\n const href = this.toHref(options.get('defaultProtocol'));\n const formattedHref = options.get('formatHref', href, this);\n const tagName = options.get('tagName', href, token);\n const content = this.toFormattedString(options);\n const attributes = {};\n const className = options.get('className', href, token);\n const target = options.get('target', href, token);\n const rel = options.get('rel', href, token);\n const attrs = options.getObj('attributes', href, token);\n const eventListeners = options.getObj('events', href, token);\n attributes.href = formattedHref;\n if (className) {\n attributes.class = className;\n }\n if (target) {\n attributes.target = target;\n }\n if (rel) {\n attributes.rel = rel;\n }\n if (attrs) {\n Object.assign(attributes, attrs);\n }\n return {\n tagName,\n attributes,\n content,\n eventListeners\n };\n }\n};\n\n/**\n * Create a new token that can be emitted by the parser state machine\n * @param {string} type readable type of the token\n * @param {object} props properties to assign or override, including isLink = true or false\n * @returns {new (value: string, tokens: Token[]) => MultiToken} new token class\n */\nfunction createTokenClass(type, props) {\n class Token extends MultiToken {\n constructor(value, tokens) {\n super(value, tokens);\n this.t = type;\n }\n }\n for (const p in props) {\n Token.prototype[p] = props[p];\n }\n Token.t = type;\n return Token;\n}\n\n/**\n\tRepresents a list of tokens making up a valid email address\n*/\nconst Email = createTokenClass('email', {\n isLink: true,\n toHref() {\n return 'mailto:' + this.toString();\n }\n});\n\n/**\n\tRepresents some plain text\n*/\nconst Text = createTokenClass('text');\n\n/**\n\tMulti-linebreak token - represents a line break\n\t@class Nl\n*/\nconst Nl = createTokenClass('nl');\n\n/**\n\tRepresents a list of text tokens making up a valid URL\n\t@class Url\n*/\nconst Url = createTokenClass('url', {\n isLink: true,\n /**\n \tLowercases relevant parts of the domain and adds the protocol if\n \trequired. Note that this will not escape unsafe HTML characters in the\n \tURL.\n \t\t@param {string} [scheme] default scheme (e.g., 'https')\n \t@return {string} the full href\n */\n toHref(scheme = defaults.defaultProtocol) {\n // Check if already has a prefix scheme\n return this.hasProtocol() ? this.v : `${scheme}://${this.v}`;\n },\n /**\n * Check whether this URL token has a protocol\n * @return {boolean}\n */\n hasProtocol() {\n const tokens = this.tk;\n return tokens.length >= 2 && tokens[0].t !== LOCALHOST && tokens[1].t === COLON;\n }\n});\n\nvar multi = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tBase: MultiToken,\n\tEmail: Email,\n\tMultiToken: MultiToken,\n\tNl: Nl,\n\tText: Text,\n\tUrl: Url,\n\tcreateTokenClass: createTokenClass\n});\n\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/EmailAddress (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main run\n*/\n\nconst makeState = arg => new State(arg);\n\n/**\n * Generate the parser multi token-based state machine\n * @param {{ groups: Collections }} tokens\n */\nfunction init$1({\n groups\n}) {\n // Types of characters the URL can definitely end in\n const qsAccepting = groups.domain.concat([AMPERSAND, ASTERISK, AT, BACKSLASH, BACKTICK, CARET, DOLLAR, EQUALS, HYPHEN, NUM, PERCENT, PIPE, PLUS, POUND, SLASH, SYM, TILDE, UNDERSCORE]);\n\n // Types of tokens that can follow a URL and be part of the query string\n // but cannot be the very last characters\n // Characters that cannot appear in the URL at all should be excluded\n const qsNonAccepting = [APOSTROPHE, COLON, COMMA, DOT, EXCLAMATION, PERCENT, QUERY, QUOTE, SEMI, OPENANGLEBRACKET, CLOSEANGLEBRACKET, OPENBRACE, CLOSEBRACE, CLOSEBRACKET, OPENBRACKET, OPENPAREN, CLOSEPAREN, FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN, LEFTCORNERBRACKET, RIGHTCORNERBRACKET, LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET, FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN];\n\n // For addresses without the mailto prefix\n // Tokens allowed in the localpart of the email\n const localpartAccepting = [AMPERSAND, APOSTROPHE, ASTERISK, BACKSLASH, BACKTICK, CARET, DOLLAR, EQUALS, HYPHEN, OPENBRACE, CLOSEBRACE, PERCENT, PIPE, PLUS, POUND, QUERY, SLASH, SYM, TILDE, UNDERSCORE];\n\n // The universal starting state.\n /**\n * @type State\n */\n const Start = makeState();\n const Localpart = tt(Start, TILDE); // Local part of the email address\n ta(Localpart, localpartAccepting, Localpart);\n ta(Localpart, groups.domain, Localpart);\n const Domain = makeState(),\n Scheme = makeState(),\n SlashScheme = makeState();\n ta(Start, groups.domain, Domain); // parsed string ends with a potential domain name (A)\n ta(Start, groups.scheme, Scheme); // e.g., 'mailto'\n ta(Start, groups.slashscheme, SlashScheme); // e.g., 'http'\n\n ta(Domain, localpartAccepting, Localpart);\n ta(Domain, groups.domain, Domain);\n const LocalpartAt = tt(Domain, AT); // Local part of the email address plus @\n\n tt(Localpart, AT, LocalpartAt); // close to an email address now\n\n // Local part of an email address can be e.g. 'http' or 'mailto'\n tt(Scheme, AT, LocalpartAt);\n tt(SlashScheme, AT, LocalpartAt);\n const LocalpartDot = tt(Localpart, DOT); // Local part of the email address plus '.' (localpart cannot end in .)\n ta(LocalpartDot, localpartAccepting, Localpart);\n ta(LocalpartDot, groups.domain, Localpart);\n const EmailDomain = makeState();\n ta(LocalpartAt, groups.domain, EmailDomain); // parsed string starts with local email info + @ with a potential domain name\n ta(EmailDomain, groups.domain, EmailDomain);\n const EmailDomainDot = tt(EmailDomain, DOT); // domain followed by DOT\n ta(EmailDomainDot, groups.domain, EmailDomain);\n const Email$1 = makeState(Email); // Possible email address (could have more tlds)\n ta(EmailDomainDot, groups.tld, Email$1);\n ta(EmailDomainDot, groups.utld, Email$1);\n tt(LocalpartAt, LOCALHOST, Email$1);\n\n // Hyphen can jump back to a domain name\n const EmailDomainHyphen = tt(EmailDomain, HYPHEN); // parsed string starts with local email info + @ with a potential domain name\n tt(EmailDomainHyphen, HYPHEN, EmailDomainHyphen);\n ta(EmailDomainHyphen, groups.domain, EmailDomain);\n ta(Email$1, groups.domain, EmailDomain);\n tt(Email$1, DOT, EmailDomainDot);\n tt(Email$1, HYPHEN, EmailDomainHyphen);\n\n // Final possible email states\n const EmailColon = tt(Email$1, COLON); // URL followed by colon (potential port number here)\n /*const EmailColonPort = */\n ta(EmailColon, groups.numeric, Email); // URL followed by colon and port number\n\n // Account for dots and hyphens. Hyphens are usually parts of domain names\n // (but not TLDs)\n const DomainHyphen = tt(Domain, HYPHEN); // domain followed by hyphen\n const DomainDot = tt(Domain, DOT); // domain followed by DOT\n tt(DomainHyphen, HYPHEN, DomainHyphen);\n ta(DomainHyphen, groups.domain, Domain);\n ta(DomainDot, localpartAccepting, Localpart);\n ta(DomainDot, groups.domain, Domain);\n const DomainDotTld = makeState(Url); // Simplest possible URL with no query string\n ta(DomainDot, groups.tld, DomainDotTld);\n ta(DomainDot, groups.utld, DomainDotTld);\n ta(DomainDotTld, groups.domain, Domain);\n ta(DomainDotTld, localpartAccepting, Localpart);\n tt(DomainDotTld, DOT, DomainDot);\n tt(DomainDotTld, HYPHEN, DomainHyphen);\n tt(DomainDotTld, AT, LocalpartAt);\n const DomainDotTldColon = tt(DomainDotTld, COLON); // URL followed by colon (potential port number here)\n const DomainDotTldColonPort = makeState(Url); // TLD followed by a port number\n ta(DomainDotTldColon, groups.numeric, DomainDotTldColonPort);\n\n // Long URL with optional port and maybe query string\n const Url$1 = makeState(Url);\n\n // URL with extra symbols at the end, followed by an opening bracket\n const UrlNonaccept = makeState(); // URL followed by some symbols (will not be part of the final URL)\n\n // Query strings\n ta(Url$1, qsAccepting, Url$1);\n ta(Url$1, qsNonAccepting, UrlNonaccept);\n ta(UrlNonaccept, qsAccepting, Url$1);\n ta(UrlNonaccept, qsNonAccepting, UrlNonaccept);\n\n // Become real URLs after `SLASH` or `COLON NUM SLASH`\n // Here works with or without scheme:// prefix\n tt(DomainDotTld, SLASH, Url$1);\n tt(DomainDotTldColonPort, SLASH, Url$1);\n\n // Note that domains that begin with schemes are treated slighly differently\n const SchemeColon = tt(Scheme, COLON); // e.g., 'mailto:'\n const SlashSchemeColon = tt(SlashScheme, COLON); // e.g., 'http:'\n const SlashSchemeColonSlash = tt(SlashSchemeColon, SLASH); // e.g., 'http:/'\n\n const UriPrefix = tt(SlashSchemeColonSlash, SLASH); // e.g., 'http://'\n\n // Scheme states can transition to domain states\n ta(Scheme, groups.domain, Domain);\n tt(Scheme, DOT, DomainDot);\n tt(Scheme, HYPHEN, DomainHyphen);\n ta(SlashScheme, groups.domain, Domain);\n tt(SlashScheme, DOT, DomainDot);\n tt(SlashScheme, HYPHEN, DomainHyphen);\n\n // Force URL with scheme prefix followed by anything sane\n ta(SchemeColon, groups.domain, Url$1);\n tt(SchemeColon, SLASH, Url$1);\n tt(SchemeColon, QUERY, Url$1);\n ta(UriPrefix, groups.domain, Url$1);\n ta(UriPrefix, qsAccepting, Url$1);\n tt(UriPrefix, SLASH, Url$1);\n const bracketPairs = [[OPENBRACE, CLOSEBRACE],\n // {}\n [OPENBRACKET, CLOSEBRACKET],\n // []\n [OPENPAREN, CLOSEPAREN],\n // ()\n [OPENANGLEBRACKET, CLOSEANGLEBRACKET],\n // <>\n [FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN],\n // ()\n [LEFTCORNERBRACKET, RIGHTCORNERBRACKET],\n // 「」\n [LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET],\n // 『』\n [FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN] // <>\n ];\n for (let i = 0; i < bracketPairs.length; i++) {\n const [OPEN, CLOSE] = bracketPairs[i];\n const UrlOpen = tt(Url$1, OPEN); // URL followed by open bracket\n\n // Continue not accepting for open brackets\n tt(UrlNonaccept, OPEN, UrlOpen);\n\n // Closing bracket component. This character WILL be included in the URL\n tt(UrlOpen, CLOSE, Url$1);\n\n // URL that beings with an opening bracket, followed by a symbols.\n // Note that the final state can still be `UrlOpen` (if the URL has a\n // single opening bracket for some reason).\n const UrlOpenQ = makeState(Url);\n ta(UrlOpen, qsAccepting, UrlOpenQ);\n const UrlOpenSyms = makeState(); // UrlOpen followed by some symbols it cannot end it\n ta(UrlOpen, qsNonAccepting);\n\n // URL that begins with an opening bracket, followed by some symbols\n ta(UrlOpenQ, qsAccepting, UrlOpenQ);\n ta(UrlOpenQ, qsNonAccepting, UrlOpenSyms);\n ta(UrlOpenSyms, qsAccepting, UrlOpenQ);\n ta(UrlOpenSyms, qsNonAccepting, UrlOpenSyms);\n\n // Close brace/bracket to become regular URL\n tt(UrlOpenQ, CLOSE, Url$1);\n tt(UrlOpenSyms, CLOSE, Url$1);\n }\n tt(Start, LOCALHOST, DomainDotTld); // localhost is a valid URL state\n tt(Start, NL, Nl); // single new line\n\n return {\n start: Start,\n tokens: tk\n };\n}\n\n/**\n * Run the parser state machine on a list of scanned string-based tokens to\n * create a list of multi tokens, each of which represents a URL, email address,\n * plain text, etc.\n *\n * @param {State} start parser start state\n * @param {string} input the original input used to generate the given tokens\n * @param {Token[]} tokens list of scanned tokens\n * @returns {MultiToken[]}\n */\nfunction run(start, input, tokens) {\n let len = tokens.length;\n let cursor = 0;\n let multis = [];\n let textTokens = [];\n while (cursor < len) {\n let state = start;\n let secondState = null;\n let nextState = null;\n let multiLength = 0;\n let latestAccepting = null;\n let sinceAccepts = -1;\n while (cursor < len && !(secondState = state.go(tokens[cursor].t))) {\n // Starting tokens with nowhere to jump to.\n // Consider these to be just plain text\n textTokens.push(tokens[cursor++]);\n }\n while (cursor < len && (nextState = secondState || state.go(tokens[cursor].t))) {\n // Get the next state\n secondState = null;\n state = nextState;\n\n // Keep track of the latest accepting state\n if (state.accepts()) {\n sinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts++;\n }\n cursor++;\n multiLength++;\n }\n if (sinceAccepts < 0) {\n // No accepting state was found, part of a regular text token add\n // the first text token to the text tokens array and try again from\n // the next\n cursor -= multiLength;\n if (cursor < len) {\n textTokens.push(tokens[cursor]);\n cursor++;\n }\n } else {\n // Accepting state!\n // First close off the textTokens (if available)\n if (textTokens.length > 0) {\n multis.push(initMultiToken(Text, input, textTokens));\n textTokens = [];\n }\n\n // Roll back to the latest accepting state\n cursor -= sinceAccepts;\n multiLength -= sinceAccepts;\n\n // Create a new multitoken\n const Multi = latestAccepting.t;\n const subtokens = tokens.slice(cursor - multiLength, cursor);\n multis.push(initMultiToken(Multi, input, subtokens));\n }\n }\n\n // Finally close off the textTokens (if available)\n if (textTokens.length > 0) {\n multis.push(initMultiToken(Text, input, textTokens));\n }\n return multis;\n}\n\n/**\n * Utility function for instantiating a new multitoken with all the relevant\n * fields during parsing.\n * @param {new (value: string, tokens: Token[]) => MultiToken} Multi class to instantiate\n * @param {string} input original input string\n * @param {Token[]} tokens consecutive tokens scanned from input string\n * @returns {MultiToken}\n */\nfunction initMultiToken(Multi, input, tokens) {\n const startIdx = tokens[0].s;\n const endIdx = tokens[tokens.length - 1].e;\n const value = input.slice(startIdx, endIdx);\n return new Multi(value, tokens);\n}\n\nconst warn = typeof console !== 'undefined' && console && console.warn || (() => {});\nconst warnAdvice = 'until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.';\n\n// Side-effect initialization state\nconst INIT = {\n scanner: null,\n parser: null,\n tokenQueue: [],\n pluginQueue: [],\n customSchemes: [],\n initialized: false\n};\n\n/**\n * @typedef {{\n * \tstart: State,\n * \ttokens: { groups: Collections } & typeof tk\n * }} ScannerInit\n */\n\n/**\n * @typedef {{\n * \tstart: State,\n * \ttokens: typeof multi\n * }} ParserInit\n */\n\n/**\n * @typedef {(arg: { scanner: ScannerInit }) => void} TokenPlugin\n */\n\n/**\n * @typedef {(arg: { scanner: ScannerInit, parser: ParserInit }) => void} Plugin\n */\n\n/**\n * De-register all plugins and reset the internal state-machine. Used for\n * testing; not required in practice.\n * @private\n */\nfunction reset() {\n State.groups = {};\n INIT.scanner = null;\n INIT.parser = null;\n INIT.tokenQueue = [];\n INIT.pluginQueue = [];\n INIT.customSchemes = [];\n INIT.initialized = false;\n return INIT;\n}\n\n/**\n * Register a token plugin to allow the scanner to recognize additional token\n * types before the parser state machine is constructed from the results.\n * @param {string} name of plugin to register\n * @param {TokenPlugin} plugin function that accepts the scanner state machine\n * and available scanner tokens and collections and extends the state machine to\n * recognize additional tokens or groups.\n */\nfunction registerTokenPlugin(name, plugin) {\n if (typeof plugin !== 'function') {\n throw new Error(`linkifyjs: Invalid token plugin ${plugin} (expects function)`);\n }\n for (let i = 0; i < INIT.tokenQueue.length; i++) {\n if (name === INIT.tokenQueue[i][0]) {\n warn(`linkifyjs: token plugin \"${name}\" already registered - will be overwritten`);\n INIT.tokenQueue[i] = [name, plugin];\n return;\n }\n }\n INIT.tokenQueue.push([name, plugin]);\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register token plugin \"${name}\" ${warnAdvice}`);\n }\n}\n\n/**\n * Register a linkify plugin\n * @param {string} name of plugin to register\n * @param {Plugin} plugin function that accepts the parser state machine and\n * extends the parser to recognize additional link types\n */\nfunction registerPlugin(name, plugin) {\n if (typeof plugin !== 'function') {\n throw new Error(`linkifyjs: Invalid plugin ${plugin} (expects function)`);\n }\n for (let i = 0; i < INIT.pluginQueue.length; i++) {\n if (name === INIT.pluginQueue[i][0]) {\n warn(`linkifyjs: plugin \"${name}\" already registered - will be overwritten`);\n INIT.pluginQueue[i] = [name, plugin];\n return;\n }\n }\n INIT.pluginQueue.push([name, plugin]);\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register plugin \"${name}\" ${warnAdvice}`);\n }\n}\n\n/**\n * Detect URLs with the following additional protocol. Anything with format\n * \"protocol://...\" will be considered a link. If `optionalSlashSlash` is set to\n * `true`, anything with format \"protocol:...\" will be considered a link.\n * @param {string} scheme\n * @param {boolean} [optionalSlashSlash]\n */\nfunction registerCustomProtocol(scheme, optionalSlashSlash = false) {\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register custom scheme \"${scheme}\" ${warnAdvice}`);\n }\n if (!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(scheme)) {\n throw new Error(`linkifyjs: incorrect scheme format.\n1. Must only contain digits, lowercase ASCII letters or \"-\"\n2. Cannot start or end with \"-\"\n3. \"-\" cannot repeat`);\n }\n INIT.customSchemes.push([scheme, optionalSlashSlash]);\n}\n\n/**\n * Initialize the linkify state machine. Called automatically the first time\n * linkify is called on a string, but may be called manually as well.\n */\nfunction init() {\n // Initialize scanner state machine and plugins\n INIT.scanner = init$2(INIT.customSchemes);\n for (let i = 0; i < INIT.tokenQueue.length; i++) {\n INIT.tokenQueue[i][1]({\n scanner: INIT.scanner\n });\n }\n\n // Initialize parser state machine and plugins\n INIT.parser = init$1(INIT.scanner.tokens);\n for (let i = 0; i < INIT.pluginQueue.length; i++) {\n INIT.pluginQueue[i][1]({\n scanner: INIT.scanner,\n parser: INIT.parser\n });\n }\n INIT.initialized = true;\n return INIT;\n}\n\n/**\n * Parse a string into tokens that represent linkable and non-linkable sub-components\n * @param {string} str\n * @return {MultiToken[]} tokens\n */\nfunction tokenize(str) {\n if (!INIT.initialized) {\n init();\n }\n return run(INIT.parser.start, str, run$1(INIT.scanner.start, str));\n}\ntokenize.scan = run$1; // for testing\n\n/**\n * Find a list of linkable items in the given string.\n * @param {string} str string to find links in\n * @param {string | Opts} [type] either formatting options or specific type of\n * links to find, e.g., 'url' or 'email'\n * @param {Opts} [opts] formatting options for final output. Cannot be specified\n * if opts already provided in `type` argument\n */\nfunction find(str, type = null, opts = null) {\n if (type && typeof type === 'object') {\n if (opts) {\n throw Error(`linkifyjs: Invalid link type ${type}; must be a string`);\n }\n opts = type;\n type = null;\n }\n const options = new Options(opts);\n const tokens = tokenize(str);\n const filtered = [];\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.isLink && (!type || token.t === type) && options.check(token)) {\n filtered.push(token.toFormattedObject(options));\n }\n }\n return filtered;\n}\n\n/**\n * Is the given string valid linkable text of some sort. Note that this does not\n * trim the text for you.\n *\n * Optionally pass in a second `type` param, which is the type of link to test\n * for.\n *\n * For example,\n *\n * linkify.test(str, 'email');\n *\n * Returns `true` if str is a valid email.\n * @param {string} str string to test for links\n * @param {string} [type] optional specific link type to look for\n * @returns boolean true/false\n */\nfunction test(str, type = null) {\n const tokens = tokenize(str);\n return tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].t === type);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbGlua2lmeWpzL2Rpc3QvbGlua2lmeS5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxlQUFlLHdCQUF3QjtBQUN2Qzs7QUFFQTtBQUNBLGVBQWUseUJBQXlCO0FBQ3hDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLGdCQUFnQjtBQUMzQixhQUFhLEtBQUs7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFdBQVcsZ0JBQWdCO0FBQzNCLFdBQVcsT0FBTztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxXQUFXLGdCQUFnQjtBQUMzQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWEsV0FBVztBQUN4Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2Q7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQixlQUFlLDZCQUE2QjtBQUM1QyxlQUFlO0FBQ2Ysa0JBQWtCO0FBQ2xCLGFBQWEsc0JBQXNCO0FBQ25DO0FBQ0EsYUFBYSxXQUFXO0FBQ3hCO0FBQ0EsYUFBYSxJ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O0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQixXQUFXLGVBQWU7QUFDMUI7QUFDQSxXQUFXLE1BQU07QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRCxPQUFPO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLG1CQUFtQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFOE0iLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXGxpbmtpZnlqc1xcZGlzdFxcbGlua2lmeS5tanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVEhJUyBGSUxFIElTIEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVEIERPIE5PVCBFRElUIERJUkVDVExZXG4vLyBTZWUgdXBkYXRlLXRsZHMuanMgZm9yIGVuY29kaW5nL2RlY29kaW5nIGZvcm1hdFxuLy8gaHR0cHM6Ly9kYXRhLmlhbmEub3JnL1RMRC90bGRzLWFscGhhLWJ5LWRvbWFpbi50eHRcbmNvbnN0IGVuY29kZWRUbGRzID0gJ2FhYTFycDNiYjBvdHQzdmllNGMxbGUyb2dhZG81dWRoYWJpN2MwYWRlbXk1Y2VudHVyZTZvdW50YW50MHM5bzF0b3I0ZDBzMXVsdDRlMGcxcm8ydG5hNGYwbDFyaWNhNWcwYWtoYW41ZW5jeTVpMGcxcmJ1czNmb3JjZTV0ZWw1a2RuM2wwaWJhYmE0cGF5NGxmaW5hbno2c3RhdGU1eTJzYWNlM3RvbTVtMGF6b240ZXJpY2FuZXhwcmVzczdmYW1pbHkxMXgyZmFtM2ljYTNzdGVyZGFtOG5hbHl0aWNzN2Ryb2lkNXF1YW40ejJvMGwycGFydG1lbnRzOHAwbGU0cTB1YXJlbGxlOHIwYWIxbWNvNGNoaTNteTJwYTJ0MGUzczBkYTJpYTJzb2NpYXRlczl0MGhsZXRhNXRvcm5leTd1MGN0aW9uNWRpMGJsZTNvM3Nwb3N0NXRob3IzbzBzNHcwczJ4MGEyejB1cmU1YmEwYnkyaWR1M25hbWV4NGQxazJyMGNlbG9uYTVsYXljYXJkNHM1ZWZvb3Q1Z2FpbnM2c2ViYWxsNWtldGJhbGw4dWhhdXM1eWVybjViMGMxdDF2YTNjZzFuMmQxZTBhdHMydXR5NGVyMnJsaW40c3QwYnV5NXQyZjFnMWgwYXJ0aTVpMGJsZTNkMWtlMm5nMG8zbzF6MmoxbGFjazBmcmlkYXk5b2NrYnVzdGVyOGcxb21iZXJnN3VlM20wczF3Mm4wcHBhcmliYXM5bzBhdHMzZWhyaW5nZXI4ZmEybTFuZDJvMGswaW5nNXNjaDJ0aWsyb240dDF1dGlxdWU2eDJyMGFkZXNjbzZpZGdlc3RvbmU5b2Fkd2F5NWtlcjN0aGVyNXVzc2VsczdzMXQxdWlsZDBlcnM2c2luZXNzNnkxenozdjF3MXkxejBoM2NhMGIxZmUybDBsMXZpbmtsZWluOW0wZXJhM3Aybm9uM3BldG93bjVpdGFsMG9uZThyMGF2YW40ZHMyZTBlcjBzNHMyc2ExZTFoMWlubzR0MGVyaW5nNWhvbGljN2JhMW4xcmUzYzFkMWVudGVyNG8xcm4zZjBhMWQyZzFoMGFuZWwybmVsNHJpdHk0c2UydDJlYXAzaW50YWk1cmlzdG1hczZvbWU0dXJjaDVpMHByaWFuaTZyY2xlNHNjbzN0YWRlbDRpMGMyeTNrMWwwYWltczRlYW5pbmc2aWNrMm5pYzFxdWU2b3RoaW5nNXVkM3ViMG1lZDZtMW4xbzBhY2gzZGVzM2ZmZWU0bGxlZ2U0b2duZTVtMG1iYW5rNHVuaXR5NnBhbnkycmUzdXRlcjVzZWM0bmRvczNzdHJ1Y3Rpb244dWx0aW5nN3RhY3QzcmFjdG9yczlva2luZzRsMXAycnNpY2E1dW50cnk0cG9uMHM0cnNlczZwYTJyMGVkaXQwY2FyZDR1bmlvbjlpY2tldDVvd24zczF1aXNlMHM2dTBpc2luZWxsYTl2MXcxeDF5MG1ydTNvdTN6MmRhZDFuY2UzdGExZTFpbmczc3VuNHkyY2xrM2RzMmUwYWwwZXIyczNncmVlNGxpdmVyeTVsMW9pdHRlNXRhM21vY3JhdDZudGFsMmlzdDVzaTBnbjR2MmhsMmlhbW9uZHM2ZXQyZ2l0YWw1cmVjdDBvcnk3c2NvdW50M3ZlcjVoMnkyajFrMW0xbnAybzBjczF0b3I0ZzFtYWluczV0MXdubG9hZDdyaXZlNHR2MnViYWkzbmxvcDRwb250NHJiYW41dmFnMnIyejJlYXJ0aDN0MmMwbzJkZWthM3UwY2F0aW9uOGUxZzFtYWlsM2VyY2s1bmVyZ3k0Z2luZWVyMGluZzl0ZXJwcmlzZXMxMHBzb240cXVpcG1lbnQ4cjBpY3Nzb242bmkzczBxMXRhdGU1dDF1MHJvdmlzaW9uOHMydmVudHM1eGNoYW5nZTZwZXJ0M29zZWQ0cmVzczV0cmFzcGFjZTEwZmFnZTJpbDFyd2luZHM2dGgzbWlseTRuMHMycm0wZXJzNXNoaW9uNHQzZWRleDNlZGJhY2s2cnJhcmkzZXJvNmkwZGVsaXR5NW8ybG0ybmFsMW5jZTFpYWw3cmUwc3RvbmU2bWRhbGU2c2gwaW5nNXQwbmVzczZqMWsxbGlja3IzZ2h0czRyMm9yaXN0NHdlcnM1eTJtMW8wbzBkMXRiYWxsNnJkMWV4MnNhbGU0dW0zdW5kYXRpb244eDJyMGVlMXNlbml1czdsMW9nYW5zNG50aWVyN3RyMnVqaXRzdTVuMGQycm5pdHVyZTd0Ym9sNXlpM2dhMGwwbGVyeTNvMXVwNG1lMHMzcDFyZGVuNHkyYjBpejNkMG4yZTBhMW50MGluZzVvcmdlNWYxZzBlZTNoMWkwZnQwczN2ZXMyaW5nNWwwYXNzM2Uxb2JhbDJvNG0wYWlsM2JoMm8xeDJuMW9kYWRkeTVsZDBwb2ludDZmMm8wZHllYXI1ZzBsZTRwMXQxdjJwMXExcjBhaW5nZXI1cGhpY3M1dGlzNGVlbjNpcGUzb2Nlcnk0dXA0czF0MXUwY2NpM2dlMmlkZTJ0YXJzNXJ1M3cxeTJoYWlyMm1idXJnNW5nb3V0NXVzM2JvMmRmYzBiYW5rN2VhbHRoMGNhcmU4bHAxc2lua2k2cmUxbWVzNWlwaG9wNHNhbWl0c3U3dGFjaGk1djJrMHQybTFuMW9ja2V5NGxkaW5nczVpZGF5NW1lZGVwb3Q1Z29vZHM1czBlbnNlN25kYTNyc2Uzc3BpdGFsNXQwaW5nNXQwZWxzM21haWw1dXNlM3cycjFzYmMzdDF1MGdoZXM1eWF0dDN1bmRhaTdpYm0yY2JjMmUxdTJkMWUwZWUzZm0ya2FubzRsMW0wYW1hdDRkYjJtbzBiaWxpZW45bjBjMWR1c3RyaWVzOGZpbml0aTVvMmcxazFzdGl0dXRlNnVyYW5jZTRlNHQwZXJuYXRpb25hbDEwdWl0NHZlc3RtZW50czEwbzFwaXJhbmdhN3ExcjBpc2g0czBtYWlsaTV0MGFuYnVsN3QwYXUydjNqYWd1YXI0dmEzY2IyZTBlcDJ0enQzd2Vscnk2aW8ybGwybTBwMm5qMm8wYnMxdXJnNHQxeTJwMG1vcmdhbjZyczN1ZWdvczRuaXBlcjdrYXVmZW41ZGRpM2UwcnJ5aG90ZWxzNnByb3BlcnRpZXMxNGZoMmcxaDFpMGExZHMybTFuZGxlNHRjaGVuNXdpM20xbjFvZWxuM21hdHN1NXNoZXI1cDBtZzJuMnIwZDFlZDN1b2tncm91cDh3MXkwb3RvNHoybGEwY2FpeGE1bWJvcmdoaW5pOGVyM25kMHJvdmVyNnhlc3M1c2FsbGU1dDBpbm8zcm9iZTV3MHllcjViMWMxZHMyZWFzZTNjbGVyYzVmcmFrNGdhbDJvMnh1czRnYnQzaTBkbDJmZTBpbnN1cmFuY2U5c3R5bGU3Z2h0aW5nNmtlMmxseTNtaXRlZDRvMm5jb2xuNGsydmUxaW5nNWsxbGMxcDJvYW4wczNja2VyM3VzM2wxbmRvbjR0dGUxbzN2ZTNwbDBmaW5hbmNpYWwxMXIxczF0MGQwYTN1MG5kYmVjazZ4ZTF1cnk1djF5Mm1hMGRyaWQ0aWYxc29uNGtldXA0bjBhZ2VtZW50N2dvM3AxcmtldDBpbmczczRyaW90dDVzaGFsbHM3dHRlbDViYTJjMGtpbnNleTdkMWUwZDBpYTNldDJsYm91cm5lN21lMW9yaWFsNm4wdTJyY2ttc2Q3ZzFoMWlhbWkzY3Jvc29mdDdsMW5pMXQydDBzdWJpc2hpOWsxbDBiMXMybTBhMm4xbzBiaTBsZTRkYTJlMWkxbTFuYXNoM2V5MnN0ZXI1cm1vbjN0Z2FnZTZzY293NHRvMHJjeWNsZXM5djBpZTRwMXExcjFzMGQydDBuMXIydTBzZXVtM2ljNHYxdzF4MXkxejJuYTBiMWdveWE0bWUydnkzYmEyYzFlMGMxdDBiYW5rNGZsaXg0d29yazV1c3RhcjV3MHMyeHQwZGlyZWN0N3VzNGYwbDJnMG8yaGsyaTBjbzJrZTFvbjNuamEzc3NhbjF5NWwxbzBraWEzcnRvbjR3MHJ1ejN0djRwMXIwYTF3MnR0MnUxeWMyejJvYmkxc2VydmVyN2ZmaWNlNWtpbmF3YTZsYXlhbjBncm91cDlsbzNtMGVnYTRuZTFnMWwwaW5lNW9vMnBlbjNyYWNsZTNuZ2U0ZzBhbmljNWlnaW5zNnNha2E0dHN1a2E0dDJ2aDNwYTBnZTJuYXNvbmljN3JpczJzMXRuZXJzNHMxeTN5MmNjdzNlMHQyZjBpemVyNWcxaDBhcm1hY3k2ZDFpbGlwczVvbmUydG8wZ3JhcGh5NnM0eXNpbzVpY3MxdGV0MnVyZXM2ZDFuMGcxazJvbmVlcjV6emE0azFsMGFjZTJ5MHN0YXRpb245dW1iaW5nNXMzbTFuMGMyb2hsMmtlcjNsaXRpZTVybjJzdDNyMGF4aTNlc3MzaW1lM28wZDB1Y3Rpb25zOGYxZ3Jlc3NpdmU4bW8ycGVydGllczN5NXRlY3Rpb244dTBkZW50aWFsOXMxdDF1YjJ3MGMyeTJxYTFwb24zdWViZWMzc3Q1cmFjaW5nNGRpbzRlMGFkMWxlc3RhdGU2dG9yMnk0Y2lwZXM1ZDBzdG9uZTV1bWJyZWxsYTloYWIzaXNlMG4zdDJsaWFuY2U2bjB0MGFsczVwYWlyM29ydDN1YmxpY2FuOHN0MGF1cmFudDh2aWV3MHM1eHJvdGg2aWNoMGFyZGxpNm9oM2wxbzFwMm8wY2tzM2RlbzNnZXJzNG9tM3MwdnAzdTBnYnkzaHIybjJ3MGUyeXVreXU2c2EwYXJsYW5kNmZlMHR5NGt1cmE0bGUxb24zbXNjbHViNHVuZzVuZHZpazBjb3JvbWFudDEyb2ZpNHAxcmwyczF2ZTJ4bzNiMGkxczJjMGIxaGFlZmZsZXI3bWlkdDRvbGFyc2hpcHM4b2wzdWxlM3dhcno1aWVuY2U1b3QzZDFlMGFyY2gzdDJjdXJlMWl0eTZlazJsZWN0NG5lcjNydmljZXM2dmVuM3cxeDB5M2ZyMmcxaDBhbmdyaWxhNnJwM2VsbDNpYTFrc2hhNW9lczJwMHBpbmc1dWppM3czaTBsazJuYTFnbGVzNXRlM2oxazBpMG4yeTBwZTRsMGluZzRtMGFydDNpbGU0bjBjZjNvMGNjZXIzaWFsNGZ0YmFuazR3YXJlNmh1MmxhcjJ1dGlvbnM3bmcxeTJ5MnBhMGNlM29ydDJ0M3IwbDJzMXQwYWRhMnBsZXM0cjF0ZWJhbms0ZmFybTdjMGdyb3VwNm9ja2hvbG02cmFnZTNlM3JlYW00dWRpbzJ5M3lsZTR1MGNrczNwcGxpZXMzeTJvcnQ1cmYxZ2VyeTV6dWtpNXYxd2F0Y2g0aXNzNHgxeTBkbmV5NHN0ZW1zNnoydGFiMWlwZWk0bGsyb2JhbzRyZ2V0NHRhbW90b3JzNnIydG9vNHgwaTNjMGkyZDBrMmVhbTJjaDBub2xvZ3k4bDFtYXNlazVubmlzNHZhM2YxZzFoMGQxZWF0ZXIycmU2aWFhMmNrZXRzNWVuZGE0cHMycmVzMm9sNGowbWF4eDR4MmswbWF4eDVsMW0wYWxsNG4xbzBkYXkza3lvM29sczNwMXJheTNzaGliYTV0YWwzdXJzM3duMnlvdGEzczNyMGFkZTFpbmc0aW5pbmc1dmVsMGVyczBpbnN1cmFuY2UxNnVzdDN2MnQxdWJlMmkxbmVzM3NodTR2MHMydzF6MnVhMWJhbmszczJnMWsxbmljb20zdmVyc2l0eThvMm9sMnBzMnMxeTF6MnZhMGNhdGlvbnM3bmExZ3VhcmQ3YzFlMGdhczNudHVyZXM2cmlzaWduNW3DtmdlbnNiZXJhdGVyMnVuZzE0c2ljaGVydW5nMTB0MmcxaTBhamVzNGRlbzNnMWtpbmc0bGxhczRuMXAxcmdpbjRzYTFpb240dmExbzNsYWFuZGVyZW45bjFvZGthM2x2bzN0ZTFpbmczbzJ5YWdlNXUyd2FsZXMybWFydDR0ZXI0bmcwZ291NXRjaDBlczZlYXRoZXIwY2hhbm5lbDEyYmNhbTNlcjJzaXRlNWQwZGluZzVpYm8ycjNmMWhvc3dobzZpZW4ya2kybGxpYW1oaWxsOW4wZG93czRlMW5lcnM2bWUyb2x0ZXJza2x1d2VyMTFvZHNpZGU2cmswczJsZDN3MnMxdGMxZjN4Ym94M2Vyb3g0aWh1YW40bjJ4eDJ5ejN5YWNodHM0aG9vM21heHVuNW5kZXg1ZTFvZG9iYXNoaTdnYTJrb2hhbWE2dTB0dWJlNnQxdW4zemEwcHBvczRyYTNlcm8zaXAybTFvbmUzdWVyaWNoNncyJztcbi8vIEludGVybmF0aW9uYWxpemVkIGRvbWFpbiBuYW1lcyBjb250YWluaW5nIG5vbi1BU0NJSVxuY29uc3QgZW5jb2RlZFV0bGRzID0gJ861zrsxz4Uy0LHQszHQtdC7M9C00LXRgtC4NNC10Y4y0LrQsNGC0L7Qu9C40Lo20L7QvDPQvNC60LQy0L7QvTHRgdC60LLQsDbQvtC90LvQsNC50L010YDQszPRgNGD0YEy0YQy0YHQsNC50YIz0YDQsTPRg9C60YAz0pvQsNC3M9Ww1aHVtTPXmdep16jXkNecNden15XXnTPYp9io2YjYuNio2Yo12LHYp9mF2YPZiDXZhNin2LHYr9mGNNio2K3YsdmK2YY12KzYstin2KbYsTXYs9i52YjYr9mK2Kk22LnZhNmK2KfZhjXZhdi62LHYqDXZhdin2LHYp9iqNduM2LHYp9mGNdio2KfYsdiqMtiy2KfYsTTZitiq2YMz2r7Yp9ix2Ko12KrZiNmG2LM02LPZiNiv2KfZhjPYsdmK2Kk12LTYqNmD2Kk02LnYsdin2YIy2Kgy2YXYp9mGNNmB2YTYs9i32YrZhjbZgti32LEz2YPYp9ir2YjZhNmK2YM22YjZhTPZhdi12LEy2YTZitiz2YrYpzXZiNix2YrYqtin2YbZitinN9mC2Lk02YfZhdix2KfZhzXZvtin2qnYs9iq2KfZhjfagNin2LHYqjTgpJXgpYngpK4z4KSo4KWH4KSfM+CkreCkvuCksOCkpDDgpK7gpY0z4KWL4KSkNeCkuOCkguCkl+CkoOCkqDXgpqzgpr7gpoLgprLgpr414Kat4Ka+4Kaw4KakMuCnsOCmpDTgqK3gqL7gqLDgqKQ04Kqt4Kq+4Kqw4KqkNOCsreCsvuCssOCspDTgrofgrqjgr43grqTgrr/grq/grr424K6y4K6Z4K+N4K6V4K+INuCumuCuv+CumeCvjeCuleCuquCvjeCuquCvguCusOCvjTEx4LCt4LC+4LCw4LCk4LGNNeCyreCyvuCysOCypDTgtK3gtL7gtLDgtKTgtII14La94LaC4Laa4LePNOC4hOC4reC4oTPguYTguJfguKIz4Lql4Lqy4LqnM+GDkuGDlDLjgb/jgpPjgaoz44Ki44Oe44K+44OzNOOCr+ODqeOCpuODiTTjgrDjg7zjgrDjg6s044Kz44OgMuOCueODiOOCojPjgrvjg7zjg6sz44OV44Kh44OD44K344On44OzNuODneOCpOODs+ODiDTkuJbnlYwy5Lit5L+hMeWbvTHlnIsx5paH572RM+S6mumprOmAijPkvIHkuJoy5L2b5bGxMuS/oeaBrzLlgaXlurcy5YWr5Y2mMuWFrOWPuDHnm4oy5Y+w5rm+MeeBozLllYbln44x5bqXMeaghzLlmInph4ww5aSn6YWS5bqXNeWcqOe6vzLlpKfmi78y5aSp5Li75pWZM+WoseS5kDLlrrbpm7sy5bm/5LicMuW+ruWNmjLmhYjlloQy5oiR54ix5L2gM+aJi+acujLmi5vogZgy5pS/5YqhMeW6nDLmlrDliqDlnaEy6Ze7MuaXtuWwmjLmm7jnsY0y5py65p6EMua3oemprOmUoTPmuLjmiI8y5r6z6ZaAMueCueecizLnp7vliqgy57uE57uH5py65p6ENOe9keWdgDHlupcx56uZMee7nDLogZTpgJoy6LC35q2MMui0reeJqTLpgJrosqky6ZuG5ZuiMumbu+ioiuebiOenkTTpo57liKnmtaYz6aOf5ZOBMumkkOWOhTLpppnmoLzph4zmi4kz5rivMuuLt+uEtzHsu7Qy7IK87ISxMu2VnOq1rTInO1xuXG4vKipcbiAqIEZpbml0ZSBTdGF0ZSBNYWNoaW5lIGdlbmVyYXRpb24gdXRpbGl0aWVzXG4gKi9cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge3sgW2dyb3VwOiBzdHJpbmddOiBUW10gfX0gQ29sbGVjdGlvbnNcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHt7IFtncm91cDogc3RyaW5nXTogdHJ1ZSB9fSBGbGFnc1xuICovXG5cbi8vIEtleXMgaW4gc2Nhbm5lciBDb2xsZWN0aW9ucyBpbnN0YW5jZXNcbmNvbnN0IG51bWVyaWMgPSAnbnVtZXJpYyc7XG5jb25zdCBhc2NpaSA9ICdhc2NpaSc7XG5jb25zdCBhbHBoYSA9ICdhbHBoYSc7XG5jb25zdCBhc2NpaW51bWVyaWMgPSAnYXNjaWludW1lcmljJztcbmNvbnN0IGFscGhhbnVtZXJpYyA9ICdhbHBoYW51bWVyaWMnO1xuY29uc3QgZG9tYWluID0gJ2RvbWFpbic7XG5jb25zdCBlbW9qaSA9ICdlbW9qaSc7XG5jb25zdCBzY2hlbWUgPSAnc2NoZW1lJztcbmNvbnN0IHNsYXNoc2NoZW1lID0gJ3NsYXNoc2NoZW1lJztcbmNvbnN0IHdoaXRlc3BhY2UgPSAnd2hpdGVzcGFjZSc7XG5cbi8qKlxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0ge0NvbGxlY3Rpb25zPFQ+fSBncm91cHMgdG8gcmVnaXN0ZXIgaW5cbiAqIEByZXR1cm5zIHtUW119IEN1cnJlbnQgbGlzdCBvZiB0b2tlbnMgaW4gdGhlIGdpdmVuIGNvbGxlY3Rpb25cbiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJHcm91cChuYW1lLCBncm91cHMpIHtcbiAgaWYgKCEobmFtZSBpbiBncm91cHMpKSB7XG4gICAgZ3JvdXBzW25hbWVdID0gW107XG4gIH1cbiAgcmV0dXJuIGdyb3Vwc1tuYW1lXTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHBhcmFtIHtUfSB0IHRva2VuIHRvIGFkZFxuICogQHBhcmFtIHtDb2xsZWN0aW9uczxUPn0gZ3JvdXBzXG4gKiBAcGFyYW0ge0ZsYWdzfSBmbGFnc1xuICovXG5mdW5jdGlvbiBhZGRUb0dyb3Vwcyh0LCBmbGFncywgZ3JvdXBzKSB7XG4gIGlmIChmbGFnc1tudW1lcmljXSkge1xuICAgIGZsYWdzW2FzY2lpbnVtZXJpY10gPSB0cnVlO1xuICAgIGZsYWdzW2FscGhhbnVtZXJpY10gPSB0cnVlO1xuICB9XG4gIGlmIChmbGFnc1thc2NpaV0pIHtcbiAgICBmbGFnc1thc2NpaW51bWVyaWNdID0gdHJ1ZTtcbiAgICBmbGFnc1thbHBoYV0gPSB0cnVlO1xuICB9XG4gIGlmIChmbGFnc1thc2NpaW51bWVyaWNdKSB7XG4gICAgZmxhZ3NbYWxwaGFudW1lcmljXSA9IHRydWU7XG4gIH1cbiAgaWYgKGZsYWdzW2FscGhhXSkge1xuICAgIGZsYWdzW2FscGhhbnVtZXJpY10gPSB0cnVlO1xuICB9XG4gIGlmIChmbGFnc1thbHBoYW51bWVyaWNdKSB7XG4gICAgZmxhZ3NbZG9tYWluXSA9IHRydWU7XG4gIH1cbiAgaWYgKGZsYWdzW2Vtb2ppXSkge1xuICAgIGZsYWdzW2RvbWFpbl0gPSB0cnVlO1xuICB9XG4gIGZvciAoY29uc3QgayBpbiBmbGFncykge1xuICAgIGNvbnN0IGdyb3VwID0gcmVnaXN0ZXJHcm91cChrLCBncm91cHMpO1xuICAgIGlmIChncm91cC5pbmRleE9mKHQpIDwgMCkge1xuICAgICAgZ3JvdXAucHVzaCh0KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHBhcmFtIHtUfSB0IHRva2VuIHRvIGNoZWNrXG4gKiBAcGFyYW0ge0NvbGxlY3Rpb25zPFQ+fSBncm91cHNcbiAqIEByZXR1cm5zIHtGbGFnc30gZ3JvdXAgZmxhZ3MgdGhhdCBjb250YWluIHRoaXMgdG9rZW5cbiAqL1xuZnVuY3Rpb24gZmxhZ3NGb3JUb2tlbih0LCBncm91cHMpIHtcbiAgY29uc3QgcmVzdWx0ID0ge307XG4gIGZvciAoY29uc3QgYyBpbiBncm91cHMpIHtcbiAgICBpZiAoZ3JvdXBzW2NdLmluZGV4T2YodCkgPj0gMCkge1xuICAgICAgcmVzdWx0W2NdID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge251bGwgfCBUIH0gVHJhbnNpdGlvblxuICovXG5cbi8qKlxuICogRGVmaW5lIGEgYmFzaWMgc3RhdGUgbWFjaGluZSBzdGF0ZS4gaiBpcyB0aGUgbGlzdCBvZiBjaGFyYWN0ZXIgdHJhbnNpdGlvbnMsXG4gKiBqciBpcyB0aGUgbGlzdCBvZiByZWdleC1tYXRjaCB0cmFuc2l0aW9ucywgamQgaXMgdGhlIGRlZmF1bHQgc3RhdGUgdG9cbiAqIHRyYW5zaXRpb24gdG8gdCBpcyB0aGUgYWNjZXB0aW5nIHRva2VuIHR5cGUsIGlmIGFueS4gSWYgdGhpcyBpcyB0aGUgdGVybWluYWxcbiAqIHN0YXRlLCB0aGVuIGl0IGRvZXMgbm90IGVtaXQgYSB0b2tlbi5cbiAqXG4gKiBUaGUgdGVtcGxhdGUgdHlwZSBUIHJlcHJlc2VudHMgdGhlIHR5cGUgb2YgdGhlIHRva2VuIHRoaXMgc3RhdGUgYWNjZXB0cy4gVGhpc1xuICogc2hvdWxkIGJlIGEgc3RyaW5nIChzdWNoIGFzIG9mIHRoZSB0b2tlbiBleHBvcnRzIGluIGB0ZXh0LmpzYCkgb3IgYVxuICogTXVsdGlUb2tlbiBzdWJjbGFzcyAoZnJvbSBgbXVsdGkuanNgKVxuICpcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0ge1R9IFt0b2tlbl0gVG9rZW4gdGhhdCB0aGlzIHN0YXRlIGVtaXRzXG4gKi9cbmZ1bmN0aW9uIFN0YXRlKHRva2VuID0gbnVsbCkge1xuICAvLyB0aGlzLm4gPSBudWxsOyAvLyBERUJVRzogU3RhdGUgbmFtZVxuICAvKiogQHR5cGUge3sgW2lucHV0OiBzdHJpbmddOiBTdGF0ZTxUPiB9fSBqICovXG4gIHRoaXMuaiA9IHt9OyAvLyBJTVBMRU1FTlRBVElPTiAxXG4gIC8vIHRoaXMuaiA9IFtdOyAvLyBJTVBMRU1FTlRBVElPTiAyXG4gIC8qKiBAdHlwZSB7W1JlZ0V4cCwgU3RhdGU8VD5dW119IGpyICovXG4gIHRoaXMuanIgPSBbXTtcbiAgLyoqIEB0eXBlIHs/U3RhdGU8VD59IGpkICovXG4gIHRoaXMuamQgPSBudWxsO1xuICAvKiogQHR5cGUgez9UfSB0ICovXG4gIHRoaXMudCA9IHRva2VuO1xufVxuXG4vKipcbiAqIFNjYW5uZXIgdG9rZW4gZ3JvdXBzXG4gKiBAdHlwZSBDb2xsZWN0aW9uczxzdHJpbmc+XG4gKi9cblN0YXRlLmdyb3VwcyA9IHt9O1xuU3RhdGUucHJvdG90eXBlID0ge1xuICBhY2NlcHRzKCkge1xuICAgIHJldHVybiAhIXRoaXMudDtcbiAgfSxcbiAgLyoqXG4gICAqIEZvbGxvdyBhbiBleGlzdGluZyB0cmFuc2l0aW9uIGZyb20gdGhlIGdpdmVuIGlucHV0IHRvIHRoZSBuZXh0IHN0YXRlLlxuICAgKiBEb2VzIG5vdCBtdXRhdGUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dCBjaGFyYWN0ZXIgb3IgdG9rZW4gdHlwZSB0byB0cmFuc2l0aW9uIG9uXG4gICAqIEByZXR1cm5zIHs/U3RhdGU8VD59IHRoZSBuZXh0IHN0YXRlLCBpZiBhbnlcbiAgICovXG4gIGdvKGlucHV0KSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzO1xuICAgIGNvbnN0IG5leHRTdGF0ZSA9IHN0YXRlLmpbaW5wdXRdO1xuICAgIGlmIChuZXh0U3RhdGUpIHtcbiAgICAgIHJldHVybiBuZXh0U3RhdGU7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RhdGUuanIubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gc3RhdGUuanJbaV1bMF07XG4gICAgICBjb25zdCBuZXh0U3RhdGUgPSBzdGF0ZS5qcltpXVsxXTsgLy8gbm90ZTogbWlnaHQgYmUgZW1wdHkgdG8gcHJldmVudCBkZWZhdWx0IGp1bXBcbiAgICAgIGlmIChuZXh0U3RhdGUgJiYgcmVnZXgudGVzdChpbnB1dCkpIHtcbiAgICAgICAgcmV0dXJuIG5leHRTdGF0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gTm93aGVyZSBsZWZ0IHRvIGp1bXAhIFJldHVybiBkZWZhdWx0LCBpZiBhbnlcbiAgICByZXR1cm4gc3RhdGUuamQ7XG4gIH0sXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzdGF0ZSBoYXMgYSB0cmFuc2l0aW9uIGZvciB0aGUgZ2l2ZW4gaW5wdXQuIFNldCB0aGUgc2Vjb25kXG4gICAqIGFyZ3VtZW50IHRvIHRydWUgdG8gb25seSBsb29rIGZvciBhbiBleGFjdCBtYXRjaCAoYW5kIG5vdCBhIGRlZmF1bHQgb3JcbiAgICogcmVndWxhci1leHByZXNzaW9uLWJhc2VkIHRyYW5zaXRpb24pXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGV4YWN0T25seVxuICAgKi9cbiAgaGFzKGlucHV0LCBleGFjdE9ubHkgPSBmYWxzZSkge1xuICAgIHJldHVybiBleGFjdE9ubHkgPyBpbnB1dCBpbiB0aGlzLmogOiAhIXRoaXMuZ28oaW5wdXQpO1xuICB9LFxuICAvKipcbiAgICogU2hvcnQgZm9yIFwidHJhbnNpdGlvbiBhbGxcIjsgY3JlYXRlIGEgdHJhbnNpdGlvbiBmcm9tIHRoZSBhcnJheSBvZiBpdGVtc1xuICAgKiBpbiB0aGUgZ2l2ZW4gbGlzdCB0byB0aGUgc2FtZSBmaW5hbCByZXN1bHRpbmcgc3RhdGUuXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgc3RyaW5nW119IGlucHV0cyBHcm91cCBvZiBpbnB1dHMgdG8gdHJhbnNpdGlvbiBvblxuICAgKiBAcGFyYW0ge1RyYW5zaXRpb248VD4gfCBTdGF0ZTxUPn0gW25leHRdIFRyYW5zaXRpb24gb3B0aW9uc1xuICAgKiBAcGFyYW0ge0ZsYWdzfSBbZmxhZ3NdIENvbGxlY3Rpb25zIGZsYWdzIHRvIGFkZCB0b2tlbiB0b1xuICAgKiBAcGFyYW0ge0NvbGxlY3Rpb25zPFQ+fSBbZ3JvdXBzXSBNYXN0ZXIgbGlzdCBvZiB0b2tlbiBncm91cHNcbiAgICovXG4gIHRhKGlucHV0cywgbmV4dCwgZmxhZ3MsIGdyb3Vwcykge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLnR0KGlucHV0c1tpXSwgbmV4dCwgZmxhZ3MsIGdyb3Vwcyk7XG4gICAgfVxuICB9LFxuICAvKipcbiAgICogU2hvcnQgZm9yIFwidGFrZSByZWdleHAgdHJhbnNpdGlvblwiOyBkZWZpbmVzIGEgdHJhbnNpdGlvbiBmb3IgdGhpcyBzdGF0ZVxuICAgKiB3aGVuIGl0IGVuY291bnRlcnMgYSB0b2tlbiB3aGljaCBtYXRjaGVzIHRoZSBnaXZlbiByZWd1bGFyIGV4cHJlc3Npb25cbiAgICogQHBhcmFtIHtSZWdFeHB9IHJlZ2V4cCBSZWd1bGFyIGV4cHJlc3Npb24gdHJhbnNpdGlvbiAocG9wdWxhdGUgZmlyc3QpXG4gICAqIEBwYXJhbSB7VCB8IFN0YXRlPFQ+fSBbbmV4dF0gVHJhbnNpdGlvbiBvcHRpb25zXG4gICAqIEBwYXJhbSB7RmxhZ3N9IFtmbGFnc10gQ29sbGVjdGlvbnMgZmxhZ3MgdG8gYWRkIHRva2VuIHRvXG4gICAqIEBwYXJhbSB7Q29sbGVjdGlvbnM8VD59IFtncm91cHNdIE1hc3RlciBsaXN0IG9mIHRva2VuIGdyb3Vwc1xuICAgKiBAcmV0dXJucyB7U3RhdGU8VD59IHRha2VuIGFmdGVyIHRoZSBnaXZlbiBpbnB1dFxuICAgKi9cbiAgdHIocmVnZXhwLCBuZXh0LCBmbGFncywgZ3JvdXBzKSB7XG4gICAgZ3JvdXBzID0gZ3JvdXBzIHx8IFN0YXRlLmdyb3VwcztcbiAgICBsZXQgbmV4dFN0YXRlO1xuICAgIGlmIChuZXh0ICYmIG5leHQuaikge1xuICAgICAgbmV4dFN0YXRlID0gbmV4dDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVG9rZW4gd2l0aCBtYXliZSB0b2tlbiBncm91cHNcbiAgICAgIG5leHRTdGF0ZSA9IG5ldyBTdGF0ZShuZXh0KTtcbiAgICAgIGlmIChmbGFncyAmJiBncm91cHMpIHtcbiAgICAgICAgYWRkVG9Hcm91cHMobmV4dCwgZmxhZ3MsIGdyb3Vwcyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuanIucHVzaChbcmVnZXhwLCBuZXh0U3RhdGVdKTtcbiAgICByZXR1cm4gbmV4dFN0YXRlO1xuICB9LFxuICAvKipcbiAgICogU2hvcnQgZm9yIFwidGFrZSB0cmFuc2l0aW9uc1wiLCB3aWxsIHRha2UgYXMgbWFueSBzZXF1ZW50aWFsIHRyYW5zaXRpb25zIGFzXG4gICAqIHRoZSBsZW5ndGggb2YgdGhlIGdpdmVuIGlucHV0IGFuZCByZXR1cm5zIHRoZVxuICAgKiByZXN1bHRpbmcgZmluYWwgc3RhdGUuXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgc3RyaW5nW119IGlucHV0XG4gICAqIEBwYXJhbSB7VCB8IFN0YXRlPFQ+fSBbbmV4dF0gVHJhbnNpdGlvbiBvcHRpb25zXG4gICAqIEBwYXJhbSB7RmxhZ3N9IFtmbGFnc10gQ29sbGVjdGlvbnMgZmxhZ3MgdG8gYWRkIHRva2VuIHRvXG4gICAqIEBwYXJhbSB7Q29sbGVjdGlvbnM8VD59IFtncm91cHNdIE1hc3RlciBsaXN0IG9mIHRva2VuIGdyb3Vwc1xuICAgKiBAcmV0dXJucyB7U3RhdGU8VD59IHRha2VuIGFmdGVyIHRoZSBnaXZlbiBpbnB1dFxuICAgKi9cbiAgdHMoaW5wdXQsIG5leHQsIGZsYWdzLCBncm91cHMpIHtcbiAgICBsZXQgc3RhdGUgPSB0aGlzO1xuICAgIGNvbnN0IGxlbiA9IGlucHV0Lmxlbmd0aDtcbiAgICBpZiAoIWxlbikge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbiAtIDE7IGkrKykge1xuICAgICAgc3RhdGUgPSBzdGF0ZS50dChpbnB1dFtpXSk7XG4gICAgfVxuICAgIHJldHVybiBzdGF0ZS50dChpbnB1dFtsZW4gLSAxXSwgbmV4dCwgZmxhZ3MsIGdyb3Vwcyk7XG4gIH0sXG4gIC8qKlxuICAgKiBTaG9ydCBmb3IgXCJ0YWtlIHRyYW5zaXRpb25cIiwgdGhpcyBpcyBhIG1ldGhvZCBmb3IgYnVpbGRpbmcvd29ya2luZyB3aXRoXG4gICAqIHN0YXRlIG1hY2hpbmVzLlxuICAgKlxuICAgKiBJZiBhIHN0YXRlIGFscmVhZHkgZXhpc3RzIGZvciB0aGUgZ2l2ZW4gaW5wdXQsIHJldHVybnMgaXQuXG4gICAqXG4gICAqIElmIGEgdG9rZW4gaXMgc3BlY2lmaWVkLCB0aGF0IHN0YXRlIHdpbGwgZW1pdCB0aGF0IHRva2VuIHdoZW4gcmVhY2hlZCBieVxuICAgKiB0aGUgbGlua2lmeSBlbmdpbmUuXG4gICAqXG4gICAqIElmIG5vIHN0YXRlIGV4aXN0cywgaXQgd2lsbCBiZSBpbml0aWFsaXplZCB3aXRoIHNvbWUgZGVmYXVsdCB0cmFuc2l0aW9uc1xuICAgKiB0aGF0IHJlc2VtYmxlIGV4aXN0aW5nIGRlZmF1bHQgdHJhbnNpdGlvbnMuXG4gICAqXG4gICAqIElmIGEgc3RhdGUgaXMgZ2l2ZW4gZm9yIHRoZSBzZWNvbmQgYXJndW1lbnQsIHRoYXQgc3RhdGUgd2lsbCBiZVxuICAgKiB0cmFuc2l0aW9uZWQgdG8gb24gdGhlIGdpdmVuIGlucHV0IHJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGF0IGlucHV0XG4gICAqIHByZXZpb3VzbHkgZGlkLlxuICAgKlxuICAgKiBTcGVjaWZ5IGEgdG9rZW4gZ3JvdXAgZmxhZ3MgdG8gZGVmaW5lIGdyb3VwcyB0aGF0IHRoaXMgdG9rZW4gYmVsb25ncyB0by5cbiAgICogVGhlIHRva2VuIHdpbGwgYmUgYWRkZWQgdG8gY29ycmVzcG9uZGluZyBlbnRpcmVzIGluIHRoZSBnaXZlbiBncm91cHNcbiAgICogb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaW5wdXQgY2hhcmFjdGVyLCB0b2tlbiB0eXBlIHRvIHRyYW5zaXRpb24gb25cbiAgICogQHBhcmFtIHtUIHwgU3RhdGU8VD59IFtuZXh0XSBUcmFuc2l0aW9uIG9wdGlvbnNcbiAgICogQHBhcmFtIHtGbGFnc30gW2ZsYWdzXSBDb2xsZWN0aW9ucyBmbGFncyB0byBhZGQgdG9rZW4gdG9cbiAgICogQHBhcmFtIHtDb2xsZWN0aW9uczxUPn0gW2dyb3Vwc10gTWFzdGVyIGxpc3Qgb2YgZ3JvdXBzXG4gICAqIEByZXR1cm5zIHtTdGF0ZTxUPn0gdGFrZW4gYWZ0ZXIgdGhlIGdpdmVuIGlucHV0XG4gICAqL1xuICB0dChpbnB1dCwgbmV4dCwgZmxhZ3MsIGdyb3Vwcykge1xuICAgIGdyb3VwcyA9IGdyb3VwcyB8fCBTdGF0ZS5ncm91cHM7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzO1xuXG4gICAgLy8gQ2hlY2sgaWYgZXhpc3Rpbmcgc3RhdGUgZ2l2ZW4sIGp1c3QgYSBiYXNpYyB0cmFuc2l0aW9uXG4gICAgaWYgKG5leHQgJiYgbmV4dC5qKSB7XG4gICAgICBzdGF0ZS5qW2lucHV0XSA9IG5leHQ7XG4gICAgICByZXR1cm4gbmV4dDtcbiAgICB9XG4gICAgY29uc3QgdCA9IG5leHQ7XG5cbiAgICAvLyBUYWtlIHRoZSB0cmFuc2l0aW9uIHdpdGggdGhlIHVzdWFsIGRlZmF1bHQgbWVjaGFuaXNtcyBhbmQgdXNlIHRoYXQgYXNcbiAgICAvLyBhIHRlbXBsYXRlIGZvciBjcmVhdGluZyB0aGUgbmV4dCBzdGF0ZVxuICAgIGxldCBuZXh0U3RhdGUsXG4gICAgICB0ZW1wbGF0ZVN0YXRlID0gc3RhdGUuZ28oaW5wdXQpO1xuICAgIGlmICh0ZW1wbGF0ZVN0YXRlKSB7XG4gICAgICBuZXh0U3RhdGUgPSBuZXcgU3RhdGUoKTtcbiAgICAgIE9iamVjdC5hc3NpZ24obmV4dFN0YXRlLmosIHRlbXBsYXRlU3RhdGUuaik7XG4gICAgICBuZXh0U3RhdGUuanIucHVzaC5hcHBseShuZXh0U3RhdGUuanIsIHRlbXBsYXRlU3RhdGUuanIpO1xuICAgICAgbmV4dFN0YXRlLmpkID0gdGVtcGxhdGVTdGF0ZS5qZDtcbiAgICAgIG5leHRTdGF0ZS50ID0gdGVtcGxhdGVTdGF0ZS50O1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0U3RhdGUgPSBuZXcgU3RhdGUoKTtcbiAgICB9XG4gICAgaWYgKHQpIHtcbiAgICAgIC8vIEVuc3VyZSBuZXdseSB0b2tlbiBpcyBpbiB0aGUgc2FtZSBncm91cHMgYXMgdGhlIG9sZCB0b2tlblxuICAgICAgaWYgKGdyb3Vwcykge1xuICAgICAgICBpZiAobmV4dFN0YXRlLnQgJiYgdHlwZW9mIG5leHRTdGF0ZS50ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGNvbnN0IGFsbEZsYWdzID0gT2JqZWN0LmFzc2lnbihmbGFnc0ZvclRva2VuKG5leHRTdGF0ZS50LCBncm91cHMpLCBmbGFncyk7XG4gICAgICAgICAgYWRkVG9Hcm91cHModCwgYWxsRmxhZ3MsIGdyb3Vwcyk7XG4gICAgICAgIH0gZWxzZSBpZiAoZmxhZ3MpIHtcbiAgICAgICAgICBhZGRUb0dyb3Vwcyh0LCBmbGFncywgZ3JvdXBzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbmV4dFN0YXRlLnQgPSB0OyAvLyBvdmVyd3JpdGUgYW55dGhpbmcgdGhhdCB3YXMgcHJldmlvdXNseSB0aGVyZVxuICAgIH1cbiAgICBzdGF0ZS5qW2lucHV0XSA9IG5leHRTdGF0ZTtcbiAgICByZXR1cm4gbmV4dFN0YXRlO1xuICB9XG59O1xuXG4vLyBIZWxwZXIgZnVuY3Rpb25zIHRvIGltcHJvdmUgbWluaWZpY2F0aW9uIChub3QgZXhwb3J0ZWQgb3V0c2lkZSBsaW5raWZ5anMgbW9kdWxlKVxuXG4vKipcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0ge1N0YXRlPFQ+fSBzdGF0ZVxuICogQHBhcmFtIHtzdHJpbmcgfCBzdHJpbmdbXX0gaW5wdXRcbiAqIEBwYXJhbSB7RmxhZ3N9IFtmbGFnc11cbiAqIEBwYXJhbSB7Q29sbGVjdGlvbnM8VD59IFtncm91cHNdXG4gKi9cbmNvbnN0IHRhID0gKHN0YXRlLCBpbnB1dCwgbmV4dCwgZmxhZ3MsIGdyb3VwcykgPT4gc3RhdGUudGEoaW5wdXQsIG5leHQsIGZsYWdzLCBncm91cHMpO1xuXG4vKipcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0ge1N0YXRlPFQ+fSBzdGF0ZVxuICogQHBhcmFtIHtSZWdFeHB9IHJlZ2V4cFxuICogQHBhcmFtIHtUIHwgU3RhdGU8VD59IFtuZXh0XVxuICogQHBhcmFtIHtGbGFnc30gW2ZsYWdzXVxuICogQHBhcmFtIHtDb2xsZWN0aW9uczxUPn0gW2dyb3Vwc11cbiAqL1xuY29uc3QgdHIgPSAoc3RhdGUsIHJlZ2V4cCwgbmV4dCwgZmxhZ3MsIGdyb3VwcykgPT4gc3RhdGUudHIocmVnZXhwLCBuZXh0LCBmbGFncywgZ3JvdXBzKTtcblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHBhcmFtIHtTdGF0ZTxUPn0gc3RhdGVcbiAqIEBwYXJhbSB7c3RyaW5nIHwgc3RyaW5nW119IGlucHV0XG4gKiBAcGFyYW0ge1QgfCBTdGF0ZTxUPn0gW25leHRdXG4gKiBAcGFyYW0ge0ZsYWdzfSBbZmxhZ3NdXG4gKiBAcGFyYW0ge0NvbGxlY3Rpb25zPFQ+fSBbZ3JvdXBzXVxuICovXG5jb25zdCB0cyA9IChzdGF0ZSwgaW5wdXQsIG5leHQsIGZsYWdzLCBncm91cHMpID0+IHN0YXRlLnRzKGlucHV0LCBuZXh0LCBmbGFncywgZ3JvdXBzKTtcblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHBhcmFtIHtTdGF0ZTxUPn0gc3RhdGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dFxuICogQHBhcmFtIHtUIHwgU3RhdGU8VD59IFtuZXh0XVxuICogQHBhcmFtIHtDb2xsZWN0aW9uczxUPn0gW2dyb3Vwc11cbiAqIEBwYXJhbSB7RmxhZ3N9IFtmbGFnc11cbiAqL1xuY29uc3QgdHQgPSAoc3RhdGUsIGlucHV0LCBuZXh0LCBmbGFncywgZ3JvdXBzKSA9PiBzdGF0ZS50dChpbnB1dCwgbmV4dCwgZmxhZ3MsIGdyb3Vwcyk7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblRleHQgVG9rZW5zXG5JZGVudGlmaWVycyBmb3IgdG9rZW4gb3V0cHV0cyBmcm9tIHRoZSByZWdleHAgc2Nhbm5lclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vLyBBIHZhbGlkIHdlYiBkb21haW4gdG9rZW5cbmNvbnN0IFdPUkQgPSAnV09SRCc7IC8vIG9ubHkgY29udGFpbnMgYS16XG5jb25zdCBVV09SRCA9ICdVV09SRCc7IC8vIGNvbnRhaW5zIGxldHRlcnMgb3RoZXIgdGhhbiBhLXosIHVzZWQgZm9yIElETlxuY29uc3QgQVNDSUlOVU1FUklDQUwgPSAnQVNDSUlOVU1FUklDQUwnOyAvLyBjb250YWlucyBhLXosIDAtOVxuY29uc3QgQUxQSEFOVU1FUklDQUwgPSAnQUxQSEFOVU1FUklDQUwnOyAvLyBjb250YWlucyBudW1iZXJzIGFuZCBsZXR0ZXJzIG90aGVyIHRoYW4gYS16LCB1c2VkIGZvciBJRE5cblxuLy8gU3BlY2lhbCBjYXNlIG9mIHdvcmRcbmNvbnN0IExPQ0FMSE9TVCA9ICdMT0NBTEhPU1QnO1xuXG4vLyBWYWxpZCB0b3AtbGV2ZWwgZG9tYWluLCBzcGVjaWFsIGNhc2Ugb2YgV09SRCAoc2VlIHRsZHMuanMpXG5jb25zdCBUTEQgPSAnVExEJztcblxuLy8gVmFsaWQgSUROIFRMRCwgc3BlY2lhbCBjYXNlIG9mIFVXT1JEIChzZWUgdGxkcy5qcylcbmNvbnN0IFVUTEQgPSAnVVRMRCc7XG5cbi8vIFRoZSBzY2hlbWUgcG9ydGlvbiBvZiBhIHdlYiBVUkkgcHJvdG9jb2wuIFN1cHBvcnRlZCB0eXBlcyBpbmNsdWRlOiBgbWFpbHRvYCxcbi8vIGBmaWxlYCwgYW5kIHVzZXItZGVmaW5lZCBjdXN0b20gcHJvdG9jb2xzLiBMaW1pdGVkIHRvIHNjaGVtZXMgdGhhdCBjb250YWluXG4vLyBvbmx5IGxldHRlcnNcbmNvbnN0IFNDSEVNRSA9ICdTQ0hFTUUnO1xuXG4vLyBTaW1pbGFyIHRvIFNDSEVNRSwgZXhjZXB0IG1ha2VzIGRpc3RpbmN0aW9uIGZvciBzY2hlbWVzIHRoYXQgbXVzdCBhbHdheXMgYmVcbi8vIGZvbGxvd2VkIGJ5IGA6Ly9gLCBub3QganVzdCBgOmAuIFN1cHBvcnRlZCB0eXBlcyBpbmNsdWRlIGBodHRwYCwgYGh0dHBzYCxcbi8vIGBmdHBgLCBgZnRwc2BcbmNvbnN0IFNMQVNIX1NDSEVNRSA9ICdTTEFTSF9TQ0hFTUUnO1xuXG4vLyBBbnkgc2VxdWVuY2Ugb2YgZGlnaXRzIDAtOVxuY29uc3QgTlVNID0gJ05VTSc7XG5cbi8vIEFueSBudW1iZXIgb2YgY29uc2VjdXRpdmUgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIHRoYXQgYXJlIG5vdCBuZXdsaW5lXG5jb25zdCBXUyA9ICdXUyc7XG5cbi8vIE5ldyBsaW5lICh1bml4IHN0eWxlKVxuY29uc3QgTkwgPSAnTkwnOyAvLyBcXG5cblxuLy8gT3BlbmluZy9jbG9zaW5nIGJyYWNrZXQgY2xhc3Nlc1xuLy8gVE9ETzogUmVuYW1lIE9QRU4gLT4gTEVGVCBhbmQgQ0xPU0UgLT4gUklHSFQgaW4gdjUgdG8gZml0IHdpdGggVW5pY29kZSBuYW1lc1xuLy8gQWxzbyByZW5hbWUgYW5nbGUgYnJhY2tlcyB0byBMRVNTVEhBTiBhbmQgR1JFQVRFUiBUSEFOXG5jb25zdCBPUEVOQlJBQ0UgPSAnT1BFTkJSQUNFJzsgLy8ge1xuY29uc3QgQ0xPU0VCUkFDRSA9ICdDTE9TRUJSQUNFJzsgLy8gfVxuY29uc3QgT1BFTkJSQUNLRVQgPSAnT1BFTkJSQUNLRVQnOyAvLyBbXG5jb25zdCBDTE9TRUJSQUNLRVQgPSAnQ0xPU0VCUkFDS0VUJzsgLy8gXVxuY29uc3QgT1BFTlBBUkVOID0gJ09QRU5QQVJFTic7IC8vIChcbmNvbnN0IENMT1NFUEFSRU4gPSAnQ0xPU0VQQVJFTic7IC8vIClcbmNvbnN0IE9QRU5BTkdMRUJSQUNLRVQgPSAnT1BFTkFOR0xFQlJBQ0tFVCc7IC8vIDxcbmNvbnN0IENMT1NFQU5HTEVCUkFDS0VUID0gJ0NMT1NFQU5HTEVCUkFDS0VUJzsgLy8gPlxuY29uc3QgRlVMTFdJRFRITEVGVFBBUkVOID0gJ0ZVTExXSURUSExFRlRQQVJFTic7IC8vIO+8iFxuY29uc3QgRlVMTFdJRFRIUklHSFRQQVJFTiA9ICdGVUxMV0lEVEhSSUdIVFBBUkVOJzsgLy8g77yJXG5jb25zdCBMRUZUQ09STkVSQlJBQ0tFVCA9ICdMRUZUQ09STkVSQlJBQ0tFVCc7IC8vIOOAjFxuY29uc3QgUklHSFRDT1JORVJCUkFDS0VUID0gJ1JJR0hUQ09STkVSQlJBQ0tFVCc7IC8vIOOAjVxuY29uc3QgTEVGVFdISVRFQ09STkVSQlJBQ0tFVCA9ICdMRUZUV0hJVEVDT1JORVJCUkFDS0VUJzsgLy8g44COXG5jb25zdCBSSUdIVFdISVRFQ09STkVSQlJBQ0tFVCA9ICdSSUdIVFdISVRFQ09STkVSQlJBQ0tFVCc7IC8vIOOAj1xuY29uc3QgRlVMTFdJRFRITEVTU1RIQU4gPSAnRlVMTFdJRFRITEVTU1RIQU4nOyAvLyDvvJxcbmNvbnN0IEZVTExXSURUSEdSRUFURVJUSEFOID0gJ0ZVTExXSURUSEdSRUFURVJUSEFOJzsgLy8g77yeXG5cbi8vIFZhcmlvdXMgc3ltYm9sc1xuY29uc3QgQU1QRVJTQU5EID0gJ0FNUEVSU0FORCc7IC8vICZcbmNvbnN0IEFQT1NUUk9QSEUgPSAnQVBPU1RST1BIRSc7IC8vICdcbmNvbnN0IEFTVEVSSVNLID0gJ0FTVEVSSVNLJzsgLy8gKlxuY29uc3QgQVQgPSAnQVQnOyAvLyBAXG5jb25zdCBCQUNLU0xBU0ggPSAnQkFDS1NMQVNIJzsgLy8gXFxcbmNvbnN0IEJBQ0tUSUNLID0gJ0JBQ0tUSUNLJzsgLy8gYFxuY29uc3QgQ0FSRVQgPSAnQ0FSRVQnOyAvLyBeXG5jb25zdCBDT0xPTiA9ICdDT0xPTic7IC8vIDpcbmNvbnN0IENPTU1BID0gJ0NPTU1BJzsgLy8gLFxuY29uc3QgRE9MTEFSID0gJ0RPTExBUic7IC8vICRcbmNvbnN0IERPVCA9ICdET1QnOyAvLyAuXG5jb25zdCBFUVVBTFMgPSAnRVFVQUxTJzsgLy8gPVxuY29uc3QgRVhDTEFNQVRJT04gPSAnRVhDTEFNQVRJT04nOyAvLyAhXG5jb25zdCBIWVBIRU4gPSAnSFlQSEVOJzsgLy8gLVxuY29uc3QgUEVSQ0VOVCA9ICdQRVJDRU5UJzsgLy8gJVxuY29uc3QgUElQRSA9ICdQSVBFJzsgLy8gfFxuY29uc3QgUExVUyA9ICdQTFVTJzsgLy8gK1xuY29uc3QgUE9VTkQgPSAnUE9VTkQnOyAvLyAjXG5jb25zdCBRVUVSWSA9ICdRVUVSWSc7IC8vID9cbmNvbnN0IFFVT1RFID0gJ1FVT1RFJzsgLy8gXCJcbmNvbnN0IEZVTExXSURUSE1JRERMRURPVCA9ICdGVUxMV0lEVEhNSURETEVET1QnOyAvLyDjg7tcblxuY29uc3QgU0VNSSA9ICdTRU1JJzsgLy8gO1xuY29uc3QgU0xBU0ggPSAnU0xBU0gnOyAvLyAvXG5jb25zdCBUSUxERSA9ICdUSUxERSc7IC8vIH5cbmNvbnN0IFVOREVSU0NPUkUgPSAnVU5ERVJTQ09SRSc7IC8vIF9cblxuLy8gRW1vamkgc3ltYm9sXG5jb25zdCBFTU9KSSQxID0gJ0VNT0pJJztcblxuLy8gRGVmYXVsdCB0b2tlbiAtIGFueXRoaW5nIHRoYXQgaXMgbm90IG9uZSBvZiB0aGUgYWJvdmVcbmNvbnN0IFNZTSA9ICdTWU0nO1xuXG52YXIgdGsgPSAvKiNfX1BVUkVfXyovT2JqZWN0LmZyZWV6ZSh7XG5cdF9fcHJvdG9fXzogbnVsbCxcblx0QUxQSEFOVU1FUklDQUw6IEFMUEhBTlVNRVJJQ0FMLFxuXHRBTVBFUlNBTkQ6IEFNUEVSU0FORCxcblx0QVBPU1RST1BIRTogQVBPU1RST1BIRSxcblx0QVNDSUlOVU1FUklDQUw6IEFTQ0lJTlVNRVJJQ0FMLFxuXHRBU1RFUklTSzogQVNURVJJU0ssXG5cdEFUOiBBVCxcblx0QkFDS1NMQVNIOiBCQUNLU0xBU0gsXG5cdEJBQ0tUSUNLOiBCQUNLVElDSyxcblx0Q0FSRVQ6IENBUkVULFxuXHRDTE9TRUFOR0xFQlJBQ0tFVDogQ0xPU0VBTkdMRUJSQUNLRVQsXG5cdENMT1NFQlJBQ0U6IENMT1NFQlJBQ0UsXG5cdENMT1NFQlJBQ0tFVDogQ0xPU0VCUkFDS0VULFxuXHRDTE9TRVBBUkVOOiBDTE9TRVBBUkVOLFxuXHRDT0xPTjogQ09MT04sXG5cdENPTU1BOiBDT01NQSxcblx0RE9MTEFSOiBET0xMQVIsXG5cdERPVDogRE9ULFxuXHRFTU9KSTogRU1PSkkkMSxcblx0RVFVQUxTOiBFUVVBTFMsXG5cdEVYQ0xBTUFUSU9OOiBFWENMQU1BVElPTixcblx0RlVMTFdJRFRIR1JFQVRFUlRIQU46IEZVTExXSURUSEdSRUFURVJUSEFOLFxuXHRGVUxMV0lEVEhMRUZUUEFSRU46IEZVTExXSURUSExFRlRQQVJFTixcblx0RlVMTFdJRFRITEVTU1RIQU46IEZVTExXSURUSExFU1NUSEFOLFxuXHRGVUxMV0lEVEhNSURETEVET1Q6IEZVTExXSURUSE1JRERMRURPVCxcblx0RlVMTFdJRFRIUklHSFRQQVJFTjogRlVMTFdJRFRIUklHSFRQQVJFTixcblx0SFlQSEVOOiBIWVBIRU4sXG5cdExFRlRDT1JORVJCUkFDS0VUOiBMRUZUQ09STkVSQlJBQ0tFVCxcblx0TEVGVFdISVRFQ09STkVSQlJBQ0tFVDogTEVGVFdISVRFQ09STkVSQlJBQ0tFVCxcblx0TE9DQUxIT1NUOiBMT0NBTEhPU1QsXG5cdE5MOiBOTCxcblx0TlVNOiBOVU0sXG5cdE9QRU5BTkdMRUJSQUNLRVQ6IE9QRU5BTkdMRUJSQUNLRVQsXG5cdE9QRU5CUkFDRTogT1BFTkJSQUNFLFxuXHRPUEVOQlJBQ0tFVDogT1BFTkJSQUNLRVQsXG5cdE9QRU5QQVJFTjogT1BFTlBBUkVOLFxuXHRQRVJDRU5UOiBQRVJDRU5ULFxuXHRQSVBFOiBQSVBFLFxuXHRQTFVTOiBQTFVTLFxuXHRQT1VORDogUE9VTkQsXG5cdFFVRVJZOiBRVUVSWSxcblx0UVVPVEU6IFFVT1RFLFxuXHRSSUdIVENPUk5FUkJSQUNLRVQ6IFJJR0hUQ09STkVSQlJBQ0tFVCxcblx0UklHSFRXSElURUNPUk5FUkJSQUNLRVQ6IFJJR0hUV0hJVEVDT1JORVJCUkFDS0VULFxuXHRTQ0hFTUU6IFNDSEVNRSxcblx0U0VNSTogU0VNSSxcblx0U0xBU0g6IFNMQVNILFxuXHRTTEFTSF9TQ0hFTUU6IFNMQVNIX1NDSEVNRSxcblx0U1lNOiBTWU0sXG5cdFRJTERFOiBUSUxERSxcblx0VExEOiBUTEQsXG5cdFVOREVSU0NPUkU6IFVOREVSU0NPUkUsXG5cdFVUTEQ6IFVUTEQsXG5cdFVXT1JEOiBVV09SRCxcblx0V09SRDogV09SRCxcblx0V1M6IFdTXG59KTtcblxuLy8gTm90ZSB0aGF0IHRoZXNlIHR3byBVbmljb2RlIG9uZXMgZXhwYW5kIGludG8gYSByZWFsbHkgYmlnIG9uZSB3aXRoIEJhYmVsXG5jb25zdCBBU0NJSV9MRVRURVIgPSAvW2Etel0vO1xuY29uc3QgTEVUVEVSID0gL1xccHtMfS91OyAvLyBBbnkgVW5pY29kZSBjaGFyYWN0ZXIgd2l0aCBsZXR0ZXIgZGF0YSB0eXBlXG5jb25zdCBFTU9KSSA9IC9cXHB7RW1vaml9L3U7IC8vIEFueSBVbmljb2RlIGVtb2ppIGNoYXJhY3RlclxuY29uc3QgRU1PSklfVkFSSUFUSU9OJDEgPSAvXFx1ZmUwZi87XG5jb25zdCBESUdJVCA9IC9cXGQvO1xuY29uc3QgU1BBQ0UgPSAvXFxzLztcblxudmFyIHJlZ2V4cCA9IC8qI19fUFVSRV9fKi9PYmplY3QuZnJlZXplKHtcblx0X19wcm90b19fOiBudWxsLFxuXHRBU0NJSV9MRVRURVI6IEFTQ0lJX0xFVFRFUixcblx0RElHSVQ6IERJR0lULFxuXHRFTU9KSTogRU1PSkksXG5cdEVNT0pJX1ZBUklBVElPTjogRU1PSklfVkFSSUFUSU9OJDEsXG5cdExFVFRFUjogTEVUVEVSLFxuXHRTUEFDRTogU1BBQ0Vcbn0pO1xuXG4vKipcblx0VGhlIHNjYW5uZXIgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIHRoYXQgdGFrZXMgYSBzdHJpbmcgb2YgdGV4dCBhcyBpbnB1dCwgYW5kXG5cdG91dHB1dHMgYW4gYXJyYXkgb2YgdG9rZW5zIGluc3RhbmNlcyB0aGF0IGNhbiBiZSB1c2VkIGZvciBlYXN5IFVSTCBwYXJzaW5nLlxuKi9cblxuY29uc3QgQ1IgPSAnXFxyJzsgLy8gY2FycmlhZ2UtcmV0dXJuIGNoYXJhY3RlclxuY29uc3QgTEYgPSAnXFxuJzsgLy8gbGluZS1mZWVkIGNoYXJhY3RlclxuY29uc3QgRU1PSklfVkFSSUFUSU9OID0gJ1xcdWZlMGYnOyAvLyBWYXJpYXRpb24gc2VsZWN0b3IsIGZvbGxvd3MgaGVhcnQgYW5kIG90aGVyc1xuY29uc3QgRU1PSklfSk9JTkVSID0gJ1xcdTIwMGQnOyAvLyB6ZXJvLXdpZHRoIGpvaW5lclxuY29uc3QgT0JKRUNUX1JFUExBQ0VNRU5UID0gJ1xcdWZmZmMnOyAvLyB3aGl0ZXNwYWNlIHBsYWNlaG9sZGVyIHRoYXQgc29tZXRpbWVzIGFwcGVhcnMgaW4gcmljaCB0ZXh0IGVkaXRvcnNcblxubGV0IHRsZHMgPSBudWxsLFxuICB1dGxkcyA9IG51bGw7IC8vIGRvbid0IGNoYW5nZSBzbyBvbmx5IGhhdmUgdG8gYmUgY29tcHV0ZWQgb25jZVxuXG4vKipcbiAqIFNjYW5uZXIgb3V0cHV0IHRva2VuOlxuICogLSBgdGAgaXMgdGhlIHRva2VuIG5hbWUgKGUuZy4sICdOVU0nLCAnRU1PSkknLCAnVExEJylcbiAqIC0gYHZgIGlzIHRoZSB2YWx1ZSBvZiB0aGUgdG9rZW4gKGUuZy4sICcxMjMnLCAn4p2k77iPJywgJ2NvbScpXG4gKiAtIGBzYCBpcyB0aGUgc3RhcnQgaW5kZXggb2YgdGhlIHRva2VuIGluIHRoZSBvcmlnaW5hbCBzdHJpbmdcbiAqIC0gYGVgIGlzIHRoZSBlbmQgaW5kZXggb2YgdGhlIHRva2VuIGluIHRoZSBvcmlnaW5hbCBzdHJpbmdcbiAqIEB0eXBlZGVmIHt7dDogc3RyaW5nLCB2OiBzdHJpbmcsIHM6IG51bWJlciwgZTogbnVtYmVyfX0gVG9rZW5cbiAqL1xuXG4vKipcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAdHlwZWRlZiB7eyBbY29sbGVjdGlvbjogc3RyaW5nXTogVFtdIH19IENvbGxlY3Rpb25zXG4gKi9cblxuLyoqXG4gKiBJbml0aWFsaXplIHRoZSBzY2FubmVyIGNoYXJhY3Rlci1iYXNlZCBzdGF0ZSBtYWNoaW5lIGZvciB0aGUgZ2l2ZW4gc3RhcnRcbiAqIHN0YXRlXG4gKiBAcGFyYW0ge1tzdHJpbmcsIGJvb2xlYW5dW119IGN1c3RvbVNjaGVtZXMgTGlzdCBvZiBjdXN0b20gc2NoZW1lcywgd2hlcmUgZWFjaFxuICogaXRlbSBpcyBhIGxlbmd0aC0yIHR1cGxlIHdpdGggdGhlIGZpcnN0IGVsZW1lbnQgc2V0IHRvIHRoZSBzdHJpbmcgc2NoZW1lLCBhbmRcbiAqIHRoZSBzZWNvbmQgZWxlbWVudCBzZXQgdG8gYHRydWVgIGlmIHRoZSBgOi8vYCBhZnRlciB0aGUgc2NoZW1lIGlzIG9wdGlvbmFsXG4gKi9cbmZ1bmN0aW9uIGluaXQkMihjdXN0b21TY2hlbWVzID0gW10pIHtcbiAgLy8gRnJlcXVlbnRseSB1c2VkIHN0YXRlcyAobmFtZSBhcmd1bWVudCByZW1vdmVkIGR1cmluZyBtaW5pZmljYXRpb24pXG4gIC8qKiBAdHlwZSBDb2xsZWN0aW9uczxzdHJpbmc+ICovXG4gIGNvbnN0IGdyb3VwcyA9IHt9OyAvLyBvZiB0b2tlbnNcbiAgU3RhdGUuZ3JvdXBzID0gZ3JvdXBzO1xuICAvKiogQHR5cGUgU3RhdGU8c3RyaW5nPiAqL1xuICBjb25zdCBTdGFydCA9IG5ldyBTdGF0ZSgpO1xuICBpZiAodGxkcyA9PSBudWxsKSB7XG4gICAgdGxkcyA9IGRlY29kZVRsZHMoZW5jb2RlZFRsZHMpO1xuICB9XG4gIGlmICh1dGxkcyA9PSBudWxsKSB7XG4gICAgdXRsZHMgPSBkZWNvZGVUbGRzKGVuY29kZWRVdGxkcyk7XG4gIH1cblxuICAvLyBTdGF0ZXMgZm9yIHNwZWNpYWwgVVJMIHN5bWJvbHMgdGhhdCBhY2NlcHQgaW1tZWRpYXRlbHkgYWZ0ZXIgc3RhcnRcbiAgdHQoU3RhcnQsIFwiJ1wiLCBBUE9TVFJPUEhFKTtcbiAgdHQoU3RhcnQsICd7JywgT1BFTkJSQUNFKTtcbiAgdHQoU3RhcnQsICd9JywgQ0xPU0VCUkFDRSk7XG4gIHR0KFN0YXJ0LCAnWycsIE9QRU5CUkFDS0VUKTtcbiAgdHQoU3RhcnQsICddJywgQ0xPU0VCUkFDS0VUKTtcbiAgdHQoU3RhcnQsICcoJywgT1BFTlBBUkVOKTtcbiAgdHQoU3RhcnQsICcpJywgQ0xPU0VQQVJFTik7XG4gIHR0KFN0YXJ0LCAnPCcsIE9QRU5BTkdMRUJSQUNLRVQpO1xuICB0dChTdGFydCwgJz4nLCBDTE9TRUFOR0xFQlJBQ0tFVCk7XG4gIHR0KFN0YXJ0LCAn77yIJywgRlVMTFdJRFRITEVGVFBBUkVOKTtcbiAgdHQoU3RhcnQsICfvvIknLCBGVUxMV0lEVEhSSUdIVFBBUkVOKTtcbiAgdHQoU3RhcnQsICfjgIwnLCBMRUZUQ09STkVSQlJBQ0tFVCk7XG4gIHR0KFN0YXJ0LCAn44CNJywgUklHSFRDT1JORVJCUkFDS0VUKTtcbiAgdHQoU3RhcnQsICfjgI4nLCBMRUZUV0hJVEVDT1JORVJCUkFDS0VUKTtcbiAgdHQoU3RhcnQsICfjgI8nLCBSSUdIVFdISVRFQ09STkVSQlJBQ0tFVCk7XG4gIHR0KFN0YXJ0LCAn77ycJywgRlVMTFdJRFRITEVTU1RIQU4pO1xuICB0dChTdGFydCwgJ++8nicsIEZVTExXSURUSEdSRUFURVJUSEFOKTtcbiAgdHQoU3RhcnQsICcmJywgQU1QRVJTQU5EKTtcbiAgdHQoU3RhcnQsICcqJywgQVNURVJJU0spO1xuICB0dChTdGFydCwgJ0AnLCBBVCk7XG4gIHR0KFN0YXJ0LCAnYCcsIEJBQ0tUSUNLKTtcbiAgdHQoU3RhcnQsICdeJywgQ0FSRVQpO1xuICB0dChTdGFydCwgJzonLCBDT0xPTik7XG4gIHR0KFN0YXJ0LCAnLCcsIENPTU1BKTtcbiAgdHQoU3RhcnQsICckJywgRE9MTEFSKTtcbiAgdHQoU3RhcnQsICcuJywgRE9UKTtcbiAgdHQoU3RhcnQsICc9JywgRVFVQUxTKTtcbiAgdHQoU3RhcnQsICchJywgRVhDTEFNQVRJT04pO1xuICB0dChTdGFydCwgJy0nLCBIWVBIRU4pO1xuICB0dChTdGFydCwgJyUnLCBQRVJDRU5UKTtcbiAgdHQoU3RhcnQsICd8JywgUElQRSk7XG4gIHR0KFN0YXJ0LCAnKycsIFBMVVMpO1xuICB0dChTdGFydCwgJyMnLCBQT1VORCk7XG4gIHR0KFN0YXJ0LCAnPycsIFFVRVJZKTtcbiAgdHQoU3RhcnQsICdcIicsIFFVT1RFKTtcbiAgdHQoU3RhcnQsICcvJywgU0xBU0gpO1xuICB0dChTdGFydCwgJzsnLCBTRU1JKTtcbiAgdHQoU3RhcnQsICd+JywgVElMREUpO1xuICB0dChTdGFydCwgJ18nLCBVTkRFUlNDT1JFKTtcbiAgdHQoU3RhcnQsICdcXFxcJywgQkFDS1NMQVNIKTtcbiAgdHQoU3RhcnQsICfjg7snLCBGVUxMV0lEVEhNSURETEVET1QpO1xuICBjb25zdCBOdW0gPSB0cihTdGFydCwgRElHSVQsIE5VTSwge1xuICAgIFtudW1lcmljXTogdHJ1ZVxuICB9KTtcbiAgdHIoTnVtLCBESUdJVCwgTnVtKTtcbiAgY29uc3QgQXNjaWludW1lcmljID0gdHIoTnVtLCBBU0NJSV9MRVRURVIsIEFTQ0lJTlVNRVJJQ0FMLCB7XG4gICAgW2FzY2lpbnVtZXJpY106IHRydWVcbiAgfSk7XG4gIGNvbnN0IEFscGhhbnVtZXJpYyA9IHRyKE51bSwgTEVUVEVSLCBBTFBIQU5VTUVSSUNBTCwge1xuICAgIFthbHBoYW51bWVyaWNdOiB0cnVlXG4gIH0pO1xuXG4gIC8vIFN0YXRlIHdoaWNoIGVtaXRzIGEgd29yZCB0b2tlblxuICBjb25zdCBXb3JkID0gdHIoU3RhcnQsIEFTQ0lJX0xFVFRFUiwgV09SRCwge1xuICAgIFthc2NpaV06IHRydWVcbiAgfSk7XG4gIHRyKFdvcmQsIERJR0lULCBBc2NpaW51bWVyaWMpO1xuICB0cihXb3JkLCBBU0NJSV9MRVRURVIsIFdvcmQpO1xuICB0cihBc2NpaW51bWVyaWMsIERJR0lULCBBc2NpaW51bWVyaWMpO1xuICB0cihBc2NpaW51bWVyaWMsIEFTQ0lJX0xFVFRFUiwgQXNjaWludW1lcmljKTtcblxuICAvLyBTYW1lIGFzIHByZXZpb3VzLCBidXQgc3BlY2lmaWMgdG8gbm9uLWZzbS5hc2NpaSBhbHBoYWJldCB3b3Jkc1xuICBjb25zdCBVV29yZCA9IHRyKFN0YXJ0LCBMRVRURVIsIFVXT1JELCB7XG4gICAgW2FscGhhXTogdHJ1ZVxuICB9KTtcbiAgdHIoVVdvcmQsIEFTQ0lJX0xFVFRFUik7IC8vIE5vbi1hY2NlcHRpbmdcbiAgdHIoVVdvcmQsIERJR0lULCBBbHBoYW51bWVyaWMpO1xuICB0cihVV29yZCwgTEVUVEVSLCBVV29yZCk7XG4gIHRyKEFscGhhbnVtZXJpYywgRElHSVQsIEFscGhhbnVtZXJpYyk7XG4gIHRyKEFscGhhbnVtZXJpYywgQVNDSUlfTEVUVEVSKTsgLy8gTm9uLWFjY2VwdGluZ1xuICB0cihBbHBoYW51bWVyaWMsIExFVFRFUiwgQWxwaGFudW1lcmljKTsgLy8gTm9uLWFjY2VwdGluZ1xuXG4gIC8vIFdoaXRlc3BhY2UganVtcHNcbiAgLy8gVG9rZW5zIG9mIG9ubHkgbm9uLW5ld2xpbmUgd2hpdGVzcGFjZSBhcmUgYXJiaXRyYXJpbHkgbG9uZ1xuICAvLyBJZiBhbnkgd2hpdGVzcGFjZSBleGNlcHQgbmV3bGluZSwgbW9yZSB3aGl0ZXNwYWNlIVxuICBjb25zdCBObCA9IHR0KFN0YXJ0LCBMRiwgTkwsIHtcbiAgICBbd2hpdGVzcGFjZV06IHRydWVcbiAgfSk7XG4gIGNvbnN0IENyID0gdHQoU3RhcnQsIENSLCBXUywge1xuICAgIFt3aGl0ZXNwYWNlXTogdHJ1ZVxuICB9KTtcbiAgY29uc3QgV3MgPSB0cihTdGFydCwgU1BBQ0UsIFdTLCB7XG4gICAgW3doaXRlc3BhY2VdOiB0cnVlXG4gIH0pO1xuICB0dChTdGFydCwgT0JKRUNUX1JFUExBQ0VNRU5ULCBXcyk7XG4gIHR0KENyLCBMRiwgTmwpOyAvLyBcXHJcXG5cbiAgdHQoQ3IsIE9CSkVDVF9SRVBMQUNFTUVOVCwgV3MpO1xuICB0cihDciwgU1BBQ0UsIFdzKTtcbiAgdHQoV3MsIENSKTsgLy8gbm9uLWFjY2VwdGluZyBzdGF0ZSB0byBhdm9pZCBtaXhpbmcgd2hpdGVzcGFjZXNcbiAgdHQoV3MsIExGKTsgLy8gbm9uLWFjY2VwdGluZyBzdGF0ZSB0byBhdm9pZCBtaXhpbmcgd2hpdGVzcGFjZXNcbiAgdHIoV3MsIFNQQUNFLCBXcyk7XG4gIHR0KFdzLCBPQkpFQ1RfUkVQTEFDRU1FTlQsIFdzKTtcblxuICAvLyBFbW9qaSB0b2tlbnMuIFRoZXkgYXJlIG5vdCBncm91cGVkIGJ5IHRoZSBzY2FubmVyIGV4Y2VwdCBpbiBjYXNlcyB3aGVyZSBhXG4gIC8vIHplcm8td2lkdGggam9pbmVyIGlzIHByZXNlbnRcbiAgY29uc3QgRW1vamkgPSB0cihTdGFydCwgRU1PSkksIEVNT0pJJDEsIHtcbiAgICBbZW1vamldOiB0cnVlXG4gIH0pO1xuICB0dChFbW9qaSwgJyMnKTsgLy8gbm8gdHJhbnNpdGlvbiwgZW1vamkgcmVnZXggc2VlbXMgdG8gbWF0Y2ggI1xuICB0cihFbW9qaSwgRU1PSkksIEVtb2ppKTtcbiAgdHQoRW1vamksIEVNT0pJX1ZBUklBVElPTiwgRW1vamkpO1xuICAvLyB0dChTdGFydCwgRU1PSklfVkFSSUFUSU9OLCBFbW9qaSk7IC8vIFRoaXMgb25lIGlzIHNrZXRjaHlcblxuICBjb25zdCBFbW9qaUpvaW5lciA9IHR0KEVtb2ppLCBFTU9KSV9KT0lORVIpO1xuICB0dChFbW9qaUpvaW5lciwgJyMnKTtcbiAgdHIoRW1vamlKb2luZXIsIEVNT0pJLCBFbW9qaSk7XG4gIC8vIHR0KEVtb2ppSm9pbmVyLCBFTU9KSV9WQVJJQVRJT04sIEVtb2ppKTsgLy8gYWxzbyBza2V0Y2h5XG5cbiAgLy8gR2VuZXJhdGVzIHN0YXRlcyBmb3IgdG9wLWxldmVsIGRvbWFpbnNcbiAgLy8gTm90ZSB0aGF0IHRoaXMgaXMgbW9zdCBhY2N1cmF0ZSB3aGVuIHRsZHMgYXJlIGluIGFscGhhYmV0aWNhbCBvcmRlclxuICBjb25zdCB3b3JkanIgPSBbW0FTQ0lJX0xFVFRFUiwgV29yZF0sIFtESUdJVCwgQXNjaWludW1lcmljXV07XG4gIGNvbnN0IHV3b3JkanIgPSBbW0FTQ0lJX0xFVFRFUiwgbnVsbF0sIFtMRVRURVIsIFVXb3JkXSwgW0RJR0lULCBBbHBoYW51bWVyaWNdXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB0bGRzLmxlbmd0aDsgaSsrKSB7XG4gICAgZmFzdHRzKFN0YXJ0LCB0bGRzW2ldLCBUTEQsIFdPUkQsIHdvcmRqcik7XG4gIH1cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB1dGxkcy5sZW5ndGg7IGkrKykge1xuICAgIGZhc3R0cyhTdGFydCwgdXRsZHNbaV0sIFVUTEQsIFVXT1JELCB1d29yZGpyKTtcbiAgfVxuICBhZGRUb0dyb3VwcyhUTEQsIHtcbiAgICB0bGQ6IHRydWUsXG4gICAgYXNjaWk6IHRydWVcbiAgfSwgZ3JvdXBzKTtcbiAgYWRkVG9Hcm91cHMoVVRMRCwge1xuICAgIHV0bGQ6IHRydWUsXG4gICAgYWxwaGE6IHRydWVcbiAgfSwgZ3JvdXBzKTtcblxuICAvLyBDb2xsZWN0IHRoZSBzdGF0ZXMgZ2VuZXJhdGVkIGJ5IGRpZmZlcmVudCBwcm90b2NvbHMuIE5PVEU6IElmIGFueSBuZXcgVExEc1xuICAvLyBnZXQgYWRkZWQgdGhhdCBhcmUgYWxzbyBwcm90b2NvbHMsIHNldCB0aGUgdG9rZW4gdG8gYmUgdGhlIHNhbWUgYXMgdGhlXG4gIC8vIHByb3RvY29sIHRvIGVuc3VyZSBwYXJzaW5nIHdvcmtzIGFzIGV4cGVjdGVkLlxuICBmYXN0dHMoU3RhcnQsICdmaWxlJywgU0NIRU1FLCBXT1JELCB3b3JkanIpO1xuICBmYXN0dHMoU3RhcnQsICdtYWlsdG8nLCBTQ0hFTUUsIFdPUkQsIHdvcmRqcik7XG4gIGZhc3R0cyhTdGFydCwgJ2h0dHAnLCBTTEFTSF9TQ0hFTUUsIFdPUkQsIHdvcmRqcik7XG4gIGZhc3R0cyhTdGFydCwgJ2h0dHBzJywgU0xBU0hfU0NIRU1FLCBXT1JELCB3b3JkanIpO1xuICBmYXN0dHMoU3RhcnQsICdmdHAnLCBTTEFTSF9TQ0hFTUUsIFdPUkQsIHdvcmRqcik7XG4gIGZhc3R0cyhTdGFydCwgJ2Z0cHMnLCBTTEFTSF9TQ0hFTUUsIFdPUkQsIHdvcmRqcik7XG4gIGFkZFRvR3JvdXBzKFNDSEVNRSwge1xuICAgIHNjaGVtZTogdHJ1ZSxcbiAgICBhc2NpaTogdHJ1ZVxuICB9LCBncm91cHMpO1xuICBhZGRUb0dyb3VwcyhTTEFTSF9TQ0hFTUUsIHtcbiAgICBzbGFzaHNjaGVtZTogdHJ1ZSxcbiAgICBhc2NpaTogdHJ1ZVxuICB9LCBncm91cHMpO1xuXG4gIC8vIFJlZ2lzdGVyIGN1c3RvbSBzY2hlbWVzLiBBc3N1bWVzIGVhY2ggc2NoZW1lIGlzIGFzY2lpbnVtZXJpYyB3aXRoIGh5cGhlbnNcbiAgY3VzdG9tU2NoZW1lcyA9IGN1c3RvbVNjaGVtZXMuc29ydCgoYSwgYikgPT4gYVswXSA+IGJbMF0gPyAxIDogLTEpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGN1c3RvbVNjaGVtZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBzY2ggPSBjdXN0b21TY2hlbWVzW2ldWzBdO1xuICAgIGNvbnN0IG9wdGlvbmFsU2xhc2hTbGFzaCA9IGN1c3RvbVNjaGVtZXNbaV1bMV07XG4gICAgY29uc3QgZmxhZ3MgPSBvcHRpb25hbFNsYXNoU2xhc2ggPyB7XG4gICAgICBbc2NoZW1lXTogdHJ1ZVxuICAgIH0gOiB7XG4gICAgICBbc2xhc2hzY2hlbWVdOiB0cnVlXG4gICAgfTtcbiAgICBpZiAoc2NoLmluZGV4T2YoJy0nKSA+PSAwKSB7XG4gICAgICBmbGFnc1tkb21haW5dID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKCFBU0NJSV9MRVRURVIudGVzdChzY2gpKSB7XG4gICAgICBmbGFnc1tudW1lcmljXSA9IHRydWU7IC8vIG51bWJlcnMgb25seVxuICAgIH0gZWxzZSBpZiAoRElHSVQudGVzdChzY2gpKSB7XG4gICAgICBmbGFnc1thc2NpaW51bWVyaWNdID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmxhZ3NbYXNjaWldID0gdHJ1ZTtcbiAgICB9XG4gICAgdHMoU3RhcnQsIHNjaCwgc2NoLCBmbGFncyk7XG4gIH1cblxuICAvLyBMb2NhbGhvc3QgdG9rZW5cbiAgdHMoU3RhcnQsICdsb2NhbGhvc3QnLCBMT0NBTEhPU1QsIHtcbiAgICBhc2NpaTogdHJ1ZVxuICB9KTtcblxuICAvLyBTZXQgZGVmYXVsdCB0cmFuc2l0aW9uIGZvciBzdGFydCBzdGF0ZSAoc29tZSBzeW1ib2wpXG4gIFN0YXJ0LmpkID0gbmV3IFN0YXRlKFNZTSk7XG4gIHJldHVybiB7XG4gICAgc3RhcnQ6IFN0YXJ0LFxuICAgIHRva2VuczogT2JqZWN0LmFzc2lnbih7XG4gICAgICBncm91cHNcbiAgICB9LCB0aylcbiAgfTtcbn1cblxuLyoqXG5cdEdpdmVuIGEgc3RyaW5nLCByZXR1cm5zIGFuIGFycmF5IG9mIFRPS0VOIGluc3RhbmNlcyByZXByZXNlbnRpbmcgdGhlXG5cdGNvbXBvc2l0aW9uIG9mIHRoYXQgc3RyaW5nLlxuXG5cdEBtZXRob2QgcnVuXG5cdEBwYXJhbSB7U3RhdGU8c3RyaW5nPn0gc3RhcnQgc2Nhbm5lciBzdGFydGluZyBzdGF0ZVxuXHRAcGFyYW0ge3N0cmluZ30gc3RyIGlucHV0IHN0cmluZyB0byBzY2FuXG5cdEByZXR1cm4ge1Rva2VuW119IGxpc3Qgb2YgdG9rZW5zLCBlYWNoIHdpdGggYSB0eXBlIGFuZCB2YWx1ZVxuKi9cbmZ1bmN0aW9uIHJ1biQxKHN0YXJ0LCBzdHIpIHtcbiAgLy8gU3RhdGUgbWFjaGluZSBpcyBub3QgY2FzZSBzZW5zaXRpdmUsIHNvIGlucHV0IGlzIHRva2VuaXplZCBpbiBsb3dlcmNhc2VkXG4gIC8vIGZvcm0gKHN0aWxsIHJldHVybnMgcmVndWxhciBjYXNlKS4gVXNlcyBzZWxlY3RpdmUgYHRvTG93ZXJDYXNlYCBiZWNhdXNlXG4gIC8vIGxvd2VyY2FzaW5nIHRoZSBlbnRpcmUgc3RyaW5nIGNhdXNlcyB0aGUgbGVuZ3RoIGFuZCBjaGFyYWN0ZXIgcG9zaXRpb24gdG9cbiAgLy8gdmFyeSBpbiBzb21lIG5vbi1FbmdsaXNoIHN0cmluZ3Mgd2l0aCBWOC1iYXNlZCBydW50aW1lcy5cbiAgY29uc3QgaXRlcmFibGUgPSBzdHJpbmdUb0FycmF5KHN0ci5yZXBsYWNlKC9bQS1aXS9nLCBjID0+IGMudG9Mb3dlckNhc2UoKSkpO1xuICBjb25zdCBjaGFyQ291bnQgPSBpdGVyYWJsZS5sZW5ndGg7IC8vIDw9IGxlbiBpZiB0aGVyZSBhcmUgZW1vamlzLCBldGNcbiAgY29uc3QgdG9rZW5zID0gW107IC8vIHJldHVybiB2YWx1ZVxuXG4gIC8vIGN1cnNvciB0aHJvdWdoIHRoZSBzdHJpbmcgaXRzZWxmLCBhY2NvdW50aW5nIGZvciBjaGFyYWN0ZXJzIHRoYXQgaGF2ZVxuICAvLyB3aWR0aCB3aXRoIGxlbmd0aCAyIHN1Y2ggYXMgZW1vamlzXG4gIGxldCBjdXJzb3IgPSAwO1xuXG4gIC8vIEN1cnNvciB0aHJvdWdoIHRoZSBhcnJheS1yZXByZXNlbnRhdGlvbiBvZiB0aGUgc3RyaW5nXG4gIGxldCBjaGFyQ3Vyc29yID0gMDtcblxuICAvLyBUb2tlbml6ZSB0aGUgc3RyaW5nXG4gIHdoaWxlIChjaGFyQ3Vyc29yIDwgY2hhckNvdW50KSB7XG4gICAgbGV0IHN0YXRlID0gc3RhcnQ7XG4gICAgbGV0IG5leHRTdGF0ZSA9IG51bGw7XG4gICAgbGV0IHRva2VuTGVuZ3RoID0gMDtcbiAgICBsZXQgbGF0ZXN0QWNjZXB0aW5nID0gbnVsbDtcbiAgICBsZXQgc2luY2VBY2NlcHRzID0gLTE7XG4gICAgbGV0IGNoYXJzU2luY2VBY2NlcHRzID0gLTE7XG4gICAgd2hpbGUgKGNoYXJDdXJzb3IgPCBjaGFyQ291bnQgJiYgKG5leHRTdGF0ZSA9IHN0YXRlLmdvKGl0ZXJhYmxlW2NoYXJDdXJzb3JdKSkpIHtcbiAgICAgIHN0YXRlID0gbmV4dFN0YXRlO1xuXG4gICAgICAvLyBLZWVwIHRyYWNrIG9mIHRoZSBsYXRlc3QgYWNjZXB0aW5nIHN0YXRlXG4gICAgICBpZiAoc3RhdGUuYWNjZXB0cygpKSB7XG4gICAgICAgIHNpbmNlQWNjZXB0cyA9IDA7XG4gICAgICAgIGNoYXJzU2luY2VBY2NlcHRzID0gMDtcbiAgICAgICAgbGF0ZXN0QWNjZXB0aW5nID0gc3RhdGU7XG4gICAgICB9IGVsc2UgaWYgKHNpbmNlQWNjZXB0cyA+PSAwKSB7XG4gICAgICAgIHNpbmNlQWNjZXB0cyArPSBpdGVyYWJsZVtjaGFyQ3Vyc29yXS5sZW5ndGg7XG4gICAgICAgIGNoYXJzU2luY2VBY2NlcHRzKys7XG4gICAgICB9XG4gICAgICB0b2tlbkxlbmd0aCArPSBpdGVyYWJsZVtjaGFyQ3Vyc29yXS5sZW5ndGg7XG4gICAgICBjdXJzb3IgKz0gaXRlcmFibGVbY2hhckN1cnNvcl0ubGVuZ3RoO1xuICAgICAgY2hhckN1cnNvcisrO1xuICAgIH1cblxuICAgIC8vIFJvbGwgYmFjayB0byB0aGUgbGF0ZXN0IGFjY2VwdGluZyBzdGF0ZVxuICAgIGN1cnNvciAtPSBzaW5jZUFjY2VwdHM7XG4gICAgY2hhckN1cnNvciAtPSBjaGFyc1NpbmNlQWNjZXB0cztcbiAgICB0b2tlbkxlbmd0aCAtPSBzaW5jZUFjY2VwdHM7XG5cbiAgICAvLyBObyBtb3JlIGp1bXBzLCBqdXN0IG1ha2UgYSBuZXcgdG9rZW4gZnJvbSB0aGUgbGFzdCBhY2NlcHRpbmcgb25lXG4gICAgdG9rZW5zLnB1c2goe1xuICAgICAgdDogbGF0ZXN0QWNjZXB0aW5nLnQsXG4gICAgICAvLyB0b2tlbiB0eXBlL25hbWVcbiAgICAgIHY6IHN0ci5zbGljZShjdXJzb3IgLSB0b2tlbkxlbmd0aCwgY3Vyc29yKSxcbiAgICAgIC8vIHN0cmluZyB2YWx1ZVxuICAgICAgczogY3Vyc29yIC0gdG9rZW5MZW5ndGgsXG4gICAgICAvLyBzdGFydCBpbmRleFxuICAgICAgZTogY3Vyc29yIC8vIGVuZCBpbmRleCAoZXhjbHVkaW5nKVxuICAgIH0pO1xuICB9XG4gIHJldHVybiB0b2tlbnM7XG59XG5cbi8qKlxuICogQ29udmVydCBhIFN0cmluZyB0byBhbiBBcnJheSBvZiBjaGFyYWN0ZXJzLCB0YWtpbmcgaW50byBhY2NvdW50IHRoYXQgc29tZVxuICogY2hhcmFjdGVycyBsaWtlIGVtb2ppcyB0YWtlIHVwIHR3byBzdHJpbmcgaW5kZXhlcy5cbiAqXG4gKiBBZGFwdGVkIGZyb20gY29yZS1qcyAoTUlUIGxpY2Vuc2UpXG4gKiBodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9ibG9iLzJkNjljZjVmOTlhYjNlYTM0NjNjMzk1ZGY4MWU1YTE1YjY4ZjQ5ZDkvcGFja2FnZXMvY29yZS1qcy9pbnRlcm5hbHMvc3RyaW5nLW11bHRpYnl0ZS5qc1xuICpcbiAqIEBmdW5jdGlvbiBzdHJpbmdUb0FycmF5XG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyXG4gKiBAcmV0dXJucyB7c3RyaW5nW119XG4gKi9cbmZ1bmN0aW9uIHN0cmluZ1RvQXJyYXkoc3RyKSB7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuICBjb25zdCBsZW4gPSBzdHIubGVuZ3RoO1xuICBsZXQgaW5kZXggPSAwO1xuICB3aGlsZSAoaW5kZXggPCBsZW4pIHtcbiAgICBsZXQgZmlyc3QgPSBzdHIuY2hhckNvZGVBdChpbmRleCk7XG4gICAgbGV0IHNlY29uZDtcbiAgICBsZXQgY2hhciA9IGZpcnN0IDwgMHhkODAwIHx8IGZpcnN0ID4gMHhkYmZmIHx8IGluZGV4ICsgMSA9PT0gbGVuIHx8IChzZWNvbmQgPSBzdHIuY2hhckNvZGVBdChpbmRleCArIDEpKSA8IDB4ZGMwMCB8fCBzZWNvbmQgPiAweGRmZmYgPyBzdHJbaW5kZXhdIC8vIHNpbmdsZSBjaGFyYWN0ZXJcbiAgICA6IHN0ci5zbGljZShpbmRleCwgaW5kZXggKyAyKTsgLy8gdHdvLWluZGV4IGNoYXJhY3RlcnNcbiAgICByZXN1bHQucHVzaChjaGFyKTtcbiAgICBpbmRleCArPSBjaGFyLmxlbmd0aDtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEZhc3QgdmVyc2lvbiBvZiB0cyBmdW5jdGlvbiBmb3Igd2hlbiB0cmFuc2l0aW9uIGRlZmF1bHRzIGFyZSB3ZWxsIGtub3duXG4gKiBAcGFyYW0ge1N0YXRlPHN0cmluZz59IHN0YXRlXG4gKiBAcGFyYW0ge3N0cmluZ30gaW5wdXRcbiAqIEBwYXJhbSB7c3RyaW5nfSB0XG4gKiBAcGFyYW0ge3N0cmluZ30gZGVmYXVsdHRcbiAqIEBwYXJhbSB7W1JlZ0V4cCwgU3RhdGU8c3RyaW5nPl1bXX0ganJcbiAqIEByZXR1cm5zIHtTdGF0ZTxzdHJpbmc+fVxuICovXG5mdW5jdGlvbiBmYXN0dHMoc3RhdGUsIGlucHV0LCB0LCBkZWZhdWx0dCwganIpIHtcbiAgbGV0IG5leHQ7XG4gIGNvbnN0IGxlbiA9IGlucHV0Lmxlbmd0aDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW4gLSAxOyBpKyspIHtcbiAgICBjb25zdCBjaGFyID0gaW5wdXRbaV07XG4gICAgaWYgKHN0YXRlLmpbY2hhcl0pIHtcbiAgICAgIG5leHQgPSBzdGF0ZS5qW2NoYXJdO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0ID0gbmV3IFN0YXRlKGRlZmF1bHR0KTtcbiAgICAgIG5leHQuanIgPSBqci5zbGljZSgpO1xuICAgICAgc3RhdGUualtjaGFyXSA9IG5leHQ7XG4gICAgfVxuICAgIHN0YXRlID0gbmV4dDtcbiAgfVxuICBuZXh0ID0gbmV3IFN0YXRlKHQpO1xuICBuZXh0LmpyID0ganIuc2xpY2UoKTtcbiAgc3RhdGUualtpbnB1dFtsZW4gLSAxXV0gPSBuZXh0O1xuICByZXR1cm4gbmV4dDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmluZyBvZiBUb3AtTGV2ZWwgRG9tYWluIG5hbWVzIGVuY29kZWQgaW4gdXBkYXRlLXRsZHMuanMgYmFja1xuICogaW50byBhIGxpc3Qgb2Ygc3RyaW5ncy5cbiAqIEBwYXJhbSB7c3RyfSBlbmNvZGVkIGVuY29kZWQgVExEcyBzdHJpbmdcbiAqIEByZXR1cm5zIHtzdHJbXX0gb3JpZ2luYWwgVExEcyBsaXN0XG4gKi9cbmZ1bmN0aW9uIGRlY29kZVRsZHMoZW5jb2RlZCkge1xuICBjb25zdCB3b3JkcyA9IFtdO1xuICBjb25zdCBzdGFjayA9IFtdO1xuICBsZXQgaSA9IDA7XG4gIGxldCBkaWdpdHMgPSAnMDEyMzQ1Njc4OSc7XG4gIHdoaWxlIChpIDwgZW5jb2RlZC5sZW5ndGgpIHtcbiAgICBsZXQgcG9wRGlnaXRDb3VudCA9IDA7XG4gICAgd2hpbGUgKGRpZ2l0cy5pbmRleE9mKGVuY29kZWRbaSArIHBvcERpZ2l0Q291bnRdKSA+PSAwKSB7XG4gICAgICBwb3BEaWdpdENvdW50Kys7IC8vIGVuY291bnRlcmVkIHNvbWUgZGlnaXRzLCBoYXZlIHRvIHBvcCB0byBnbyBvbmUgbGV2ZWwgdXAgdHJpZVxuICAgIH1cbiAgICBpZiAocG9wRGlnaXRDb3VudCA+IDApIHtcbiAgICAgIHdvcmRzLnB1c2goc3RhY2suam9pbignJykpOyAvLyB3aGF0ZXZlciBwcmVjZWRlZCB0aGUgcG9wIGRpZ2l0cyBtdXN0IGJlIGEgd29yZFxuICAgICAgZm9yIChsZXQgcG9wQ291bnQgPSBwYXJzZUludChlbmNvZGVkLnN1YnN0cmluZyhpLCBpICsgcG9wRGlnaXRDb3VudCksIDEwKTsgcG9wQ291bnQgPiAwOyBwb3BDb3VudC0tKSB7XG4gICAgICAgIHN0YWNrLnBvcCgpO1xuICAgICAgfVxuICAgICAgaSArPSBwb3BEaWdpdENvdW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGFjay5wdXNoKGVuY29kZWRbaV0pOyAvLyBkcm9wIGRvd24gYSBsZXZlbCBpbnRvIHRoZSB0cmllXG4gICAgICBpKys7XG4gICAgfVxuICB9XG4gIHJldHVybiB3b3Jkcztcbn1cblxuLyoqXG4gKiBBbiBvYmplY3Qgd2hlcmUgZWFjaCBrZXkgaXMgYSB2YWxpZCBET00gRXZlbnQgTmFtZSBzdWNoIGFzIGBjbGlja2Agb3IgYGZvY3VzYFxuICogYW5kIGVhY2ggdmFsdWUgaXMgYW4gZXZlbnQgaGFuZGxlciBmdW5jdGlvbi5cbiAqXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudCNldmVudHNcbiAqIEB0eXBlZGVmIHs/eyBbZXZlbnQ6IHN0cmluZ106IEZ1bmN0aW9uIH19IEV2ZW50TGlzdGVuZXJzXG4gKi9cblxuLyoqXG4gKiBBbGwgZm9ybWF0dGVkIHByb3BlcnRpZXMgcmVxdWlyZWQgdG8gcmVuZGVyIGEgbGluaywgaW5jbHVkaW5nIGB0YWdOYW1lYCxcbiAqIGBhdHRyaWJ1dGVzYCwgYGNvbnRlbnRgIGFuZCBgZXZlbnRMaXN0ZW5lcnNgLlxuICogQHR5cGVkZWYge3sgdGFnTmFtZTogYW55LCBhdHRyaWJ1dGVzOiB7W2F0dHI6IHN0cmluZ106IGFueX0sIGNvbnRlbnQ6IHN0cmluZyxcbiAqIGV2ZW50TGlzdGVuZXJzOiBFdmVudExpc3RlbmVycyB9fSBJbnRlcm1lZGlhdGVSZXByZXNlbnRhdGlvblxuICovXG5cbi8qKlxuICogU3BlY2lmeSBlaXRoZXIgYW4gb2JqZWN0IGRlc2NyaWJlZCBieSB0aGUgdGVtcGxhdGUgdHlwZSBgT2Agb3IgYSBmdW5jdGlvbi5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gdGFrZXMgYSBzdHJpbmcgdmFsdWUgKHVzdWFsbHkgdGhlIGxpbmsncyBocmVmIGF0dHJpYnV0ZSksIHRoZVxuICogbGluayB0eXBlIChgJ3VybCdgLCBgJ2hhc2h0YWdgJywgZXRjLikgYW5kIGFuIGludGVybmFsIHRva2VuIHJlcHJlc2VudGF0aW9uXG4gKiBvZiB0aGUgbGluay4gSXQgc2hvdWxkIHJldHVybiBhbiBvYmplY3Qgb2YgdGhlIHRlbXBsYXRlIHR5cGUgYE9gXG4gKiBAdGVtcGxhdGUgT1xuICogQHR5cGVkZWYge08gfCAoKHZhbHVlOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgdG9rZW46IE11bHRpVG9rZW4pID0+IE8pfSBPcHRPYmpcbiAqL1xuXG4vKipcbiAqIFNwZWNpZnkgZWl0aGVyIGEgZnVuY3Rpb24gZGVzY3JpYmVkIGJ5IHRlbXBsYXRlIHR5cGUgYEZgIG9yIGFuIG9iamVjdC5cbiAqXG4gKiBFYWNoIGtleSBpbiB0aGUgb2JqZWN0IHNob3VsZCBiZSBhIGxpbmsgdHlwZSAoYCd1cmwnYCwgYCdoYXNodGFnYCcsIGV0Yy4pLiBFYWNoXG4gKiB2YWx1ZSBzaG91bGQgYmUgYSBmdW5jdGlvbiB3aXRoIHRlbXBsYXRlIHR5cGUgYEZgIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlXG4gKiBjb3JyZXNwb25kaW5nIGxpbmsgdHlwZSBpcyBlbmNvdW50ZXJlZC5cbiAqIEB0ZW1wbGF0ZSBGXG4gKiBAdHlwZWRlZiB7RiB8IHsgW3R5cGU6IHN0cmluZ106IEZ9fSBPcHRGblxuICovXG5cbi8qKlxuICogU3BlY2lmeSBlaXRoZXIgYSB2YWx1ZSB3aXRoIHRlbXBsYXRlIHR5cGUgYFZgLCBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBgVmAgb3JcbiAqIGFuIG9iamVjdCB3aGVyZSBlYWNoIHZhbHVlIHJlc29sdmVzIHRvIGBWYC5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gdGFrZXMgYSBzdHJpbmcgdmFsdWUgKHVzdWFsbHkgdGhlIGxpbmsncyBocmVmIGF0dHJpYnV0ZSksIHRoZVxuICogbGluayB0eXBlIChgJ3VybCdgLCBgJ2hhc2h0YWdgJywgZXRjLikgYW5kIGFuIGludGVybmFsIHRva2VuIHJlcHJlc2VudGF0aW9uXG4gKiBvZiB0aGUgbGluay4gSXQgc2hvdWxkIHJldHVybiBhbiBvYmplY3Qgb2YgdGhlIHRlbXBsYXRlIHR5cGUgYFZgXG4gKlxuICogRm9yIHRoZSBvYmplY3QsIGVhY2gga2V5IHNob3VsZCBiZSBhIGxpbmsgdHlwZSAoYCd1cmwnYCwgYCdoYXNodGFnYCcsIGV0Yy4pLlxuICogRWFjaCB2YWx1ZSBzaG91bGQgZWl0aGVyIGhhdmUgdHlwZSBgVmAgb3IgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgVi4gVGhpc1xuICogZnVuY3Rpb24gc2ltaWxhcmx5IHRha2VzIGEgc3RyaW5nIHZhbHVlIGFuZCBhIHRva2VuLlxuICpcbiAqIEV4YW1wbGUgdmFsaWQgdHlwZXMgZm9yIGBPcHQ8c3RyaW5nPmA6XG4gKlxuICogYGBganNcbiAqICdoZWxsbydcbiAqICh2YWx1ZSwgdHlwZSwgdG9rZW4pID0+ICd3b3JsZCdcbiAqIHsgdXJsOiAnaGVsbG8nLCBlbWFpbDogKHZhbHVlLCB0b2tlbikgPT4gJ3dvcmxkJ31cbiAqIGBgYFxuICogQHRlbXBsYXRlIFZcbiAqIEB0eXBlZGVmIHtWIHwgKCh2YWx1ZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcsIHRva2VuOiBNdWx0aVRva2VuKSA9PiBWKSB8IHsgW3R5cGU6IHN0cmluZ106IFYgfCAoKHZhbHVlOiBzdHJpbmcsIHRva2VuOiBNdWx0aVRva2VuKSA9PiBWKSB9fSBPcHRcbiAqL1xuXG4vKipcbiAqIFNlZSBhdmFpbGFibGUgb3B0aW9uczogaHR0cHM6Ly9saW5raWZ5LmpzLm9yZy9kb2NzL29wdGlvbnMuaHRtbFxuICogQHR5cGVkZWYge3tcbiAqIFx0ZGVmYXVsdFByb3RvY29sPzogc3RyaW5nLFxuICogIGV2ZW50cz86IE9wdE9iajxFdmVudExpc3RlbmVycz4sXG4gKiBcdGZvcm1hdD86IE9wdDxzdHJpbmc+LFxuICogXHRmb3JtYXRIcmVmPzogT3B0PHN0cmluZz4sXG4gKiBcdG5sMmJyPzogYm9vbGVhbixcbiAqIFx0dGFnTmFtZT86IE9wdDxhbnk+LFxuICogXHR0YXJnZXQ/OiBPcHQ8c3RyaW5nPixcbiAqIFx0cmVsPzogT3B0PHN0cmluZz4sXG4gKiBcdHZhbGlkYXRlPzogT3B0PGJvb2xlYW4+LFxuICogXHR0cnVuY2F0ZT86IE9wdDxudW1iZXI+LFxuICogXHRjbGFzc05hbWU/OiBPcHQ8c3RyaW5nPixcbiAqIFx0YXR0cmlidXRlcz86IE9wdE9iajwoeyBbYXR0cjogc3RyaW5nXTogYW55IH0pPixcbiAqICBpZ25vcmVUYWdzPzogc3RyaW5nW10sXG4gKiBcdHJlbmRlcj86IE9wdEZuPCgoaXI6IEludGVybWVkaWF0ZVJlcHJlc2VudGF0aW9uKSA9PiBhbnkpPlxuICogfX0gT3B0c1xuICovXG5cbi8qKlxuICogQHR5cGUgUmVxdWlyZWQ8T3B0cz5cbiAqL1xuY29uc3QgZGVmYXVsdHMgPSB7XG4gIGRlZmF1bHRQcm90b2NvbDogJ2h0dHAnLFxuICBldmVudHM6IG51bGwsXG4gIGZvcm1hdDogbm9vcCxcbiAgZm9ybWF0SHJlZjogbm9vcCxcbiAgbmwyYnI6IGZhbHNlLFxuICB0YWdOYW1lOiAnYScsXG4gIHRhcmdldDogbnVsbCxcbiAgcmVsOiBudWxsLFxuICB2YWxpZGF0ZTogdHJ1ZSxcbiAgdHJ1bmNhdGU6IEluZmluaXR5LFxuICBjbGFzc05hbWU6IG51bGwsXG4gIGF0dHJpYnV0ZXM6IG51bGwsXG4gIGlnbm9yZVRhZ3M6IFtdLFxuICByZW5kZXI6IG51bGxcbn07XG5cbi8qKlxuICogVXRpbGl0eSBjbGFzcyBmb3IgbGlua2lmeSBpbnRlcmZhY2VzIHRvIGFwcGx5IHNwZWNpZmllZFxuICoge0BsaW5rIE9wdHMgZm9ybWF0dGluZyBhbmQgcmVuZGVyaW5nIG9wdGlvbnN9LlxuICpcbiAqIEBwYXJhbSB7T3B0cyB8IE9wdGlvbnN9IFtvcHRzXSBPcHRpb24gdmFsdWUgb3ZlcnJpZGVzLlxuICogQHBhcmFtIHsoaXI6IEludGVybWVkaWF0ZVJlcHJlc2VudGF0aW9uKSA9PiBhbnl9IFtkZWZhdWx0UmVuZGVyXSAoRm9yXG4gKiAgIGludGVybmFsIHVzZSkgZGVmYXVsdCByZW5kZXIgZnVuY3Rpb24gdGhhdCBkZXRlcm1pbmVzIGhvdyB0byBnZW5lcmF0ZSBhblxuICogICBIVE1MIGVsZW1lbnQgYmFzZWQgb24gYSBsaW5rIHRva2VuJ3MgZGVyaXZlZCB0YWdOYW1lLCBhdHRyaWJ1dGVzIGFuZCBIVE1MLlxuICogICBTaW1pbGFyIHRvIHJlbmRlciBvcHRpb25cbiAqL1xuZnVuY3Rpb24gT3B0aW9ucyhvcHRzLCBkZWZhdWx0UmVuZGVyID0gbnVsbCkge1xuICBsZXQgbyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRzKTtcbiAgaWYgKG9wdHMpIHtcbiAgICBvID0gT2JqZWN0LmFzc2lnbihvLCBvcHRzIGluc3RhbmNlb2YgT3B0aW9ucyA/IG9wdHMubyA6IG9wdHMpO1xuICB9XG5cbiAgLy8gRW5zdXJlIGFsbCBpZ25vcmVkIHRhZ3MgYXJlIHVwcGVyY2FzZVxuICBjb25zdCBpZ25vcmVkVGFncyA9IG8uaWdub3JlVGFncztcbiAgY29uc3QgdXBwZXJjYXNlSWdub3JlZFRhZ3MgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBpZ25vcmVkVGFncy5sZW5ndGg7IGkrKykge1xuICAgIHVwcGVyY2FzZUlnbm9yZWRUYWdzLnB1c2goaWdub3JlZFRhZ3NbaV0udG9VcHBlckNhc2UoKSk7XG4gIH1cbiAgLyoqIEBwcm90ZWN0ZWQgKi9cbiAgdGhpcy5vID0gbztcbiAgaWYgKGRlZmF1bHRSZW5kZXIpIHtcbiAgICB0aGlzLmRlZmF1bHRSZW5kZXIgPSBkZWZhdWx0UmVuZGVyO1xuICB9XG4gIHRoaXMuaWdub3JlVGFncyA9IHVwcGVyY2FzZUlnbm9yZWRUYWdzO1xufVxuT3B0aW9ucy5wcm90b3R5cGUgPSB7XG4gIG86IGRlZmF1bHRzLFxuICAvKipcbiAgICogQHR5cGUgc3RyaW5nW11cbiAgICovXG4gIGlnbm9yZVRhZ3M6IFtdLFxuICAvKipcbiAgICogQHBhcmFtIHtJbnRlcm1lZGlhdGVSZXByZXNlbnRhdGlvbn0gaXJcbiAgICogQHJldHVybnMge2FueX1cbiAgICovXG4gIGRlZmF1bHRSZW5kZXIoaXIpIHtcbiAgICByZXR1cm4gaXI7XG4gIH0sXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgb3IgZmFsc2UgYmFzZWQgb24gd2hldGhlciBhIHRva2VuIHNob3VsZCBiZSBkaXNwbGF5ZWQgYXMgYVxuICAgKiBsaW5rIGJhc2VkIG9uIHRoZSB1c2VyIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7TXVsdGlUb2tlbn0gdG9rZW5cbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBjaGVjayh0b2tlbikge1xuICAgIHJldHVybiB0aGlzLmdldCgndmFsaWRhdGUnLCB0b2tlbi50b1N0cmluZygpLCB0b2tlbik7XG4gIH0sXG4gIC8vIFByaXZhdGUgbWV0aG9kc1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlIGFuIG9wdGlvbidzIHZhbHVlIGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiB0aGUgb3B0aW9uIGFuZCB0aGUgZ2l2ZW5cbiAgICogcGFyYW1zLiBJZiBvcGVyYXRvciBhbmQgdG9rZW4gYXJlIHNwZWNpZmllZCBhbmQgdGhlIHRhcmdldCBvcHRpb24gaXNcbiAgICogY2FsbGFibGUsIGF1dG9tYXRpY2FsbHkgY2FsbHMgdGhlIGZ1bmN0aW9uIHdpdGggdGhlIGdpdmVuIGFyZ3VtZW50LlxuICAgKiBAdGVtcGxhdGUge2tleW9mIE9wdHN9IEtcbiAgICogQHBhcmFtIHtLfSBrZXkgTmFtZSBvZiBvcHRpb24gdG8gdXNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3BlcmF0b3JdIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSB0YXJnZXQgb3B0aW9uIGlmIGl0J3MgYVxuICAgKiBmdW5jdGlvbi4gSWYgbm90IHNwZWNpZmllZCwgUkFXIGZ1bmN0aW9uIHZhbHVlIGdldHMgcmV0dXJuZWRcbiAgICogQHBhcmFtIHtNdWx0aVRva2VufSBbdG9rZW5dIFRoZSB0b2tlbiBmcm9tIGxpbmtpZnkudG9rZW5pemVcbiAgICogQHJldHVybnMge09wdHNbS10gfCBhbnl9XG4gICAqL1xuICBnZXQoa2V5LCBvcGVyYXRvciwgdG9rZW4pIHtcbiAgICBjb25zdCBpc0NhbGxhYmxlID0gb3BlcmF0b3IgIT0gbnVsbDtcbiAgICBsZXQgb3B0aW9uID0gdGhpcy5vW2tleV07XG4gICAgaWYgKCFvcHRpb24pIHtcbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0Jykge1xuICAgICAgb3B0aW9uID0gdG9rZW4udCBpbiBvcHRpb24gPyBvcHRpb25bdG9rZW4udF0gOiBkZWZhdWx0c1trZXldO1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdmdW5jdGlvbicgJiYgaXNDYWxsYWJsZSkge1xuICAgICAgICBvcHRpb24gPSBvcHRpb24ob3BlcmF0b3IsIHRva2VuKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdmdW5jdGlvbicgJiYgaXNDYWxsYWJsZSkge1xuICAgICAgb3B0aW9uID0gb3B0aW9uKG9wZXJhdG9yLCB0b2tlbi50LCB0b2tlbik7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb247XG4gIH0sXG4gIC8qKlxuICAgKiBAdGVtcGxhdGUge2tleW9mIE9wdHN9IExcbiAgICogQHBhcmFtIHtMfSBrZXkgTmFtZSBvZiBvcHRpb25zIG9iamVjdCB0byB1c2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtvcGVyYXRvcl1cbiAgICogQHBhcmFtIHtNdWx0aVRva2VufSBbdG9rZW5dXG4gICAqIEByZXR1cm5zIHtPcHRzW0xdIHwgYW55fVxuICAgKi9cbiAgZ2V0T2JqKGtleSwgb3BlcmF0b3IsIHRva2VuKSB7XG4gICAgbGV0IG9iaiA9IHRoaXMub1trZXldO1xuICAgIGlmICh0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nICYmIG9wZXJhdG9yICE9IG51bGwpIHtcbiAgICAgIG9iaiA9IG9iaihvcGVyYXRvciwgdG9rZW4udCwgdG9rZW4pO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9LFxuICAvKipcbiAgICogQ29udmVydCB0aGUgZ2l2ZW4gdG9rZW4gdG8gYSByZW5kZXJlZCBlbGVtZW50IHRoYXQgbWF5IGJlIGFkZGVkIHRvIHRoZVxuICAgKiBjYWxsaW5nLWludGVyZmFjZSdzIERPTVxuICAgKiBAcGFyYW0ge011bHRpVG9rZW59IHRva2VuIFRva2VuIHRvIHJlbmRlciB0byBhbiBIVE1MIGVsZW1lbnRcbiAgICogQHJldHVybnMge2FueX0gUmVuZGVyIHJlc3VsdDsgZS5nLiwgSFRNTCBzdHJpbmcsIERPTSBlbGVtZW50LCBSZWFjdFxuICAgKiAgIENvbXBvbmVudCwgZXRjLlxuICAgKi9cbiAgcmVuZGVyKHRva2VuKSB7XG4gICAgY29uc3QgaXIgPSB0b2tlbi5yZW5kZXIodGhpcyk7IC8vIGludGVybWVkaWF0ZSByZXByZXNlbnRhdGlvblxuICAgIGNvbnN0IHJlbmRlckZuID0gdGhpcy5nZXQoJ3JlbmRlcicsIG51bGwsIHRva2VuKSB8fCB0aGlzLmRlZmF1bHRSZW5kZXI7XG4gICAgcmV0dXJuIHJlbmRlckZuKGlyLCB0b2tlbi50LCB0b2tlbik7XG4gIH1cbn07XG5mdW5jdGlvbiBub29wKHZhbCkge1xuICByZXR1cm4gdmFsO1xufVxuXG52YXIgb3B0aW9ucyA9IC8qI19fUFVSRV9fKi9PYmplY3QuZnJlZXplKHtcblx0X19wcm90b19fOiBudWxsLFxuXHRPcHRpb25zOiBPcHRpb25zLFxuXHRkZWZhdWx0czogZGVmYXVsdHNcbn0pO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cdE11bHRpLVRva2Vuc1xuXHRUb2tlbnMgY29tcG9zZWQgb2YgYXJyYXlzIG9mIFRleHRUb2tlbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7VG9rZW5bXX0gdG9rZW5zXG4gKi9cbmZ1bmN0aW9uIE11bHRpVG9rZW4odmFsdWUsIHRva2Vucykge1xuICB0aGlzLnQgPSAndG9rZW4nO1xuICB0aGlzLnYgPSB2YWx1ZTtcbiAgdGhpcy50ayA9IHRva2Vucztcbn1cblxuLyoqXG4gKiBBYnN0cmFjdCBjbGFzcyB1c2VkIGZvciBtYW51ZmFjdHVyaW5nIHRva2VucyBvZiB0ZXh0IHRva2Vucy4gVGhhdCBpcyByYXRoZXJcbiAqIHRoYW4gdGhlIHZhbHVlIGZvciBhIHRva2VuIGJlaW5nIGEgc21hbGwgc3RyaW5nIG9mIHRleHQsIGl0J3MgdmFsdWUgYW4gYXJyYXlcbiAqIG9mIHRleHQgdG9rZW5zLlxuICpcbiAqIFVzZWQgZm9yIGdyb3VwaW5nIHRvZ2V0aGVyIFVSTHMsIGVtYWlscywgaGFzaHRhZ3MsIGFuZCBvdGhlciBwb3RlbnRpYWxcbiAqIGNyZWF0aW9ucy5cbiAqIEBjbGFzcyBNdWx0aVRva2VuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHZcbiAqIEBwcm9wZXJ0eSB7VG9rZW5bXX0gdGtcbiAqIEBhYnN0cmFjdFxuICovXG5NdWx0aVRva2VuLnByb3RvdHlwZSA9IHtcbiAgaXNMaW5rOiBmYWxzZSxcbiAgLyoqXG4gICAqIFJldHVybiB0aGUgc3RyaW5nIHRoaXMgdG9rZW4gcmVwcmVzZW50cy5cbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMudjtcbiAgfSxcbiAgLyoqXG4gICAqIFdoYXQgc2hvdWxkIHRoZSB2YWx1ZSBmb3IgdGhpcyB0b2tlbiBiZSBpbiB0aGUgYGhyZWZgIEhUTUwgYXR0cmlidXRlP1xuICAgKiBSZXR1cm5zIHRoZSBgLnRvU3RyaW5nYCB2YWx1ZSBieSBkZWZhdWx0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3NjaGVtZV1cbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgdG9IcmVmKHNjaGVtZSkge1xuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKCk7XG4gIH0sXG4gIC8qKlxuICAgKiBAcGFyYW0ge09wdGlvbnN9IG9wdGlvbnMgRm9ybWF0dGluZyBvcHRpb25zXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICB0b0Zvcm1hdHRlZFN0cmluZyhvcHRpb25zKSB7XG4gICAgY29uc3QgdmFsID0gdGhpcy50b1N0cmluZygpO1xuICAgIGNvbnN0IHRydW5jYXRlID0gb3B0aW9ucy5nZXQoJ3RydW5jYXRlJywgdmFsLCB0aGlzKTtcbiAgICBjb25zdCBmb3JtYXR0ZWQgPSBvcHRpb25zLmdldCgnZm9ybWF0JywgdmFsLCB0aGlzKTtcbiAgICByZXR1cm4gdHJ1bmNhdGUgJiYgZm9ybWF0dGVkLmxlbmd0aCA+IHRydW5jYXRlID8gZm9ybWF0dGVkLnN1YnN0cmluZygwLCB0cnVuY2F0ZSkgKyAn4oCmJyA6IGZvcm1hdHRlZDtcbiAgfSxcbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7T3B0aW9uc30gb3B0aW9uc1xuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgdG9Gb3JtYXR0ZWRIcmVmKG9wdGlvbnMpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5nZXQoJ2Zvcm1hdEhyZWYnLCB0aGlzLnRvSHJlZihvcHRpb25zLmdldCgnZGVmYXVsdFByb3RvY29sJykpLCB0aGlzKTtcbiAgfSxcbiAgLyoqXG4gICAqIFRoZSBzdGFydCBpbmRleCBvZiB0aGlzIHRva2VuIGluIHRoZSBvcmlnaW5hbCBpbnB1dCBzdHJpbmdcbiAgICogQHJldHVybnMge251bWJlcn1cbiAgICovXG4gIHN0YXJ0SW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMudGtbMF0ucztcbiAgfSxcbiAgLyoqXG4gICAqIFRoZSBlbmQgaW5kZXggb2YgdGhpcyB0b2tlbiBpbiB0aGUgb3JpZ2luYWwgaW5wdXQgc3RyaW5nICh1cCB0byB0aGlzXG4gICAqIGluZGV4IGJ1dCBub3QgaW5jbHVkaW5nIGl0KVxuICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgKi9cbiAgZW5kSW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMudGtbdGhpcy50ay5sZW5ndGggLSAxXS5lO1xuICB9LFxuICAvKipcbiAgXHRSZXR1cm5zIGFuIG9iamVjdCAgb2YgcmVsZXZhbnQgdmFsdWVzIGZvciB0aGlzIHRva2VuLCB3aGljaCBpbmNsdWRlcyBrZXlzXG4gIFx0KiB0eXBlIC0gS2luZCBvZiB0b2tlbiAoJ3VybCcsICdlbWFpbCcsIGV0Yy4pXG4gIFx0KiB2YWx1ZSAtIE9yaWdpbmFsIHRleHRcbiAgXHQqIGhyZWYgLSBUaGUgdmFsdWUgdGhhdCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGFuY2hvciB0YWcncyBocmVmXG4gIFx0XHRhdHRyaWJ1dGVcbiAgXHRcdEBtZXRob2QgdG9PYmplY3RcbiAgXHRAcGFyYW0ge3N0cmluZ30gW3Byb3RvY29sXSBgJ2h0dHAnYCBieSBkZWZhdWx0XG4gICovXG4gIHRvT2JqZWN0KHByb3RvY29sID0gZGVmYXVsdHMuZGVmYXVsdFByb3RvY29sKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHRoaXMudCxcbiAgICAgIHZhbHVlOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICBpc0xpbms6IHRoaXMuaXNMaW5rLFxuICAgICAgaHJlZjogdGhpcy50b0hyZWYocHJvdG9jb2wpLFxuICAgICAgc3RhcnQ6IHRoaXMuc3RhcnRJbmRleCgpLFxuICAgICAgZW5kOiB0aGlzLmVuZEluZGV4KClcbiAgICB9O1xuICB9LFxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtPcHRpb25zfSBvcHRpb25zIEZvcm1hdHRpbmcgb3B0aW9uXG4gICAqL1xuICB0b0Zvcm1hdHRlZE9iamVjdChvcHRpb25zKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHRoaXMudCxcbiAgICAgIHZhbHVlOiB0aGlzLnRvRm9ybWF0dGVkU3RyaW5nKG9wdGlvbnMpLFxuICAgICAgaXNMaW5rOiB0aGlzLmlzTGluayxcbiAgICAgIGhyZWY6IHRoaXMudG9Gb3JtYXR0ZWRIcmVmKG9wdGlvbnMpLFxuICAgICAgc3RhcnQ6IHRoaXMuc3RhcnRJbmRleCgpLFxuICAgICAgZW5kOiB0aGlzLmVuZEluZGV4KClcbiAgICB9O1xuICB9LFxuICAvKipcbiAgICogV2hldGhlciB0aGlzIHRva2VuIHNob3VsZCBiZSByZW5kZXJlZCBhcyBhIGxpbmsgYWNjb3JkaW5nIHRvIHRoZSBnaXZlbiBvcHRpb25zXG4gICAqIEBwYXJhbSB7T3B0aW9uc30gb3B0aW9uc1xuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIHZhbGlkYXRlKG9wdGlvbnMpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5nZXQoJ3ZhbGlkYXRlJywgdGhpcy50b1N0cmluZygpLCB0aGlzKTtcbiAgfSxcbiAgLyoqXG4gICAqIFJldHVybiBhbiBvYmplY3QgdGhhdCByZXByZXNlbnRzIGhvdyB0aGlzIGxpbmsgc2hvdWxkIGJlIHJlbmRlcmVkLlxuICAgKiBAcGFyYW0ge09wdGlvbnN9IG9wdGlvbnMgRm9ybWF0dGlubmcgb3B0aW9uc1xuICAgKi9cbiAgcmVuZGVyKG9wdGlvbnMpIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXM7XG4gICAgY29uc3QgaHJlZiA9IHRoaXMudG9IcmVmKG9wdGlvbnMuZ2V0KCdkZWZhdWx0UHJvdG9jb2wnKSk7XG4gICAgY29uc3QgZm9ybWF0dGVkSHJlZiA9IG9wdGlvbnMuZ2V0KCdmb3JtYXRIcmVmJywgaHJlZiwgdGhpcyk7XG4gICAgY29uc3QgdGFnTmFtZSA9IG9wdGlvbnMuZ2V0KCd0YWdOYW1lJywgaHJlZiwgdG9rZW4pO1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnRvRm9ybWF0dGVkU3RyaW5nKG9wdGlvbnMpO1xuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSB7fTtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBvcHRpb25zLmdldCgnY2xhc3NOYW1lJywgaHJlZiwgdG9rZW4pO1xuICAgIGNvbnN0IHRhcmdldCA9IG9wdGlvbnMuZ2V0KCd0YXJnZXQnLCBocmVmLCB0b2tlbik7XG4gICAgY29uc3QgcmVsID0gb3B0aW9ucy5nZXQoJ3JlbCcsIGhyZWYsIHRva2VuKTtcbiAgICBjb25zdCBhdHRycyA9IG9wdGlvbnMuZ2V0T2JqKCdhdHRyaWJ1dGVzJywgaHJlZiwgdG9rZW4pO1xuICAgIGNvbnN0IGV2ZW50TGlzdGVuZXJzID0gb3B0aW9ucy5nZXRPYmooJ2V2ZW50cycsIGhyZWYsIHRva2VuKTtcbiAgICBhdHRyaWJ1dGVzLmhyZWYgPSBmb3JtYXR0ZWRIcmVmO1xuICAgIGlmIChjbGFzc05hbWUpIHtcbiAgICAgIGF0dHJpYnV0ZXMuY2xhc3MgPSBjbGFzc05hbWU7XG4gICAgfVxuICAgIGlmICh0YXJnZXQpIHtcbiAgICAgIGF0dHJpYnV0ZXMudGFyZ2V0ID0gdGFyZ2V0O1xuICAgIH1cbiAgICBpZiAocmVsKSB7XG4gICAgICBhdHRyaWJ1dGVzLnJlbCA9IHJlbDtcbiAgICB9XG4gICAgaWYgKGF0dHJzKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGF0dHJpYnV0ZXMsIGF0dHJzKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhZ05hbWUsXG4gICAgICBhdHRyaWJ1dGVzLFxuICAgICAgY29udGVudCxcbiAgICAgIGV2ZW50TGlzdGVuZXJzXG4gICAgfTtcbiAgfVxufTtcblxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgdG9rZW4gdGhhdCBjYW4gYmUgZW1pdHRlZCBieSB0aGUgcGFyc2VyIHN0YXRlIG1hY2hpbmVcbiAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlIHJlYWRhYmxlIHR5cGUgb2YgdGhlIHRva2VuXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHMgcHJvcGVydGllcyB0byBhc3NpZ24gb3Igb3ZlcnJpZGUsIGluY2x1ZGluZyBpc0xpbmsgPSB0cnVlIG9yIGZhbHNlXG4gKiBAcmV0dXJucyB7bmV3ICh2YWx1ZTogc3RyaW5nLCB0b2tlbnM6IFRva2VuW10pID0+IE11bHRpVG9rZW59IG5ldyB0b2tlbiBjbGFzc1xuICovXG5mdW5jdGlvbiBjcmVhdGVUb2tlbkNsYXNzKHR5cGUsIHByb3BzKSB7XG4gIGNsYXNzIFRva2VuIGV4dGVuZHMgTXVsdGlUb2tlbiB7XG4gICAgY29uc3RydWN0b3IodmFsdWUsIHRva2Vucykge1xuICAgICAgc3VwZXIodmFsdWUsIHRva2Vucyk7XG4gICAgICB0aGlzLnQgPSB0eXBlO1xuICAgIH1cbiAgfVxuICBmb3IgKGNvbnN0IHAgaW4gcHJvcHMpIHtcbiAgICBUb2tlbi5wcm90b3R5cGVbcF0gPSBwcm9wc1twXTtcbiAgfVxuICBUb2tlbi50ID0gdHlwZTtcbiAgcmV0dXJuIFRva2VuO1xufVxuXG4vKipcblx0UmVwcmVzZW50cyBhIGxpc3Qgb2YgdG9rZW5zIG1ha2luZyB1cCBhIHZhbGlkIGVtYWlsIGFkZHJlc3NcbiovXG5jb25zdCBFbWFpbCA9IGNyZWF0ZVRva2VuQ2xhc3MoJ2VtYWlsJywge1xuICBpc0xpbms6IHRydWUsXG4gIHRvSHJlZigpIHtcbiAgICByZXR1cm4gJ21haWx0bzonICsgdGhpcy50b1N0cmluZygpO1xuICB9XG59KTtcblxuLyoqXG5cdFJlcHJlc2VudHMgc29tZSBwbGFpbiB0ZXh0XG4qL1xuY29uc3QgVGV4dCA9IGNyZWF0ZVRva2VuQ2xhc3MoJ3RleHQnKTtcblxuLyoqXG5cdE11bHRpLWxpbmVicmVhayB0b2tlbiAtIHJlcHJlc2VudHMgYSBsaW5lIGJyZWFrXG5cdEBjbGFzcyBObFxuKi9cbmNvbnN0IE5sID0gY3JlYXRlVG9rZW5DbGFzcygnbmwnKTtcblxuLyoqXG5cdFJlcHJlc2VudHMgYSBsaXN0IG9mIHRleHQgdG9rZW5zIG1ha2luZyB1cCBhIHZhbGlkIFVSTFxuXHRAY2xhc3MgVXJsXG4qL1xuY29uc3QgVXJsID0gY3JlYXRlVG9rZW5DbGFzcygndXJsJywge1xuICBpc0xpbms6IHRydWUsXG4gIC8qKlxuICBcdExvd2VyY2FzZXMgcmVsZXZhbnQgcGFydHMgb2YgdGhlIGRvbWFpbiBhbmQgYWRkcyB0aGUgcHJvdG9jb2wgaWZcbiAgXHRyZXF1aXJlZC4gTm90ZSB0aGF0IHRoaXMgd2lsbCBub3QgZXNjYXBlIHVuc2FmZSBIVE1MIGNoYXJhY3RlcnMgaW4gdGhlXG4gIFx0VVJMLlxuICBcdFx0QHBhcmFtIHtzdHJpbmd9IFtzY2hlbWVdIGRlZmF1bHQgc2NoZW1lIChlLmcuLCAnaHR0cHMnKVxuICBcdEByZXR1cm4ge3N0cmluZ30gdGhlIGZ1bGwgaHJlZlxuICAqL1xuICB0b0hyZWYoc2NoZW1lID0gZGVmYXVsdHMuZGVmYXVsdFByb3RvY29sKSB7XG4gICAgLy8gQ2hlY2sgaWYgYWxyZWFkeSBoYXMgYSBwcmVmaXggc2NoZW1lXG4gICAgcmV0dXJuIHRoaXMuaGFzUHJvdG9jb2woKSA/IHRoaXMudiA6IGAke3NjaGVtZX06Ly8ke3RoaXMudn1gO1xuICB9LFxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciB0aGlzIFVSTCB0b2tlbiBoYXMgYSBwcm90b2NvbFxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgaGFzUHJvdG9jb2woKSB7XG4gICAgY29uc3QgdG9rZW5zID0gdGhpcy50aztcbiAgICByZXR1cm4gdG9rZW5zLmxlbmd0aCA+PSAyICYmIHRva2Vuc1swXS50ICE9PSBMT0NBTEhPU1QgJiYgdG9rZW5zWzFdLnQgPT09IENPTE9OO1xuICB9XG59KTtcblxudmFyIG11bHRpID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoe1xuXHRfX3Byb3RvX186IG51bGwsXG5cdEJhc2U6IE11bHRpVG9rZW4sXG5cdEVtYWlsOiBFbWFpbCxcblx0TXVsdGlUb2tlbjogTXVsdGlUb2tlbixcblx0Tmw6IE5sLFxuXHRUZXh0OiBUZXh0LFxuXHRVcmw6IFVybCxcblx0Y3JlYXRlVG9rZW5DbGFzczogY3JlYXRlVG9rZW5DbGFzc1xufSk7XG5cbi8qKlxuXHROb3QgZXhhY3RseSBwYXJzZXIsIG1vcmUgbGlrZSB0aGUgc2Vjb25kLXN0YWdlIHNjYW5uZXIgKGFsdGhvdWdoIHdlIGNhblxuXHR0aGVvcmV0aWNhbGx5IGhvdHN3YXAgdGhlIGNvZGUgaGVyZSB3aXRoIGEgcmVhbCBwYXJzZXIgaW4gdGhlIGZ1dHVyZS4uLiBidXRcblx0Zm9yIGEgbGl0dGxlIFVSTC1maW5kaW5nIHV0aWxpdHkgYWJzdHJhY3Qgc3ludGF4IHRyZWVzIG1heSBiZSBhIGxpdHRsZVxuXHRvdmVya2lsbCkuXG5cblx0VVJMIGZvcm1hdDogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VUklfc2NoZW1lXG5cdEVtYWlsIGZvcm1hdDogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9FbWFpbEFkZHJlc3MgKGxpbmtzIHRvIFJGQyBpblxuXHRyZWZlcmVuY2UpXG5cblx0QG1vZHVsZSBsaW5raWZ5XG5cdEBzdWJtb2R1bGUgcGFyc2VyXG5cdEBtYWluIHJ1blxuKi9cblxuY29uc3QgbWFrZVN0YXRlID0gYXJnID0+IG5ldyBTdGF0ZShhcmcpO1xuXG4vKipcbiAqIEdlbmVyYXRlIHRoZSBwYXJzZXIgbXVsdGkgdG9rZW4tYmFzZWQgc3RhdGUgbWFjaGluZVxuICogQHBhcmFtIHt7IGdyb3VwczogQ29sbGVjdGlvbnM8c3RyaW5nPiB9fSB0b2tlbnNcbiAqL1xuZnVuY3Rpb24gaW5pdCQxKHtcbiAgZ3JvdXBzXG59KSB7XG4gIC8vIFR5cGVzIG9mIGNoYXJhY3RlcnMgdGhlIFVSTCBjYW4gZGVmaW5pdGVseSBlbmQgaW5cbiAgY29uc3QgcXNBY2NlcHRpbmcgPSBncm91cHMuZG9tYWluLmNvbmNhdChbQU1QRVJTQU5ELCBBU1RFUklTSywgQVQsIEJBQ0tTTEFTSCwgQkFDS1RJQ0ssIENBUkVULCBET0xMQVIsIEVRVUFMUywgSFlQSEVOLCBOVU0sIFBFUkNFTlQsIFBJUEUsIFBMVVMsIFBPVU5ELCBTTEFTSCwgU1lNLCBUSUxERSwgVU5ERVJTQ09SRV0pO1xuXG4gIC8vIFR5cGVzIG9mIHRva2VucyB0aGF0IGNhbiBmb2xsb3cgYSBVUkwgYW5kIGJlIHBhcnQgb2YgdGhlIHF1ZXJ5IHN0cmluZ1xuICAvLyBidXQgY2Fubm90IGJlIHRoZSB2ZXJ5IGxhc3QgY2hhcmFjdGVyc1xuICAvLyBDaGFyYWN0ZXJzIHRoYXQgY2Fubm90IGFwcGVhciBpbiB0aGUgVVJMIGF0IGFsbCBzaG91bGQgYmUgZXhjbHVkZWRcbiAgY29uc3QgcXNOb25BY2NlcHRpbmcgPSBbQVBPU1RST1BIRSwgQ09MT04sIENPTU1BLCBET1QsIEVYQ0xBTUFUSU9OLCBQRVJDRU5ULCBRVUVSWSwgUVVPVEUsIFNFTUksIE9QRU5BTkdMRUJSQUNLRVQsIENMT1NFQU5HTEVCUkFDS0VULCBPUEVOQlJBQ0UsIENMT1NFQlJBQ0UsIENMT1NFQlJBQ0tFVCwgT1BFTkJSQUNLRVQsIE9QRU5QQVJFTiwgQ0xPU0VQQVJFTiwgRlVMTFdJRFRITEVGVFBBUkVOLCBGVUxMV0lEVEhSSUdIVFBBUkVOLCBMRUZUQ09STkVSQlJBQ0tFVCwgUklHSFRDT1JORVJCUkFDS0VULCBMRUZUV0hJVEVDT1JORVJCUkFDS0VULCBSSUdIVFdISVRFQ09STkVSQlJBQ0tFVCwgRlVMTFdJRFRITEVTU1RIQU4sIEZVTExXSURUSEdSRUFURVJUSEFOXTtcblxuICAvLyBGb3IgYWRkcmVzc2VzIHdpdGhvdXQgdGhlIG1haWx0byBwcmVmaXhcbiAgLy8gVG9rZW5zIGFsbG93ZWQgaW4gdGhlIGxvY2FscGFydCBvZiB0aGUgZW1haWxcbiAgY29uc3QgbG9jYWxwYXJ0QWNjZXB0aW5nID0gW0FNUEVSU0FORCwgQVBPU1RST1BIRSwgQVNURVJJU0ssIEJBQ0tTTEFTSCwgQkFDS1RJQ0ssIENBUkVULCBET0xMQVIsIEVRVUFMUywgSFlQSEVOLCBPUEVOQlJBQ0UsIENMT1NFQlJBQ0UsIFBFUkNFTlQsIFBJUEUsIFBMVVMsIFBPVU5ELCBRVUVSWSwgU0xBU0gsIFNZTSwgVElMREUsIFVOREVSU0NPUkVdO1xuXG4gIC8vIFRoZSB1bml2ZXJzYWwgc3RhcnRpbmcgc3RhdGUuXG4gIC8qKlxuICAgKiBAdHlwZSBTdGF0ZTxUb2tlbj5cbiAgICovXG4gIGNvbnN0IFN0YXJ0ID0gbWFrZVN0YXRlKCk7XG4gIGNvbnN0IExvY2FscGFydCA9IHR0KFN0YXJ0LCBUSUxERSk7IC8vIExvY2FsIHBhcnQgb2YgdGhlIGVtYWlsIGFkZHJlc3NcbiAgdGEoTG9jYWxwYXJ0LCBsb2NhbHBhcnRBY2NlcHRpbmcsIExvY2FscGFydCk7XG4gIHRhKExvY2FscGFydCwgZ3JvdXBzLmRvbWFpbiwgTG9jYWxwYXJ0KTtcbiAgY29uc3QgRG9tYWluID0gbWFrZVN0YXRlKCksXG4gICAgU2NoZW1lID0gbWFrZVN0YXRlKCksXG4gICAgU2xhc2hTY2hlbWUgPSBtYWtlU3RhdGUoKTtcbiAgdGEoU3RhcnQsIGdyb3Vwcy5kb21haW4sIERvbWFpbik7IC8vIHBhcnNlZCBzdHJpbmcgZW5kcyB3aXRoIGEgcG90ZW50aWFsIGRvbWFpbiBuYW1lIChBKVxuICB0YShTdGFydCwgZ3JvdXBzLnNjaGVtZSwgU2NoZW1lKTsgLy8gZS5nLiwgJ21haWx0bydcbiAgdGEoU3RhcnQsIGdyb3Vwcy5zbGFzaHNjaGVtZSwgU2xhc2hTY2hlbWUpOyAvLyBlLmcuLCAnaHR0cCdcblxuICB0YShEb21haW4sIGxvY2FscGFydEFjY2VwdGluZywgTG9jYWxwYXJ0KTtcbiAgdGEoRG9tYWluLCBncm91cHMuZG9tYWluLCBEb21haW4pO1xuICBjb25zdCBMb2NhbHBhcnRBdCA9IHR0KERvbWFpbiwgQVQpOyAvLyBMb2NhbCBwYXJ0IG9mIHRoZSBlbWFpbCBhZGRyZXNzIHBsdXMgQFxuXG4gIHR0KExvY2FscGFydCwgQVQsIExvY2FscGFydEF0KTsgLy8gY2xvc2UgdG8gYW4gZW1haWwgYWRkcmVzcyBub3dcblxuICAvLyBMb2NhbCBwYXJ0IG9mIGFuIGVtYWlsIGFkZHJlc3MgY2FuIGJlIGUuZy4gJ2h0dHAnIG9yICdtYWlsdG8nXG4gIHR0KFNjaGVtZSwgQVQsIExvY2FscGFydEF0KTtcbiAgdHQoU2xhc2hTY2hlbWUsIEFULCBMb2NhbHBhcnRBdCk7XG4gIGNvbnN0IExvY2FscGFydERvdCA9IHR0KExvY2FscGFydCwgRE9UKTsgLy8gTG9jYWwgcGFydCBvZiB0aGUgZW1haWwgYWRkcmVzcyBwbHVzICcuJyAobG9jYWxwYXJ0IGNhbm5vdCBlbmQgaW4gLilcbiAgdGEoTG9jYWxwYXJ0RG90LCBsb2NhbHBhcnRBY2NlcHRpbmcsIExvY2FscGFydCk7XG4gIHRhKExvY2FscGFydERvdCwgZ3JvdXBzLmRvbWFpbiwgTG9jYWxwYXJ0KTtcbiAgY29uc3QgRW1haWxEb21haW4gPSBtYWtlU3RhdGUoKTtcbiAgdGEoTG9jYWxwYXJ0QXQsIGdyb3Vwcy5kb21haW4sIEVtYWlsRG9tYWluKTsgLy8gcGFyc2VkIHN0cmluZyBzdGFydHMgd2l0aCBsb2NhbCBlbWFpbCBpbmZvICsgQCB3aXRoIGEgcG90ZW50aWFsIGRvbWFpbiBuYW1lXG4gIHRhKEVtYWlsRG9tYWluLCBncm91cHMuZG9tYWluLCBFbWFpbERvbWFpbik7XG4gIGNvbnN0IEVtYWlsRG9tYWluRG90ID0gdHQoRW1haWxEb21haW4sIERPVCk7IC8vIGRvbWFpbiBmb2xsb3dlZCBieSBET1RcbiAgdGEoRW1haWxEb21haW5Eb3QsIGdyb3Vwcy5kb21haW4sIEVtYWlsRG9tYWluKTtcbiAgY29uc3QgRW1haWwkMSA9IG1ha2VTdGF0ZShFbWFpbCk7IC8vIFBvc3NpYmxlIGVtYWlsIGFkZHJlc3MgKGNvdWxkIGhhdmUgbW9yZSB0bGRzKVxuICB0YShFbWFpbERvbWFpbkRvdCwgZ3JvdXBzLnRsZCwgRW1haWwkMSk7XG4gIHRhKEVtYWlsRG9tYWluRG90LCBncm91cHMudXRsZCwgRW1haWwkMSk7XG4gIHR0KExvY2FscGFydEF0LCBMT0NBTEhPU1QsIEVtYWlsJDEpO1xuXG4gIC8vIEh5cGhlbiBjYW4ganVtcCBiYWNrIHRvIGEgZG9tYWluIG5hbWVcbiAgY29uc3QgRW1haWxEb21haW5IeXBoZW4gPSB0dChFbWFpbERvbWFpbiwgSFlQSEVOKTsgLy8gcGFyc2VkIHN0cmluZyBzdGFydHMgd2l0aCBsb2NhbCBlbWFpbCBpbmZvICsgQCB3aXRoIGEgcG90ZW50aWFsIGRvbWFpbiBuYW1lXG4gIHR0KEVtYWlsRG9tYWluSHlwaGVuLCBIWVBIRU4sIEVtYWlsRG9tYWluSHlwaGVuKTtcbiAgdGEoRW1haWxEb21haW5IeXBoZW4sIGdyb3Vwcy5kb21haW4sIEVtYWlsRG9tYWluKTtcbiAgdGEoRW1haWwkMSwgZ3JvdXBzLmRvbWFpbiwgRW1haWxEb21haW4pO1xuICB0dChFbWFpbCQxLCBET1QsIEVtYWlsRG9tYWluRG90KTtcbiAgdHQoRW1haWwkMSwgSFlQSEVOLCBFbWFpbERvbWFpbkh5cGhlbik7XG5cbiAgLy8gRmluYWwgcG9zc2libGUgZW1haWwgc3RhdGVzXG4gIGNvbnN0IEVtYWlsQ29sb24gPSB0dChFbWFpbCQxLCBDT0xPTik7IC8vIFVSTCBmb2xsb3dlZCBieSBjb2xvbiAocG90ZW50aWFsIHBvcnQgbnVtYmVyIGhlcmUpXG4gIC8qY29uc3QgRW1haWxDb2xvblBvcnQgPSAqL1xuICB0YShFbWFpbENvbG9uLCBncm91cHMubnVtZXJpYywgRW1haWwpOyAvLyBVUkwgZm9sbG93ZWQgYnkgY29sb24gYW5kIHBvcnQgbnVtYmVyXG5cbiAgLy8gQWNjb3VudCBmb3IgZG90cyBhbmQgaHlwaGVucy4gSHlwaGVucyBhcmUgdXN1YWxseSBwYXJ0cyBvZiBkb21haW4gbmFtZXNcbiAgLy8gKGJ1dCBub3QgVExEcylcbiAgY29uc3QgRG9tYWluSHlwaGVuID0gdHQoRG9tYWluLCBIWVBIRU4pOyAvLyBkb21haW4gZm9sbG93ZWQgYnkgaHlwaGVuXG4gIGNvbnN0IERvbWFpbkRvdCA9IHR0KERvbWFpbiwgRE9UKTsgLy8gZG9tYWluIGZvbGxvd2VkIGJ5IERPVFxuICB0dChEb21haW5IeXBoZW4sIEhZUEhFTiwgRG9tYWluSHlwaGVuKTtcbiAgdGEoRG9tYWluSHlwaGVuLCBncm91cHMuZG9tYWluLCBEb21haW4pO1xuICB0YShEb21haW5Eb3QsIGxvY2FscGFydEFjY2VwdGluZywgTG9jYWxwYXJ0KTtcbiAgdGEoRG9tYWluRG90LCBncm91cHMuZG9tYWluLCBEb21haW4pO1xuICBjb25zdCBEb21haW5Eb3RUbGQgPSBtYWtlU3RhdGUoVXJsKTsgLy8gU2ltcGxlc3QgcG9zc2libGUgVVJMIHdpdGggbm8gcXVlcnkgc3RyaW5nXG4gIHRhKERvbWFpbkRvdCwgZ3JvdXBzLnRsZCwgRG9tYWluRG90VGxkKTtcbiAgdGEoRG9tYWluRG90LCBncm91cHMudXRsZCwgRG9tYWluRG90VGxkKTtcbiAgdGEoRG9tYWluRG90VGxkLCBncm91cHMuZG9tYWluLCBEb21haW4pO1xuICB0YShEb21haW5Eb3RUbGQsIGxvY2FscGFydEFjY2VwdGluZywgTG9jYWxwYXJ0KTtcbiAgdHQoRG9tYWluRG90VGxkLCBET1QsIERvbWFpbkRvdCk7XG4gIHR0KERvbWFpbkRvdFRsZCwgSFlQSEVOLCBEb21haW5IeXBoZW4pO1xuICB0dChEb21haW5Eb3RUbGQsIEFULCBMb2NhbHBhcnRBdCk7XG4gIGNvbnN0IERvbWFpbkRvdFRsZENvbG9uID0gdHQoRG9tYWluRG90VGxkLCBDT0xPTik7IC8vIFVSTCBmb2xsb3dlZCBieSBjb2xvbiAocG90ZW50aWFsIHBvcnQgbnVtYmVyIGhlcmUpXG4gIGNvbnN0IERvbWFpbkRvdFRsZENvbG9uUG9ydCA9IG1ha2VTdGF0ZShVcmwpOyAvLyBUTEQgZm9sbG93ZWQgYnkgYSBwb3J0IG51bWJlclxuICB0YShEb21haW5Eb3RUbGRDb2xvbiwgZ3JvdXBzLm51bWVyaWMsIERvbWFpbkRvdFRsZENvbG9uUG9ydCk7XG5cbiAgLy8gTG9uZyBVUkwgd2l0aCBvcHRpb25hbCBwb3J0IGFuZCBtYXliZSBxdWVyeSBzdHJpbmdcbiAgY29uc3QgVXJsJDEgPSBtYWtlU3RhdGUoVXJsKTtcblxuICAvLyBVUkwgd2l0aCBleHRyYSBzeW1ib2xzIGF0IHRoZSBlbmQsIGZvbGxvd2VkIGJ5IGFuIG9wZW5pbmcgYnJhY2tldFxuICBjb25zdCBVcmxOb25hY2NlcHQgPSBtYWtlU3RhdGUoKTsgLy8gVVJMIGZvbGxvd2VkIGJ5IHNvbWUgc3ltYm9scyAod2lsbCBub3QgYmUgcGFydCBvZiB0aGUgZmluYWwgVVJMKVxuXG4gIC8vIFF1ZXJ5IHN0cmluZ3NcbiAgdGEoVXJsJDEsIHFzQWNjZXB0aW5nLCBVcmwkMSk7XG4gIHRhKFVybCQxLCBxc05vbkFjY2VwdGluZywgVXJsTm9uYWNjZXB0KTtcbiAgdGEoVXJsTm9uYWNjZXB0LCBxc0FjY2VwdGluZywgVXJsJDEpO1xuICB0YShVcmxOb25hY2NlcHQsIHFzTm9uQWNjZXB0aW5nLCBVcmxOb25hY2NlcHQpO1xuXG4gIC8vIEJlY29tZSByZWFsIFVSTHMgYWZ0ZXIgYFNMQVNIYCBvciBgQ09MT04gTlVNIFNMQVNIYFxuICAvLyBIZXJlIHdvcmtzIHdpdGggb3Igd2l0aG91dCBzY2hlbWU6Ly8gcHJlZml4XG4gIHR0KERvbWFpbkRvdFRsZCwgU0xBU0gsIFVybCQxKTtcbiAgdHQoRG9tYWluRG90VGxkQ29sb25Qb3J0LCBTTEFTSCwgVXJsJDEpO1xuXG4gIC8vIE5vdGUgdGhhdCBkb21haW5zIHRoYXQgYmVnaW4gd2l0aCBzY2hlbWVzIGFyZSB0cmVhdGVkIHNsaWdobHkgZGlmZmVyZW50bHlcbiAgY29uc3QgU2NoZW1lQ29sb24gPSB0dChTY2hlbWUsIENPTE9OKTsgLy8gZS5nLiwgJ21haWx0bzonXG4gIGNvbnN0IFNsYXNoU2NoZW1lQ29sb24gPSB0dChTbGFzaFNjaGVtZSwgQ09MT04pOyAvLyBlLmcuLCAnaHR0cDonXG4gIGNvbnN0IFNsYXNoU2NoZW1lQ29sb25TbGFzaCA9IHR0KFNsYXNoU2NoZW1lQ29sb24sIFNMQVNIKTsgLy8gZS5nLiwgJ2h0dHA6LydcblxuICBjb25zdCBVcmlQcmVmaXggPSB0dChTbGFzaFNjaGVtZUNvbG9uU2xhc2gsIFNMQVNIKTsgLy8gZS5nLiwgJ2h0dHA6Ly8nXG5cbiAgLy8gU2NoZW1lIHN0YXRlcyBjYW4gdHJhbnNpdGlvbiB0byBkb21haW4gc3RhdGVzXG4gIHRhKFNjaGVtZSwgZ3JvdXBzLmRvbWFpbiwgRG9tYWluKTtcbiAgdHQoU2NoZW1lLCBET1QsIERvbWFpbkRvdCk7XG4gIHR0KFNjaGVtZSwgSFlQSEVOLCBEb21haW5IeXBoZW4pO1xuICB0YShTbGFzaFNjaGVtZSwgZ3JvdXBzLmRvbWFpbiwgRG9tYWluKTtcbiAgdHQoU2xhc2hTY2hlbWUsIERPVCwgRG9tYWluRG90KTtcbiAgdHQoU2xhc2hTY2hlbWUsIEhZUEhFTiwgRG9tYWluSHlwaGVuKTtcblxuICAvLyBGb3JjZSBVUkwgd2l0aCBzY2hlbWUgcHJlZml4IGZvbGxvd2VkIGJ5IGFueXRoaW5nIHNhbmVcbiAgdGEoU2NoZW1lQ29sb24sIGdyb3Vwcy5kb21haW4sIFVybCQxKTtcbiAgdHQoU2NoZW1lQ29sb24sIFNMQVNILCBVcmwkMSk7XG4gIHR0KFNjaGVtZUNvbG9uLCBRVUVSWSwgVXJsJDEpO1xuICB0YShVcmlQcmVmaXgsIGdyb3Vwcy5kb21haW4sIFVybCQxKTtcbiAgdGEoVXJpUHJlZml4LCBxc0FjY2VwdGluZywgVXJsJDEpO1xuICB0dChVcmlQcmVmaXgsIFNMQVNILCBVcmwkMSk7XG4gIGNvbnN0IGJyYWNrZXRQYWlycyA9IFtbT1BFTkJSQUNFLCBDTE9TRUJSQUNFXSxcbiAgLy8ge31cbiAgW09QRU5CUkFDS0VULCBDTE9TRUJSQUNLRVRdLFxuICAvLyBbXVxuICBbT1BFTlBBUkVOLCBDTE9TRVBBUkVOXSxcbiAgLy8gKClcbiAgW09QRU5BTkdMRUJSQUNLRVQsIENMT1NFQU5HTEVCUkFDS0VUXSxcbiAgLy8gPD5cbiAgW0ZVTExXSURUSExFRlRQQVJFTiwgRlVMTFdJRFRIUklHSFRQQVJFTl0sXG4gIC8vIO+8iO+8iVxuICBbTEVGVENPUk5FUkJSQUNLRVQsIFJJR0hUQ09STkVSQlJBQ0tFVF0sXG4gIC8vIOOAjOOAjVxuICBbTEVGVFdISVRFQ09STkVSQlJBQ0tFVCwgUklHSFRXSElURUNPUk5FUkJSQUNLRVRdLFxuICAvLyDjgI7jgI9cbiAgW0ZVTExXSURUSExFU1NUSEFOLCBGVUxMV0lEVEhHUkVBVEVSVEhBTl0gLy8g77yc77yeXG4gIF07XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYnJhY2tldFBhaXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgW09QRU4sIENMT1NFXSA9IGJyYWNrZXRQYWlyc1tpXTtcbiAgICBjb25zdCBVcmxPcGVuID0gdHQoVXJsJDEsIE9QRU4pOyAvLyBVUkwgZm9sbG93ZWQgYnkgb3BlbiBicmFja2V0XG5cbiAgICAvLyBDb250aW51ZSBub3QgYWNjZXB0aW5nIGZvciBvcGVuIGJyYWNrZXRzXG4gICAgdHQoVXJsTm9uYWNjZXB0LCBPUEVOLCBVcmxPcGVuKTtcblxuICAgIC8vIENsb3NpbmcgYnJhY2tldCBjb21wb25lbnQuIFRoaXMgY2hhcmFjdGVyIFdJTEwgYmUgaW5jbHVkZWQgaW4gdGhlIFVSTFxuICAgIHR0KFVybE9wZW4sIENMT1NFLCBVcmwkMSk7XG5cbiAgICAvLyBVUkwgdGhhdCBiZWluZ3Mgd2l0aCBhbiBvcGVuaW5nIGJyYWNrZXQsIGZvbGxvd2VkIGJ5IGEgc3ltYm9scy5cbiAgICAvLyBOb3RlIHRoYXQgdGhlIGZpbmFsIHN0YXRlIGNhbiBzdGlsbCBiZSBgVXJsT3BlbmAgKGlmIHRoZSBVUkwgaGFzIGFcbiAgICAvLyBzaW5nbGUgb3BlbmluZyBicmFja2V0IGZvciBzb21lIHJlYXNvbikuXG4gICAgY29uc3QgVXJsT3BlblEgPSBtYWtlU3RhdGUoVXJsKTtcbiAgICB0YShVcmxPcGVuLCBxc0FjY2VwdGluZywgVXJsT3BlblEpO1xuICAgIGNvbnN0IFVybE9wZW5TeW1zID0gbWFrZVN0YXRlKCk7IC8vIFVybE9wZW4gZm9sbG93ZWQgYnkgc29tZSBzeW1ib2xzIGl0IGNhbm5vdCBlbmQgaXRcbiAgICB0YShVcmxPcGVuLCBxc05vbkFjY2VwdGluZyk7XG5cbiAgICAvLyBVUkwgdGhhdCBiZWdpbnMgd2l0aCBhbiBvcGVuaW5nIGJyYWNrZXQsIGZvbGxvd2VkIGJ5IHNvbWUgc3ltYm9sc1xuICAgIHRhKFVybE9wZW5RLCBxc0FjY2VwdGluZywgVXJsT3BlblEpO1xuICAgIHRhKFVybE9wZW5RLCBxc05vbkFjY2VwdGluZywgVXJsT3BlblN5bXMpO1xuICAgIHRhKFVybE9wZW5TeW1zLCBxc0FjY2VwdGluZywgVXJsT3BlblEpO1xuICAgIHRhKFVybE9wZW5TeW1zLCBxc05vbkFjY2VwdGluZywgVXJsT3BlblN5bXMpO1xuXG4gICAgLy8gQ2xvc2UgYnJhY2UvYnJhY2tldCB0byBiZWNvbWUgcmVndWxhciBVUkxcbiAgICB0dChVcmxPcGVuUSwgQ0xPU0UsIFVybCQxKTtcbiAgICB0dChVcmxPcGVuU3ltcywgQ0xPU0UsIFVybCQxKTtcbiAgfVxuICB0dChTdGFydCwgTE9DQUxIT1NULCBEb21haW5Eb3RUbGQpOyAvLyBsb2NhbGhvc3QgaXMgYSB2YWxpZCBVUkwgc3RhdGVcbiAgdHQoU3RhcnQsIE5MLCBObCk7IC8vIHNpbmdsZSBuZXcgbGluZVxuXG4gIHJldHVybiB7XG4gICAgc3RhcnQ6IFN0YXJ0LFxuICAgIHRva2VuczogdGtcbiAgfTtcbn1cblxuLyoqXG4gKiBSdW4gdGhlIHBhcnNlciBzdGF0ZSBtYWNoaW5lIG9uIGEgbGlzdCBvZiBzY2FubmVkIHN0cmluZy1iYXNlZCB0b2tlbnMgdG9cbiAqIGNyZWF0ZSBhIGxpc3Qgb2YgbXVsdGkgdG9rZW5zLCBlYWNoIG9mIHdoaWNoIHJlcHJlc2VudHMgYSBVUkwsIGVtYWlsIGFkZHJlc3MsXG4gKiBwbGFpbiB0ZXh0LCBldGMuXG4gKlxuICogQHBhcmFtIHtTdGF0ZTxNdWx0aVRva2VuPn0gc3RhcnQgcGFyc2VyIHN0YXJ0IHN0YXRlXG4gKiBAcGFyYW0ge3N0cmluZ30gaW5wdXQgdGhlIG9yaWdpbmFsIGlucHV0IHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGdpdmVuIHRva2Vuc1xuICogQHBhcmFtIHtUb2tlbltdfSB0b2tlbnMgbGlzdCBvZiBzY2FubmVkIHRva2Vuc1xuICogQHJldHVybnMge011bHRpVG9rZW5bXX1cbiAqL1xuZnVuY3Rpb24gcnVuKHN0YXJ0LCBpbnB1dCwgdG9rZW5zKSB7XG4gIGxldCBsZW4gPSB0b2tlbnMubGVuZ3RoO1xuICBsZXQgY3Vyc29yID0gMDtcbiAgbGV0IG11bHRpcyA9IFtdO1xuICBsZXQgdGV4dFRva2VucyA9IFtdO1xuICB3aGlsZSAoY3Vyc29yIDwgbGVuKSB7XG4gICAgbGV0IHN0YXRlID0gc3RhcnQ7XG4gICAgbGV0IHNlY29uZFN0YXRlID0gbnVsbDtcbiAgICBsZXQgbmV4dFN0YXRlID0gbnVsbDtcbiAgICBsZXQgbXVsdGlMZW5ndGggPSAwO1xuICAgIGxldCBsYXRlc3RBY2NlcHRpbmcgPSBudWxsO1xuICAgIGxldCBzaW5jZUFjY2VwdHMgPSAtMTtcbiAgICB3aGlsZSAoY3Vyc29yIDwgbGVuICYmICEoc2Vjb25kU3RhdGUgPSBzdGF0ZS5nbyh0b2tlbnNbY3Vyc29yXS50KSkpIHtcbiAgICAgIC8vIFN0YXJ0aW5nIHRva2VucyB3aXRoIG5vd2hlcmUgdG8ganVtcCB0by5cbiAgICAgIC8vIENvbnNpZGVyIHRoZXNlIHRvIGJlIGp1c3QgcGxhaW4gdGV4dFxuICAgICAgdGV4dFRva2Vucy5wdXNoKHRva2Vuc1tjdXJzb3IrK10pO1xuICAgIH1cbiAgICB3aGlsZSAoY3Vyc29yIDwgbGVuICYmIChuZXh0U3RhdGUgPSBzZWNvbmRTdGF0ZSB8fCBzdGF0ZS5nbyh0b2tlbnNbY3Vyc29yXS50KSkpIHtcbiAgICAgIC8vIEdldCB0aGUgbmV4dCBzdGF0ZVxuICAgICAgc2Vjb25kU3RhdGUgPSBudWxsO1xuICAgICAgc3RhdGUgPSBuZXh0U3RhdGU7XG5cbiAgICAgIC8vIEtlZXAgdHJhY2sgb2YgdGhlIGxhdGVzdCBhY2NlcHRpbmcgc3RhdGVcbiAgICAgIGlmIChzdGF0ZS5hY2NlcHRzKCkpIHtcbiAgICAgICAgc2luY2VBY2NlcHRzID0gMDtcbiAgICAgICAgbGF0ZXN0QWNjZXB0aW5nID0gc3RhdGU7XG4gICAgICB9IGVsc2UgaWYgKHNpbmNlQWNjZXB0cyA+PSAwKSB7XG4gICAgICAgIHNpbmNlQWNjZXB0cysrO1xuICAgICAgfVxuICAgICAgY3Vyc29yKys7XG4gICAgICBtdWx0aUxlbmd0aCsrO1xuICAgIH1cbiAgICBpZiAoc2luY2VBY2NlcHRzIDwgMCkge1xuICAgICAgLy8gTm8gYWNjZXB0aW5nIHN0YXRlIHdhcyBmb3VuZCwgcGFydCBvZiBhIHJlZ3VsYXIgdGV4dCB0b2tlbiBhZGRcbiAgICAgIC8vIHRoZSBmaXJzdCB0ZXh0IHRva2VuIHRvIHRoZSB0ZXh0IHRva2VucyBhcnJheSBhbmQgdHJ5IGFnYWluIGZyb21cbiAgICAgIC8vIHRoZSBuZXh0XG4gICAgICBjdXJzb3IgLT0gbXVsdGlMZW5ndGg7XG4gICAgICBpZiAoY3Vyc29yIDwgbGVuKSB7XG4gICAgICAgIHRleHRUb2tlbnMucHVzaCh0b2tlbnNbY3Vyc29yXSk7XG4gICAgICAgIGN1cnNvcisrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBBY2NlcHRpbmcgc3RhdGUhXG4gICAgICAvLyBGaXJzdCBjbG9zZSBvZmYgdGhlIHRleHRUb2tlbnMgKGlmIGF2YWlsYWJsZSlcbiAgICAgIGlmICh0ZXh0VG9rZW5zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbXVsdGlzLnB1c2goaW5pdE11bHRpVG9rZW4oVGV4dCwgaW5wdXQsIHRleHRUb2tlbnMpKTtcbiAgICAgICAgdGV4dFRva2VucyA9IFtdO1xuICAgICAgfVxuXG4gICAgICAvLyBSb2xsIGJhY2sgdG8gdGhlIGxhdGVzdCBhY2NlcHRpbmcgc3RhdGVcbiAgICAgIGN1cnNvciAtPSBzaW5jZUFjY2VwdHM7XG4gICAgICBtdWx0aUxlbmd0aCAtPSBzaW5jZUFjY2VwdHM7XG5cbiAgICAgIC8vIENyZWF0ZSBhIG5ldyBtdWx0aXRva2VuXG4gICAgICBjb25zdCBNdWx0aSA9IGxhdGVzdEFjY2VwdGluZy50O1xuICAgICAgY29uc3Qgc3VidG9rZW5zID0gdG9rZW5zLnNsaWNlKGN1cnNvciAtIG11bHRpTGVuZ3RoLCBjdXJzb3IpO1xuICAgICAgbXVsdGlzLnB1c2goaW5pdE11bHRpVG9rZW4oTXVsdGksIGlucHV0LCBzdWJ0b2tlbnMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBGaW5hbGx5IGNsb3NlIG9mZiB0aGUgdGV4dFRva2VucyAoaWYgYXZhaWxhYmxlKVxuICBpZiAodGV4dFRva2Vucy5sZW5ndGggPiAwKSB7XG4gICAgbXVsdGlzLnB1c2goaW5pdE11bHRpVG9rZW4oVGV4dCwgaW5wdXQsIHRleHRUb2tlbnMpKTtcbiAgfVxuICByZXR1cm4gbXVsdGlzO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb24gZm9yIGluc3RhbnRpYXRpbmcgYSBuZXcgbXVsdGl0b2tlbiB3aXRoIGFsbCB0aGUgcmVsZXZhbnRcbiAqIGZpZWxkcyBkdXJpbmcgcGFyc2luZy5cbiAqIEBwYXJhbSB7bmV3ICh2YWx1ZTogc3RyaW5nLCB0b2tlbnM6IFRva2VuW10pID0+IE11bHRpVG9rZW59IE11bHRpIGNsYXNzIHRvIGluc3RhbnRpYXRlXG4gKiBAcGFyYW0ge3N0cmluZ30gaW5wdXQgb3JpZ2luYWwgaW5wdXQgc3RyaW5nXG4gKiBAcGFyYW0ge1Rva2VuW119IHRva2VucyBjb25zZWN1dGl2ZSB0b2tlbnMgc2Nhbm5lZCBmcm9tIGlucHV0IHN0cmluZ1xuICogQHJldHVybnMge011bHRpVG9rZW59XG4gKi9cbmZ1bmN0aW9uIGluaXRNdWx0aVRva2VuKE11bHRpLCBpbnB1dCwgdG9rZW5zKSB7XG4gIGNvbnN0IHN0YXJ0SWR4ID0gdG9rZW5zWzBdLnM7XG4gIGNvbnN0IGVuZElkeCA9IHRva2Vuc1t0b2tlbnMubGVuZ3RoIC0gMV0uZTtcbiAgY29uc3QgdmFsdWUgPSBpbnB1dC5zbGljZShzdGFydElkeCwgZW5kSWR4KTtcbiAgcmV0dXJuIG5ldyBNdWx0aSh2YWx1ZSwgdG9rZW5zKTtcbn1cblxuY29uc3Qgd2FybiA9IHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJiBjb25zb2xlICYmIGNvbnNvbGUud2FybiB8fCAoKCkgPT4ge30pO1xuY29uc3Qgd2FybkFkdmljZSA9ICd1bnRpbCBtYW51YWwgY2FsbCBvZiBsaW5raWZ5LmluaXQoKS4gUmVnaXN0ZXIgYWxsIHNjaGVtZXMgYW5kIHBsdWdpbnMgYmVmb3JlIGludm9raW5nIGxpbmtpZnkgdGhlIGZpcnN0IHRpbWUuJztcblxuLy8gU2lkZS1lZmZlY3QgaW5pdGlhbGl6YXRpb24gc3RhdGVcbmNvbnN0IElOSVQgPSB7XG4gIHNjYW5uZXI6IG51bGwsXG4gIHBhcnNlcjogbnVsbCxcbiAgdG9rZW5RdWV1ZTogW10sXG4gIHBsdWdpblF1ZXVlOiBbXSxcbiAgY3VzdG9tU2NoZW1lczogW10sXG4gIGluaXRpYWxpemVkOiBmYWxzZVxufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7e1xuICogXHRzdGFydDogU3RhdGU8c3RyaW5nPixcbiAqIFx0dG9rZW5zOiB7IGdyb3VwczogQ29sbGVjdGlvbnM8c3RyaW5nPiB9ICYgdHlwZW9mIHRrXG4gKiB9fSBTY2FubmVySW5pdFxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge3tcbiAqIFx0c3RhcnQ6IFN0YXRlPE11bHRpVG9rZW4+LFxuICogXHR0b2tlbnM6IHR5cGVvZiBtdWx0aVxuICogfX0gUGFyc2VySW5pdFxuICovXG5cbi8qKlxuICogQHR5cGVkZWYgeyhhcmc6IHsgc2Nhbm5lcjogU2Nhbm5lckluaXQgfSkgPT4gdm9pZH0gVG9rZW5QbHVnaW5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHsoYXJnOiB7IHNjYW5uZXI6IFNjYW5uZXJJbml0LCBwYXJzZXI6IFBhcnNlckluaXQgfSkgPT4gdm9pZH0gUGx1Z2luXG4gKi9cblxuLyoqXG4gKiBEZS1yZWdpc3RlciBhbGwgcGx1Z2lucyBhbmQgcmVzZXQgdGhlIGludGVybmFsIHN0YXRlLW1hY2hpbmUuIFVzZWQgZm9yXG4gKiB0ZXN0aW5nOyBub3QgcmVxdWlyZWQgaW4gcHJhY3RpY2UuXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiByZXNldCgpIHtcbiAgU3RhdGUuZ3JvdXBzID0ge307XG4gIElOSVQuc2Nhbm5lciA9IG51bGw7XG4gIElOSVQucGFyc2VyID0gbnVsbDtcbiAgSU5JVC50b2tlblF1ZXVlID0gW107XG4gIElOSVQucGx1Z2luUXVldWUgPSBbXTtcbiAgSU5JVC5jdXN0b21TY2hlbWVzID0gW107XG4gIElOSVQuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcmV0dXJuIElOSVQ7XG59XG5cbi8qKlxuICogUmVnaXN0ZXIgYSB0b2tlbiBwbHVnaW4gdG8gYWxsb3cgdGhlIHNjYW5uZXIgdG8gcmVjb2duaXplIGFkZGl0aW9uYWwgdG9rZW5cbiAqIHR5cGVzIGJlZm9yZSB0aGUgcGFyc2VyIHN0YXRlIG1hY2hpbmUgaXMgY29uc3RydWN0ZWQgZnJvbSB0aGUgcmVzdWx0cy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIG9mIHBsdWdpbiB0byByZWdpc3RlclxuICogQHBhcmFtIHtUb2tlblBsdWdpbn0gcGx1Z2luIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyB0aGUgc2Nhbm5lciBzdGF0ZSBtYWNoaW5lXG4gKiBhbmQgYXZhaWxhYmxlIHNjYW5uZXIgdG9rZW5zIGFuZCBjb2xsZWN0aW9ucyBhbmQgZXh0ZW5kcyB0aGUgc3RhdGUgbWFjaGluZSB0b1xuICogcmVjb2duaXplIGFkZGl0aW9uYWwgdG9rZW5zIG9yIGdyb3Vwcy5cbiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJUb2tlblBsdWdpbihuYW1lLCBwbHVnaW4pIHtcbiAgaWYgKHR5cGVvZiBwbHVnaW4gIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGxpbmtpZnlqczogSW52YWxpZCB0b2tlbiBwbHVnaW4gJHtwbHVnaW59IChleHBlY3RzIGZ1bmN0aW9uKWApO1xuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgSU5JVC50b2tlblF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKG5hbWUgPT09IElOSVQudG9rZW5RdWV1ZVtpXVswXSkge1xuICAgICAgd2FybihgbGlua2lmeWpzOiB0b2tlbiBwbHVnaW4gXCIke25hbWV9XCIgYWxyZWFkeSByZWdpc3RlcmVkIC0gd2lsbCBiZSBvdmVyd3JpdHRlbmApO1xuICAgICAgSU5JVC50b2tlblF1ZXVlW2ldID0gW25hbWUsIHBsdWdpbl07XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gIElOSVQudG9rZW5RdWV1ZS5wdXNoKFtuYW1lLCBwbHVnaW5dKTtcbiAgaWYgKElOSVQuaW5pdGlhbGl6ZWQpIHtcbiAgICB3YXJuKGBsaW5raWZ5anM6IGFscmVhZHkgaW5pdGlhbGl6ZWQgLSB3aWxsIG5vdCByZWdpc3RlciB0b2tlbiBwbHVnaW4gXCIke25hbWV9XCIgJHt3YXJuQWR2aWNlfWApO1xuICB9XG59XG5cbi8qKlxuICogUmVnaXN0ZXIgYSBsaW5raWZ5IHBsdWdpblxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgb2YgcGx1Z2luIHRvIHJlZ2lzdGVyXG4gKiBAcGFyYW0ge1BsdWdpbn0gcGx1Z2luIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyB0aGUgcGFyc2VyIHN0YXRlIG1hY2hpbmUgYW5kXG4gKiBleHRlbmRzIHRoZSBwYXJzZXIgdG8gcmVjb2duaXplIGFkZGl0aW9uYWwgbGluayB0eXBlc1xuICovXG5mdW5jdGlvbiByZWdpc3RlclBsdWdpbihuYW1lLCBwbHVnaW4pIHtcbiAgaWYgKHR5cGVvZiBwbHVnaW4gIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGxpbmtpZnlqczogSW52YWxpZCBwbHVnaW4gJHtwbHVnaW59IChleHBlY3RzIGZ1bmN0aW9uKWApO1xuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgSU5JVC5wbHVnaW5RdWV1ZS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChuYW1lID09PSBJTklULnBsdWdpblF1ZXVlW2ldWzBdKSB7XG4gICAgICB3YXJuKGBsaW5raWZ5anM6IHBsdWdpbiBcIiR7bmFtZX1cIiBhbHJlYWR5IHJlZ2lzdGVyZWQgLSB3aWxsIGJlIG92ZXJ3cml0dGVuYCk7XG4gICAgICBJTklULnBsdWdpblF1ZXVlW2ldID0gW25hbWUsIHBsdWdpbl07XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gIElOSVQucGx1Z2luUXVldWUucHVzaChbbmFtZSwgcGx1Z2luXSk7XG4gIGlmIChJTklULmluaXRpYWxpemVkKSB7XG4gICAgd2FybihgbGlua2lmeWpzOiBhbHJlYWR5IGluaXRpYWxpemVkIC0gd2lsbCBub3QgcmVnaXN0ZXIgcGx1Z2luIFwiJHtuYW1lfVwiICR7d2FybkFkdmljZX1gKTtcbiAgfVxufVxuXG4vKipcbiAqIERldGVjdCBVUkxzIHdpdGggdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIHByb3RvY29sLiBBbnl0aGluZyB3aXRoIGZvcm1hdFxuICogXCJwcm90b2NvbDovLy4uLlwiIHdpbGwgYmUgY29uc2lkZXJlZCBhIGxpbmsuIElmIGBvcHRpb25hbFNsYXNoU2xhc2hgIGlzIHNldCB0b1xuICogYHRydWVgLCBhbnl0aGluZyB3aXRoIGZvcm1hdCBcInByb3RvY29sOi4uLlwiIHdpbGwgYmUgY29uc2lkZXJlZCBhIGxpbmsuXG4gKiBAcGFyYW0ge3N0cmluZ30gc2NoZW1lXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25hbFNsYXNoU2xhc2hdXG4gKi9cbmZ1bmN0aW9uIHJlZ2lzdGVyQ3VzdG9tUHJvdG9jb2woc2NoZW1lLCBvcHRpb25hbFNsYXNoU2xhc2ggPSBmYWxzZSkge1xuICBpZiAoSU5JVC5pbml0aWFsaXplZCkge1xuICAgIHdhcm4oYGxpbmtpZnlqczogYWxyZWFkeSBpbml0aWFsaXplZCAtIHdpbGwgbm90IHJlZ2lzdGVyIGN1c3RvbSBzY2hlbWUgXCIke3NjaGVtZX1cIiAke3dhcm5BZHZpY2V9YCk7XG4gIH1cbiAgaWYgKCEvXlswLTlhLXpdKygtWzAtOWEtel0rKSokLy50ZXN0KHNjaGVtZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGxpbmtpZnlqczogaW5jb3JyZWN0IHNjaGVtZSBmb3JtYXQuXG4xLiBNdXN0IG9ubHkgY29udGFpbiBkaWdpdHMsIGxvd2VyY2FzZSBBU0NJSSBsZXR0ZXJzIG9yIFwiLVwiXG4yLiBDYW5ub3Qgc3RhcnQgb3IgZW5kIHdpdGggXCItXCJcbjMuIFwiLVwiIGNhbm5vdCByZXBlYXRgKTtcbiAgfVxuICBJTklULmN1c3RvbVNjaGVtZXMucHVzaChbc2NoZW1lLCBvcHRpb25hbFNsYXNoU2xhc2hdKTtcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplIHRoZSBsaW5raWZ5IHN0YXRlIG1hY2hpbmUuIENhbGxlZCBhdXRvbWF0aWNhbGx5IHRoZSBmaXJzdCB0aW1lXG4gKiBsaW5raWZ5IGlzIGNhbGxlZCBvbiBhIHN0cmluZywgYnV0IG1heSBiZSBjYWxsZWQgbWFudWFsbHkgYXMgd2VsbC5cbiAqL1xuZnVuY3Rpb24gaW5pdCgpIHtcbiAgLy8gSW5pdGlhbGl6ZSBzY2FubmVyIHN0YXRlIG1hY2hpbmUgYW5kIHBsdWdpbnNcbiAgSU5JVC5zY2FubmVyID0gaW5pdCQyKElOSVQuY3VzdG9tU2NoZW1lcyk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgSU5JVC50b2tlblF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgSU5JVC50b2tlblF1ZXVlW2ldWzFdKHtcbiAgICAgIHNjYW5uZXI6IElOSVQuc2Nhbm5lclxuICAgIH0pO1xuICB9XG5cbiAgLy8gSW5pdGlhbGl6ZSBwYXJzZXIgc3RhdGUgbWFjaGluZSBhbmQgcGx1Z2luc1xuICBJTklULnBhcnNlciA9IGluaXQkMShJTklULnNjYW5uZXIudG9rZW5zKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBJTklULnBsdWdpblF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgSU5JVC5wbHVnaW5RdWV1ZVtpXVsxXSh7XG4gICAgICBzY2FubmVyOiBJTklULnNjYW5uZXIsXG4gICAgICBwYXJzZXI6IElOSVQucGFyc2VyXG4gICAgfSk7XG4gIH1cbiAgSU5JVC5pbml0aWFsaXplZCA9IHRydWU7XG4gIHJldHVybiBJTklUO1xufVxuXG4vKipcbiAqIFBhcnNlIGEgc3RyaW5nIGludG8gdG9rZW5zIHRoYXQgcmVwcmVzZW50IGxpbmthYmxlIGFuZCBub24tbGlua2FibGUgc3ViLWNvbXBvbmVudHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJcbiAqIEByZXR1cm4ge011bHRpVG9rZW5bXX0gdG9rZW5zXG4gKi9cbmZ1bmN0aW9uIHRva2VuaXplKHN0cikge1xuICBpZiAoIUlOSVQuaW5pdGlhbGl6ZWQpIHtcbiAgICBpbml0KCk7XG4gIH1cbiAgcmV0dXJuIHJ1bihJTklULnBhcnNlci5zdGFydCwgc3RyLCBydW4kMShJTklULnNjYW5uZXIuc3RhcnQsIHN0cikpO1xufVxudG9rZW5pemUuc2NhbiA9IHJ1biQxOyAvLyBmb3IgdGVzdGluZ1xuXG4vKipcbiAqIEZpbmQgYSBsaXN0IG9mIGxpbmthYmxlIGl0ZW1zIGluIHRoZSBnaXZlbiBzdHJpbmcuXG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyIHN0cmluZyB0byBmaW5kIGxpbmtzIGluXG4gKiBAcGFyYW0ge3N0cmluZyB8IE9wdHN9IFt0eXBlXSBlaXRoZXIgZm9ybWF0dGluZyBvcHRpb25zIG9yIHNwZWNpZmljIHR5cGUgb2ZcbiAqIGxpbmtzIHRvIGZpbmQsIGUuZy4sICd1cmwnIG9yICdlbWFpbCdcbiAqIEBwYXJhbSB7T3B0c30gW29wdHNdIGZvcm1hdHRpbmcgb3B0aW9ucyBmb3IgZmluYWwgb3V0cHV0LiBDYW5ub3QgYmUgc3BlY2lmaWVkXG4gKiBpZiBvcHRzIGFscmVhZHkgcHJvdmlkZWQgaW4gYHR5cGVgIGFyZ3VtZW50XG4gKi9cbmZ1bmN0aW9uIGZpbmQoc3RyLCB0eXBlID0gbnVsbCwgb3B0cyA9IG51bGwpIHtcbiAgaWYgKHR5cGUgJiYgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgaWYgKG9wdHMpIHtcbiAgICAgIHRocm93IEVycm9yKGBsaW5raWZ5anM6IEludmFsaWQgbGluayB0eXBlICR7dHlwZX07IG11c3QgYmUgYSBzdHJpbmdgKTtcbiAgICB9XG4gICAgb3B0cyA9IHR5cGU7XG4gICAgdHlwZSA9IG51bGw7XG4gIH1cbiAgY29uc3Qgb3B0aW9ucyA9IG5ldyBPcHRpb25zKG9wdHMpO1xuICBjb25zdCB0b2tlbnMgPSB0b2tlbml6ZShzdHIpO1xuICBjb25zdCBmaWx0ZXJlZCA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2ldO1xuICAgIGlmICh0b2tlbi5pc0xpbmsgJiYgKCF0eXBlIHx8IHRva2VuLnQgPT09IHR5cGUpICYmIG9wdGlvbnMuY2hlY2sodG9rZW4pKSB7XG4gICAgICBmaWx0ZXJlZC5wdXNoKHRva2VuLnRvRm9ybWF0dGVkT2JqZWN0KG9wdGlvbnMpKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZpbHRlcmVkO1xufVxuXG4vKipcbiAqIElzIHRoZSBnaXZlbiBzdHJpbmcgdmFsaWQgbGlua2FibGUgdGV4dCBvZiBzb21lIHNvcnQuIE5vdGUgdGhhdCB0aGlzIGRvZXMgbm90XG4gKiB0cmltIHRoZSB0ZXh0IGZvciB5b3UuXG4gKlxuICogT3B0aW9uYWxseSBwYXNzIGluIGEgc2Vjb25kIGB0eXBlYCBwYXJhbSwgd2hpY2ggaXMgdGhlIHR5cGUgb2YgbGluayB0byB0ZXN0XG4gKiBmb3IuXG4gKlxuICogRm9yIGV4YW1wbGUsXG4gKlxuICogICAgIGxpbmtpZnkudGVzdChzdHIsICdlbWFpbCcpO1xuICpcbiAqIFJldHVybnMgYHRydWVgIGlmIHN0ciBpcyBhIHZhbGlkIGVtYWlsLlxuICogQHBhcmFtIHtzdHJpbmd9IHN0ciBzdHJpbmcgdG8gdGVzdCBmb3IgbGlua3NcbiAqIEBwYXJhbSB7c3RyaW5nfSBbdHlwZV0gb3B0aW9uYWwgc3BlY2lmaWMgbGluayB0eXBlIHRvIGxvb2sgZm9yXG4gKiBAcmV0dXJucyBib29sZWFuIHRydWUvZmFsc2VcbiAqL1xuZnVuY3Rpb24gdGVzdChzdHIsIHR5cGUgPSBudWxsKSB7XG4gIGNvbnN0IHRva2VucyA9IHRva2VuaXplKHN0cik7XG4gIHJldHVybiB0b2tlbnMubGVuZ3RoID09PSAxICYmIHRva2Vuc1swXS5pc0xpbmsgJiYgKCF0eXBlIHx8IHRva2Vuc1swXS50ID09PSB0eXBlKTtcbn1cblxuZXhwb3J0IHsgTXVsdGlUb2tlbiwgT3B0aW9ucywgU3RhdGUsIGNyZWF0ZVRva2VuQ2xhc3MsIGZpbmQsIGluaXQsIG11bHRpLCBvcHRpb25zLCByZWdleHAsIHJlZ2lzdGVyQ3VzdG9tUHJvdG9jb2wsIHJlZ2lzdGVyUGx1Z2luLCByZWdpc3RlclRva2VuUGx1Z2luLCByZXNldCwgc3RyaW5nVG9BcnJheSwgdGVzdCwgbXVsdGkgYXMgdGV4dCwgdG9rZW5pemUgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/linkifyjs/dist/linkify.mjs\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/lucide-react.js b/.next/server/vendor-chunks/lucide-react.js index 7bad72a..4ef98e1 100644 --- a/.next/server/vendor-chunks/lucide-react.js +++ b/.next/server/vendor-chunks/lucide-react.js @@ -51,26 +51,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/award.js": -/*!***********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/award.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Award)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Award = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Award\", [\n [\n \"path\",\n {\n d: \"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526\",\n key: \"1yiouv\"\n }\n ],\n [\n \"circle\",\n {\n cx: \"12\",\n cy: \"8\",\n r: \"6\",\n key: \"1vp47v\"\n }\n ]\n]);\n //# sourceMappingURL=award.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2F3YXJkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBYU0sY0FBUSxnRUFBZ0IsQ0FBQyxPQUFTO0lBQ3RDO1FBQ0U7UUFDQTtZQUNFLENBQUc7WUFDSCxHQUFLO1FBQ1A7S0FDRjtJQUNBO1FBQUMsUUFBVTtRQUFBO1lBQUUsRUFBSTtZQUFNLENBQUksT0FBSztZQUFBLENBQUc7WUFBSyxHQUFLO1FBQUEsQ0FBVTtLQUFBO0NBQ3hEIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcYXdhcmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5cbi8qKlxuICogQGNvbXBvbmVudCBAbmFtZSBBd2FyZFxuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0p0TVRVdU5EYzNJREV5TGpnNUlERXVOVEUxSURndU5USTJZUzQxTGpVZ01DQXdJREV0TGpneExqUTNiQzB6TGpVNExUSXVOamczWVRFZ01TQXdJREFnTUMweExqRTVOeUF3YkMwekxqVTROaUF5TGpZNE5tRXVOUzQxSURBZ01DQXhMUzQ0TVMwdU5EWTViREV1TlRFMExUZ3VOVEkySWlBdlBnb2dJRHhqYVhKamJHVWdZM2c5SWpFeUlpQmplVDBpT0NJZ2NqMGlOaUlnTHo0S1BDOXpkbWMrQ2c9PSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvYXdhcmRcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBBd2FyZCA9IGNyZWF0ZUx1Y2lkZUljb24oJ0F3YXJkJywgW1xuICBbXG4gICAgJ3BhdGgnLFxuICAgIHtcbiAgICAgIGQ6ICdtMTUuNDc3IDEyLjg5IDEuNTE1IDguNTI2YS41LjUgMCAwIDEtLjgxLjQ3bC0zLjU4LTIuNjg3YTEgMSAwIDAgMC0xLjE5NyAwbC0zLjU4NiAyLjY4NmEuNS41IDAgMCAxLS44MS0uNDY5bDEuNTE0LTguNTI2JyxcbiAgICAgIGtleTogJzF5aW91dicsXG4gICAgfSxcbiAgXSxcbiAgWydjaXJjbGUnLCB7IGN4OiAnMTInLCBjeTogJzgnLCByOiAnNicsIGtleTogJzF2cDQ3dicgfV0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgQXdhcmQ7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/award.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/bold.js": -/*!**********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/bold.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Bold)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Bold = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Bold\", [\n [\n \"path\",\n {\n d: \"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8\",\n key: \"mg9rjx\"\n }\n ]\n]);\n //# sourceMappingURL=bold.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2JvbGQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxhQUFPLGdFQUFnQixDQUFDLE1BQVE7SUFDcEM7UUFDRTtRQUNBO1lBQUUsRUFBRyx3RUFBeUU7WUFBQSxLQUFLLFFBQVM7UUFBQTtLQUM5RjtDQUNEIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcYm9sZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIEJvbGRcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKTk5pQXhNbWc1WVRRZ05DQXdJREFnTVNBd0lEaElOMkV4SURFZ01DQXdJREV0TVMweFZqVmhNU0F4SURBZ01DQXhJREV0TVdnM1lUUWdOQ0F3SURBZ01TQXdJRGdpSUM4K0Nqd3ZjM1puUGdvPSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvYm9sZFxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IEJvbGQgPSBjcmVhdGVMdWNpZGVJY29uKCdCb2xkJywgW1xuICBbXG4gICAgJ3BhdGgnLFxuICAgIHsgZDogJ002IDEyaDlhNCA0IDAgMCAxIDAgOEg3YTEgMSAwIDAgMS0xLTFWNWExIDEgMCAwIDEgMS0xaDdhNCA0IDAgMCAxIDAgOCcsIGtleTogJ21nOXJqeCcgfSxcbiAgXSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBCb2xkO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/bold.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/briefcase.js": /*!***************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/briefcase.js ***! @@ -91,16 +71,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js": -/*!******************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/chevron-down.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ChevronDown)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst ChevronDown = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"ChevronDown\", [\n [\n \"path\",\n {\n d: \"m6 9 6 6 6-6\",\n key: \"qrunsl\"\n }\n ]\n]);\n //# sourceMappingURL=chevron-down.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2NoZXZyb24tZG93bi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLG9CQUFjLGdFQUFnQixDQUFDLGFBQWU7SUFDbEQ7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQWdCO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtDQUM5QyIsInNvdXJjZXMiOlsiRTpcXHNyY1xcaWNvbnNcXGNoZXZyb24tZG93bi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIENoZXZyb25Eb3duXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjR0YwYUNCa1BTSnROaUE1SURZZ05pQTJMVFlpSUM4K0Nqd3ZjM1puUGdvPSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvY2hldnJvbi1kb3duXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgQ2hldnJvbkRvd24gPSBjcmVhdGVMdWNpZGVJY29uKCdDaGV2cm9uRG93bicsIFtcbiAgWydwYXRoJywgeyBkOiAnbTYgOSA2IDYgNi02Jywga2V5OiAncXJ1bnNsJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBDaGV2cm9uRG93bjtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-left.js": /*!******************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/chevron-left.js ***! @@ -121,16 +91,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js": -/*!****************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/chevron-up.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ChevronUp)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst ChevronUp = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"ChevronUp\", [\n [\n \"path\",\n {\n d: \"m18 15-6-6-6 6\",\n key: \"153udz\"\n }\n ]\n]);\n //# sourceMappingURL=chevron-up.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2NoZXZyb24tdXAuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhQSxDQUFNLGNBQVksb0VBQWlCLFdBQWE7SUFBQztRQUFDO1FBQVE7WUFBRSxHQUFHLGdCQUFrQjtZQUFBLEtBQUssQ0FBUztRQUFBLENBQUM7S0FBQztDQUFDIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcY2hldnJvbi11cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIENoZXZyb25VcFxuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0p0TVRnZ01UVXROaTAyTFRZZ05pSWdMejRLUEM5emRtYytDZz09KSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy9jaGV2cm9uLXVwXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgQ2hldnJvblVwID0gY3JlYXRlTHVjaWRlSWNvbignQ2hldnJvblVwJywgW1sncGF0aCcsIHsgZDogJ20xOCAxNS02LTYtNiA2Jywga2V5OiAnMTUzdWR6JyB9XV0pO1xuXG5leHBvcnQgZGVmYXVsdCBDaGV2cm9uVXA7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-check.js": /*!******************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/circle-check.js ***! @@ -141,36 +101,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-pause.js": -/*!******************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/circle-pause.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CirclePause)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst CirclePause = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"CirclePause\", [\n [\n \"circle\",\n {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n key: \"1mglay\"\n }\n ],\n [\n \"line\",\n {\n x1: \"10\",\n x2: \"10\",\n y1: \"15\",\n y2: \"9\",\n key: \"c1nkhi\"\n }\n ],\n [\n \"line\",\n {\n x1: \"14\",\n x2: \"14\",\n y1: \"15\",\n y2: \"9\",\n key: \"h65svq\"\n }\n ]\n]);\n //# sourceMappingURL=circle-pause.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wYXVzZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLG9CQUFjLGdFQUFnQixDQUFDLGFBQWU7SUFDbEQ7UUFBQyxRQUFVO1FBQUE7WUFBRSxFQUFJO1lBQU0sQ0FBSSxRQUFNO1lBQUEsQ0FBRztZQUFNLEdBQUs7UUFBQSxDQUFVO0tBQUE7SUFDekQ7UUFBQztRQUFRLENBQUU7WUFBQSxJQUFJLENBQU07WUFBQSxJQUFJLENBQU07WUFBQSxHQUFJLEtBQU07WUFBQSxHQUFJLElBQUs7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQ2pFO1FBQUM7UUFBUSxDQUFFO1lBQUEsSUFBSSxDQUFNO1lBQUEsSUFBSSxDQUFNO1lBQUEsR0FBSSxLQUFNO1lBQUEsR0FBSSxJQUFLO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtDQUNsRSIsInNvdXJjZXMiOlsiRTpcXHNyY1xcaWNvbnNcXGNpcmNsZS1wYXVzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIENpcmNsZVBhdXNlXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThZMmx5WTJ4bElHTjRQU0l4TWlJZ1kzazlJakV5SWlCeVBTSXhNQ0lnTHo0S0lDQThiR2x1WlNCNE1UMGlNVEFpSUhneVBTSXhNQ0lnZVRFOUlqRTFJaUI1TWowaU9TSWdMejRLSUNBOGJHbHVaU0I0TVQwaU1UUWlJSGd5UFNJeE5DSWdlVEU5SWpFMUlpQjVNajBpT1NJZ0x6NEtQQzl6ZG1jK0NnPT0pIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL2NpcmNsZS1wYXVzZVxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IENpcmNsZVBhdXNlID0gY3JlYXRlTHVjaWRlSWNvbignQ2lyY2xlUGF1c2UnLCBbXG4gIFsnY2lyY2xlJywgeyBjeDogJzEyJywgY3k6ICcxMicsIHI6ICcxMCcsIGtleTogJzFtZ2xheScgfV0sXG4gIFsnbGluZScsIHsgeDE6ICcxMCcsIHgyOiAnMTAnLCB5MTogJzE1JywgeTI6ICc5Jywga2V5OiAnYzFua2hpJyB9XSxcbiAgWydsaW5lJywgeyB4MTogJzE0JywgeDI6ICcxNCcsIHkxOiAnMTUnLCB5MjogJzknLCBrZXk6ICdoNjVzdnEnIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IENpcmNsZVBhdXNlO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-pause.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-play.js": -/*!*****************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/circle-play.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CirclePlay)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst CirclePlay = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"CirclePlay\", [\n [\n \"circle\",\n {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n key: \"1mglay\"\n }\n ],\n [\n \"polygon\",\n {\n points: \"10 8 16 12 10 16 10 8\",\n key: \"1cimsy\"\n }\n ]\n]);\n //# sourceMappingURL=circle-play.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wbGF5LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBYU0sbUJBQWEsZ0VBQWdCLENBQUMsWUFBYztJQUNoRDtRQUFDLFFBQVU7UUFBQTtZQUFFLEVBQUk7WUFBTSxDQUFJLFFBQU07WUFBQSxDQUFHO1lBQU0sR0FBSztRQUFBLENBQVU7S0FBQTtJQUN6RDtRQUFDLFNBQVc7UUFBQTtZQUFFLFFBQVEsQ0FBeUI7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0NBQy9EIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcY2lyY2xlLXBsYXkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5cbi8qKlxuICogQGNvbXBvbmVudCBAbmFtZSBDaXJjbGVQbGF5XG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThZMmx5WTJ4bElHTjRQU0l4TWlJZ1kzazlJakV5SWlCeVBTSXhNQ0lnTHo0S0lDQThjRzlzZVdkdmJpQndiMmx1ZEhNOUlqRXdJRGdnTVRZZ01USWdNVEFnTVRZZ01UQWdPQ0lnTHo0S1BDOXpkbWMrQ2c9PSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvY2lyY2xlLXBsYXlcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBDaXJjbGVQbGF5ID0gY3JlYXRlTHVjaWRlSWNvbignQ2lyY2xlUGxheScsIFtcbiAgWydjaXJjbGUnLCB7IGN4OiAnMTInLCBjeTogJzEyJywgcjogJzEwJywga2V5OiAnMW1nbGF5JyB9XSxcbiAgWydwb2x5Z29uJywgeyBwb2ludHM6ICcxMCA4IDE2IDEyIDEwIDE2IDEwIDgnLCBrZXk6ICcxY2ltc3knIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IENpcmNsZVBsYXk7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-play.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-plus.js": -/*!*****************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/circle-plus.js ***! - \*****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CirclePlus)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst CirclePlus = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"CirclePlus\", [\n [\n \"circle\",\n {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n key: \"1mglay\"\n }\n ],\n [\n \"path\",\n {\n d: \"M8 12h8\",\n key: \"1wcyev\"\n }\n ],\n [\n \"path\",\n {\n d: \"M12 8v8\",\n key: \"napkw2\"\n }\n ]\n]);\n //# sourceMappingURL=circle-plus.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wbHVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBYU0sbUJBQWEsZ0VBQWdCLENBQUMsWUFBYztJQUNoRDtRQUFDLFFBQVU7UUFBQTtZQUFFLEVBQUk7WUFBTSxDQUFJLFFBQU07WUFBQSxDQUFHO1lBQU0sR0FBSztRQUFBLENBQVU7S0FBQTtJQUN6RDtRQUFDLE1BQVE7UUFBQTtZQUFFLEdBQUcsQ0FBVztZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7SUFDeEM7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQVc7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0NBQ3pDIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcY2lyY2xlLXBsdXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5cbi8qKlxuICogQGNvbXBvbmVudCBAbmFtZSBDaXJjbGVQbHVzXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThZMmx5WTJ4bElHTjRQU0l4TWlJZ1kzazlJakV5SWlCeVBTSXhNQ0lnTHo0S0lDQThjR0YwYUNCa1BTSk5PQ0F4TW1nNElpQXZQZ29nSUR4d1lYUm9JR1E5SWsweE1pQTRkamdpSUM4K0Nqd3ZjM1puUGdvPSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvY2lyY2xlLXBsdXNcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBDaXJjbGVQbHVzID0gY3JlYXRlTHVjaWRlSWNvbignQ2lyY2xlUGx1cycsIFtcbiAgWydjaXJjbGUnLCB7IGN4OiAnMTInLCBjeTogJzEyJywgcjogJzEwJywga2V5OiAnMW1nbGF5JyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTggMTJoOCcsIGtleTogJzF3Y3lldicgfV0sXG4gIFsncGF0aCcsIHsgZDogJ00xMiA4djgnLCBrZXk6ICduYXBrdzInIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IENpcmNsZVBsdXM7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-plus.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/circle.js": /*!************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/circle.js ***! @@ -191,26 +121,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/eye-off.js": -/*!*************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/eye-off.js ***! - \*************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ EyeOff)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst EyeOff = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"EyeOff\", [\n [\n \"path\",\n {\n d: \"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49\",\n key: \"ct8e1f\"\n }\n ],\n [\n \"path\",\n {\n d: \"M14.084 14.158a3 3 0 0 1-4.242-4.242\",\n key: \"151rxh\"\n }\n ],\n [\n \"path\",\n {\n d: \"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143\",\n key: \"13bj9a\"\n }\n ],\n [\n \"path\",\n {\n d: \"m2 2 20 20\",\n key: \"1ooewy\"\n }\n ]\n]);\n //# sourceMappingURL=eye-off.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2V5ZS1vZmYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxlQUFTLGdFQUFnQixDQUFDLFFBQVU7SUFDeEM7UUFDRTtRQUNBO1lBQ0UsQ0FBRztZQUNILEdBQUs7UUFDUDtLQUNGO0lBQ0E7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQXdDO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtJQUNyRTtRQUNFO1FBQ0E7WUFDRSxDQUFHO1lBQ0gsR0FBSztRQUNQO0tBQ0Y7SUFDQTtRQUFDLE1BQVE7UUFBQTtZQUFFLEdBQUcsQ0FBYztZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7Q0FDNUMiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXGljb25zXFxleWUtb2ZmLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgRXllT2ZmXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjR0YwYUNCa1BTSk5NVEF1TnpNeklEVXVNRGMyWVRFd0xqYzBOQ0F4TUM0M05EUWdNQ0F3SURFZ01URXVNakExSURZdU5UYzFJREVnTVNBd0lEQWdNU0F3SUM0Mk9UWWdNVEF1TnpRM0lERXdMamMwTnlBd0lEQWdNUzB4TGpRME5DQXlMalE1SWlBdlBnb2dJRHh3WVhSb0lHUTlJazB4TkM0d09EUWdNVFF1TVRVNFlUTWdNeUF3SURBZ01TMDBMakkwTWkwMExqSTBNaUlnTHo0S0lDQThjR0YwYUNCa1BTSk5NVGN1TkRjNUlERTNMalE1T1dFeE1DNDNOU0F4TUM0M05TQXdJREFnTVMweE5TNDBNVGN0TlM0eE5URWdNU0F4SURBZ01DQXhJREF0TGpZNU5pQXhNQzQzTlNBeE1DNDNOU0F3SURBZ01TQTBMalEwTmkwMUxqRTBNeUlnTHo0S0lDQThjR0YwYUNCa1BTSnRNaUF5SURJd0lESXdJaUF2UGdvOEwzTjJaejRLKSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy9leWUtb2ZmXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgRXllT2ZmID0gY3JlYXRlTHVjaWRlSWNvbignRXllT2ZmJywgW1xuICBbXG4gICAgJ3BhdGgnLFxuICAgIHtcbiAgICAgIGQ6ICdNMTAuNzMzIDUuMDc2YTEwLjc0NCAxMC43NDQgMCAwIDEgMTEuMjA1IDYuNTc1IDEgMSAwIDAgMSAwIC42OTYgMTAuNzQ3IDEwLjc0NyAwIDAgMS0xLjQ0NCAyLjQ5JyxcbiAgICAgIGtleTogJ2N0OGUxZicsXG4gICAgfSxcbiAgXSxcbiAgWydwYXRoJywgeyBkOiAnTTE0LjA4NCAxNC4xNThhMyAzIDAgMCAxLTQuMjQyLTQuMjQyJywga2V5OiAnMTUxcnhoJyB9XSxcbiAgW1xuICAgICdwYXRoJyxcbiAgICB7XG4gICAgICBkOiAnTTE3LjQ3OSAxNy40OTlhMTAuNzUgMTAuNzUgMCAwIDEtMTUuNDE3LTUuMTUxIDEgMSAwIDAgMSAwLS42OTYgMTAuNzUgMTAuNzUgMCAwIDEgNC40NDYtNS4xNDMnLFxuICAgICAga2V5OiAnMTNiajlhJyxcbiAgICB9LFxuICBdLFxuICBbJ3BhdGgnLCB7IGQ6ICdtMiAyIDIwIDIwJywga2V5OiAnMW9vZXd5JyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBFeWVPZmY7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/eye-off.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/eye.js": -/*!*********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/eye.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Eye)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Eye = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Eye\", [\n [\n \"path\",\n {\n d: \"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\",\n key: \"1nclc0\"\n }\n ],\n [\n \"circle\",\n {\n cx: \"12\",\n cy: \"12\",\n r: \"3\",\n key: \"1v7zrd\"\n }\n ]\n]);\n //# sourceMappingURL=eye.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2V5ZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLFlBQU0sZ0VBQWdCLENBQUMsS0FBTztJQUNsQztRQUNFO1FBQ0E7WUFDRSxDQUFHO1lBQ0gsR0FBSztRQUNQO0tBQ0Y7SUFDQTtRQUFDLFFBQVU7UUFBQTtZQUFFLEVBQUk7WUFBTSxDQUFJLFFBQU07WUFBQSxDQUFHO1lBQUssR0FBSztRQUFBLENBQVU7S0FBQTtDQUN6RCIsInNvdXJjZXMiOlsiRTpcXHNyY1xcaWNvbnNcXGV5ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIEV5ZVxuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0pOTWk0d05qSWdNVEl1TXpRNFlURWdNU0F3SURBZ01TQXdMUzQyT1RZZ01UQXVOelVnTVRBdU56VWdNQ0F3SURFZ01Ua3VPRGMySURBZ01TQXhJREFnTUNBeElEQWdMalk1TmlBeE1DNDNOU0F4TUM0M05TQXdJREFnTVMweE9TNDROellnTUNJZ0x6NEtJQ0E4WTJseVkyeGxJR040UFNJeE1pSWdZM2s5SWpFeUlpQnlQU0l6SWlBdlBnbzhMM04yWno0SykgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvZXllXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgRXllID0gY3JlYXRlTHVjaWRlSWNvbignRXllJywgW1xuICBbXG4gICAgJ3BhdGgnLFxuICAgIHtcbiAgICAgIGQ6ICdNMi4wNjIgMTIuMzQ4YTEgMSAwIDAgMSAwLS42OTYgMTAuNzUgMTAuNzUgMCAwIDEgMTkuODc2IDAgMSAxIDAgMCAxIDAgLjY5NiAxMC43NSAxMC43NSAwIDAgMS0xOS44NzYgMCcsXG4gICAgICBrZXk6ICcxbmNsYzAnLFxuICAgIH0sXG4gIF0sXG4gIFsnY2lyY2xlJywgeyBjeDogJzEyJywgY3k6ICcxMicsIHI6ICczJywga2V5OiAnMXY3enJkJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBFeWU7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/eye.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/file-text.js": /*!***************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/file-text.js ***! @@ -221,36 +131,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/filter.js": -/*!************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/filter.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Filter)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Filter = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Filter\", [\n [\n \"polygon\",\n {\n points: \"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\",\n key: \"1yg77f\"\n }\n ]\n]);\n //# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2ZpbHRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLGVBQVMsZ0VBQWdCLENBQUMsUUFBVTtJQUN4QztRQUFDLFNBQVc7UUFBQTtZQUFFLFFBQVEsQ0FBK0M7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0NBQ3JGIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcZmlsdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgRmlsdGVyXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjRzlzZVdkdmJpQndiMmx1ZEhNOUlqSXlJRE1nTWlBeklERXdJREV5TGpRMklERXdJREU1SURFMElESXhJREUwSURFeUxqUTJJREl5SURNaUlDOCtDand2YzNablBnbz0pIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL2ZpbHRlclxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IEZpbHRlciA9IGNyZWF0ZUx1Y2lkZUljb24oJ0ZpbHRlcicsIFtcbiAgWydwb2x5Z29uJywgeyBwb2ludHM6ICcyMiAzIDIgMyAxMCAxMi40NiAxMCAxOSAxNCAyMSAxNCAxMi40NiAyMiAzJywga2V5OiAnMXlnNzdmJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBGaWx0ZXI7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/filter.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/hammer.js": -/*!************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/hammer.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Hammer)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Hammer = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Hammer\", [\n [\n \"path\",\n {\n d: \"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9\",\n key: \"eefl8a\"\n }\n ],\n [\n \"path\",\n {\n d: \"m18 15 4-4\",\n key: \"16gjal\"\n }\n ],\n [\n \"path\",\n {\n d: \"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5\",\n key: \"b7pghm\"\n }\n ]\n]);\n //# sourceMappingURL=hammer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2hhbW1lci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLGVBQVMsZ0VBQWdCLENBQUMsUUFBVTtJQUN4QztRQUFDLE1BQVE7UUFBQTtZQUFFLEdBQUcsQ0FBeUM7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQ3RFO1FBQUMsTUFBUTtRQUFBO1lBQUUsR0FBRyxDQUFjO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtJQUMzQztRQUNFO1FBQ0E7WUFDRSxDQUFHO1lBQ0gsR0FBSztRQUNQO0tBQ0Y7Q0FDRCIsInNvdXJjZXMiOlsiRTpcXHNyY1xcaWNvbnNcXGhhbW1lci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIEhhbW1lclxuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0p0TVRVZ01USXRPQzR6TnpNZ09DNHpOek5oTVNBeElEQWdNU0F4TFRNdE0wd3hNaUE1SWlBdlBnb2dJRHh3WVhSb0lHUTlJbTB4T0NBeE5TQTBMVFFpSUM4K0NpQWdQSEJoZEdnZ1pEMGliVEl4TGpVZ01URXVOUzB4TGpreE5DMHhMamt4TkVFeUlESWdNQ0F3SURFZ01Ua2dPQzR4TnpKV04yd3RNaTR5TmkweUxqSTJZVFlnTmlBd0lEQWdNQzAwTGpJd01pMHhMamMxTmt3NUlESXVPVFpzTGpreUxqZ3lRVFl1TVRnZ05pNHhPQ0F3SURBZ01TQXhNaUE0TGpSV01UQnNNaUF5YURFdU1UY3lZVElnTWlBd0lEQWdNU0F4TGpReE5DNDFPRFpNTVRndU5TQXhOQzQxSWlBdlBnbzhMM04yWno0SykgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvaGFtbWVyXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgSGFtbWVyID0gY3JlYXRlTHVjaWRlSWNvbignSGFtbWVyJywgW1xuICBbJ3BhdGgnLCB7IGQ6ICdtMTUgMTItOC4zNzMgOC4zNzNhMSAxIDAgMSAxLTMtM0wxMiA5Jywga2V5OiAnZWVmbDhhJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnbTE4IDE1IDQtNCcsIGtleTogJzE2Z2phbCcgfV0sXG4gIFtcbiAgICAncGF0aCcsXG4gICAge1xuICAgICAgZDogJ20yMS41IDExLjUtMS45MTQtMS45MTRBMiAyIDAgMCAxIDE5IDguMTcyVjdsLTIuMjYtMi4yNmE2IDYgMCAwIDAtNC4yMDItMS43NTZMOSAyLjk2bC45Mi44MkE2LjE4IDYuMTggMCAwIDEgMTIgOC40VjEwbDIgMmgxLjE3MmEyIDIgMCAwIDEgMS40MTQuNTg2TDE4LjUgMTQuNScsXG4gICAgICBrZXk6ICdiN3BnaG0nLFxuICAgIH0sXG4gIF0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgSGFtbWVyO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/hammer.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/image-plus.js": -/*!****************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/image-plus.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ImagePlus)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst ImagePlus = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"ImagePlus\", [\n [\n \"path\",\n {\n d: \"M16 5h6\",\n key: \"1vod17\"\n }\n ],\n [\n \"path\",\n {\n d: \"M19 2v6\",\n key: \"4bpg5p\"\n }\n ],\n [\n \"path\",\n {\n d: \"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5\",\n key: \"1ue2ih\"\n }\n ],\n [\n \"path\",\n {\n d: \"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\",\n key: \"1xmnt7\"\n }\n ],\n [\n \"circle\",\n {\n cx: \"9\",\n cy: \"9\",\n r: \"2\",\n key: \"af1f0g\"\n }\n ]\n]);\n //# sourceMappingURL=image-plus.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2ltYWdlLXBsdXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxrQkFBWSxnRUFBZ0IsQ0FBQyxXQUFhO0lBQzlDO1FBQUMsTUFBUTtRQUFBO1lBQUUsR0FBRyxDQUFXO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtJQUN4QztRQUFDLE1BQVE7UUFBQTtZQUFFLEdBQUcsQ0FBVztZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7SUFDeEM7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQWlFO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtJQUM5RjtRQUFDLE1BQVE7UUFBQTtZQUFFLEdBQUcsQ0FBNkM7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQzFFO1FBQUMsUUFBVTtRQUFBO1lBQUUsRUFBSTtZQUFLLENBQUksT0FBSztZQUFBLENBQUc7WUFBSyxHQUFLO1FBQUEsQ0FBVTtLQUFBO0NBQ3ZEIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcaW1hZ2UtcGx1cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIEltYWdlUGx1c1xuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0pOTVRZZ05XZzJJaUF2UGdvZ0lEeHdZWFJvSUdROUlrMHhPU0F5ZGpZaUlDOCtDaUFnUEhCaGRHZ2daRDBpVFRJeElERXhMalZXTVRsaE1pQXlJREFnTUNBeExUSWdNa2cxWVRJZ01pQXdJREFnTVMweUxUSldOV0V5SURJZ01DQXdJREVnTWkweWFEY3VOU0lnTHo0S0lDQThjR0YwYUNCa1BTSnRNakVnTVRVdE15NHdPRFl0TXk0d09EWmhNaUF5SURBZ01DQXdMVEl1T0RJNElEQk1OaUF5TVNJZ0x6NEtJQ0E4WTJseVkyeGxJR040UFNJNUlpQmplVDBpT1NJZ2NqMGlNaUlnTHo0S1BDOXpkbWMrQ2c9PSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvaW1hZ2UtcGx1c1xuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IEltYWdlUGx1cyA9IGNyZWF0ZUx1Y2lkZUljb24oJ0ltYWdlUGx1cycsIFtcbiAgWydwYXRoJywgeyBkOiAnTTE2IDVoNicsIGtleTogJzF2b2QxNycgfV0sXG4gIFsncGF0aCcsIHsgZDogJ00xOSAydjYnLCBrZXk6ICc0YnBnNXAnIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNMjEgMTEuNVYxOWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNy41Jywga2V5OiAnMXVlMmloJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnbTIxIDE1LTMuMDg2LTMuMDg2YTIgMiAwIDAgMC0yLjgyOCAwTDYgMjEnLCBrZXk6ICcxeG1udDcnIH1dLFxuICBbJ2NpcmNsZScsIHsgY3g6ICc5JywgY3k6ICc5JywgcjogJzInLCBrZXk6ICdhZjFmMGcnIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IEltYWdlUGx1cztcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/image-plus.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/image.js": /*!***********************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/image.js ***! @@ -261,36 +141,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/italic.js": -/*!************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/italic.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Italic)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Italic = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Italic\", [\n [\n \"line\",\n {\n x1: \"19\",\n x2: \"10\",\n y1: \"4\",\n y2: \"4\",\n key: \"15jd3p\"\n }\n ],\n [\n \"line\",\n {\n x1: \"14\",\n x2: \"5\",\n y1: \"20\",\n y2: \"20\",\n key: \"bu0au3\"\n }\n ],\n [\n \"line\",\n {\n x1: \"15\",\n x2: \"9\",\n y1: \"4\",\n y2: \"20\",\n key: \"uljnxc\"\n }\n ]\n]);\n //# sourceMappingURL=italic.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2l0YWxpYy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLGVBQVMsZ0VBQWdCLENBQUMsUUFBVTtJQUN4QztRQUFDO1FBQVEsQ0FBRTtZQUFBLElBQUksQ0FBTTtZQUFBLElBQUksQ0FBTTtZQUFBLEdBQUksSUFBSztZQUFBLEdBQUksSUFBSztZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7SUFDaEU7UUFBQztRQUFRLENBQUU7WUFBQSxJQUFJLENBQU07WUFBQSxJQUFJLENBQUs7WUFBQSxHQUFJLEtBQU07WUFBQSxHQUFJLEtBQU07WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQ2pFO1FBQUM7UUFBUSxDQUFFO1lBQUEsSUFBSSxDQUFNO1lBQUEsSUFBSSxDQUFLO1lBQUEsR0FBSSxJQUFLO1lBQUEsR0FBSSxLQUFNO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtDQUNqRSIsInNvdXJjZXMiOlsiRTpcXHNyY1xcaWNvbnNcXGl0YWxpYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIEl0YWxpY1xuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4YkdsdVpTQjRNVDBpTVRraUlIZ3lQU0l4TUNJZ2VURTlJalFpSUhreVBTSTBJaUF2UGdvZ0lEeHNhVzVsSUhneFBTSXhOQ0lnZURJOUlqVWlJSGt4UFNJeU1DSWdlVEk5SWpJd0lpQXZQZ29nSUR4c2FXNWxJSGd4UFNJeE5TSWdlREk5SWpraUlIa3hQU0kwSWlCNU1qMGlNakFpSUM4K0Nqd3ZjM1puUGdvPSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvaXRhbGljXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgSXRhbGljID0gY3JlYXRlTHVjaWRlSWNvbignSXRhbGljJywgW1xuICBbJ2xpbmUnLCB7IHgxOiAnMTknLCB4MjogJzEwJywgeTE6ICc0JywgeTI6ICc0Jywga2V5OiAnMTVqZDNwJyB9XSxcbiAgWydsaW5lJywgeyB4MTogJzE0JywgeDI6ICc1JywgeTE6ICcyMCcsIHkyOiAnMjAnLCBrZXk6ICdidTBhdTMnIH1dLFxuICBbJ2xpbmUnLCB7IHgxOiAnMTUnLCB4MjogJzknLCB5MTogJzQnLCB5MjogJzIwJywga2V5OiAndWxqbnhjJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBJdGFsaWM7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/italic.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/key.js": -/*!*********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/key.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Key)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Key = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Key\", [\n [\n \"path\",\n {\n d: \"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4\",\n key: \"g0fldk\"\n }\n ],\n [\n \"path\",\n {\n d: \"m21 2-9.6 9.6\",\n key: \"1j0ho8\"\n }\n ],\n [\n \"circle\",\n {\n cx: \"7.5\",\n cy: \"15.5\",\n r: \"5.5\",\n key: \"yqb3hr\"\n }\n ]\n]);\n //# sourceMappingURL=key.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2tleS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLFlBQU0sZ0VBQWdCLENBQUMsS0FBTztJQUNsQztRQUFDLE1BQVE7UUFBQTtZQUFFLEdBQUcsQ0FBa0U7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQy9GO1FBQUMsTUFBUTtRQUFBO1lBQUUsR0FBRyxDQUFpQjtZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7SUFDOUM7UUFBQyxRQUFVO1FBQUE7WUFBRSxFQUFJO1lBQU8sQ0FBSSxVQUFRO1lBQUEsQ0FBRztZQUFPLEdBQUs7UUFBQSxDQUFVO0tBQUE7Q0FDOUQiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXGljb25zXFxrZXkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5cbi8qKlxuICogQGNvbXBvbmVudCBAbmFtZSBLZXlcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKdE1UVXVOU0EzTGpVZ01pNHpJREl1TTJFeElERWdNQ0F3SURBZ01TNDBJREJzTWk0eExUSXVNV0V4SURFZ01DQXdJREFnTUMweExqUk1NVGtnTkNJZ0x6NEtJQ0E4Y0dGMGFDQmtQU0p0TWpFZ01pMDVMallnT1M0MklpQXZQZ29nSUR4amFYSmpiR1VnWTNnOUlqY3VOU0lnWTNrOUlqRTFMalVpSUhJOUlqVXVOU0lnTHo0S1BDOXpkbWMrQ2c9PSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMva2V5XG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgS2V5ID0gY3JlYXRlTHVjaWRlSWNvbignS2V5JywgW1xuICBbJ3BhdGgnLCB7IGQ6ICdtMTUuNSA3LjUgMi4zIDIuM2ExIDEgMCAwIDAgMS40IDBsMi4xLTIuMWExIDEgMCAwIDAgMC0xLjRMMTkgNCcsIGtleTogJ2cwZmxkaycgfV0sXG4gIFsncGF0aCcsIHsgZDogJ20yMSAyLTkuNiA5LjYnLCBrZXk6ICcxajBobzgnIH1dLFxuICBbJ2NpcmNsZScsIHsgY3g6ICc3LjUnLCBjeTogJzE1LjUnLCByOiAnNS41Jywga2V5OiAneXFiM2hyJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBLZXk7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/key.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/link.js": -/*!**********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/link.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Link)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Link = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Link\", [\n [\n \"path\",\n {\n d: \"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\",\n key: \"1cjeqo\"\n }\n ],\n [\n \"path\",\n {\n d: \"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\",\n key: \"19qd67\"\n }\n ]\n]);\n //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxhQUFPLGdFQUFnQixDQUFDLE1BQVE7SUFDcEM7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQStEO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtJQUM1RjtRQUFDLE1BQVE7UUFBQTtZQUFFLEdBQUcsQ0FBZ0U7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0NBQzlGIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcbGluay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIExpbmtcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKTk1UQWdNVE5oTlNBMUlEQWdNQ0F3SURjdU5UUXVOVFJzTXkwellUVWdOU0F3SURBZ01DMDNMakEzTFRjdU1EZHNMVEV1TnpJZ01TNDNNU0lnTHo0S0lDQThjR0YwYUNCa1BTSk5NVFFnTVRGaE5TQTFJREFnTUNBd0xUY3VOVFF0TGpVMGJDMHpJRE5oTlNBMUlEQWdNQ0F3SURjdU1EY2dOeTR3TjJ3eExqY3hMVEV1TnpFaUlDOCtDand2YzNablBnbz0pIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL2xpbmtcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBMaW5rID0gY3JlYXRlTHVjaWRlSWNvbignTGluaycsIFtcbiAgWydwYXRoJywgeyBkOiAnTTEwIDEzYTUgNSAwIDAgMCA3LjU0LjU0bDMtM2E1IDUgMCAwIDAtNy4wNy03LjA3bC0xLjcyIDEuNzEnLCBrZXk6ICcxY2plcW8nIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNMTQgMTFhNSA1IDAgMCAwLTcuNTQtLjU0bC0zIDNhNSA1IDAgMCAwIDcuMDcgNy4wN2wxLjcxLTEuNzEnLCBrZXk6ICcxOXFkNjcnIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IExpbms7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/link.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/list-ordered.js": /*!******************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/list-ordered.js ***! @@ -301,16 +151,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/list.js": -/*!**********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/list.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ List)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst List = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"List\", [\n [\n \"path\",\n {\n d: \"M3 12h.01\",\n key: \"nlz23k\"\n }\n ],\n [\n \"path\",\n {\n d: \"M3 18h.01\",\n key: \"1tta3j\"\n }\n ],\n [\n \"path\",\n {\n d: \"M3 6h.01\",\n key: \"1rqtza\"\n }\n ],\n [\n \"path\",\n {\n d: \"M8 12h13\",\n key: \"1za7za\"\n }\n ],\n [\n \"path\",\n {\n d: \"M8 18h13\",\n key: \"1lx6n3\"\n }\n ],\n [\n \"path\",\n {\n d: \"M8 6h13\",\n key: \"ik3vkj\"\n }\n ]\n]);\n //# sourceMappingURL=list.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2xpc3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxhQUFPLGdFQUFnQixDQUFDLE1BQVE7SUFDcEM7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQWE7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQzFDO1FBQUMsTUFBUTtRQUFBO1lBQUUsR0FBRyxDQUFhO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtJQUMxQztRQUFDLE1BQVE7UUFBQTtZQUFFLEdBQUcsQ0FBWTtZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7SUFDekM7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQVk7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQ3pDO1FBQUMsTUFBUTtRQUFBO1lBQUUsR0FBRyxDQUFZO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtJQUN6QztRQUFDLE1BQVE7UUFBQTtZQUFFLEdBQUcsQ0FBVztZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7Q0FDekMiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXGljb25zXFxsaXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgTGlzdFxuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0pOTXlBeE1tZ3VNREVpSUM4K0NpQWdQSEJoZEdnZ1pEMGlUVE1nTVRob0xqQXhJaUF2UGdvZ0lEeHdZWFJvSUdROUlrMHpJRFpvTGpBeElpQXZQZ29nSUR4d1lYUm9JR1E5SWswNElERXlhREV6SWlBdlBnb2dJRHh3WVhSb0lHUTlJazA0SURFNGFERXpJaUF2UGdvZ0lEeHdZWFJvSUdROUlrMDRJRFpvTVRNaUlDOCtDand2YzNablBnbz0pIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL2xpc3RcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBMaXN0ID0gY3JlYXRlTHVjaWRlSWNvbignTGlzdCcsIFtcbiAgWydwYXRoJywgeyBkOiAnTTMgMTJoLjAxJywga2V5OiAnbmx6MjNrJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTMgMThoLjAxJywga2V5OiAnMXR0YTNqJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTMgNmguMDEnLCBrZXk6ICcxcnF0emEnIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNOCAxMmgxMycsIGtleTogJzF6YTd6YScgfV0sXG4gIFsncGF0aCcsIHsgZDogJ004IDE4aDEzJywga2V5OiAnMWx4Nm4zJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTggNmgxMycsIGtleTogJ2lrM3ZraicgfV0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgTGlzdDtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/list.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js": /*!*******************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/loader-circle.js ***! @@ -321,16 +161,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/lock.js": -/*!**********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/lock.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Lock)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Lock = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Lock\", [\n [\n \"rect\",\n {\n width: \"18\",\n height: \"11\",\n x: \"3\",\n y: \"11\",\n rx: \"2\",\n ry: \"2\",\n key: \"1w4ew1\"\n }\n ],\n [\n \"path\",\n {\n d: \"M7 11V7a5 5 0 0 1 10 0v4\",\n key: \"fwvmzm\"\n }\n ]\n]);\n //# sourceMappingURL=lock.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2xvY2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxhQUFPLGdFQUFnQixDQUFDLE1BQVE7SUFDcEM7UUFBQyxNQUFRO1FBQUE7WUFBRSxLQUFPLE9BQU07WUFBQSxPQUFRLEtBQU07WUFBQSxHQUFHLENBQUs7WUFBQSxHQUFHO1lBQU0sQ0FBSSxPQUFLO1lBQUEsR0FBSSxJQUFLO1lBQUEsSUFBSztRQUFBLENBQVU7S0FBQTtJQUN4RjtRQUFDLE1BQVE7UUFBQTtZQUFFLEdBQUcsQ0FBNEI7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0NBQzFEIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcbG9jay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIExvY2tcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNtVmpkQ0IzYVdSMGFEMGlNVGdpSUdobGFXZG9kRDBpTVRFaUlIZzlJak1pSUhrOUlqRXhJaUJ5ZUQwaU1pSWdjbms5SWpJaUlDOCtDaUFnUEhCaGRHZ2daRDBpVFRjZ01URldOMkUxSURVZ01DQXdJREVnTVRBZ01IWTBJaUF2UGdvOEwzTjJaejRLKSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy9sb2NrXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgTG9jayA9IGNyZWF0ZUx1Y2lkZUljb24oJ0xvY2snLCBbXG4gIFsncmVjdCcsIHsgd2lkdGg6ICcxOCcsIGhlaWdodDogJzExJywgeDogJzMnLCB5OiAnMTEnLCByeDogJzInLCByeTogJzInLCBrZXk6ICcxdzRldzEnIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQnLCBrZXk6ICdmd3Ztem0nIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IExvY2s7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/lock.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/log-out.js": /*!*************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/log-out.js ***! @@ -361,56 +191,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/pen.js": -/*!*********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/pen.js ***! - \*********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Pen)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Pen = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Pen\", [\n [\n \"path\",\n {\n d: \"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\",\n key: \"1a8usu\"\n }\n ]\n]);\n //# sourceMappingURL=pen.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3Blbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLFlBQU0sZ0VBQWdCLENBQUMsS0FBTztJQUNsQztRQUNFO1FBQ0E7WUFDRSxDQUFHO1lBQ0gsR0FBSztRQUNQO0tBQ0Y7Q0FDRCIsInNvdXJjZXMiOlsiRTpcXHNyY1xcaWNvbnNcXHBlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIFBlblxuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0pOTWpFdU1UYzBJRFl1T0RFeVlURWdNU0F3SURBZ01DMHpMams0TmkwekxqazROMHd6TGpnME1pQXhOaTR4TnpSaE1pQXlJREFnTUNBd0xTNDFMamd6YkMweExqTXlNU0EwTGpNMU1tRXVOUzQxSURBZ01DQXdJQzQyTWpNdU5qSXliRFF1TXpVekxURXVNekpoTWlBeUlEQWdNQ0F3SUM0NE15MHVORGszZWlJZ0x6NEtQQzl6ZG1jK0NnPT0pIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL3BlblxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IFBlbiA9IGNyZWF0ZUx1Y2lkZUljb24oJ1BlbicsIFtcbiAgW1xuICAgICdwYXRoJyxcbiAgICB7XG4gICAgICBkOiAnTTIxLjE3NCA2LjgxMmExIDEgMCAwIDAtMy45ODYtMy45ODdMMy44NDIgMTYuMTc0YTIgMiAwIDAgMC0uNS44M2wtMS4zMjEgNC4zNTJhLjUuNSAwIDAgMCAuNjIzLjYyMmw0LjM1My0xLjMyYTIgMiAwIDAgMCAuODMtLjQ5N3onLFxuICAgICAga2V5OiAnMWE4dXN1JyxcbiAgICB9LFxuICBdLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IFBlbjtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/pen.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/pencil.js": -/*!************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/pencil.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Pencil)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Pencil = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Pencil\", [\n [\n \"path\",\n {\n d: \"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\",\n key: \"1a8usu\"\n }\n ],\n [\n \"path\",\n {\n d: \"m15 5 4 4\",\n key: \"1mk7zo\"\n }\n ]\n]);\n //# sourceMappingURL=pencil.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3BlbmNpbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLGVBQVMsZ0VBQWdCLENBQUMsUUFBVTtJQUN4QztRQUNFO1FBQ0E7WUFDRSxDQUFHO1lBQ0gsR0FBSztRQUNQO0tBQ0Y7SUFDQTtRQUFDLE1BQVE7UUFBQTtZQUFFLEdBQUcsQ0FBYTtZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7Q0FDM0MiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXGljb25zXFxwZW5jaWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5cbi8qKlxuICogQGNvbXBvbmVudCBAbmFtZSBQZW5jaWxcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKTk1qRXVNVGMwSURZdU9ERXlZVEVnTVNBd0lEQWdNQzB6TGprNE5pMHpMams0TjB3ekxqZzBNaUF4Tmk0eE56UmhNaUF5SURBZ01DQXdMUzQxTGpnemJDMHhMak15TVNBMExqTTFNbUV1TlM0MUlEQWdNQ0F3SUM0Mk1qTXVOakl5YkRRdU16VXpMVEV1TXpKaE1pQXlJREFnTUNBd0lDNDRNeTB1TkRrM2VpSWdMejRLSUNBOGNHRjBhQ0JrUFNKdE1UVWdOU0EwSURRaUlDOCtDand2YzNablBnbz0pIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL3BlbmNpbFxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IFBlbmNpbCA9IGNyZWF0ZUx1Y2lkZUljb24oJ1BlbmNpbCcsIFtcbiAgW1xuICAgICdwYXRoJyxcbiAgICB7XG4gICAgICBkOiAnTTIxLjE3NCA2LjgxMmExIDEgMCAwIDAtMy45ODYtMy45ODdMMy44NDIgMTYuMTc0YTIgMiAwIDAgMC0uNS44M2wtMS4zMjEgNC4zNTJhLjUuNSAwIDAgMCAuNjIzLjYyMmw0LjM1My0xLjMyYTIgMiAwIDAgMCAuODMtLjQ5N3onLFxuICAgICAga2V5OiAnMWE4dXN1JyxcbiAgICB9LFxuICBdLFxuICBbJ3BhdGgnLCB7IGQ6ICdtMTUgNSA0IDQnLCBrZXk6ICcxbWs3em8nIH1dLFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IFBlbmNpbDtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/pencil.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/phone.js": -/*!***********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/phone.js ***! - \***********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Phone)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Phone = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Phone\", [\n [\n \"path\",\n {\n d: \"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\",\n key: \"foiqr5\"\n }\n ]\n]);\n //# sourceMappingURL=phone.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3Bob25lLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBYU0sY0FBUSxnRUFBZ0IsQ0FBQyxPQUFTO0lBQ3RDO1FBQ0U7UUFDQTtZQUNFLENBQUc7WUFDSCxHQUFLO1FBQ1A7S0FDRjtDQUNEIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xccGhvbmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5cbi8qKlxuICogQGNvbXBvbmVudCBAbmFtZSBQaG9uZVxuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0pOTWpJZ01UWXVPVEoyTTJFeUlESWdNQ0F3SURFdE1pNHhPQ0F5SURFNUxqYzVJREU1TGpjNUlEQWdNQ0F4TFRndU5qTXRNeTR3TnlBeE9TNDFJREU1TGpVZ01DQXdJREV0TmkwMklERTVMamM1SURFNUxqYzVJREFnTUNBeExUTXVNRGN0T0M0Mk4wRXlJRElnTUNBd0lERWdOQzR4TVNBeWFETmhNaUF5SURBZ01DQXhJRElnTVM0M01pQXhNaTQ0TkNBeE1pNDROQ0F3SURBZ01DQXVOeUF5TGpneElESWdNaUF3SURBZ01TMHVORFVnTWk0eE1VdzRMakE1SURrdU9URmhNVFlnTVRZZ01DQXdJREFnTmlBMmJERXVNamN0TVM0eU4yRXlJRElnTUNBd0lERWdNaTR4TVMwdU5EVWdNVEl1T0RRZ01USXVPRFFnTUNBd0lEQWdNaTQ0TVM0M1FUSWdNaUF3SURBZ01TQXlNaUF4Tmk0NU1ub2lJQzgrQ2p3dmMzWm5QZ289KSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy9waG9uZVxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IFBob25lID0gY3JlYXRlTHVjaWRlSWNvbignUGhvbmUnLCBbXG4gIFtcbiAgICAncGF0aCcsXG4gICAge1xuICAgICAgZDogJ00yMiAxNi45MnYzYTIgMiAwIDAgMS0yLjE4IDIgMTkuNzkgMTkuNzkgMCAwIDEtOC42My0zLjA3IDE5LjUgMTkuNSAwIDAgMS02LTYgMTkuNzkgMTkuNzkgMCAwIDEtMy4wNy04LjY3QTIgMiAwIDAgMSA0LjExIDJoM2EyIDIgMCAwIDEgMiAxLjcyIDEyLjg0IDEyLjg0IDAgMCAwIC43IDIuODEgMiAyIDAgMCAxLS40NSAyLjExTDguMDkgOS45MWExNiAxNiAwIDAgMCA2IDZsMS4yNy0xLjI3YTIgMiAwIDAgMSAyLjExLS40NSAxMi44NCAxMi44NCAwIDAgMCAyLjgxLjdBMiAyIDAgMCAxIDIyIDE2LjkyeicsXG4gICAgICBrZXk6ICdmb2lxcjUnLFxuICAgIH0sXG4gIF0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgUGhvbmU7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/phone.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/plus.js": -/*!**********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/plus.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Plus)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Plus = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Plus\", [\n [\n \"path\",\n {\n d: \"M5 12h14\",\n key: \"1ays0h\"\n }\n ],\n [\n \"path\",\n {\n d: \"M12 5v14\",\n key: \"s699le\"\n }\n ]\n]);\n //# sourceMappingURL=plus.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3BsdXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxhQUFPLGdFQUFnQixDQUFDLE1BQVE7SUFDcEM7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQVk7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQ3pDO1FBQUMsTUFBUTtRQUFBO1lBQUUsR0FBRyxDQUFZO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtDQUMxQyIsInNvdXJjZXMiOlsiRTpcXHNyY1xcaWNvbnNcXHBsdXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5cbi8qKlxuICogQGNvbXBvbmVudCBAbmFtZSBQbHVzXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjR0YwYUNCa1BTSk5OU0F4TW1neE5DSWdMejRLSUNBOGNHRjBhQ0JrUFNKTk1USWdOWFl4TkNJZ0x6NEtQQzl6ZG1jK0NnPT0pIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL3BsdXNcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBQbHVzID0gY3JlYXRlTHVjaWRlSWNvbignUGx1cycsIFtcbiAgWydwYXRoJywgeyBkOiAnTTUgMTJoMTQnLCBrZXk6ICcxYXlzMGgnIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNMTIgNXYxNCcsIGtleTogJ3M2OTlsZScgfV0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgUGx1cztcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/plus.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/redo.js": -/*!**********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/redo.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Redo)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Redo = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Redo\", [\n [\n \"path\",\n {\n d: \"M21 7v6h-6\",\n key: \"3ptur4\"\n }\n ],\n [\n \"path\",\n {\n d: \"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7\",\n key: \"1kgawr\"\n }\n ]\n]);\n //# sourceMappingURL=redo.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3JlZG8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxhQUFPLGdFQUFnQixDQUFDLE1BQVE7SUFDcEM7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQWM7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQzNDO1FBQUMsTUFBUTtRQUFBO1lBQUUsR0FBRyxDQUE2QztZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7Q0FDM0UiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXGljb25zXFxyZWRvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgUmVkb1xuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0pOTWpFZ04zWTJhQzAySWlBdlBnb2dJRHh3WVhSb0lHUTlJazB6SURFM1lUa2dPU0F3SURBZ01TQTVMVGtnT1NBNUlEQWdNQ0F4SURZZ01pNHpiRE1nTWk0M0lpQXZQZ284TDNOMlp6NEspIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL3JlZG9cbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBSZWRvID0gY3JlYXRlTHVjaWRlSWNvbignUmVkbycsIFtcbiAgWydwYXRoJywgeyBkOiAnTTIxIDd2NmgtNicsIGtleTogJzNwdHVyNCcgfV0sXG4gIFsncGF0aCcsIHsgZDogJ00zIDE3YTkgOSAwIDAgMSA5LTkgOSA5IDAgMCAxIDYgMi4zbDMgMi43Jywga2V5OiAnMWtnYXdyJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBSZWRvO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/redo.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/search.js": /*!************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/search.js ***! @@ -431,16 +211,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/square-pen.js": -/*!****************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/square-pen.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ SquarePen)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst SquarePen = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"SquarePen\", [\n [\n \"path\",\n {\n d: \"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\",\n key: \"1m0v6g\"\n }\n ],\n [\n \"path\",\n {\n d: \"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\",\n key: \"ohrbg2\"\n }\n ]\n]);\n //# sourceMappingURL=square-pen.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wZW4uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxrQkFBWSxnRUFBZ0IsQ0FBQyxXQUFhO0lBQzlDO1FBQUMsTUFBUTtRQUFBO1lBQUUsR0FBRyxDQUE4RDtZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7SUFDM0Y7UUFDRTtRQUNBO1lBQ0UsQ0FBRztZQUNILEdBQUs7UUFDUDtLQUNGO0NBQ0QiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXGljb25zXFxzcXVhcmUtcGVuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgU3F1YXJlUGVuXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjR0YwYUNCa1BTSk5NVElnTTBnMVlUSWdNaUF3SURBZ01DMHlJREoyTVRSaE1pQXlJREFnTUNBd0lESWdNbWd4TkdFeUlESWdNQ0F3SURBZ01pMHlkaTAzSWlBdlBnb2dJRHh3WVhSb0lHUTlJazB4T0M0ek56VWdNaTQyTWpWaE1TQXhJREFnTUNBeElETWdNMnd0T1M0d01UTWdPUzR3TVRSaE1pQXlJREFnTUNBeExTNDROVE11TlRBMWJDMHlMamczTXk0NE5HRXVOUzQxSURBZ01DQXhMUzQyTWkwdU5qSnNMamcwTFRJdU9EY3pZVElnTWlBd0lEQWdNU0F1TlRBMkxTNDROVEo2SWlBdlBnbzhMM04yWno0SykgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvc3F1YXJlLXBlblxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IFNxdWFyZVBlbiA9IGNyZWF0ZUx1Y2lkZUljb24oJ1NxdWFyZVBlbicsIFtcbiAgWydwYXRoJywgeyBkOiAnTTEyIDNINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMnYtNycsIGtleTogJzFtMHY2ZycgfV0sXG4gIFtcbiAgICAncGF0aCcsXG4gICAge1xuICAgICAgZDogJ00xOC4zNzUgMi42MjVhMSAxIDAgMCAxIDMgM2wtOS4wMTMgOS4wMTRhMiAyIDAgMCAxLS44NTMuNTA1bC0yLjg3My44NGEuNS41IDAgMCAxLS42Mi0uNjJsLjg0LTIuODczYTIgMiAwIDAgMSAuNTA2LS44NTJ6JyxcbiAgICAgIGtleTogJ29ocmJnMicsXG4gICAgfSxcbiAgXSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBTcXVhcmVQZW47XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/square-pen.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/star.js": /*!**********************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/star.js ***! @@ -461,36 +231,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/trash-2.js": -/*!*************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/trash-2.js ***! - \*************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Trash2)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Trash2 = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Trash2\", [\n [\n \"path\",\n {\n d: \"M3 6h18\",\n key: \"d0wm0j\"\n }\n ],\n [\n \"path\",\n {\n d: \"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\",\n key: \"4alrt4\"\n }\n ],\n [\n \"path\",\n {\n d: \"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\",\n key: \"v07s0e\"\n }\n ],\n [\n \"line\",\n {\n x1: \"10\",\n x2: \"10\",\n y1: \"11\",\n y2: \"17\",\n key: \"1uufr5\"\n }\n ],\n [\n \"line\",\n {\n x1: \"14\",\n x2: \"14\",\n y1: \"11\",\n y2: \"17\",\n key: \"xtxkd\"\n }\n ]\n]);\n //# sourceMappingURL=trash-2.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3RyYXNoLTIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxlQUFTLGdFQUFnQixDQUFDLFFBQVU7SUFDeEM7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQVc7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQ3hDO1FBQUMsTUFBUTtRQUFBO1lBQUUsR0FBRyxDQUF5QztZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7SUFDdEU7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQXNDO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtJQUNuRTtRQUFDO1FBQVEsQ0FBRTtZQUFBLElBQUksQ0FBTTtZQUFBLElBQUksQ0FBTTtZQUFBLEdBQUksS0FBTTtZQUFBLEdBQUksS0FBTTtZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7SUFDbEU7UUFBQztRQUFRLENBQUU7WUFBQSxJQUFJLENBQU07WUFBQSxJQUFJLENBQU07WUFBQSxHQUFJLEtBQU07WUFBQSxHQUFJLEtBQU07WUFBQSxLQUFLO1FBQUEsQ0FBUztLQUFBO0NBQ2xFIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcdHJhc2gtMi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIFRyYXNoMlxuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0pOTXlBMmFERTRJaUF2UGdvZ0lEeHdZWFJvSUdROUlrMHhPU0EyZGpFMFl6QWdNUzB4SURJdE1pQXlTRGRqTFRFZ01DMHlMVEV0TWkweVZqWWlJQzgrQ2lBZ1BIQmhkR2dnWkQwaVRUZ2dObFkwWXpBdE1TQXhMVElnTWkweWFEUmpNU0F3SURJZ01TQXlJREoyTWlJZ0x6NEtJQ0E4YkdsdVpTQjRNVDBpTVRBaUlIZ3lQU0l4TUNJZ2VURTlJakV4SWlCNU1qMGlNVGNpSUM4K0NpQWdQR3hwYm1VZ2VERTlJakUwSWlCNE1qMGlNVFFpSUhreFBTSXhNU0lnZVRJOUlqRTNJaUF2UGdvOEwzTjJaejRLKSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy90cmFzaC0yXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgVHJhc2gyID0gY3JlYXRlTHVjaWRlSWNvbignVHJhc2gyJywgW1xuICBbJ3BhdGgnLCB7IGQ6ICdNMyA2aDE4Jywga2V5OiAnZDB3bTBqJyB9XSxcbiAgWydwYXRoJywgeyBkOiAnTTE5IDZ2MTRjMCAxLTEgMi0yIDJIN2MtMSAwLTItMS0yLTJWNicsIGtleTogJzRhbHJ0NCcgfV0sXG4gIFsncGF0aCcsIHsgZDogJ004IDZWNGMwLTEgMS0yIDItMmg0YzEgMCAyIDEgMiAydjInLCBrZXk6ICd2MDdzMGUnIH1dLFxuICBbJ2xpbmUnLCB7IHgxOiAnMTAnLCB4MjogJzEwJywgeTE6ICcxMScsIHkyOiAnMTcnLCBrZXk6ICcxdXVmcjUnIH1dLFxuICBbJ2xpbmUnLCB7IHgxOiAnMTQnLCB4MjogJzE0JywgeTE6ICcxMScsIHkyOiAnMTcnLCBrZXk6ICd4dHhrZCcgfV0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgVHJhc2gyO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/undo.js": -/*!**********************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/undo.js ***! - \**********************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Undo)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Undo = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Undo\", [\n [\n \"path\",\n {\n d: \"M3 7v6h6\",\n key: \"1v2h90\"\n }\n ],\n [\n \"path\",\n {\n d: \"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13\",\n key: \"1r6uu6\"\n }\n ]\n]);\n //# sourceMappingURL=undo.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3VuZG8uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxhQUFPLGdFQUFnQixDQUFDLE1BQVE7SUFDcEM7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQVk7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQ3pDO1FBQUMsTUFBUTtRQUFBO1lBQUUsR0FBRyxDQUE2QztZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7Q0FDM0UiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXGljb25zXFx1bmRvLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgVW5kb1xuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0pOTXlBM2RqWm9OaUlnTHo0S0lDQThjR0YwYUNCa1BTSk5NakVnTVRkaE9TQTVJREFnTUNBd0xUa3RPU0E1SURrZ01DQXdJREF0TmlBeUxqTk1NeUF4TXlJZ0x6NEtQQzl6ZG1jK0NnPT0pIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL3VuZG9cbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBVbmRvID0gY3JlYXRlTHVjaWRlSWNvbignVW5kbycsIFtcbiAgWydwYXRoJywgeyBkOiAnTTMgN3Y2aDYnLCBrZXk6ICcxdjJoOTAnIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdNMjEgMTdhOSA5IDAgMCAwLTktOSA5IDkgMCAwIDAtNiAyLjNMMyAxMycsIGtleTogJzFyNnV1NicgfV0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgVW5kbztcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/undo.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/unlink.js": -/*!************************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/unlink.js ***! - \************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Unlink)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Unlink = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Unlink\", [\n [\n \"path\",\n {\n d: \"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71\",\n key: \"yqzxt4\"\n }\n ],\n [\n \"path\",\n {\n d: \"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71\",\n key: \"4qinb0\"\n }\n ],\n [\n \"line\",\n {\n x1: \"8\",\n x2: \"8\",\n y1: \"2\",\n y2: \"5\",\n key: \"1041cp\"\n }\n ],\n [\n \"line\",\n {\n x1: \"2\",\n x2: \"5\",\n y1: \"8\",\n y2: \"8\",\n key: \"14m1p5\"\n }\n ],\n [\n \"line\",\n {\n x1: \"16\",\n x2: \"16\",\n y1: \"19\",\n y2: \"22\",\n key: \"rzdirn\"\n }\n ],\n [\n \"line\",\n {\n x1: \"19\",\n x2: \"22\",\n y1: \"16\",\n y2: \"16\",\n key: \"ox905f\"\n }\n ]\n]);\n //# sourceMappingURL=unlink.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3VubGluay5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLGVBQVMsZ0VBQWdCLENBQUMsUUFBVTtJQUN4QztRQUNFO1FBQ0E7WUFDRSxDQUFHO1lBQ0gsR0FBSztRQUNQO0tBQ0Y7SUFDQTtRQUNFO1FBQ0E7WUFDRSxDQUFHO1lBQ0gsR0FBSztRQUNQO0tBQ0Y7SUFDQTtRQUFDO1FBQVEsQ0FBRTtZQUFBLElBQUksQ0FBSztZQUFBLElBQUksQ0FBSztZQUFBLEdBQUksSUFBSztZQUFBLEdBQUksSUFBSztZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7SUFDOUQ7UUFBQztRQUFRLENBQUU7WUFBQSxJQUFJLENBQUs7WUFBQSxJQUFJLENBQUs7WUFBQSxHQUFJLElBQUs7WUFBQSxHQUFJLElBQUs7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQzlEO1FBQUM7UUFBUSxDQUFFO1lBQUEsSUFBSSxDQUFNO1lBQUEsSUFBSSxDQUFNO1lBQUEsR0FBSSxLQUFNO1lBQUEsR0FBSSxLQUFNO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtJQUNsRTtRQUFDO1FBQVEsQ0FBRTtZQUFBLElBQUksQ0FBTTtZQUFBLElBQUksQ0FBTTtZQUFBLEdBQUksS0FBTTtZQUFBLEdBQUksS0FBTTtZQUFBLEtBQUs7UUFBQSxDQUFVO0tBQUE7Q0FDbkUiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXGljb25zXFx1bmxpbmsudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5cbi8qKlxuICogQGNvbXBvbmVudCBAbmFtZSBVbmxpbmtcbiAqIEBkZXNjcmlwdGlvbiBMdWNpZGUgU1ZHIGljb24gY29tcG9uZW50LCByZW5kZXJzIFNWRyBFbGVtZW50IHdpdGggY2hpbGRyZW4uXG4gKlxuICogQHByZXZpZXcgIVtpbWddKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklnb2dJSGRwWkhSb1BTSXlOQ0lLSUNCb1pXbG5hSFE5SWpJMElnb2dJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lLSUNCbWFXeHNQU0p1YjI1bElnb2dJSE4wY205clpUMGlJekF3TUNJZ2MzUjViR1U5SW1KaFkydG5jbTkxYm1RdFkyOXNiM0k2SUNObVptWTdJR0p2Y21SbGNpMXlZV1JwZFhNNklESndlQ0lLSUNCemRISnZhMlV0ZDJsa2RHZzlJaklpQ2lBZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJZ29nSUhOMGNtOXJaUzFzYVc1bGFtOXBiajBpY205MWJtUWlDajRLSUNBOGNHRjBhQ0JrUFNKdE1UZ3VPRFFnTVRJdU1qVWdNUzQzTWkweExqY3hhQzB1TURKaE5TNHdNRFFnTlM0d01EUWdNQ0F3SURBdExqRXlMVGN1TURjZ05TNHdNRFlnTlM0d01EWWdNQ0F3SURBdE5pNDVOU0F3YkMweExqY3lJREV1TnpFaUlDOCtDaUFnUEhCaGRHZ2daRDBpYlRVdU1UY2dNVEV1TnpVdE1TNDNNU0F4TGpjeFlUVXVNREEwSURVdU1EQTBJREFnTUNBd0lDNHhNaUEzTGpBM0lEVXVNREEySURVdU1EQTJJREFnTUNBd0lEWXVPVFVnTUd3eExqY3hMVEV1TnpFaUlDOCtDaUFnUEd4cGJtVWdlREU5SWpnaUlIZ3lQU0k0SWlCNU1UMGlNaUlnZVRJOUlqVWlJQzgrQ2lBZ1BHeHBibVVnZURFOUlqSWlJSGd5UFNJMUlpQjVNVDBpT0NJZ2VUSTlJamdpSUM4K0NpQWdQR3hwYm1VZ2VERTlJakUySWlCNE1qMGlNVFlpSUhreFBTSXhPU0lnZVRJOUlqSXlJaUF2UGdvZ0lEeHNhVzVsSUhneFBTSXhPU0lnZURJOUlqSXlJaUI1TVQwaU1UWWlJSGt5UFNJeE5pSWdMejRLUEM5emRtYytDZz09KSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy91bmxpbmtcbiAqIEBzZWUgaHR0cHM6Ly9sdWNpZGUuZGV2L2d1aWRlL3BhY2thZ2VzL2x1Y2lkZS1yZWFjdCAtIERvY3VtZW50YXRpb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBMdWNpZGUgaWNvbnMgcHJvcHMgYW5kIGFueSB2YWxpZCBTVkcgYXR0cmlidXRlXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IEpTWCBFbGVtZW50XG4gKlxuICovXG5jb25zdCBVbmxpbmsgPSBjcmVhdGVMdWNpZGVJY29uKCdVbmxpbmsnLCBbXG4gIFtcbiAgICAncGF0aCcsXG4gICAge1xuICAgICAgZDogJ20xOC44NCAxMi4yNSAxLjcyLTEuNzFoLS4wMmE1LjAwNCA1LjAwNCAwIDAgMC0uMTItNy4wNyA1LjAwNiA1LjAwNiAwIDAgMC02Ljk1IDBsLTEuNzIgMS43MScsXG4gICAgICBrZXk6ICd5cXp4dDQnLFxuICAgIH0sXG4gIF0sXG4gIFtcbiAgICAncGF0aCcsXG4gICAge1xuICAgICAgZDogJ201LjE3IDExLjc1LTEuNzEgMS43MWE1LjAwNCA1LjAwNCAwIDAgMCAuMTIgNy4wNyA1LjAwNiA1LjAwNiAwIDAgMCA2Ljk1IDBsMS43MS0xLjcxJyxcbiAgICAgIGtleTogJzRxaW5iMCcsXG4gICAgfSxcbiAgXSxcbiAgWydsaW5lJywgeyB4MTogJzgnLCB4MjogJzgnLCB5MTogJzInLCB5MjogJzUnLCBrZXk6ICcxMDQxY3AnIH1dLFxuICBbJ2xpbmUnLCB7IHgxOiAnMicsIHgyOiAnNScsIHkxOiAnOCcsIHkyOiAnOCcsIGtleTogJzE0bTFwNScgfV0sXG4gIFsnbGluZScsIHsgeDE6ICcxNicsIHgyOiAnMTYnLCB5MTogJzE5JywgeTI6ICcyMicsIGtleTogJ3J6ZGlybicgfV0sXG4gIFsnbGluZScsIHsgeDE6ICcxOScsIHgyOiAnMjInLCB5MTogJzE2JywgeTI6ICcxNicsIGtleTogJ294OTA1ZicgfV0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgVW5saW5rO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/unlink.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/user.js": /*!**********************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/user.js ***! @@ -501,16 +241,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), -/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/x.js": -/*!*******************************************************!*\ - !*** ./node_modules/lucide-react/dist/esm/icons/x.js ***! - \*******************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ X)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst X = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"X\", [\n [\n \"path\",\n {\n d: \"M18 6 6 18\",\n key: \"1bl5f8\"\n }\n ],\n [\n \"path\",\n {\n d: \"m6 6 12 12\",\n key: \"d8bk6v\"\n }\n ]\n]);\n //# sourceMappingURL=x.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL3guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhTSxVQUFJLGdFQUFnQixDQUFDLEdBQUs7SUFDOUI7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQWM7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0lBQzNDO1FBQUMsTUFBUTtRQUFBO1lBQUUsR0FBRyxDQUFjO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtDQUM1QyIsInNvdXJjZXMiOlsiRTpcXHNyY1xcaWNvbnNcXHgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUx1Y2lkZUljb24gZnJvbSAnLi4vY3JlYXRlTHVjaWRlSWNvbic7XG5cbi8qKlxuICogQGNvbXBvbmVudCBAbmFtZSBYXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjR0YwYUNCa1BTSk5NVGdnTmlBMklERTRJaUF2UGdvZ0lEeHdZWFJvSUdROUltMDJJRFlnTVRJZ01USWlJQzgrQ2p3dmMzWm5QZ289KSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy94XG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgWCA9IGNyZWF0ZUx1Y2lkZUljb24oJ1gnLCBbXG4gIFsncGF0aCcsIHsgZDogJ00xOCA2IDYgMTgnLCBrZXk6ICcxYmw1ZjgnIH1dLFxuICBbJ3BhdGgnLCB7IGQ6ICdtNiA2IDEyIDEyJywga2V5OiAnZDhiazZ2JyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBYO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/x.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/lucide-react/dist/esm/shared/src/utils.js": /*!****************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/shared/src/utils.js ***! diff --git a/.next/server/vendor-chunks/next.js b/.next/server/vendor-chunks/next.js index e3889c9..6251b7d 100644 --- a/.next/server/vendor-chunks/next.js +++ b/.next/server/vendor-chunks/next.js @@ -20,17 +20,6 @@ eval("// Exports\nmodule.exports = {\n\t\"style\": {\"fontFamily\":\"'Inter', 'I /***/ }), -/***/ "(ssr)/./node_modules/next/dist/api/app-dynamic.js": -/*!***************************************************!*\ - !*** ./node_modules/next/dist/api/app-dynamic.js ***! - \***************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/lib/app-dynamic */ \"(ssr)/./node_modules/next/dist/shared/lib/app-dynamic.js\");\n/* harmony import */ var _shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=app-dynamic.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9hcHAtZHluYW1pYy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBMEM7QUFDVTs7QUFFcEQiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXG5leHRcXGRpc3RcXGFwaVxcYXBwLWR5bmFtaWMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi4vc2hhcmVkL2xpYi9hcHAtZHluYW1pYyc7XG5leHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAnLi4vc2hhcmVkL2xpYi9hcHAtZHluYW1pYyc7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1keW5hbWljLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/app-dynamic.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/next/dist/api/navigation.js": /*!**************************************************!*\ !*** ./node_modules/next/dist/api/navigation.js ***! @@ -82,7 +71,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n})); /***/ ((module, exports, __webpack_require__) => { "use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\"));\nconst _formaturl = __webpack_require__(/*! ../../shared/lib/router/utils/format-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _useintersection = __webpack_require__(/*! ../use-intersection */ \"(ssr)/./node_modules/next/dist/client/use-intersection.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../components/router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _usemergedref = __webpack_require__(/*! ../use-merged-ref */ \"(ssr)/./node_modules/next/dist/client/use-merged-ref.js\");\nconst _utils = __webpack_require__(/*! ../../shared/lib/utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _warnonce = __webpack_require__(/*! ../../shared/lib/utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction prefetch(router, href, options) {\n if (true) {\n return;\n }\n const doPrefetch = async ()=>{\n // note that `appRouter.prefetch()` is currently sync,\n // so we have to wrap this call in an async function to be able to catch() errors below.\n return router.prefetch(href, options);\n };\n // Prefetch the page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n doPrefetch().catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute('target');\n return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === 'A';\n if (isAnchorNodeName && isModifiedEvent(e)) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll != null ? scroll : true;\n if ('beforePopState' in router) {\n router[replace ? 'replace' : 'push'](href, as, {\n shallow,\n scroll: routerScroll\n });\n } else {\n router[replace ? 'replace' : 'push'](as || href, {\n scroll: routerScroll\n });\n }\n };\n _react.default.startTransition(navigate);\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === 'string') {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * A React component that extends the HTML `` element to provide [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation between routes.\n *\n * It is the primary way to navigate between routes in Next.js.\n *\n * Read more: [Next.js docs: ``](https://nextjs.org/docs/app/api-reference/components/link)\n */ const Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(props, forwardedRef) {\n let children;\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === 'string' || typeof children === 'number')) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const router = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const prefetchEnabled = prefetchProp !== false;\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in ``, but got `\" + args.actual + \"` instead.\" + ( false ? 0 : ''));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === 'href') {\n if (props[key] == null || typeof props[key] !== 'string' && typeof props[key] !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType\n });\n }\n } else if (key === 'onClick' || key === 'onMouseEnter' || key === 'onTouchStart') {\n if (props[key] && valType !== 'function') {\n throw createPropError({\n key,\n expected: '`function`',\n actual: valType\n });\n }\n } else if (key === 'replace' || key === 'scroll' || key === 'shallow' || key === 'passHref' || key === 'prefetch' || key === 'legacyBehavior') {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n }\n if (true) {\n if (props.locale) {\n (0, _warnonce.warnOnce)('The `locale` prop is not supported in `next/link` while using the `app` router. Read more about app router internalization: https://nextjs.org/docs/app/building-your-application/routing/internationalization');\n }\n if (!asProp) {\n let href;\n if (typeof hrefProp === 'string') {\n href = hrefProp;\n } else if (typeof hrefProp === 'object' && typeof hrefProp.pathname === 'string') {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split('/').some((segment)=>segment.startsWith('[') && segment.endsWith(']'));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\" + href + \"` found in while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo({\n \"Link.LinkComponent.useMemo\": ()=>{\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n }[\"Link.LinkComponent.useMemo\"], [\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n }\n throw new Error(\"Multiple children were passed to with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + ( false ? 0 : ''));\n }\n } else {}\n } else {\n if (true) {\n if ((children == null ? void 0 : children.type) === 'a') {\n throw new Error('Invalid with child. Please remove or use .\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor');\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === 'object' && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n rootMargin: '200px'\n });\n const setIntersectionWithResetRef = _react.default.useCallback({\n \"Link.LinkComponent.useCallback[setIntersectionWithResetRef]\": (el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n }\n }[\"Link.LinkComponent.useCallback[setIntersectionWithResetRef]\"], [\n as,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n const setRef = (0, _usemergedref.useMergedRef)(setIntersectionWithResetRef, childRef);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect({\n \"Link.LinkComponent.useEffect\": ()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, {\n kind: appPrefetchKind\n });\n }\n }[\"Link.LinkComponent.useEffect\"], [\n as,\n href,\n isVisible,\n prefetchEnabled,\n router,\n appPrefetchKind\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === 'function') {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === 'function') {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled || \"development\" === 'development') {\n return;\n }\n prefetch(router, href, {\n kind: appPrefetchKind\n });\n },\n onTouchStart: false ? 0 : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === 'function') {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === 'function') {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled) {\n return;\n }\n prefetch(router, href, {\n kind: appPrefetchKind\n });\n }\n };\n // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the basePath.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === 'a' && !('href' in child.props)) {\n childProps.href = (0, _addbasepath.addBasePath)(as);\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n});\nconst _default = Link;\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hcHAtZGlyL2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0EybEJBOzs7ZUFBQTs7Ozs7NEVBdmxCa0I7dUNBRVE7MkRBQ087NkNBR0Q7Z0RBQ0g7MENBQ0E7bUNBQ0M7eUNBQ0Y7c0NBQ0g7QUFtR3pCLFNBQVNBLFNBQ1BDLE1BQXlCLEVBQ3pCQyxJQUFZLEVBQ1pDLE9BQXdCO0lBRXhCLElBQUksSUFBNkIsRUFBRTtRQUNqQztJQUNGO0lBRUEsTUFBTUUsYUFBYTtRQUNqQixzREFBc0Q7UUFDdEQsd0ZBQXdGO1FBQ3hGLE9BQU9KLE9BQU9ELFFBQVEsQ0FBQ0UsTUFBTUM7SUFDL0I7SUFFQSxrREFBa0Q7SUFDbEQsMERBQTBEO0lBQzFELHNEQUFzRDtJQUN0RCx5REFBeUQ7SUFDekRFLGFBQWFDLEtBQUssQ0FBQyxDQUFDQztRQUNsQixJQUFJQyxJQUFvQixFQUFtQjtZQUN6QyxxQ0FBcUM7WUFDckMsTUFBTUQ7UUFDUjtJQUNGO0FBQ0Y7QUFFQSxTQUFTSSxnQkFBZ0JDLEtBQXVCO0lBQzlDLE1BQU1DLGNBQWNELE1BQU1FLGFBQWE7SUFDdkMsTUFBTUMsU0FBU0YsWUFBWUcsWUFBWSxDQUFDO0lBQ3hDLE9BQ0dELFVBQVVBLFdBQVcsV0FDdEJILE1BQU1LLE9BQU8sSUFDYkwsTUFBTU0sT0FBTyxJQUNiTixNQUFNTyxRQUFRLElBQ2RQLE1BQU1RLE1BQU0sSUFBSSw2QkFBNkI7SUFDNUNSLE1BQU1TLFdBQVcsSUFBSVQsTUFBTVMsV0FBVyxDQUFDQyxLQUFLLEtBQUs7QUFFdEQ7QUFFQSxTQUFTQyxZQUNQQyxDQUFtQixFQUNuQnZCLE1BQXNDLEVBQ3RDQyxJQUFZLEVBQ1p1QixFQUFVLEVBQ1ZDLE9BQWlCLEVBQ2pCQyxPQUFpQixFQUNqQkMsTUFBZ0I7SUFFaEIsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR0wsRUFBRVYsYUFBYTtJQUVwQyxrREFBa0Q7SUFDbEQsTUFBTWdCLG1CQUFt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QUFTO1FBQUcsR0FBRzJELFVBQVU7a0JBQzdCdkU7O0FBR1A7TUFHRixXQUFlTCIsInNvdXJjZXMiOlsiRTpcXHNyY1xcY2xpZW50XFxhcHAtZGlyXFxsaW5rLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgeyBOZXh0Um91dGVyIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvcm91dGVyJ1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IFVybE9iamVjdCB9IGZyb20gJ3VybCdcbmltcG9ydCB7IGZvcm1hdFVybCB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwnXG5pbXBvcnQgeyBBcHBSb3V0ZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgdHlwZSB7IEFwcFJvdXRlckluc3RhbmNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgdHlwZSB7IFByZWZldGNoT3B0aW9ucyB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHsgdXNlSW50ZXJzZWN0aW9uIH0gZnJvbSAnLi4vdXNlLWludGVyc2VjdGlvbidcbmltcG9ydCB7IFByZWZldGNoS2luZCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgeyB1c2VNZXJnZWRSZWYgfSBmcm9tICcuLi91c2UtbWVyZ2VkLXJlZidcbmltcG9ydCB7IGlzQWJzb2x1dGVVcmwgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL3V0aWxzJ1xuaW1wb3J0IHsgYWRkQmFzZVBhdGggfSBmcm9tICcuLi9hZGQtYmFzZS1wYXRoJ1xuaW1wb3J0IHsgd2Fybk9uY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL3V0aWxzL3dhcm4tb25jZSdcblxudHlwZSBVcmwgPSBzdHJpbmcgfCBVcmxPYmplY3RcbnR5cGUgUmVxdWlyZWRLZXlzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXS0/OiB7fSBleHRlbmRzIFBpY2s8VCwgSz4gPyBuZXZlciA6IEtcbn1ba2V5b2YgVF1cbnR5cGUgT3B0aW9uYWxLZXlzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXS0/OiB7fSBleHRlbmRzIFBpY2s8VCwgSz4gPyBLIDogbmV2ZXJcbn1ba2V5b2YgVF1cblxudHlwZSBJbnRlcm5hbExpbmtQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFRoZSBwYXRoIG9yIFVSTCB0byBuYXZpZ2F0ZSB0by4gSXQgY2FuIGFsc28gYmUgYW4gb2JqZWN0LlxuICAgKlxuICAgKiBAZXhhbXBsZSBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvbGluayN3aXRoLXVybC1vYmplY3RcbiAgICovXG4gIGhyZWY6IFVybFxuICAvKipcbiAgICogT3B0aW9uYWwgZGVjb3JhdG9yIGZvciB0aGUgcGF0aCB0aGF0IHdpbGwgYmUgc2hvd24gaW4gdGhlIGJyb3dzZXIgVVJMIGJhci4gQmVmb3JlIE5leHQuanMgOS41LjMgdGhpcyB3YXMgdXNlZCBmb3IgZHluYW1pYyByb3V0ZXMsIGNoZWNrIG91ciBbcHJldmlvdXMgZG9jc10oaHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzL2Jsb2IvdjkuNS4yL2RvY3MvYXBpLXJlZmVyZW5jZS9uZXh0L2xpbmsubWQjZHluYW1pYy1yb3V0ZXMpIHRvIHNlZSBob3cgaXQgd29ya2VkLiBOb3RlOiB3aGVuIHRoaXMgcGF0aCBkaWZmZXJzIGZyb20gdGhlIG9uZSBwcm92aWRlZCBpbiBgaHJlZmAgdGhlIHByZXZpb3VzIGBocmVmYC9gYXNgIGJlaGF2aW9yIGlzIHVzZWQgYXMgc2hvd24gaW4gdGhlIFtwcmV2aW91cyBkb2NzXShodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvYmxvYi92OS41LjIvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvbGluay5tZCNkeW5hbWljLXJvdXRlcykuXG4gICAqL1xuICBhcz86IFVybFxuICAvKipcbiAgICogUmVwbGFjZSB0aGUgY3VycmVudCBgaGlzdG9yeWAgc3RhdGUgaW5zdGVhZCBvZiBhZGRpbmcgYSBuZXcgdXJsIGludG8gdGhlIHN0YWNrLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIGBmYWxzZWBcbiAgICovXG4gIHJlcGxhY2U/OiBib29sZWFuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHNjcm9sbCBiZWhhdmlvclxuICAgKlxuICAgKiBAZXhhbXBsZSBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvbGluayNkaXNhYmxlLXNjcm9sbGluZy10by10aGUtdG9wLW9mLXRoZS1wYWdlXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgYHRydWVgXG4gICAqL1xuICBzY3JvbGw/OiBib29sZWFuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIHBhdGggb2YgdGhlIGN1cnJlbnQgcGFnZSB3aXRob3V0IHJlcnVubmluZyBbYGdldFN0YXRpY1Byb3BzYF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvcGFnZXMvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9kYXRhLWZldGNoaW5nL2dldC1zdGF0aWMtcHJvcHMpLCBbYGdldFNlcnZlclNpZGVQcm9wc2BdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL3BhZ2VzL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vZGF0YS1mZXRjaGluZy9nZXQtc2VydmVyLXNpZGUtcHJvcHMpIG9yIFtgZ2V0SW5pdGlhbFByb3BzYF0oL2RvY3MvcGFnZXMvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvZ2V0LWluaXRpYWwtcHJvcHMpLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIGBmYWxzZWBcbiAgICovXG4gIHNoYWxsb3c/OiBib29sZWFuXG4gIC8qKlxuICAgKiBGb3JjZXMgYExpbmtgIHRvIHNlbmQgdGhlIGBocmVmYCBwcm9wZXJ0eSB0byBpdHMgY2hpbGQuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgYGZhbHNlYFxuICAgKi9cbiAgcGFzc0hyZWY/OiBib29sZWFuXG4gIC8qKlxuICAgKiBQcmVmZXRjaCB0aGUgcGFnZSBpbiB0aGUgYmFja2dyb3VuZC5cbiAgICogQW55IGA8TGluayAvPmAgdGhhdCBpcyBpbiB0aGUgdmlld3BvcnQgKGluaXRpYWxseSBvciB0aHJvdWdoIHNjcm9sbCkgd2lsbCBiZSBwcmVmZXRjaGVkLlxuICAgKiBQcmVmZXRjaCBjYW4gYmUgZGlzYWJsZWQgYnkgcGFzc2luZyBgcHJlZmV0Y2g9e2ZhbHNlfWAuIFByZWZldGNoaW5nIGlzIG9ubHkgZW5hYmxlZCBpbiBwcm9kdWN0aW9uLlxuICAgKlxuICAgKiBJbiBBcHAgUm91dGVyOlxuICAgKiAtIGBudWxsYCAoZGVmYXVsdCk6IEZvciBzdGF0aWNhbGx5IGdlbmVyYXRlZCBwYWdlcywgdGhpcyB3aWxsIHByZWZldGNoIHRoZSBmdWxsIFJlYWN0IFNlcnZlciBDb21wb25lbnQgZGF0YS4gRm9yIGR5bmFtaWMgcGFnZXMsIHRoaXMgd2lsbCBwcmVmZXRjaCB1cCB0byB0aGUgbmVhcmVzdCByb3V0ZSBzZWdtZW50IHdpdGggYSBbYGxvYWRpbmcuanNgXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9maWxlLWNvbnZlbnRpb25zL2xvYWRpbmcpIGZpbGUuIElmIHRoZXJlIGlzIG5vIGxvYWRpbmcgZmlsZSwgaXQgd2lsbCBub3QgZmV0Y2ggdGhlIGZ1bGwgdHJlZSB0byBhdm9pZCBmZXRjaGluZyB0b28gbXVjaCBkYXRhLlxuICAgKiAtIGB0cnVlYDogVGhpcyB3aWxsIHByZWZldGNoIHRoZSBmdWxsIFJlYWN0IFNlcnZlciBDb21wb25lbnQgZGF0YSBmb3IgYWxsIHJvdXRlIHNlZ21lbnRzLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhleSBjb250YWluIGEgc2VnbWVudCB3aXRoIGBsb2FkaW5nLmpzYC5cbiAgICogLSBgZmFsc2VgOiBUaGlzIHdpbGwgbm90IHByZWZldGNoIGFueSBkYXRhLCBldmVuIG9uIGhvdmVyLlxuICAgKlxuICAgKiBJbiBQYWdlcyBSb3V0ZXI6XG4gICAqIC0gYHRydWVgIChkZWZhdWx0KTogVGhlIGZ1bGwgcm91dGUgJiBpdHMgZGF0YSB3aWxsIGJlIHByZWZldGNoZWQuXG4gICAqIC0gYGZhbHNlYDogUHJlZmV0Y2hpbmcgd2lsbCBub3QgaGFwcGVuIHdoZW4gZW50ZXJpbmcgdGhlIHZpZXdwb3J0LCBidXQgd2lsbCBzdGlsbCBoYXBwZW4gb24gaG92ZXIuXG4gICAqIEBkZWZhdWx0VmFsdWUgYHRydWVgIChwYWdlcyByb3V0ZXIpIG9yIGBudWxsYCAoYXBwIHJvdXRlcilcbiAgICovXG4gIHByZWZldGNoPzogYm9vbGVhbiB8IG51bGxcbiAgLyoqXG4gICAqIFRoZSBhY3RpdmUgbG9jYWxlIGlzIGF1dG9tYXRpY2FsbHkgcHJlcGVuZGVkLiBgbG9jYWxlYCBhbGxvd3MgZm9yIHByb3ZpZGluZyBhIGRpZmZlcmVudCBsb2NhbGUuXG4gICAqIFdoZW4gYGZhbHNlYCBgaHJlZmAgaGFzIHRvIGluY2x1ZGUgdGhlIGxvY2FsZSBhcyB0aGUgZGVmYXVsdCBiZWhhdmlvciBpcyBkaXNhYmxlZC5cbiAgICogTm90ZTogVGhpcyBpcyBvbmx5IGF2YWlsYWJsZSBpbiB0aGUgUGFnZXMgUm91dGVyLlxuICAgKi9cbiAgbG9jYWxlPzogc3RyaW5nIHwgZmFsc2VcbiAgLyoqXG4gICAqIEVuYWJsZSBsZWdhY3kgbGluayBiZWhhdmlvci5cbiAgICogQGRlZmF1bHRWYWx1ZSBgZmFsc2VgXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzL2NvbW1pdC80ODllNjVlZDk4NTQ0ZTY5YjBhZmQ3ZTBjZmMzZjlmNmMyYjgwM2I3XG4gICAqL1xuICBsZWdhY3lCZWhhdmlvcj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGV2ZW50IGhhbmRsZXIgZm9yIHdoZW4gdGhlIG1vdXNlIHBvaW50ZXIgaXMgbW92ZWQgb250byBMaW5rXG4gICAqL1xuICBvbk1vdXNlRW50ZXI/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGV2ZW50IGhhbmRsZXIgZm9yIHdoZW4gTGluayBpcyB0b3VjaGVkLlxuICAgKi9cbiAgb25Ub3VjaFN0YXJ0PzogUmVhY3QuVG91Y2hFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+XG4gIC8qKlxuICAgKiBPcHRpb25hbCBldmVudCBoYW5kbGVyIGZvciB3aGVuIExpbmsgaXMgY2xpY2tlZC5cbiAgICovXG4gIG9uQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD5cbn1cblxuLy8gVE9ETy1BUFA6IEluY2x1ZGUgdGhlIGZ1bGwgc2V0IG9mIEFuY2hvciBwcm9wc1xuLy8gYWRkaW5nIHRoaXMgdG8gdGhlIHB1YmxpY2x5IGV4cG9ydGVkIHR5cGUgY3VycmVudGx5IGJyZWFrcyBleGlzdGluZyBhcHBzXG5cbi8vIGBSb3V0ZUluZmVyVHlwZWAgaXMgYSBzdHViIGhlcmUgdG8gYXZvaWQgYnJlYWtpbmcgYHR5cGVkUm91dGVzYCB3aGVuIHRoZSB0eXBlXG4vLyBpc24ndCBnZW5lcmF0ZWQgeWV0LiBJdCB3aWxsIGJlIHJlcGxhY2VkIHdoZW4gdGhlIHdlYnBhY2sgcGx1Z2luIHJ1bnMuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5leHBvcnQgdHlwZSBMaW5rUHJvcHM8Um91dGVJbmZlclR5cGUgPSBhbnk+ID0gSW50ZXJuYWxMaW5rUHJvcHNcbnR5cGUgTGlua1Byb3BzUmVxdWlyZWQgPSBSZXF1aXJlZEtleXM8TGlua1Byb3BzPlxudHlwZSBMaW5rUHJvcHNPcHRpb25hbCA9IE9wdGlvbmFsS2V5czxPbWl0PEludGVybmFsTGlua1Byb3BzLCAnbG9jYWxlJz4+XG5cbmZ1bmN0aW9uIHByZWZldGNoKFxuICByb3V0ZXI6IEFwcFJvdXRlckluc3RhbmNlLFxuICBocmVmOiBzdHJpbmcsXG4gIG9wdGlvbnM6IFByZWZldGNoT3B0aW9uc1xuKTogdm9pZCB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgZG9QcmVmZXRjaCA9IGFzeW5jICgpID0+IHtcbiAgICAvLyBub3RlIHRoYXQgYGFwcFJvdXRlci5wcmVmZXRjaCgpYCBpcyBjdXJyZW50bHkgc3luYyxcbiAgICAvLyBzbyB3ZSBoYXZlIHRvIHdyYXAgdGhpcyBjYWxsIGluIGFuIGFzeW5jIGZ1bmN0aW9uIHRvIGJlIGFibGUgdG8gY2F0Y2goKSBlcnJvcnMgYmVsb3cuXG4gICAgcmV0dXJuIHJvdXRlci5wcmVmZXRjaChocmVmLCBvcHRpb25zKVxuICB9XG5cbiAgLy8gUHJlZmV0Y2ggdGhlIHBhZ2UgaWYgYXNrZWQgKG9ubHkgaW4gdGhlIGNsaWVudClcbiAgLy8gV2UgbmVlZCB0byBoYW5kbGUgYSBwcmVmZXRjaCBlcnJvciBoZXJlIHNpbmNlIHdlIG1heSBiZVxuICAvLyBsb2FkaW5nIHdpdGggcHJpb3JpdHkgd2hpY2ggY2FuIHJlamVjdCBidXQgd2UgZG9uJ3RcbiAgLy8gd2FudCB0byBmb3JjZSBuYXZpZ2F0aW9uIHNpbmNlIHRoaXMgaXMgb25seSBhIHByZWZldGNoXG4gIGRvUHJlZmV0Y2goKS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIC8vIHJldGhyb3cgdG8gc2hvdyBpbnZhbGlkIFVSTCBlcnJvcnNcbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfSlcbn1cblxuZnVuY3Rpb24gaXNNb2RpZmllZEV2ZW50KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gIGNvbnN0IGV2ZW50VGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MQW5jaG9yRWxlbWVudCB8IFNWR0FFbGVtZW50XG4gIGNvbnN0IHRhcmdldCA9IGV2ZW50VGFyZ2V0LmdldEF0dHJpYnV0ZSgndGFyZ2V0JylcbiAgcmV0dXJuIChcbiAgICAodGFyZ2V0ICYmIHRhcmdldCAhPT0gJ19zZWxmJykgfHxcbiAgICBldmVudC5tZXRhS2V5IHx8XG4gICAgZXZlbnQuY3RybEtleSB8fFxuICAgIGV2ZW50LnNoaWZ0S2V5IHx8XG4gICAgZXZlbnQuYWx0S2V5IHx8IC8vIHRyaWdnZXJzIHJlc291cmNlIGRvd25sb2FkXG4gICAgKGV2ZW50Lm5hdGl2ZUV2ZW50ICYmIGV2ZW50Lm5hdGl2ZUV2ZW50LndoaWNoID09PSAyKVxuICApXG59XG5cbmZ1bmN0aW9uIGxpbmtDbGlja2VkKFxuICBlOiBSZWFjdC5Nb3VzZUV2ZW50LFxuICByb3V0ZXI6IE5leHRSb3V0ZXIgfCBBcHBSb3V0ZXJJbnN0YW5jZSxcbiAgaHJlZjogc3RyaW5nLFxuICBhczogc3RyaW5nLFxuICByZXBsYWNlPzogYm9vbGVhbixcbiAgc2hhbGxvdz86IGJvb2xlYW4sXG4gIHNjcm9sbD86IGJvb2xlYW5cbik6IHZvaWQge1xuICBjb25zdCB7IG5vZGVOYW1lIH0gPSBlLmN1cnJlbnRUYXJnZXRcblxuICAvLyBhbmNob3JzIGluc2lkZSBhbiBzdmcgaGF2ZSBhIGxvd2VyY2FzZSBub2RlTmFtZVxuICBjb25zdCBpc0FuY2hvck5vZGVOYW1lID0gbm9kZU5hbWUudG9VcHBlckNhc2UoKSA9PT0gJ0EnXG5cbiAgaWYgKGlzQW5jaG9yTm9kZU5hbWUgJiYgaXNNb2RpZmllZEV2ZW50KGUpKSB7XG4gICAgLy8gaWdub3JlIGNsaWNrIGZvciBicm93c2Vy4oCZcyBkZWZhdWx0IGJlaGF2aW9yXG4gICAgcmV0dXJuXG4gIH1cblxuICBlLnByZXZlbnREZWZhdWx0KClcblxuICBjb25zdCBuYXZpZ2F0ZSA9ICgpID0+IHtcbiAgICAvLyBJZiB0aGUgcm91dGVyIGlzIGFuIE5leHRSb3V0ZXIgaW5zdGFuY2UgaXQgd2lsbCBoYXZlIGBiZWZvcmVQb3BTdGF0ZWBcbiAgICBjb25zdCByb3V0ZXJTY3JvbGwgPSBzY3JvbGwgPz8gdHJ1ZVxuICAgIGlmICgnYmVmb3JlUG9wU3RhdGUnIGluIHJvdXRlcikge1xuICAgICAgcm91dGVyW3JlcGxhY2UgPyAncmVwbGFjZScgOiAncHVzaCddKGhyZWYsIGFzLCB7XG4gICAgICAgIHNoYWxsb3csXG4gICAgICAgIHNjcm9sbDogcm91dGVyU2Nyb2xsLFxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgcm91dGVyW3JlcGxhY2UgPyAncmVwbGFjZScgOiAncHVzaCddKGFzIHx8IGhyZWYsIHtcbiAgICAgICAgc2Nyb2xsOiByb3V0ZXJTY3JvbGwsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIFJlYWN0LnN0YXJ0VHJhbnNpdGlvbihuYXZpZ2F0ZSlcbn1cblxudHlwZSBMaW5rUHJvcHNSZWFsID0gUmVhY3QuUHJvcHNXaXRoQ2hpbGRyZW48XG4gIE9taXQ8UmVhY3QuQW5jaG9ySFRNTEF0dHJpYnV0ZXM8SFRNTEFuY2hvckVsZW1lbnQ+LCBrZXlvZiBMaW5rUHJvcHM+ICZcbiAgICBMaW5rUHJvcHNcbj5cblxuZnVuY3Rpb24gZm9ybWF0U3RyaW5nT3JVcmwodXJsT2JqT3JTdHJpbmc6IFVybE9iamVjdCB8IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgdXJsT2JqT3JTdHJpbmcgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHVybE9iak9yU3RyaW5nXG4gIH1cblxuICByZXR1cm4gZm9ybWF0VXJsKHVybE9iak9yU3RyaW5nKVxufVxuXG4vKipcbiAqIEEgUmVhY3QgY29tcG9uZW50IHRoYXQgZXh0ZW5kcyB0aGUgSFRNTCBgPGE+YCBlbGVtZW50IHRvIHByb3ZpZGUgW3ByZWZldGNoaW5nXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yb3V0aW5nL2xpbmtpbmctYW5kLW5hdmlnYXRpbmcjMi1wcmVmZXRjaGluZylcbiAqIGFuZCBjbGllbnQtc2lkZSBuYXZpZ2F0aW9uIGJldHdlZW4gcm91dGVzLlxuICpcbiAqIEl0IGlzIHRoZSBwcmltYXJ5IHdheSB0byBuYXZpZ2F0ZSBiZXR3ZWVuIHJvdXRlcyBpbiBOZXh0LmpzLlxuICpcbiAqIFJlYWQgbW9yZTogW05leHQuanMgZG9jczogYDxMaW5rPmBdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2NvbXBvbmVudHMvbGluaylcbiAqL1xuY29uc3QgTGluayA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTEFuY2hvckVsZW1lbnQsIExpbmtQcm9wc1JlYWw+KFxuICBmdW5jdGlvbiBMaW5rQ29tcG9uZW50KHByb3BzLCBmb3J3YXJkZWRSZWYpIHtcbiAgICBsZXQgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxuXG4gICAgY29uc3Qge1xuICAgICAgaHJlZjogaHJlZlByb3AsXG4gICAgICBhczogYXNQcm9wLFxuICAgICAgY2hpbGRyZW46IGNoaWxkcmVuUHJvcCxcbiAgICAgIHByZWZldGNoOiBwcmVmZXRjaFByb3AgPSBudWxsLFxuICAgICAgcGFzc0hyZWYsXG4gICAgICByZXBsYWNlLFxuICAgICAgc2hhbGxvdyxcbiAgICAgIHNjcm9sbCxcbiAgICAgIG9uQ2xpY2ssXG4gICAgICBvbk1vdXNlRW50ZXI6IG9uTW91c2VFbnRlclByb3AsXG4gICAgICBvblRvdWNoU3RhcnQ6IG9uVG91Y2hTdGFydFByb3AsXG4gICAgICBsZWdhY3lCZWhhdmlvciA9IGZhbHNlLFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHByb3BzXG5cbiAgICBjaGlsZHJlbiA9IGNoaWxkcmVuUHJvcFxuXG4gICAgaWYgKFxuICAgICAgbGVnYWN5QmVoYXZpb3IgJiZcbiAgICAgICh0eXBlb2YgY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBjaGlsZHJlbiA9PT0gJ251bWJlcicpXG4gICAgKSB7XG4gICAgICBjaGlsZHJlbiA9IDxhPntjaGlsZHJlbn08L2E+XG4gICAgfVxuXG4gICAgY29uc3Qgcm91dGVyID0gUmVhY3QudXNlQ29udGV4dChBcHBSb3V0ZXJDb250ZXh0KVxuXG4gICAgY29uc3QgcHJlZmV0Y2hFbmFibGVkID0gcHJlZmV0Y2hQcm9wICE9PSBmYWxzZVxuICAgIC8qKlxuICAgICAqIFRoZSBwb3NzaWJsZSBzdGF0ZXMgZm9yIHByZWZldGNoIGFyZTpcbiAgICAgKiAtIG51bGw6IHRoaXMgaXMgdGhlIGRlZmF1bHQgXCJhdXRvXCIgbW9kZSwgd2hlcmUgd2Ugd2lsbCBwcmVmZXRjaCBwYXJ0aWFsbHkgaWYgdGhlIGxpbmsgaXMgaW4gdGhlIHZpZXdwb3J0XG4gICAgICogLSB0cnVlOiB3ZSB3aWxsIHByZWZldGNoIGlmIHRoZSBsaW5rIGlzIHZpc2libGUgYW5kIHByZWZldGNoIHRoZSBmdWxsIHBhZ2UsIG5vdCBqdXN0IHBhcnRpYWxseVxuICAgICAqIC0gZmFsc2U6IHdlIHdpbGwgbm90IHByZWZldGNoIGlmIGluIHRoZSB2aWV3cG9ydCBhdCBhbGxcbiAgICAgKi9cbiAgICBjb25zdCBhcHBQcmVmZXRjaEtpbmQgPVxuICAgICAgcHJlZmV0Y2hQcm9wID09PSBudWxsID8gUHJlZmV0Y2hLaW5kLkFVVE8gOiBQcmVmZXRjaEtpbmQuRlVMTFxuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGZ1bmN0aW9uIGNyZWF0ZVByb3BFcnJvcihhcmdzOiB7XG4gICAgICAgIGtleTogc3RyaW5nXG4gICAgICAgIGV4cGVjdGVkOiBzdHJpbmdcbiAgICAgICAgYWN0dWFsOiBzdHJpbmdcbiAgICAgIH0pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcbiAgICAgICAgICBgRmFpbGVkIHByb3AgdHlwZTogVGhlIHByb3AgXFxgJHthcmdzLmtleX1cXGAgZXhwZWN0cyBhICR7YXJncy5leHBlY3RlZH0gaW4gXFxgPExpbms+XFxgLCBidXQgZ290IFxcYCR7YXJncy5hY3R1YWx9XFxgIGluc3RlYWQuYCArXG4gICAgICAgICAgICAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgPyBcIlxcbk9wZW4geW91ciBicm93c2VyJ3MgY29uc29sZSB0byB2aWV3IHRoZSBDb21wb25lbnQgc3RhY2sgdHJhY2UuXCJcbiAgICAgICAgICAgICAgOiAnJylcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgY29uc3QgcmVxdWlyZWRQcm9wc0d1YXJkOiBSZWNvcmQ8TGlua1Byb3BzUmVxdWlyZWQsIHRydWU+ID0ge1xuICAgICAgICBocmVmOiB0cnVlLFxuICAgICAgfSBhcyBjb25zdFxuICAgICAgY29uc3QgcmVxdWlyZWRQcm9wczogTGlua1Byb3BzUmVxdWlyZWRbXSA9IE9iamVjdC5rZXlzKFxuICAgICAgICByZXF1aXJlZFByb3BzR3VhcmRcbiAgICAgICkgYXMgTGlua1Byb3BzUmVxdWlyZWRbXVxuICAgICAgcmVxdWlyZWRQcm9wcy5mb3JFYWNoKChrZXk6IExpbmtQcm9wc1JlcXVpcmVkKSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdocmVmJykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHByb3BzW2tleV0gPT0gbnVsbCB8fFxuICAgICAgICAgICAgKHR5cGVvZiBwcm9wc1trZXldICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgcHJvcHNba2V5XSAhPT0gJ29iamVjdCcpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgIGV4cGVjdGVkOiAnYHN0cmluZ2Agb3IgYG9iamVjdGAnLFxuICAgICAgICAgICAgICBhY3R1YWw6IHByb3BzW2tleV0gPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgcHJvcHNba2V5XSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFR5cGVTY3JpcHQgdHJpY2sgZm9yIHR5cGUtZ3VhcmRpbmc6XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgIGNvbnN0IF86IG5ldmVyID0ga2V5XG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIC8vIFR5cGVTY3JpcHQgdHJpY2sgZm9yIHR5cGUtZ3VhcmRpbmc6XG4gICAgICBjb25zdCBvcHRpb25hbFByb3BzR3VhcmQ6IFJlY29yZDxMaW5rUHJvcHNPcHRpb25hbCwgdHJ1ZT4gPSB7XG4gICAgICAgIGFzOiB0cnVlLFxuICAgICAgICByZXBsYWNlOiB0cnVlLFxuICAgICAgICBzY3JvbGw6IHRydWUsXG4gICAgICAgIHNoYWxsb3c6IHRydWUsXG4gICAgICAgIHBhc3NIcmVmOiB0cnVlLFxuICAgICAgICBwcmVmZXRjaDogdHJ1ZSxcbiAgICAgICAgb25DbGljazogdHJ1ZSxcbiAgICAgICAgb25Nb3VzZUVudGVyOiB0cnVlLFxuICAgICAgICBvblRvdWNoU3RhcnQ6IHRydWUsXG4gICAgICAgIGxlZ2FjeUJlaGF2aW9yOiB0cnVlLFxuICAgICAgfSBhcyBjb25zdFxuICAgICAgY29uc3Qgb3B0aW9uYWxQcm9wczogTGlua1Byb3BzT3B0aW9uYWxbXSA9IE9iamVjdC5rZXlzKFxuICAgICAgICBvcHRpb25hbFByb3BzR3VhcmRcbiAgICAgICkgYXMgTGlua1Byb3BzT3B0aW9uYWxbXVxuICAgICAgb3B0aW9uYWxQcm9wcy5mb3JFYWNoKChrZXk6IExpbmtQcm9wc09wdGlvbmFsKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbFR5cGUgPSB0eXBlb2YgcHJvcHNba2V5XVxuXG4gICAgICAgIGlmIChrZXkgPT09ICdhcycpIHtcbiAgICAgICAgICBpZiAocHJvcHNba2V5XSAmJiB2YWxUeXBlICE9PSAnc3RyaW5nJyAmJiB2YWxUeXBlICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgdGhyb3cgY3JlYXRlUHJvcEVycm9yKHtcbiAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICBleHBlY3RlZDogJ2BzdHJpbmdgIG9yIGBvYmplY3RgJyxcbiAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAga2V5ID09PSAnb25DbGljaycgfHxcbiAgICAgICAgICBrZXkgPT09ICdvbk1vdXNlRW50ZXInIHx8XG4gICAgICAgICAga2V5ID09PSAnb25Ub3VjaFN0YXJ0J1xuICAgICAgICApIHtcbiAgICAgICAgICBpZiAocHJvcHNba2V5XSAmJiB2YWxUeXBlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgIGV4cGVjdGVkOiAnYGZ1bmN0aW9uYCcsXG4gICAgICAgICAgICAgIGFjdHVhbDogdmFsVHlwZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIGtleSA9PT0gJ3JlcGxhY2UnIHx8XG4gICAgICAgICAga2V5ID09PSAnc2Nyb2xsJyB8fFxuICAgICAgICAgIGtleSA9PT0gJ3NoYWxsb3cnIHx8XG4gICAgICAgICAga2V5ID09PSAncGFzc0hyZWYnIHx8XG4gICAgICAgICAga2V5ID09PSAncHJlZmV0Y2gnIHx8XG4gICAgICAgICAga2V5ID09PSAnbGVnYWN5QmVoYXZpb3InXG4gICAgICAgICkge1xuICAgICAgICAgIGlmIChwcm9wc1trZXldICE9IG51bGwgJiYgdmFsVHlwZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgIGV4cGVjdGVkOiAnYGJvb2xlYW5gJyxcbiAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgICAgY29uc3QgXzogbmV2ZXIgPSBrZXlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKHByb3BzLmxvY2FsZSkge1xuICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICAnVGhlIGBsb2NhbGVgIHByb3AgaXMgbm90IHN1cHBvcnRlZCBpbiBgbmV4dC9saW5rYCB3aGlsZSB1c2luZyB0aGUgYGFwcGAgcm91dGVyLiBSZWFkIG1vcmUgYWJvdXQgYXBwIHJvdXRlciBpbnRlcm5hbGl6YXRpb246IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JvdXRpbmcvaW50ZXJuYXRpb25hbGl6YXRpb24nXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmICghYXNQcm9wKSB7XG4gICAgICAgIGxldCBocmVmOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICAgICAgaWYgKHR5cGVvZiBocmVmUHJvcCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBocmVmID0gaHJlZlByb3BcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICB0eXBlb2YgaHJlZlByb3AgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgdHlwZW9mIGhyZWZQcm9wLnBhdGhuYW1lID09PSAnc3RyaW5nJ1xuICAgICAgICApIHtcbiAgICAgICAgICBocmVmID0gaHJlZlByb3AucGF0aG5hbWVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChocmVmKSB7XG4gICAgICAgICAgY29uc3QgaGFzRHluYW1pY1NlZ21lbnQgPSBocmVmXG4gICAgICAgICAgICAuc3BsaXQoJy8nKVxuICAgICAgICAgICAgLnNvbWUoKHNlZ21lbnQpID0+IHNlZ21lbnQuc3RhcnRzV2l0aCgnWycpICYmIHNlZ21lbnQuZW5kc1dpdGgoJ10nKSlcblxuICAgICAgICAgIGlmIChoYXNEeW5hbWljU2VnbWVudCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgRHluYW1pYyBocmVmIFxcYCR7aHJlZn1cXGAgZm91bmQgaW4gPExpbms+IHdoaWxlIHVzaW5nIHRoZSBcXGAvYXBwXFxgIHJvdXRlciwgdGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2FwcC1kaXItZHluYW1pYy1ocmVmYFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHsgaHJlZiwgYXMgfSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgcmVzb2x2ZWRIcmVmID0gZm9ybWF0U3RyaW5nT3JVcmwoaHJlZlByb3ApXG4gICAgICByZXR1cm4ge1xuICAgICAgICBocmVmOiByZXNvbHZlZEhyZWYsXG4gICAgICAgIGFzOiBhc1Byb3AgPyBmb3JtYXRTdHJpbmdPclVybChhc1Byb3ApIDogcmVzb2x2ZWRIcmVmLFxuICAgICAgfVxuICAgIH0sIFtocmVmUHJvcCwgYXNQcm9wXSlcblxuICAgIGNvbnN0IHByZXZpb3VzSHJlZiA9IFJlYWN0LnVzZVJlZjxzdHJpbmc+KGhyZWYpXG4gICAgY29uc3QgcHJldmlvdXNBcyA9IFJlYWN0LnVzZVJlZjxzdHJpbmc+KGFzKVxuXG4gICAgLy8gVGhpcyB3aWxsIHJldHVybiB0aGUgZmlyc3QgY2hpbGQsIGlmIG11bHRpcGxlIGFyZSBwcm92aWRlZCBpdCB3aWxsIHRocm93IGFuIGVycm9yXG4gICAgbGV0IGNoaWxkOiBhbnlcbiAgICBpZiAobGVnYWN5QmVoYXZpb3IpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICBpZiAob25DbGljaykge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBcIm9uQ2xpY2tcIiB3YXMgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIFxcYGhyZWZcXGAgb2YgXFxgJHtocmVmUHJvcH1cXGAgYnV0IFwibGVnYWN5QmVoYXZpb3JcIiB3YXMgc2V0LiBUaGUgbGVnYWN5IGJlaGF2aW9yIHJlcXVpcmVzIG9uQ2xpY2sgYmUgc2V0IG9uIHRoZSBjaGlsZCBvZiBuZXh0L2xpbmtgXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIGlmIChvbk1vdXNlRW50ZXJQcm9wKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYFwib25Nb3VzZUVudGVyXCIgd2FzIHBhc3NlZCB0byA8TGluaz4gd2l0aCBcXGBocmVmXFxgIG9mIFxcYCR7aHJlZlByb3B9XFxgIGJ1dCBcImxlZ2FjeUJlaGF2aW9yXCIgd2FzIHNldC4gVGhlIGxlZ2FjeSBiZWhhdmlvciByZXF1aXJlcyBvbk1vdXNlRW50ZXIgYmUgc2V0IG9uIHRoZSBjaGlsZCBvZiBuZXh0L2xpbmtgXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY2hpbGQgPSBSZWFjdC5DaGlsZHJlbi5vbmx5KGNoaWxkcmVuKVxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBObyBjaGlsZHJlbiB3ZXJlIHBhc3NlZCB0byA8TGluaz4gd2l0aCBcXGBocmVmXFxgIG9mIFxcYCR7aHJlZlByb3B9XFxgIGJ1dCBvbmUgY2hpbGQgaXMgcmVxdWlyZWQgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbGluay1uby1jaGlsZHJlbmBcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYE11bHRpcGxlIGNoaWxkcmVuIHdlcmUgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIFxcYGhyZWZcXGAgb2YgXFxgJHtocmVmUHJvcH1cXGAgYnV0IG9ubHkgb25lIGNoaWxkIGlzIHN1cHBvcnRlZCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9saW5rLW11bHRpcGxlLWNoaWxkcmVuYCArXG4gICAgICAgICAgICAgICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgID8gXCIgXFxuT3BlbiB5b3VyIGJyb3dzZXIncyBjb25zb2xlIHRvIHZpZXcgdGhlIENvbXBvbmVudCBzdGFjayB0cmFjZS5cIlxuICAgICAgICAgICAgICAgIDogJycpXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjaGlsZCA9IFJlYWN0LkNoaWxkcmVuLm9ubHkoY2hpbGRyZW4pXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICBpZiAoKGNoaWxkcmVuIGFzIGFueSk/LnR5cGUgPT09ICdhJykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICdJbnZhbGlkIDxMaW5rPiB3aXRoIDxhPiBjaGlsZC4gUGxlYXNlIHJlbW92ZSA8YT4gb3IgdXNlIDxMaW5rIGxlZ2FjeUJlaGF2aW9yPi5cXG5MZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9pbnZhbGlkLW5ldy1saW5rLXdpdGgtZXh0cmEtYW5jaG9yJ1xuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGNoaWxkUmVmOiBhbnkgPSBsZWdhY3lCZWhhdmlvclxuICAgICAgPyBjaGlsZCAmJiB0eXBlb2YgY2hpbGQgPT09ICdvYmplY3QnICYmIGNoaWxkLnJlZlxuICAgICAgOiBmb3J3YXJkZWRSZWZcblxuICAgIGNvbnN0IFtzZXRJbnRlcnNlY3Rpb25SZWYsIGlzVmlzaWJsZSwgcmVzZXRWaXNpYmxlXSA9IHVzZUludGVyc2VjdGlvbih7XG4gICAgICByb290TWFyZ2luOiAnMjAwcHgnLFxuICAgIH0pXG5cbiAgICBjb25zdCBzZXRJbnRlcnNlY3Rpb25XaXRoUmVzZXRSZWYgPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAgIChlbDogRWxlbWVudCkgPT4ge1xuICAgICAgICAvLyBCZWZvcmUgdGhlIGxpbmsgZ2V0dGluZyBvYnNlcnZlZCwgY2hlY2sgaWYgdmlzaWJsZSBzdGF0ZSBuZWVkIHRvIGJlIHJlc2V0XG4gICAgICAgIGlmIChwcmV2aW91c0FzLmN1cnJlbnQgIT09IGFzIHx8IHByZXZpb3VzSHJlZi5jdXJyZW50ICE9PSBocmVmKSB7XG4gICAgICAgICAgcmVzZXRWaXNpYmxlKClcbiAgICAgICAgICBwcmV2aW91c0FzLmN1cnJlbnQgPSBhc1xuICAgICAgICAgIHByZXZpb3VzSHJlZi5jdXJyZW50ID0gaHJlZlxuICAgICAgICB9XG5cbiAgICAgICAgc2V0SW50ZXJzZWN0aW9uUmVmKGVsKVxuICAgICAgfSxcbiAgICAgIFthcywgaHJlZiwgcmVzZXRWaXNpYmxlLCBzZXRJbnRlcnNlY3Rpb25SZWZdXG4gICAgKVxuXG4gICAgY29uc3Qgc2V0UmVmID0gdXNlTWVyZ2VkUmVmKHNldEludGVyc2VjdGlvbldpdGhSZXNldFJlZiwgY2hpbGRSZWYpXG5cbiAgICAvLyBQcmVmZXRjaCB0aGUgVVJMIGlmIHdlIGhhdmVuJ3QgYWxyZWFkeSBhbmQgaXQncyB2aXNpYmxlLlxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAvLyBpbiBkZXYsIHdlIG9ubHkgcHJlZmV0Y2ggb24gaG92ZXIgdG8gYXZvaWQgd2FzdGluZyByZXNvdXJjZXMgYXMgdGhlIHByZWZldGNoIHdpbGwgdHJpZ2dlciBjb21waWxpbmcgdGhlIHBhZ2UuXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKCFyb3V0ZXIpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIElmIHdlIGRvbid0IG5lZWQgdG8gcHJlZmV0Y2ggdGhlIFVSTCwgZG9uJ3QgZG8gcHJlZmV0Y2guXG4gICAgICBpZiAoIWlzVmlzaWJsZSB8fCAhcHJlZmV0Y2hFbmFibGVkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICAvLyBQcmVmZXRjaCB0aGUgVVJMLlxuICAgICAgcHJlZmV0Y2gocm91dGVyLCBocmVmLCB7XG4gICAgICAgIGtpbmQ6IGFwcFByZWZldGNoS2luZCxcbiAgICAgIH0pXG4gICAgfSwgW2FzLCBocmVmLCBpc1Zpc2libGUsIHByZWZldGNoRW5hYmxlZCwgcm91dGVyLCBhcHBQcmVmZXRjaEtpbmRdKVxuXG4gICAgY29uc3QgY2hpbGRQcm9wczoge1xuICAgICAgb25Ub3VjaFN0YXJ0PzogUmVhY3QuVG91Y2hFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+XG4gICAgICBvbk1vdXNlRW50ZXI6IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxBbmNob3JFbGVtZW50PlxuICAgICAgb25DbGljazogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+XG4gICAgICBocmVmPzogc3RyaW5nXG4gICAgICByZWY/OiBhbnlcbiAgICB9ID0ge1xuICAgICAgcmVmOiBzZXRSZWYsXG4gICAgICBvbkNsaWNrKGUpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAoIWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYENvbXBvbmVudCByZW5kZXJlZCBpbnNpZGUgbmV4dC9saW5rIGhhcyB0byBwYXNzIGNsaWNrIGV2ZW50IHRvIFwib25DbGlja1wiIHByb3AuYFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghbGVnYWN5QmVoYXZpb3IgJiYgdHlwZW9mIG9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBvbkNsaWNrKGUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgbGVnYWN5QmVoYXZpb3IgJiZcbiAgICAgICAgICBjaGlsZC5wcm9wcyAmJlxuICAgICAgICAgIHR5cGVvZiBjaGlsZC5wcm9wcy5vbkNsaWNrID09PSAnZnVuY3Rpb24nXG4gICAgICAgICkge1xuICAgICAgICAgIGNoaWxkLnByb3BzLm9uQ2xpY2soZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZS5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBsaW5rQ2xpY2tlZChlLCByb3V0ZXIsIGhyZWYsIGFzLCByZXBsYWNlLCBzaGFsbG93LCBzY3JvbGwpXG4gICAgICB9LFxuICAgICAgb25Nb3VzZUVudGVyKGUpIHtcbiAgICAgICAgaWYgKCFsZWdhY3lCZWhhdmlvciAmJiB0eXBlb2Ygb25Nb3VzZUVudGVyUHJvcCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIG9uTW91c2VFbnRlclByb3AoZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBsZWdhY3lCZWhhdmlvciAmJlxuICAgICAgICAgIGNoaWxkLnByb3BzICYmXG4gICAgICAgICAgdHlwZW9mIGNoaWxkLnByb3BzLm9uTW91c2VFbnRlciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICApIHtcbiAgICAgICAgICBjaGlsZC5wcm9wcy5vbk1vdXNlRW50ZXIoZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXByZWZldGNoRW5hYmxlZCB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgcHJlZmV0Y2gocm91dGVyLCBocmVmLCB7XG4gICAgICAgICAga2luZDogYXBwUHJlZmV0Y2hLaW5kLFxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIG9uVG91Y2hTdGFydDogcHJvY2Vzcy5lbnYuX19ORVhUX0xJTktfTk9fVE9VQ0hfU1RBUlRcbiAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgOiBmdW5jdGlvbiBvblRvdWNoU3RhcnQoZSkge1xuICAgICAgICAgICAgaWYgKCFsZWdhY3lCZWhhdmlvciAmJiB0eXBlb2Ygb25Ub3VjaFN0YXJ0UHJvcCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICBvblRvdWNoU3RhcnRQcm9wKGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgbGVnYWN5QmVoYXZpb3IgJiZcbiAgICAgICAgICAgICAgY2hpbGQucHJvcHMgJiZcbiAgICAgICAgICAgICAgdHlwZW9mIGNoaWxkLnByb3BzLm9uVG91Y2hTdGFydCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGNoaWxkLnByb3BzLm9uVG91Y2hTdGFydChlKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFwcmVmZXRjaEVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHByZWZldGNoKHJvdXRlciwgaHJlZiwge1xuICAgICAgICAgICAgICBraW5kOiBhcHBQcmVmZXRjaEtpbmQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0sXG4gICAgfVxuXG4gICAgLy8gSWYgY2hpbGQgaXMgYW4gPGE+IHRhZyBhbmQgZG9lc24ndCBoYXZlIGEgaHJlZiBhdHRyaWJ1dGUsIG9yIGlmIHRoZSAncGFzc0hyZWYnIHByb3BlcnR5IGlzXG4gICAgLy8gZGVmaW5lZCwgd2Ugc3BlY2lmeSB0aGUgY3VycmVudCAnaHJlZicsIHNvIHRoYXQgcmVwZXRpdGlvbiBpcyBub3QgbmVlZGVkIGJ5IHRoZSB1c2VyLlxuICAgIC8vIElmIHRoZSB1cmwgaXMgYWJzb2x1dGUsIHdlIGNhbiBieXBhc3MgdGhlIGxvZ2ljIHRvIHByZXBlbmQgdGhlIGJhc2VQYXRoLlxuICAgIGlmIChpc0Fic29sdXRlVXJsKGFzKSkge1xuICAgICAgY2hpbGRQcm9wcy5ocmVmID0gYXNcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgIWxlZ2FjeUJlaGF2aW9yIHx8XG4gICAgICBwYXNzSHJlZiB8fFxuICAgICAgKGNoaWxkLnR5cGUgPT09ICdhJyAmJiAhKCdocmVmJyBpbiBjaGlsZC5wcm9wcykpXG4gICAgKSB7XG4gICAgICBjaGlsZFByb3BzLmhyZWYgPSBhZGRCYXNlUGF0aChhcylcbiAgICB9XG5cbiAgICByZXR1cm4gbGVnYWN5QmVoYXZpb3IgPyAoXG4gICAgICBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIGNoaWxkUHJvcHMpXG4gICAgKSA6IChcbiAgICAgIDxhIHsuLi5yZXN0UHJvcHN9IHsuLi5jaGlsZFByb3BzfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9hPlxuICAgIClcbiAgfVxuKVxuXG5leHBvcnQgZGVmYXVsdCBMaW5rXG4iXSwibmFtZXMiOlsicHJlZmV0Y2giLCJyb3V0ZXIiLCJocmVmIiwib3B0aW9ucyIsIndpbmRvdyIsImRvUHJlZmV0Y2giLCJjYXRjaCIsImVyciIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImlzTW9kaWZpZWRFdmVudCIsImV2ZW50IiwiZXZlbnRUYXJnZXQiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiZ2V0QXR0cmlidXRlIiwibWV0YUtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsImFsdEtleSIsIm5hdGl2ZUV2ZW50Iiwid2hpY2giLCJsaW5rQ2xpY2tlZCIsImUiLCJhcyIsInJlcGxhY2UiLCJzaGFsbG93Iiwic2Nyb2xsIiwibm9kZU5hbWUiLCJpc0FuY2hvck5vZGVOYW1lIiwidG9VcHBlckNhc2UiLCJwcmV2ZW50RGVmYXVsdCIsIm5hdmlnYXRlIiwicm91dGVyU2Nyb2xsIiwiUmVhY3QiLCJzdGFydFRyYW5zaXRpb24iLCJmb3JtYXRTdHJpbmdPclVybCIsInVybE9iak9yU3RyaW5nIiwiZm9ybWF0VXJsIiwiTGluayIsImZvcndhcmRSZWYiLCJMaW5rQ29tcG9uZW50IiwicHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJjaGlsZHJlbiIsImhyZWZQcm9wIiwiYXNQcm9wIiwiY2hpbGRyZW5Qcm9wIiwicHJlZmV0Y2hQcm9wIiwicGFzc0hyZWYiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUVudGVyUHJvcCIsIm9uVG91Y2hTdGFydCIsIm9uVG91Y2hTdGFydFByb3AiLCJsZWdhY3lCZWhhdmlvciIsInJlc3RQcm9wcyIsImEiLCJ1c2VDb250ZXh0IiwiQXBwUm91dGVyQ29udGV4dCIsInByZWZldGNoRW5hYmxlZCIsImFwcFByZWZldGNoS2luZCIsIlByZWZldGNoS2luZCIsIkFVVE8iLCJGVUxMIiwiY3JlYXRlUHJvcEVycm9yIiwiYXJncyIsIkVycm9yIiwia2V5IiwiZXhwZWN0ZWQiLCJhY3R1YWwiLCJyZXF1aXJlZFByb3BzR3VhcmQiLCJyZXF1aXJlZFByb3BzIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJfIiwib3B0aW9uYWxQcm9wc0d1YXJkIiwib3B0aW9uYWxQcm9wcyIsInZhbFR5cGUiLCJsb2NhbGUiLCJ3YXJuT25jZSIsInBhdGhuYW1lIiwiaGFzRHluYW1pY1NlZ21lbnQiLCJzcGxpdCIsInNvbWUiLCJzZWdtZW50Iiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwidXNlTWVtbyIsInJlc29sdmVkSHJlZiIsInByZXZpb3VzSHJlZiIsInVzZVJlZiIsInByZXZpb3VzQXMiLCJjaGlsZCIsImNvbnNvbGUiLCJ3YXJuIiwiQ2hpbGRyZW4iLCJvbmx5IiwidHlwZSIsImNoaWxkUmVmIiwicmVmIiwic2V0SW50ZXJzZWN0aW9uUmVmIiwiaXNWaXNpYmxlIiwicmVzZXRWaXNpYmxlIiwidXNlSW50ZXJzZWN0aW9uIiwicm9vdE1hcmdpbiIsInNldEludGVyc2VjdGlvbldpdGhSZXNldFJlZiIsInVzZUNhbGxiYWNrIiwiZWwiLCJjdXJyZW50Iiwic2V0UmVmIiwidXNlTWVyZ2VkUmVmIiwidXNlRWZmZWN0Iiwia2luZCIsImNoaWxkUHJvcHMiLCJkZWZhdWx0UHJldmVudGVkIiwiX19ORVhUX0xJTktfTk9fVE9VQ0hfU1RBUlQiLCJ1bmRlZmluZWQiLCJpc0Fic29sdXRlVXJsIiwiYWRkQmFzZVBhdGgiLCJjbG9uZUVsZW1lbnQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/app-dir/link.js\n"); +eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\"));\nconst _formaturl = __webpack_require__(/*! ../../shared/lib/router/utils/format-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _useintersection = __webpack_require__(/*! ../use-intersection */ \"(ssr)/./node_modules/next/dist/client/use-intersection.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../components/router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _usemergedref = __webpack_require__(/*! ../use-merged-ref */ \"(ssr)/./node_modules/next/dist/client/use-merged-ref.js\");\nconst _utils = __webpack_require__(/*! ../../shared/lib/utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _warnonce = __webpack_require__(/*! ../../shared/lib/utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction prefetch(router, href, options) {\n if (true) {\n return;\n }\n const doPrefetch = async ()=>{\n // note that `appRouter.prefetch()` is currently sync,\n // so we have to wrap this call in an async function to be able to catch() errors below.\n return router.prefetch(href, options);\n };\n // Prefetch the page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n doPrefetch().catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute('target');\n return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === 'A';\n if (isAnchorNodeName && isModifiedEvent(e)) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll != null ? scroll : true;\n if ('beforePopState' in router) {\n router[replace ? 'replace' : 'push'](href, as, {\n shallow,\n scroll: routerScroll\n });\n } else {\n router[replace ? 'replace' : 'push'](as || href, {\n scroll: routerScroll\n });\n }\n };\n _react.default.startTransition(navigate);\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === 'string') {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * A React component that extends the HTML `` element to provide [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation between routes.\n *\n * It is the primary way to navigate between routes in Next.js.\n *\n * Read more: [Next.js docs: ``](https://nextjs.org/docs/app/api-reference/components/link)\n */ const Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(props, forwardedRef) {\n let children;\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === 'string' || typeof children === 'number')) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const router = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const prefetchEnabled = prefetchProp !== false;\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in ``, but got `\" + args.actual + \"` instead.\" + ( false ? 0 : ''));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === 'href') {\n if (props[key] == null || typeof props[key] !== 'string' && typeof props[key] !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType\n });\n }\n } else if (key === 'onClick' || key === 'onMouseEnter' || key === 'onTouchStart') {\n if (props[key] && valType !== 'function') {\n throw createPropError({\n key,\n expected: '`function`',\n actual: valType\n });\n }\n } else if (key === 'replace' || key === 'scroll' || key === 'shallow' || key === 'passHref' || key === 'prefetch' || key === 'legacyBehavior') {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n }\n if (true) {\n if (props.locale) {\n (0, _warnonce.warnOnce)('The `locale` prop is not supported in `next/link` while using the `app` router. Read more about app router internalization: https://nextjs.org/docs/app/building-your-application/routing/internationalization');\n }\n if (!asProp) {\n let href;\n if (typeof hrefProp === 'string') {\n href = hrefProp;\n } else if (typeof hrefProp === 'object' && typeof hrefProp.pathname === 'string') {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split('/').some((segment)=>segment.startsWith('[') && segment.endsWith(']'));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\" + href + \"` found in while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo({\n \"Link.LinkComponent.useMemo\": ()=>{\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n }[\"Link.LinkComponent.useMemo\"], [\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n }\n throw new Error(\"Multiple children were passed to with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + ( false ? 0 : ''));\n }\n } else {}\n } else {\n if (true) {\n if ((children == null ? void 0 : children.type) === 'a') {\n throw new Error('Invalid with child. Please remove or use .\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor');\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === 'object' && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n rootMargin: '200px'\n });\n const setIntersectionWithResetRef = _react.default.useCallback({\n \"Link.LinkComponent.useCallback[setIntersectionWithResetRef]\": (el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n }\n }[\"Link.LinkComponent.useCallback[setIntersectionWithResetRef]\"], [\n as,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n const setRef = (0, _usemergedref.useMergedRef)(setIntersectionWithResetRef, childRef);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect({\n \"Link.LinkComponent.useEffect\": ()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, {\n kind: appPrefetchKind\n });\n }\n }[\"Link.LinkComponent.useEffect\"], [\n as,\n href,\n isVisible,\n prefetchEnabled,\n router,\n appPrefetchKind\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === 'function') {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === 'function') {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled || \"development\" === 'development') {\n return;\n }\n prefetch(router, href, {\n kind: appPrefetchKind\n });\n },\n onTouchStart: false ? 0 : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === 'function') {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === 'function') {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled) {\n return;\n }\n prefetch(router, href, {\n kind: appPrefetchKind\n });\n }\n };\n // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the basePath.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === 'a' && !('href' in child.props)) {\n childProps.href = (0, _addbasepath.addBasePath)(as);\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n});\nconst _default = Link;\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hcHAtZGlyL2xpbmsuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0EybEJBOzs7ZUFBQTs7Ozs7NEVBdmxCa0I7dUNBRVE7MkRBQ087NkNBR0Q7Z0RBQ0g7MENBQ0E7bUNBQ0M7eUNBQ0Y7c0NBQ0g7QUFtR3pCLFNBQVNBLFNBQ1BDLE1BQXlCLEVBQ3pCQyxJQUFZLEVBQ1pDLE9BQXdCO0lBRXhCLElBQUksSUFBNkIsRUFBRTtRQUNqQztJQUNGO0lBRUEsTUFBTUUsYUFBYTtRQUNqQixzREFBc0Q7UUFDdEQsd0ZBQXdGO1FBQ3hGLE9BQU9KLE9BQU9ELFFBQVEsQ0FBQ0UsTUFBTUM7SUFDL0I7SUFFQSxrREFBa0Q7SUFDbEQsMERBQTBEO0lBQzFELHNEQUFzRDtJQUN0RCx5REFBeUQ7SUFDekRFLGFBQWFDLEtBQUssQ0FBQyxDQUFDQztRQUNsQixJQUZGLElBRTBCLEVBQW1CO1lBQ3pDLHFDQUFxQztZQUNyQyxNQUFNQTtRQUNSO0lBQ0Y7QUFDRjtBQUVBLFNBQVNJLGdCQUFnQkMsS0FBdUI7SUFDOUMsTUFBTUMsY0FBY0QsTUFBTUUsYUFBYTtJQUN2QyxNQUFNQyxTQUFTRixZQUFZRyxZQUFZLENBQUM7SUFDeEMsT0FDR0QsVUFBVUEsV0FBVyxXQUN0QkgsTUFBTUssT0FBTyxJQUNiTCxNQUFNTSxPQUFPLElBQ2JOLE1BQU1PLFFBQVEsSUFDZFAsTUFBTVEsTUFBTSxJQUFJLDZCQUE2QjtJQUM1Q1IsTUFBTVMsV0FBVyxJQUFJVCxNQUFNUyxXQUFXLENBQUNDLEtBQUssS0FBSztBQUV0RDtBQUVBLFNBQVNDLFlBQ1BDLENBQW1CLEVBQ25CdkIsTUFBc0MsRUFDdENDLElBQVksRUFDWnVCLEVBQVUsRUFDVkMsT0FBaUIsRUFDakJDLE9BQWlCLEVBQ2pCQyxNQUFnQjtJQUVoQixNQUFNLEVBQUVDLFFBQVEsRUFBRSxHQUFHTCxFQUFFVixhQUFhO0lBRXBDLGtEQUFrRDtJQUNsRCxNQUFNZ0IsbUJBQW1C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QVM7UUFBRyxHQUFHMkQsVUFBVTtrQkFDN0J2RTs7QUFHUDtNQUdGLFdBQWVMIiwic291cmNlcyI6WyJFOlxcc3JjXFxjbGllbnRcXGFwcC1kaXJcXGxpbmsudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgdHlwZSB7IE5leHRSb3V0ZXIgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL3JvdXRlci9yb3V0ZXInXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgVXJsT2JqZWN0IH0gZnJvbSAndXJsJ1xuaW1wb3J0IHsgZm9ybWF0VXJsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybCdcbmltcG9ydCB7IEFwcFJvdXRlckNvbnRleHQgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB0eXBlIHsgQXBwUm91dGVySW5zdGFuY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB0eXBlIHsgUHJlZmV0Y2hPcHRpb25zIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgeyB1c2VJbnRlcnNlY3Rpb24gfSBmcm9tICcuLi91c2UtaW50ZXJzZWN0aW9uJ1xuaW1wb3J0IHsgUHJlZmV0Y2hLaW5kIH0gZnJvbSAnLi4vY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci10eXBlcydcbmltcG9ydCB7IHVzZU1lcmdlZFJlZiB9IGZyb20gJy4uL3VzZS1tZXJnZWQtcmVmJ1xuaW1wb3J0IHsgaXNBYnNvbHV0ZVVybCB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvdXRpbHMnXG5pbXBvcnQgeyBhZGRCYXNlUGF0aCB9IGZyb20gJy4uL2FkZC1iYXNlLXBhdGgnXG5pbXBvcnQgeyB3YXJuT25jZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlJ1xuXG50eXBlIFVybCA9IHN0cmluZyB8IFVybE9iamVjdFxudHlwZSBSZXF1aXJlZEtleXM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdLT86IHt9IGV4dGVuZHMgUGljazxULCBLPiA/IG5ldmVyIDogS1xufVtrZXlvZiBUXVxudHlwZSBPcHRpb25hbEtleXM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdLT86IHt9IGV4dGVuZHMgUGljazxULCBLPiA/IEsgOiBuZXZlclxufVtrZXlvZiBUXVxuXG50eXBlIEludGVybmFsTGlua1Byb3BzID0ge1xuICAvKipcbiAgICogVGhlIHBhdGggb3IgVVJMIHRvIG5hdmlnYXRlIHRvLiBJdCBjYW4gYWxzbyBiZSBhbiBvYmplY3QuXG4gICAqXG4gICAqIEBleGFtcGxlIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwaS1yZWZlcmVuY2UvbmV4dC9saW5rI3dpdGgtdXJsLW9iamVjdFxuICAgKi9cbiAgaHJlZjogVXJsXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkZWNvcmF0b3IgZm9yIHRoZSBwYXRoIHRoYXQgd2lsbCBiZSBzaG93biBpbiB0aGUgYnJvd3NlciBVUkwgYmFyLiBCZWZvcmUgTmV4dC5qcyA5LjUuMyB0aGlzIHdhcyB1c2VkIGZvciBkeW5hbWljIHJvdXRlcywgY2hlY2sgb3VyIFtwcmV2aW91cyBkb2NzXShodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvYmxvYi92OS41LjIvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvbGluay5tZCNkeW5hbWljLXJvdXRlcykgdG8gc2VlIGhvdyBpdCB3b3JrZWQuIE5vdGU6IHdoZW4gdGhpcyBwYXRoIGRpZmZlcnMgZnJvbSB0aGUgb25lIHByb3ZpZGVkIGluIGBocmVmYCB0aGUgcHJldmlvdXMgYGhyZWZgL2Bhc2AgYmVoYXZpb3IgaXMgdXNlZCBhcyBzaG93biBpbiB0aGUgW3ByZXZpb3VzIGRvY3NdKGh0dHBzOi8vZ2l0aHViLmNvbS92ZXJjZWwvbmV4dC5qcy9ibG9iL3Y5LjUuMi9kb2NzL2FwaS1yZWZlcmVuY2UvbmV4dC9saW5rLm1kI2R5bmFtaWMtcm91dGVzKS5cbiAgICovXG4gIGFzPzogVXJsXG4gIC8qKlxuICAgKiBSZXBsYWNlIHRoZSBjdXJyZW50IGBoaXN0b3J5YCBzdGF0ZSBpbnN0ZWFkIG9mIGFkZGluZyBhIG5ldyB1cmwgaW50byB0aGUgc3RhY2suXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgYGZhbHNlYFxuICAgKi9cbiAgcmVwbGFjZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgc2Nyb2xsIGJlaGF2aW9yXG4gICAqXG4gICAqIEBleGFtcGxlIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwaS1yZWZlcmVuY2UvbmV4dC9saW5rI2Rpc2FibGUtc2Nyb2xsaW5nLXRvLXRoZS10b3Atb2YtdGhlLXBhZ2VcbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSBgdHJ1ZWBcbiAgICovXG4gIHNjcm9sbD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgcGF0aCBvZiB0aGUgY3VycmVudCBwYWdlIHdpdGhvdXQgcmVydW5uaW5nIFtgZ2V0U3RhdGljUHJvcHNgXShodHRwczovL25leHRqcy5vcmcvZG9jcy9wYWdlcy9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL2RhdGEtZmV0Y2hpbmcvZ2V0LXN0YXRpYy1wcm9wcyksIFtgZ2V0U2VydmVyU2lkZVByb3BzYF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvcGFnZXMvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9kYXRhLWZldGNoaW5nL2dldC1zZXJ2ZXItc2lkZS1wcm9wcykgb3IgW2BnZXRJbml0aWFsUHJvcHNgXSgvZG9jcy9wYWdlcy9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy9nZXQtaW5pdGlhbC1wcm9wcykuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgYGZhbHNlYFxuICAgKi9cbiAgc2hhbGxvdz86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEZvcmNlcyBgTGlua2AgdG8gc2VuZCB0aGUgYGhyZWZgIHByb3BlcnR5IHRvIGl0cyBjaGlsZC5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSBgZmFsc2VgXG4gICAqL1xuICBwYXNzSHJlZj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFByZWZldGNoIHRoZSBwYWdlIGluIHRoZSBiYWNrZ3JvdW5kLlxuICAgKiBBbnkgYDxMaW5rIC8+YCB0aGF0IGlzIGluIHRoZSB2aWV3cG9ydCAoaW5pdGlhbGx5IG9yIHRocm91Z2ggc2Nyb2xsKSB3aWxsIGJlIHByZWZldGNoZWQuXG4gICAqIFByZWZldGNoIGNhbiBiZSBkaXNhYmxlZCBieSBwYXNzaW5nIGBwcmVmZXRjaD17ZmFsc2V9YC4gUHJlZmV0Y2hpbmcgaXMgb25seSBlbmFibGVkIGluIHByb2R1Y3Rpb24uXG4gICAqXG4gICAqIEluIEFwcCBSb3V0ZXI6XG4gICAqIC0gYG51bGxgIChkZWZhdWx0KTogRm9yIHN0YXRpY2FsbHkgZ2VuZXJhdGVkIHBhZ2VzLCB0aGlzIHdpbGwgcHJlZmV0Y2ggdGhlIGZ1bGwgUmVhY3QgU2VydmVyIENvbXBvbmVudCBkYXRhLiBGb3IgZHluYW1pYyBwYWdlcywgdGhpcyB3aWxsIHByZWZldGNoIHVwIHRvIHRoZSBuZWFyZXN0IHJvdXRlIHNlZ21lbnQgd2l0aCBhIFtgbG9hZGluZy5qc2BdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2ZpbGUtY29udmVudGlvbnMvbG9hZGluZykgZmlsZS4gSWYgdGhlcmUgaXMgbm8gbG9hZGluZyBmaWxlLCBpdCB3aWxsIG5vdCBmZXRjaCB0aGUgZnVsbCB0cmVlIHRvIGF2b2lkIGZldGNoaW5nIHRvbyBtdWNoIGRhdGEuXG4gICAqIC0gYHRydWVgOiBUaGlzIHdpbGwgcHJlZmV0Y2ggdGhlIGZ1bGwgUmVhY3QgU2VydmVyIENvbXBvbmVudCBkYXRhIGZvciBhbGwgcm91dGUgc2VnbWVudHMsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGV5IGNvbnRhaW4gYSBzZWdtZW50IHdpdGggYGxvYWRpbmcuanNgLlxuICAgKiAtIGBmYWxzZWA6IFRoaXMgd2lsbCBub3QgcHJlZmV0Y2ggYW55IGRhdGEsIGV2ZW4gb24gaG92ZXIuXG4gICAqXG4gICAqIEluIFBhZ2VzIFJvdXRlcjpcbiAgICogLSBgdHJ1ZWAgKGRlZmF1bHQpOiBUaGUgZnVsbCByb3V0ZSAmIGl0cyBkYXRhIHdpbGwgYmUgcHJlZmV0Y2hlZC5cbiAgICogLSBgZmFsc2VgOiBQcmVmZXRjaGluZyB3aWxsIG5vdCBoYXBwZW4gd2hlbiBlbnRlcmluZyB0aGUgdmlld3BvcnQsIGJ1dCB3aWxsIHN0aWxsIGhhcHBlbiBvbiBob3Zlci5cbiAgICogQGRlZmF1bHRWYWx1ZSBgdHJ1ZWAgKHBhZ2VzIHJvdXRlcikgb3IgYG51bGxgIChhcHAgcm91dGVyKVxuICAgKi9cbiAgcHJlZmV0Y2g/OiBib29sZWFuIHwgbnVsbFxuICAvKipcbiAgICogVGhlIGFjdGl2ZSBsb2NhbGUgaXMgYXV0b21hdGljYWxseSBwcmVwZW5kZWQuIGBsb2NhbGVgIGFsbG93cyBmb3IgcHJvdmlkaW5nIGEgZGlmZmVyZW50IGxvY2FsZS5cbiAgICogV2hlbiBgZmFsc2VgIGBocmVmYCBoYXMgdG8gaW5jbHVkZSB0aGUgbG9jYWxlIGFzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIGRpc2FibGVkLlxuICAgKiBOb3RlOiBUaGlzIGlzIG9ubHkgYXZhaWxhYmxlIGluIHRoZSBQYWdlcyBSb3V0ZXIuXG4gICAqL1xuICBsb2NhbGU/OiBzdHJpbmcgfCBmYWxzZVxuICAvKipcbiAgICogRW5hYmxlIGxlZ2FjeSBsaW5rIGJlaGF2aW9yLlxuICAgKiBAZGVmYXVsdFZhbHVlIGBmYWxzZWBcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvY29tbWl0LzQ4OWU2NWVkOTg1NDRlNjliMGFmZDdlMGNmYzNmOWY2YzJiODAzYjdcbiAgICovXG4gIGxlZ2FjeUJlaGF2aW9yPzogYm9vbGVhblxuICAvKipcbiAgICogT3B0aW9uYWwgZXZlbnQgaGFuZGxlciBmb3Igd2hlbiB0aGUgbW91c2UgcG9pbnRlciBpcyBtb3ZlZCBvbnRvIExpbmtcbiAgICovXG4gIG9uTW91c2VFbnRlcj86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxBbmNob3JFbGVtZW50PlxuICAvKipcbiAgICogT3B0aW9uYWwgZXZlbnQgaGFuZGxlciBmb3Igd2hlbiBMaW5rIGlzIHRvdWNoZWQuXG4gICAqL1xuICBvblRvdWNoU3RhcnQ/OiBSZWFjdC5Ub3VjaEV2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGV2ZW50IGhhbmRsZXIgZm9yIHdoZW4gTGluayBpcyBjbGlja2VkLlxuICAgKi9cbiAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxBbmNob3JFbGVtZW50PlxufVxuXG4vLyBUT0RPLUFQUDogSW5jbHVkZSB0aGUgZnVsbCBzZXQgb2YgQW5jaG9yIHByb3BzXG4vLyBhZGRpbmcgdGhpcyB0byB0aGUgcHVibGljbHkgZXhwb3J0ZWQgdHlwZSBjdXJyZW50bHkgYnJlYWtzIGV4aXN0aW5nIGFwcHNcblxuLy8gYFJvdXRlSW5mZXJUeXBlYCBpcyBhIHN0dWIgaGVyZSB0byBhdm9pZCBicmVha2luZyBgdHlwZWRSb3V0ZXNgIHdoZW4gdGhlIHR5cGVcbi8vIGlzbid0IGdlbmVyYXRlZCB5ZXQuIEl0IHdpbGwgYmUgcmVwbGFjZWQgd2hlbiB0aGUgd2VicGFjayBwbHVnaW4gcnVucy5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmV4cG9ydCB0eXBlIExpbmtQcm9wczxSb3V0ZUluZmVyVHlwZSA9IGFueT4gPSBJbnRlcm5hbExpbmtQcm9wc1xudHlwZSBMaW5rUHJvcHNSZXF1aXJlZCA9IFJlcXVpcmVkS2V5czxMaW5rUHJvcHM+XG50eXBlIExpbmtQcm9wc09wdGlvbmFsID0gT3B0aW9uYWxLZXlzPE9taXQ8SW50ZXJuYWxMaW5rUHJvcHMsICdsb2NhbGUnPj5cblxuZnVuY3Rpb24gcHJlZmV0Y2goXG4gIHJvdXRlcjogQXBwUm91dGVySW5zdGFuY2UsXG4gIGhyZWY6IHN0cmluZyxcbiAgb3B0aW9uczogUHJlZmV0Y2hPcHRpb25zXG4pOiB2b2lkIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBkb1ByZWZldGNoID0gYXN5bmMgKCkgPT4ge1xuICAgIC8vIG5vdGUgdGhhdCBgYXBwUm91dGVyLnByZWZldGNoKClgIGlzIGN1cnJlbnRseSBzeW5jLFxuICAgIC8vIHNvIHdlIGhhdmUgdG8gd3JhcCB0aGlzIGNhbGwgaW4gYW4gYXN5bmMgZnVuY3Rpb24gdG8gYmUgYWJsZSB0byBjYXRjaCgpIGVycm9ycyBiZWxvdy5cbiAgICByZXR1cm4gcm91dGVyLnByZWZldGNoKGhyZWYsIG9wdGlvbnMpXG4gIH1cblxuICAvLyBQcmVmZXRjaCB0aGUgcGFnZSBpZiBhc2tlZCAob25seSBpbiB0aGUgY2xpZW50KVxuICAvLyBXZSBuZWVkIHRvIGhhbmRsZSBhIHByZWZldGNoIGVycm9yIGhlcmUgc2luY2Ugd2UgbWF5IGJlXG4gIC8vIGxvYWRpbmcgd2l0aCBwcmlvcml0eSB3aGljaCBjYW4gcmVqZWN0IGJ1dCB3ZSBkb24ndFxuICAvLyB3YW50IHRvIGZvcmNlIG5hdmlnYXRpb24gc2luY2UgdGhpcyBpcyBvbmx5IGEgcHJlZmV0Y2hcbiAgZG9QcmVmZXRjaCgpLmNhdGNoKChlcnIpID0+IHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgLy8gcmV0aHJvdyB0byBzaG93IGludmFsaWQgVVJMIGVycm9yc1xuICAgICAgdGhyb3cgZXJyXG4gICAgfVxuICB9KVxufVxuXG5mdW5jdGlvbiBpc01vZGlmaWVkRXZlbnQoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxBbmNob3JFbGVtZW50IHwgU1ZHQUVsZW1lbnRcbiAgY29uc3QgdGFyZ2V0ID0gZXZlbnRUYXJnZXQuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKVxuICByZXR1cm4gKFxuICAgICh0YXJnZXQgJiYgdGFyZ2V0ICE9PSAnX3NlbGYnKSB8fFxuICAgIGV2ZW50Lm1ldGFLZXkgfHxcbiAgICBldmVudC5jdHJsS2V5IHx8XG4gICAgZXZlbnQuc2hpZnRLZXkgfHxcbiAgICBldmVudC5hbHRLZXkgfHwgLy8gdHJpZ2dlcnMgcmVzb3VyY2UgZG93bmxvYWRcbiAgICAoZXZlbnQubmF0aXZlRXZlbnQgJiYgZXZlbnQubmF0aXZlRXZlbnQud2hpY2ggPT09IDIpXG4gIClcbn1cblxuZnVuY3Rpb24gbGlua0NsaWNrZWQoXG4gIGU6IFJlYWN0Lk1vdXNlRXZlbnQsXG4gIHJvdXRlcjogTmV4dFJvdXRlciB8IEFwcFJvdXRlckluc3RhbmNlLFxuICBocmVmOiBzdHJpbmcsXG4gIGFzOiBzdHJpbmcsXG4gIHJlcGxhY2U/OiBib29sZWFuLFxuICBzaGFsbG93PzogYm9vbGVhbixcbiAgc2Nyb2xsPzogYm9vbGVhblxuKTogdm9pZCB7XG4gIGNvbnN0IHsgbm9kZU5hbWUgfSA9IGUuY3VycmVudFRhcmdldFxuXG4gIC8vIGFuY2hvcnMgaW5zaWRlIGFuIHN2ZyBoYXZlIGEgbG93ZXJjYXNlIG5vZGVOYW1lXG4gIGNvbnN0IGlzQW5jaG9yTm9kZU5hbWUgPSBub2RlTmFtZS50b1VwcGVyQ2FzZSgpID09PSAnQSdcblxuICBpZiAoaXNBbmNob3JOb2RlTmFtZSAmJiBpc01vZGlmaWVkRXZlbnQoZSkpIHtcbiAgICAvLyBpZ25vcmUgY2xpY2sgZm9yIGJyb3dzZXLigJlzIGRlZmF1bHQgYmVoYXZpb3JcbiAgICByZXR1cm5cbiAgfVxuXG4gIGUucHJldmVudERlZmF1bHQoKVxuXG4gIGNvbnN0IG5hdmlnYXRlID0gKCkgPT4ge1xuICAgIC8vIElmIHRoZSByb3V0ZXIgaXMgYW4gTmV4dFJvdXRlciBpbnN0YW5jZSBpdCB3aWxsIGhhdmUgYGJlZm9yZVBvcFN0YXRlYFxuICAgIGNvbnN0IHJvdXRlclNjcm9sbCA9IHNjcm9sbCA/PyB0cnVlXG4gICAgaWYgKCdiZWZvcmVQb3BTdGF0ZScgaW4gcm91dGVyKSB7XG4gICAgICByb3V0ZXJbcmVwbGFjZSA/ICdyZXBsYWNlJyA6ICdwdXNoJ10oaHJlZiwgYXMsIHtcbiAgICAgICAgc2hhbGxvdyxcbiAgICAgICAgc2Nyb2xsOiByb3V0ZXJTY3JvbGwsXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICByb3V0ZXJbcmVwbGFjZSA/ICdyZXBsYWNlJyA6ICdwdXNoJ10oYXMgfHwgaHJlZiwge1xuICAgICAgICBzY3JvbGw6IHJvdXRlclNjcm9sbCxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgUmVhY3Quc3RhcnRUcmFuc2l0aW9uKG5hdmlnYXRlKVxufVxuXG50eXBlIExpbmtQcm9wc1JlYWwgPSBSZWFjdC5Qcm9wc1dpdGhDaGlsZHJlbjxcbiAgT21pdDxSZWFjdC5BbmNob3JIVE1MQXR0cmlidXRlczxIVE1MQW5jaG9yRWxlbWVudD4sIGtleW9mIExpbmtQcm9wcz4gJlxuICAgIExpbmtQcm9wc1xuPlxuXG5mdW5jdGlvbiBmb3JtYXRTdHJpbmdPclVybCh1cmxPYmpPclN0cmluZzogVXJsT2JqZWN0IHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiB1cmxPYmpPclN0cmluZyA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdXJsT2JqT3JTdHJpbmdcbiAgfVxuXG4gIHJldHVybiBmb3JtYXRVcmwodXJsT2JqT3JTdHJpbmcpXG59XG5cbi8qKlxuICogQSBSZWFjdCBjb21wb25lbnQgdGhhdCBleHRlbmRzIHRoZSBIVE1MIGA8YT5gIGVsZW1lbnQgdG8gcHJvdmlkZSBbcHJlZmV0Y2hpbmddKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JvdXRpbmcvbGlua2luZy1hbmQtbmF2aWdhdGluZyMyLXByZWZldGNoaW5nKVxuICogYW5kIGNsaWVudC1zaWRlIG5hdmlnYXRpb24gYmV0d2VlbiByb3V0ZXMuXG4gKlxuICogSXQgaXMgdGhlIHByaW1hcnkgd2F5IHRvIG5hdmlnYXRlIGJldHdlZW4gcm91dGVzIGluIE5leHQuanMuXG4gKlxuICogUmVhZCBtb3JlOiBbTmV4dC5qcyBkb2NzOiBgPExpbms+YF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvY29tcG9uZW50cy9saW5rKVxuICovXG5jb25zdCBMaW5rID0gUmVhY3QuZm9yd2FyZFJlZjxIVE1MQW5jaG9yRWxlbWVudCwgTGlua1Byb3BzUmVhbD4oXG4gIGZ1bmN0aW9uIExpbmtDb21wb25lbnQocHJvcHMsIGZvcndhcmRlZFJlZikge1xuICAgIGxldCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG5cbiAgICBjb25zdCB7XG4gICAgICBocmVmOiBocmVmUHJvcCxcbiAgICAgIGFzOiBhc1Byb3AsXG4gICAgICBjaGlsZHJlbjogY2hpbGRyZW5Qcm9wLFxuICAgICAgcHJlZmV0Y2g6IHByZWZldGNoUHJvcCA9IG51bGwsXG4gICAgICBwYXNzSHJlZixcbiAgICAgIHJlcGxhY2UsXG4gICAgICBzaGFsbG93LFxuICAgICAgc2Nyb2xsLFxuICAgICAgb25DbGljayxcbiAgICAgIG9uTW91c2VFbnRlcjogb25Nb3VzZUVudGVyUHJvcCxcbiAgICAgIG9uVG91Y2hTdGFydDogb25Ub3VjaFN0YXJ0UHJvcCxcbiAgICAgIGxlZ2FjeUJlaGF2aW9yID0gZmFsc2UsXG4gICAgICAuLi5yZXN0UHJvcHNcbiAgICB9ID0gcHJvcHNcblxuICAgIGNoaWxkcmVuID0gY2hpbGRyZW5Qcm9wXG5cbiAgICBpZiAoXG4gICAgICBsZWdhY3lCZWhhdmlvciAmJlxuICAgICAgKHR5cGVvZiBjaGlsZHJlbiA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGNoaWxkcmVuID09PSAnbnVtYmVyJylcbiAgICApIHtcbiAgICAgIGNoaWxkcmVuID0gPGE+e2NoaWxkcmVufTwvYT5cbiAgICB9XG5cbiAgICBjb25zdCByb3V0ZXIgPSBSZWFjdC51c2VDb250ZXh0KEFwcFJvdXRlckNvbnRleHQpXG5cbiAgICBjb25zdCBwcmVmZXRjaEVuYWJsZWQgPSBwcmVmZXRjaFByb3AgIT09IGZhbHNlXG4gICAgLyoqXG4gICAgICogVGhlIHBvc3NpYmxlIHN0YXRlcyBmb3IgcHJlZmV0Y2ggYXJlOlxuICAgICAqIC0gbnVsbDogdGhpcyBpcyB0aGUgZGVmYXVsdCBcImF1dG9cIiBtb2RlLCB3aGVyZSB3ZSB3aWxsIHByZWZldGNoIHBhcnRpYWxseSBpZiB0aGUgbGluayBpcyBpbiB0aGUgdmlld3BvcnRcbiAgICAgKiAtIHRydWU6IHdlIHdpbGwgcHJlZmV0Y2ggaWYgdGhlIGxpbmsgaXMgdmlzaWJsZSBhbmQgcHJlZmV0Y2ggdGhlIGZ1bGwgcGFnZSwgbm90IGp1c3QgcGFydGlhbGx5XG4gICAgICogLSBmYWxzZTogd2Ugd2lsbCBub3QgcHJlZmV0Y2ggaWYgaW4gdGhlIHZpZXdwb3J0IGF0IGFsbFxuICAgICAqL1xuICAgIGNvbnN0IGFwcFByZWZldGNoS2luZCA9XG4gICAgICBwcmVmZXRjaFByb3AgPT09IG51bGwgPyBQcmVmZXRjaEtpbmQuQVVUTyA6IFByZWZldGNoS2luZC5GVUxMXG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgZnVuY3Rpb24gY3JlYXRlUHJvcEVycm9yKGFyZ3M6IHtcbiAgICAgICAga2V5OiBzdHJpbmdcbiAgICAgICAgZXhwZWN0ZWQ6IHN0cmluZ1xuICAgICAgICBhY3R1YWw6IHN0cmluZ1xuICAgICAgfSkge1xuICAgICAgICByZXR1cm4gbmV3IEVycm9yKFxuICAgICAgICAgIGBGYWlsZWQgcHJvcCB0eXBlOiBUaGUgcHJvcCBcXGAke2FyZ3Mua2V5fVxcYCBleHBlY3RzIGEgJHthcmdzLmV4cGVjdGVkfSBpbiBcXGA8TGluaz5cXGAsIGJ1dCBnb3QgXFxgJHthcmdzLmFjdHVhbH1cXGAgaW5zdGVhZC5gICtcbiAgICAgICAgICAgICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICA/IFwiXFxuT3BlbiB5b3VyIGJyb3dzZXIncyBjb25zb2xlIHRvIHZpZXcgdGhlIENvbXBvbmVudCBzdGFjayB0cmFjZS5cIlxuICAgICAgICAgICAgICA6ICcnKVxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIC8vIFR5cGVTY3JpcHQgdHJpY2sgZm9yIHR5cGUtZ3VhcmRpbmc6XG4gICAgICBjb25zdCByZXF1aXJlZFByb3BzR3VhcmQ6IFJlY29yZDxMaW5rUHJvcHNSZXF1aXJlZCwgdHJ1ZT4gPSB7XG4gICAgICAgIGhyZWY6IHRydWUsXG4gICAgICB9IGFzIGNvbnN0XG4gICAgICBjb25zdCByZXF1aXJlZFByb3BzOiBMaW5rUHJvcHNSZXF1aXJlZFtdID0gT2JqZWN0LmtleXMoXG4gICAgICAgIHJlcXVpcmVkUHJvcHNHdWFyZFxuICAgICAgKSBhcyBMaW5rUHJvcHNSZXF1aXJlZFtdXG4gICAgICByZXF1aXJlZFByb3BzLmZvckVhY2goKGtleTogTGlua1Byb3BzUmVxdWlyZWQpID0+IHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2hyZWYnKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgcHJvcHNba2V5XSA9PSBudWxsIHx8XG4gICAgICAgICAgICAodHlwZW9mIHByb3BzW2tleV0gIT09ICdzdHJpbmcnICYmIHR5cGVvZiBwcm9wc1trZXldICE9PSAnb2JqZWN0JylcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgZXhwZWN0ZWQ6ICdgc3RyaW5nYCBvciBgb2JqZWN0YCcsXG4gICAgICAgICAgICAgIGFjdHVhbDogcHJvcHNba2V5XSA9PT0gbnVsbCA/ICdudWxsJyA6IHR5cGVvZiBwcm9wc1trZXldLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgICAgY29uc3QgXzogbmV2ZXIgPSBrZXlcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgIGNvbnN0IG9wdGlvbmFsUHJvcHNHdWFyZDogUmVjb3JkPExpbmtQcm9wc09wdGlvbmFsLCB0cnVlPiA9IHtcbiAgICAgICAgYXM6IHRydWUsXG4gICAgICAgIHJlcGxhY2U6IHRydWUsXG4gICAgICAgIHNjcm9sbDogdHJ1ZSxcbiAgICAgICAgc2hhbGxvdzogdHJ1ZSxcbiAgICAgICAgcGFzc0hyZWY6IHRydWUsXG4gICAgICAgIHByZWZldGNoOiB0cnVlLFxuICAgICAgICBvbkNsaWNrOiB0cnVlLFxuICAgICAgICBvbk1vdXNlRW50ZXI6IHRydWUsXG4gICAgICAgIG9uVG91Y2hTdGFydDogdHJ1ZSxcbiAgICAgICAgbGVnYWN5QmVoYXZpb3I6IHRydWUsXG4gICAgICB9IGFzIGNvbnN0XG4gICAgICBjb25zdCBvcHRpb25hbFByb3BzOiBMaW5rUHJvcHNPcHRpb25hbFtdID0gT2JqZWN0LmtleXMoXG4gICAgICAgIG9wdGlvbmFsUHJvcHNHdWFyZFxuICAgICAgKSBhcyBMaW5rUHJvcHNPcHRpb25hbFtdXG4gICAgICBvcHRpb25hbFByb3BzLmZvckVhY2goKGtleTogTGlua1Byb3BzT3B0aW9uYWwpID0+IHtcbiAgICAgICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiBwcm9wc1trZXldXG5cbiAgICAgICAgaWYgKGtleSA9PT0gJ2FzJykge1xuICAgICAgICAgIGlmIChwcm9wc1trZXldICYmIHZhbFR5cGUgIT09ICdzdHJpbmcnICYmIHZhbFR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgIGV4cGVjdGVkOiAnYHN0cmluZ2Agb3IgYG9iamVjdGAnLFxuICAgICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBrZXkgPT09ICdvbkNsaWNrJyB8fFxuICAgICAgICAgIGtleSA9PT0gJ29uTW91c2VFbnRlcicgfHxcbiAgICAgICAgICBrZXkgPT09ICdvblRvdWNoU3RhcnQnXG4gICAgICAgICkge1xuICAgICAgICAgIGlmIChwcm9wc1trZXldICYmIHZhbFR5cGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgZXhwZWN0ZWQ6ICdgZnVuY3Rpb25gJyxcbiAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAga2V5ID09PSAncmVwbGFjZScgfHxcbiAgICAgICAgICBrZXkgPT09ICdzY3JvbGwnIHx8XG4gICAgICAgICAga2V5ID09PSAnc2hhbGxvdycgfHxcbiAgICAgICAgICBrZXkgPT09ICdwYXNzSHJlZicgfHxcbiAgICAgICAgICBrZXkgPT09ICdwcmVmZXRjaCcgfHxcbiAgICAgICAgICBrZXkgPT09ICdsZWdhY3lCZWhhdmlvcidcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKHByb3BzW2tleV0gIT0gbnVsbCAmJiB2YWxUeXBlICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgZXhwZWN0ZWQ6ICdgYm9vbGVhbmAnLFxuICAgICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICBjb25zdCBfOiBuZXZlciA9IGtleVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAocHJvcHMubG9jYWxlKSB7XG4gICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICdUaGUgYGxvY2FsZWAgcHJvcCBpcyBub3Qgc3VwcG9ydGVkIGluIGBuZXh0L2xpbmtgIHdoaWxlIHVzaW5nIHRoZSBgYXBwYCByb3V0ZXIuIFJlYWQgbW9yZSBhYm91dCBhcHAgcm91dGVyIGludGVybmFsaXphdGlvbjogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcm91dGluZy9pbnRlcm5hdGlvbmFsaXphdGlvbidcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgaWYgKCFhc1Byb3ApIHtcbiAgICAgICAgbGV0IGhyZWY6IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgICAgICBpZiAodHlwZW9mIGhyZWZQcm9wID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGhyZWYgPSBocmVmUHJvcFxuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIHR5cGVvZiBocmVmUHJvcCA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICB0eXBlb2YgaHJlZlByb3AucGF0aG5hbWUgPT09ICdzdHJpbmcnXG4gICAgICAgICkge1xuICAgICAgICAgIGhyZWYgPSBocmVmUHJvcC5wYXRobmFtZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhyZWYpIHtcbiAgICAgICAgICBjb25zdCBoYXNEeW5hbWljU2VnbWVudCA9IGhyZWZcbiAgICAgICAgICAgIC5zcGxpdCgnLycpXG4gICAgICAgICAgICAuc29tZSgoc2VnbWVudCkgPT4gc2VnbWVudC5zdGFydHNXaXRoKCdbJykgJiYgc2VnbWVudC5lbmRzV2l0aCgnXScpKVxuXG4gICAgICAgICAgaWYgKGhhc0R5bmFtaWNTZWdtZW50KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBEeW5hbWljIGhyZWYgXFxgJHtocmVmfVxcYCBmb3VuZCBpbiA8TGluaz4gd2hpbGUgdXNpbmcgdGhlIFxcYC9hcHBcXGAgcm91dGVyLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvYXBwLWRpci1keW5hbWljLWhyZWZgXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgeyBocmVmLCBhcyB9ID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCByZXNvbHZlZEhyZWYgPSBmb3JtYXRTdHJpbmdPclVybChocmVmUHJvcClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGhyZWY6IHJlc29sdmVkSHJlZixcbiAgICAgICAgYXM6IGFzUHJvcCA/IGZvcm1hdFN0cmluZ09yVXJsKGFzUHJvcCkgOiByZXNvbHZlZEhyZWYsXG4gICAgICB9XG4gICAgfSwgW2hyZWZQcm9wLCBhc1Byb3BdKVxuXG4gICAgY29uc3QgcHJldmlvdXNIcmVmID0gUmVhY3QudXNlUmVmPHN0cmluZz4oaHJlZilcbiAgICBjb25zdCBwcmV2aW91c0FzID0gUmVhY3QudXNlUmVmPHN0cmluZz4oYXMpXG5cbiAgICAvLyBUaGlzIHdpbGwgcmV0dXJuIHRoZSBmaXJzdCBjaGlsZCwgaWYgbXVsdGlwbGUgYXJlIHByb3ZpZGVkIGl0IHdpbGwgdGhyb3cgYW4gZXJyb3JcbiAgICBsZXQgY2hpbGQ6IGFueVxuICAgIGlmIChsZWdhY3lCZWhhdmlvcikge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnKSB7XG4gICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYFwib25DbGlja1wiIHdhcyBwYXNzZWQgdG8gPExpbms+IHdpdGggXFxgaHJlZlxcYCBvZiBcXGAke2hyZWZQcm9wfVxcYCBidXQgXCJsZWdhY3lCZWhhdmlvclwiIHdhcyBzZXQuIFRoZSBsZWdhY3kgYmVoYXZpb3IgcmVxdWlyZXMgb25DbGljayBiZSBzZXQgb24gdGhlIGNoaWxkIG9mIG5leHQvbGlua2BcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9uTW91c2VFbnRlclByb3ApIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgXCJvbk1vdXNlRW50ZXJcIiB3YXMgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIFxcYGhyZWZcXGAgb2YgXFxgJHtocmVmUHJvcH1cXGAgYnV0IFwibGVnYWN5QmVoYXZpb3JcIiB3YXMgc2V0LiBUaGUgbGVnYWN5IGJlaGF2aW9yIHJlcXVpcmVzIG9uTW91c2VFbnRlciBiZSBzZXQgb24gdGhlIGNoaWxkIG9mIG5leHQvbGlua2BcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjaGlsZCA9IFJlYWN0LkNoaWxkcmVuLm9ubHkoY2hpbGRyZW4pXG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGlmICghY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgYE5vIGNoaWxkcmVuIHdlcmUgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIFxcYGhyZWZcXGAgb2YgXFxgJHtocmVmUHJvcH1cXGAgYnV0IG9uZSBjaGlsZCBpcyByZXF1aXJlZCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9saW5rLW5vLWNoaWxkcmVuYFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgTXVsdGlwbGUgY2hpbGRyZW4gd2VyZSBwYXNzZWQgdG8gPExpbms+IHdpdGggXFxgaHJlZlxcYCBvZiBcXGAke2hyZWZQcm9wfVxcYCBidXQgb25seSBvbmUgY2hpbGQgaXMgc3VwcG9ydGVkIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2xpbmstbXVsdGlwbGUtY2hpbGRyZW5gICtcbiAgICAgICAgICAgICAgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgPyBcIiBcXG5PcGVuIHlvdXIgYnJvd3NlcidzIGNvbnNvbGUgdG8gdmlldyB0aGUgQ29tcG9uZW50IHN0YWNrIHRyYWNlLlwiXG4gICAgICAgICAgICAgICAgOiAnJylcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNoaWxkID0gUmVhY3QuQ2hpbGRyZW4ub25seShjaGlsZHJlbilcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnKSB7XG4gICAgICAgIGlmICgoY2hpbGRyZW4gYXMgYW55KT8udHlwZSA9PT0gJ2EnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ0ludmFsaWQgPExpbms+IHdpdGggPGE+IGNoaWxkLiBQbGVhc2UgcmVtb3ZlIDxhPiBvciB1c2UgPExpbmsgbGVnYWN5QmVoYXZpb3I+LlxcbkxlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2ludmFsaWQtbmV3LWxpbmstd2l0aC1leHRyYS1hbmNob3InXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGRSZWY6IGFueSA9IGxlZ2FjeUJlaGF2aW9yXG4gICAgICA/IGNoaWxkICYmIHR5cGVvZiBjaGlsZCA9PT0gJ29iamVjdCcgJiYgY2hpbGQucmVmXG4gICAgICA6IGZvcndhcmRlZFJlZlxuXG4gICAgY29uc3QgW3NldEludGVyc2VjdGlvblJlZiwgaXNWaXNpYmxlLCByZXNldFZpc2libGVdID0gdXNlSW50ZXJzZWN0aW9uKHtcbiAgICAgIHJvb3RNYXJnaW46ICcyMDBweCcsXG4gICAgfSlcblxuICAgIGNvbnN0IHNldEludGVyc2VjdGlvbldpdGhSZXNldFJlZiA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgICAgKGVsOiBFbGVtZW50KSA9PiB7XG4gICAgICAgIC8vIEJlZm9yZSB0aGUgbGluayBnZXR0aW5nIG9ic2VydmVkLCBjaGVjayBpZiB2aXNpYmxlIHN0YXRlIG5lZWQgdG8gYmUgcmVzZXRcbiAgICAgICAgaWYgKHByZXZpb3VzQXMuY3VycmVudCAhPT0gYXMgfHwgcHJldmlvdXNIcmVmLmN1cnJlbnQgIT09IGhyZWYpIHtcbiAgICAgICAgICByZXNldFZpc2libGUoKVxuICAgICAgICAgIHByZXZpb3VzQXMuY3VycmVudCA9IGFzXG4gICAgICAgICAgcHJldmlvdXNIcmVmLmN1cnJlbnQgPSBocmVmXG4gICAgICAgIH1cblxuICAgICAgICBzZXRJbnRlcnNlY3Rpb25SZWYoZWwpXG4gICAgICB9LFxuICAgICAgW2FzLCBocmVmLCByZXNldFZpc2libGUsIHNldEludGVyc2VjdGlvblJlZl1cbiAgICApXG5cbiAgICBjb25zdCBzZXRSZWYgPSB1c2VNZXJnZWRSZWYoc2V0SW50ZXJzZWN0aW9uV2l0aFJlc2V0UmVmLCBjaGlsZFJlZilcblxuICAgIC8vIFByZWZldGNoIHRoZSBVUkwgaWYgd2UgaGF2ZW4ndCBhbHJlYWR5IGFuZCBpdCdzIHZpc2libGUuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIC8vIGluIGRldiwgd2Ugb25seSBwcmVmZXRjaCBvbiBob3ZlciB0byBhdm9pZCB3YXN0aW5nIHJlc291cmNlcyBhcyB0aGUgcHJlZmV0Y2ggd2lsbCB0cmlnZ2VyIGNvbXBpbGluZyB0aGUgcGFnZS5cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gSWYgd2UgZG9uJ3QgbmVlZCB0byBwcmVmZXRjaCB0aGUgVVJMLCBkb24ndCBkbyBwcmVmZXRjaC5cbiAgICAgIGlmICghaXNWaXNpYmxlIHx8ICFwcmVmZXRjaEVuYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIFByZWZldGNoIHRoZSBVUkwuXG4gICAgICBwcmVmZXRjaChyb3V0ZXIsIGhyZWYsIHtcbiAgICAgICAga2luZDogYXBwUHJlZmV0Y2hLaW5kLFxuICAgICAgfSlcbiAgICB9LCBbYXMsIGhyZWYsIGlzVmlzaWJsZSwgcHJlZmV0Y2hFbmFibGVkLCByb3V0ZXIsIGFwcFByZWZldGNoS2luZF0pXG5cbiAgICBjb25zdCBjaGlsZFByb3BzOiB7XG4gICAgICBvblRvdWNoU3RhcnQ/OiBSZWFjdC5Ub3VjaEV2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD5cbiAgICAgIG9uTW91c2VFbnRlcjogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+XG4gICAgICBvbkNsaWNrOiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD5cbiAgICAgIGhyZWY/OiBzdHJpbmdcbiAgICAgIHJlZj86IGFueVxuICAgIH0gPSB7XG4gICAgICByZWY6IHNldFJlZixcbiAgICAgIG9uQ2xpY2soZSkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGlmICghZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgQ29tcG9uZW50IHJlbmRlcmVkIGluc2lkZSBuZXh0L2xpbmsgaGFzIHRvIHBhc3MgY2xpY2sgZXZlbnQgdG8gXCJvbkNsaWNrXCIgcHJvcC5gXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFsZWdhY3lCZWhhdmlvciAmJiB0eXBlb2Ygb25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIG9uQ2xpY2soZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBsZWdhY3lCZWhhdmlvciAmJlxuICAgICAgICAgIGNoaWxkLnByb3BzICYmXG4gICAgICAgICAgdHlwZW9mIGNoaWxkLnByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbidcbiAgICAgICAgKSB7XG4gICAgICAgICAgY2hpbGQucHJvcHMub25DbGljayhlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyb3V0ZXIpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlLmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGxpbmtDbGlja2VkKGUsIHJvdXRlciwgaHJlZiwgYXMsIHJlcGxhY2UsIHNoYWxsb3csIHNjcm9sbClcbiAgICAgIH0sXG4gICAgICBvbk1vdXNlRW50ZXIoZSkge1xuICAgICAgICBpZiAoIWxlZ2FjeUJlaGF2aW9yICYmIHR5cGVvZiBvbk1vdXNlRW50ZXJQcm9wID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgb25Nb3VzZUVudGVyUHJvcChlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGxlZ2FjeUJlaGF2aW9yICYmXG4gICAgICAgICAgY2hpbGQucHJvcHMgJiZcbiAgICAgICAgICB0eXBlb2YgY2hpbGQucHJvcHMub25Nb3VzZUVudGVyID09PSAnZnVuY3Rpb24nXG4gICAgICAgICkge1xuICAgICAgICAgIGNoaWxkLnByb3BzLm9uTW91c2VFbnRlcihlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyb3V0ZXIpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcHJlZmV0Y2hFbmFibGVkIHx8IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBwcmVmZXRjaChyb3V0ZXIsIGhyZWYsIHtcbiAgICAgICAgICBraW5kOiBhcHBQcmVmZXRjaEtpbmQsXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgb25Ub3VjaFN0YXJ0OiBwcm9jZXNzLmVudi5fX05FWFRfTElOS19OT19UT1VDSF9TVEFSVFxuICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICA6IGZ1bmN0aW9uIG9uVG91Y2hTdGFydChlKSB7XG4gICAgICAgICAgICBpZiAoIWxlZ2FjeUJlaGF2aW9yICYmIHR5cGVvZiBvblRvdWNoU3RhcnRQcm9wID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIG9uVG91Y2hTdGFydFByb3AoZSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBsZWdhY3lCZWhhdmlvciAmJlxuICAgICAgICAgICAgICBjaGlsZC5wcm9wcyAmJlxuICAgICAgICAgICAgICB0eXBlb2YgY2hpbGQucHJvcHMub25Ub3VjaFN0YXJ0ID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY2hpbGQucHJvcHMub25Ub3VjaFN0YXJ0KGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXByZWZldGNoRW5hYmxlZCkge1xuICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJlZmV0Y2gocm91dGVyLCBocmVmLCB7XG4gICAgICAgICAgICAgIGtpbmQ6IGFwcFByZWZldGNoS2luZCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSxcbiAgICB9XG5cbiAgICAvLyBJZiBjaGlsZCBpcyBhbiA8YT4gdGFnIGFuZCBkb2Vzbid0IGhhdmUgYSBocmVmIGF0dHJpYnV0ZSwgb3IgaWYgdGhlICdwYXNzSHJlZicgcHJvcGVydHkgaXNcbiAgICAvLyBkZWZpbmVkLCB3ZSBzcGVjaWZ5IHRoZSBjdXJyZW50ICdocmVmJywgc28gdGhhdCByZXBldGl0aW9uIGlzIG5vdCBuZWVkZWQgYnkgdGhlIHVzZXIuXG4gICAgLy8gSWYgdGhlIHVybCBpcyBhYnNvbHV0ZSwgd2UgY2FuIGJ5cGFzcyB0aGUgbG9naWMgdG8gcHJlcGVuZCB0aGUgYmFzZVBhdGguXG4gICAgaWYgKGlzQWJzb2x1dGVVcmwoYXMpKSB7XG4gICAgICBjaGlsZFByb3BzLmhyZWYgPSBhc1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAhbGVnYWN5QmVoYXZpb3IgfHxcbiAgICAgIHBhc3NIcmVmIHx8XG4gICAgICAoY2hpbGQudHlwZSA9PT0gJ2EnICYmICEoJ2hyZWYnIGluIGNoaWxkLnByb3BzKSlcbiAgICApIHtcbiAgICAgIGNoaWxkUHJvcHMuaHJlZiA9IGFkZEJhc2VQYXRoKGFzKVxuICAgIH1cblxuICAgIHJldHVybiBsZWdhY3lCZWhhdmlvciA/IChcbiAgICAgIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgY2hpbGRQcm9wcylcbiAgICApIDogKFxuICAgICAgPGEgey4uLnJlc3RQcm9wc30gey4uLmNoaWxkUHJvcHN9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2E+XG4gICAgKVxuICB9XG4pXG5cbmV4cG9ydCBkZWZhdWx0IExpbmtcbiJdLCJuYW1lcyI6WyJwcmVmZXRjaCIsInJvdXRlciIsImhyZWYiLCJvcHRpb25zIiwid2luZG93IiwiZG9QcmVmZXRjaCIsImNhdGNoIiwiZXJyIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiaXNNb2RpZmllZEV2ZW50IiwiZXZlbnQiLCJldmVudFRhcmdldCIsImN1cnJlbnRUYXJnZXQiLCJ0YXJnZXQiLCJnZXRBdHRyaWJ1dGUiLCJtZXRhS2V5IiwiY3RybEtleSIsInNoaWZ0S2V5IiwiYWx0S2V5IiwibmF0aXZlRXZlbnQiLCJ3aGljaCIsImxpbmtDbGlja2VkIiwiZSIsImFzIiwicmVwbGFjZSIsInNoYWxsb3ciLCJzY3JvbGwiLCJub2RlTmFtZSIsImlzQW5jaG9yTm9kZU5hbWUiLCJ0b1VwcGVyQ2FzZSIsInByZXZlbnREZWZhdWx0IiwibmF2aWdhdGUiLCJyb3V0ZXJTY3JvbGwiLCJSZWFjdCIsInN0YXJ0VHJhbnNpdGlvbiIsImZvcm1hdFN0cmluZ09yVXJsIiwidXJsT2JqT3JTdHJpbmciLCJmb3JtYXRVcmwiLCJMaW5rIiwiZm9yd2FyZFJlZiIsIkxpbmtDb21wb25lbnQiLCJwcm9wcyIsImZvcndhcmRlZFJlZiIsImNoaWxkcmVuIiwiaHJlZlByb3AiLCJhc1Byb3AiLCJjaGlsZHJlblByb3AiLCJwcmVmZXRjaFByb3AiLCJwYXNzSHJlZiIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlRW50ZXJQcm9wIiwib25Ub3VjaFN0YXJ0Iiwib25Ub3VjaFN0YXJ0UHJvcCIsImxlZ2FjeUJlaGF2aW9yIiwicmVzdFByb3BzIiwiYSIsInVzZUNvbnRleHQiLCJBcHBSb3V0ZXJDb250ZXh0IiwicHJlZmV0Y2hFbmFibGVkIiwiYXBwUHJlZmV0Y2hLaW5kIiwiUHJlZmV0Y2hLaW5kIiwiQVVUTyIsIkZVTEwiLCJjcmVhdGVQcm9wRXJyb3IiLCJhcmdzIiwiRXJyb3IiLCJrZXkiLCJleHBlY3RlZCIsImFjdHVhbCIsInJlcXVpcmVkUHJvcHNHdWFyZCIsInJlcXVpcmVkUHJvcHMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsIl8iLCJvcHRpb25hbFByb3BzR3VhcmQiLCJvcHRpb25hbFByb3BzIiwidmFsVHlwZSIsImxvY2FsZSIsIndhcm5PbmNlIiwicGF0aG5hbWUiLCJoYXNEeW5hbWljU2VnbWVudCIsInNwbGl0Iiwic29tZSIsInNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJ1c2VNZW1vIiwicmVzb2x2ZWRIcmVmIiwicHJldmlvdXNIcmVmIiwidXNlUmVmIiwicHJldmlvdXNBcyIsImNoaWxkIiwiY29uc29sZSIsIndhcm4iLCJDaGlsZHJlbiIsIm9ubHkiLCJ0eXBlIiwiY2hpbGRSZWYiLCJyZWYiLCJzZXRJbnRlcnNlY3Rpb25SZWYiLCJpc1Zpc2libGUiLCJyZXNldFZpc2libGUiLCJ1c2VJbnRlcnNlY3Rpb24iLCJyb290TWFyZ2luIiwic2V0SW50ZXJzZWN0aW9uV2l0aFJlc2V0UmVmIiwidXNlQ2FsbGJhY2siLCJlbCIsImN1cnJlbnQiLCJzZXRSZWYiLCJ1c2VNZXJnZWRSZWYiLCJ1c2VFZmZlY3QiLCJraW5kIiwiY2hpbGRQcm9wcyIsImRlZmF1bHRQcmV2ZW50ZWQiLCJfX05FWFRfTElOS19OT19UT1VDSF9TVEFSVCIsInVuZGVmaW5lZCIsImlzQWJzb2x1dGVVcmwiLCJhZGRCYXNlUGF0aCIsImNsb25lRWxlbWVudCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/app-dir/link.js\n"); /***/ }), @@ -181,7 +170,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n})); /***/ ((module, exports, __webpack_require__) => { "use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HTTPAccessFallbackBoundary\", ({\n enumerable: true,\n get: function() {\n return HTTPAccessFallbackBoundary;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigationuntracked = __webpack_require__(/*! ../navigation-untracked */ \"(ssr)/./node_modules/next/dist/client/components/navigation-untracked.js\");\nconst _httpaccessfallback = __webpack_require__(/*! ./http-access-fallback */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js\");\nconst _warnonce = __webpack_require__(/*! ../../../shared/lib/utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js\");\nclass HTTPAccessFallbackErrorBoundary extends _react.default.Component {\n componentDidCatch() {\n if ( true && this.props.missingSlots && // A missing children slot is the typical not-found case, so no need to warn\n !this.props.missingSlots.has('children')) {\n let warningMessage = 'No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\\n' + 'Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\\n\\n';\n if (this.props.missingSlots.size > 0) {\n const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>\"@\" + slot).join(', ');\n warningMessage += 'Missing slots: ' + formattedSlots;\n }\n (0, _warnonce.warnOnce)(warningMessage);\n }\n }\n static getDerivedStateFromError(error) {\n if ((0, _httpaccessfallback.isHTTPAccessFallbackError)(error)) {\n const httpStatus = (0, _httpaccessfallback.getAccessFallbackHTTPStatus)(error);\n return {\n triggeredStatus: httpStatus\n };\n }\n // Re-throw if error is not for 404\n throw error;\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.triggeredStatus) {\n return {\n triggeredStatus: undefined,\n previousPathname: props.pathname\n };\n }\n return {\n triggeredStatus: state.triggeredStatus,\n previousPathname: props.pathname\n };\n }\n render() {\n const { notFound, forbidden, unauthorized, children } = this.props;\n const { triggeredStatus } = this.state;\n const errorComponents = {\n [_httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND]: notFound,\n [_httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN]: forbidden,\n [_httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED]: unauthorized\n };\n if (triggeredStatus) {\n const isNotFound = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND && notFound;\n const isForbidden = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN && forbidden;\n const isUnauthorized = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED && unauthorized;\n // If there's no matched boundary in this layer, keep throwing the error by rendering the children\n if (!(isNotFound || isForbidden || isUnauthorized)) {\n return children;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"robots\",\n content: \"noindex\"\n }),\n true && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-error\",\n content: (0, _httpaccessfallback.getAccessFallbackErrorTypeByStatus)(triggeredStatus)\n }),\n errorComponents[triggeredStatus]\n ]\n });\n }\n return children;\n }\n constructor(props){\n super(props);\n this.state = {\n triggeredStatus: undefined,\n previousPathname: props.pathname\n };\n }\n}\nfunction HTTPAccessFallbackBoundary(param) {\n let { notFound, forbidden, unauthorized, children } = param;\n // When we're rendering the missing params shell, this will return null. This\n // is because we won't be rendering any not found boundaries or error\n // boundaries for the missing params shell. When this runs on the client\n // (where these error can occur), we will get the correct pathname.\n const pathname = (0, _navigationuntracked.useUntrackedPathname)();\n const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);\n const hasErrorFallback = !!(notFound || forbidden || unauthorized);\n if (hasErrorFallback) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(HTTPAccessFallbackErrorBoundary, {\n pathname: pathname,\n notFound: notFound,\n forbidden: forbidden,\n unauthorized: unauthorized,\n missingSlots: missingSlots,\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=error-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2h0dHAtYWNjZXNzLWZhbGxiYWNrL2Vycm9yLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7OERBd0pnQkE7OztlQUFBQTs7Ozs7NkVBM0lrQjtpREFDRztnREFNOUI7c0NBQ2tCOzJEQUNVO0FBcUJuQyxNQUFNQyx3Q0FBd0NDLE9BQUFBLE9BQUssQ0FBQ0MsU0FBUztJQVkzREMsb0JBQTBCO1FBQ3hCLElBQ0VDLEtBQW9CLElBQ3BCLElBQUksQ0FBQ0csS0FBSyxDQUFDQyxZQUFZLElBQ3ZCLDRFQUE0RTtRQUM1RSxDQUFDLElBQUksQ0FBQ0QsS0FBSyxDQUFDQyxZQUFZLENBQUNDLEdBQUcsQ0FBQyxhQUM3QjtZQUNBLElBQUlDLGlCQUNGLDRIQUNBO1lBRUYsSUFBSSxJQUFJLENBQUNILEtBQUssQ0FBQ0MsWUFBWSxDQUFDRyxJQUFJLEdBQUcsR0FBRztnQkFDcEMsTUFBTUMsaUJBQWlCQyxNQUFNQyxJQUFJLENBQUMsSUFBSSxDQUFDUCxLQUFLLENBQUNDLFlBQVksRUFDdERPLElBQUksQ0FBQyxDQUFDQyxHQUFHQyxJQUFNRCxFQUFFRSxhQUFhLENBQUNELElBQy9CRSxHQUFHLENBQUMsQ0FBQ0MsT0FBVSxNQUFHQSxNQUNsQkMsSUFBSSxDQUFDO2dCQUVSWCxrQkFBa0Isb0JBQW9CRTtZQUN4QztZQUVBVSxDQUFBQSxHQUFBQSxVQUFBQSxRQUFBQSxFQUFTWjtRQUNYO0lBQ0Y7SUFFQSxPQUFPYSx5QkFBeUJDLEtBQVUsRUFBRTtRQUMxQyxJQUFJQyxDQUFBQSxHQUFBQSxvQkFBQUEseUJBQUFBLEVBQTBCRCxRQUFRO1lBQ3BDLE1BQU1FLGFBQWFDLENBQUFBLEdBQUFBLG9CQUFBQSwyQkFBQUEsRUFBNEJIO1lBQy9DLE9BQU87Z0JBQ0xJLGlCQUFpQkY7WUFDbkI7UUFDRjtRQUNBLG1DQUFtQztRQUNuQyxNQUFNRjtJQUNSO0lBRUEsT0FBT0sseUJBQ0x0QixLQUEyQyxFQUMzQ3VCLEtBQThCLEVBQ0U7UUFDaEM7Ozs7O0tBS0MsR0FDRCxJQUFJdkIsTUFBTXdCLFFBQVEsS0FBS0QsTUFBTUUsZ0JBQWdCLElBQUlGLE1BQU1GLGVBQWUsRUFBRTtZQUN0RSxPQUFPO2dCQUNMQSxpQkFBaUJLO2dCQUNqQkQsa0JBQWtCekIsTUFBTXdCLFFBQVE7WUFDbEM7UUFDRjtRQUNBLE9BQU87WUFDTEgsaUJBQWlCRSxNQUFNRixlQUFlO1lBQ3RDSSxrQkFBa0J6QixNQUFNd0IsUUFBUTtRQUNsQztJQUNGO0lBRUFHLFNBQVM7UUFDUCxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxZQUFZLEVBQUVDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQy9CLEtBQUs7UUFDbEUsTUFBTSxFQUFFcUIsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDRSxLQUFLO1FBQ3RDLE1BQU1TLGtCQUFrQjtZQUN0QixDQUFDQyxvQkFBQUEscUJBQXFCLENBQUNDLFNBQVMsQ0FBQyxFQUFFTjtZQUNuQyxDQUFDSyxvQkFBQUEscUJBQXFCLENBQUNFLFNBQVMsQ0FBQyxFQUFFTjtZQUNuQyxDQUFDSSxvQkFBQUEscUJBQXFCLENBQUNHLFlBQVksQ0FBQyxFQUFFTjtRQUN4QztRQUVBLElBQUlULGlCQUFpQjtZQUNuQixNQUFNZ0IsYUFDSmhCLG9CQUFvQlksb0JBQUFBLHFCQUFxQixDQUFDQyxTQUFTLElBQUlOO1lBQ3pELE1BQU1VLGNBQ0pqQixvQkFBb0JZLG9CQUFBQSxxQkFBcUIsQ0FBQ0UsU0FBUyxJQUFJTjtZQUN6RCxNQUFNVSxpQkFDSmxCLG9CQUFvQlksb0JBQUFBLHFCQUFxQixDQUFDRyxZQUFZLElBQUlOO1lBRTVELGtHQUFrRztZQUNsRyxJQUFJLENBQUVPLENBQUFBLGNBQWNDLGVBQWVDLGNBQUFBLENBQWEsRUFBSTtnQkFDbEQsT0FBT1I7WUFDVDtZQUVBLHFCQUNFOztrQ0FDRSxxQkFBQ1MsUUFBQUE7d0JBQUtDLE1BQUs7d0JBQVNDLFNBQVE7O29CQVhWVCxLQVlxQixJQUFiLGNBQ3hCLHFCQUFDTyxRQUFBQTt3QkFDQ0MsTUFBSzt3QkFDTEMsU0FBU0MsQ0FBQUEsR0FBQUEsb0JBQUFBLGtDQUFBQSxFQUFtQ3RCOztvQkFHL0NXLGVBQWUsQ0FBQ1gsZ0JBQWdCOzs7UUFHdkM7UUFFQSxPQUFPVTtJQUNUO0lBdEdBYSxZQUFZNUMsS0FBMkMsQ0FBRTtRQUN2RCxLQUFLLENBQUNBO1FBQ04sSUFBSSxDQUFDdUIsS0FBSyxHQUFHO1lBQ1hGLGlCQUFpQks7WUFDakJELGtCQUFrQnpCLE1BQU13QixRQUFRO1FBQ2xDO0lBQ0Y7QUFpR0Y7QUFFTyxTQUFTaEMsMkJBQTJCLEtBS1Q7SUFMUyxNQUN6Q29DLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxZQUFZLEVBQ1pDLFFBQVEsRUFDd0IsR0FMUztJQU16Qyw2RUFBNkU7SUFDN0UscUVBQXFFO0lBQ3JFLHdFQUF3RTtJQUN4RSxtRUFBbUU7SUFDbkUsTUFBTVAsV0FBV3FCLENBQUFBLEdBQUFBLHFCQUFBQSxvQkFBQUE7SUFDakIsTUFBTTVDLGVBQWU2QyxDQUFBQSxHQUFBQSxPQUFBQSxVQUFBQSxFQUFXQywrQkFBQUEsa0JBQWtCO0lBQ2xELE1BQU1DLG1CQUFtQixDQUFDLENBQUVwQixDQUFBQSxZQUFZQyxhQUFhQyxZQUFBQSxDQUFXO0lBRWhFLElBQUlrQixrQkFBa0I7UUFDcEIscUJBQ0UscUJBQUN2RCxpQ0FBQUE7WUFDQytCLFVBQVVBO1lBQ1ZJLFVBQVVBO1lBQ1ZDLFdBQVdBO1lBQ1hDLGNBQWNBO1lBQ2Q3QixjQUFjQTtzQkFFYjhCOztJQUdQO0lBRUEscUJBQU87a0JBQUdBOztBQUNaIiwic291cmNlcyI6WyJFOlxcc3JjXFxjbGllbnRcXGNvbXBvbmVudHNcXGh0dHAtYWNjZXNzLWZhbGxiYWNrXFxlcnJvci1ib3VuZGFyeS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbi8qKlxuICogSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnkgaXMgYSBib3VuZGFyeSB0aGF0IGNhdGNoZXMgZXJyb3JzIGFuZCByZW5kZXJzIGFcbiAqIGZhbGxiYWNrIGNvbXBvbmVudCBmb3IgSFRUUCBlcnJvcnMuXG4gKlxuICogSXQgcmVjZWl2ZXMgdGhlIHN0YXR1cyBjb2RlLCBhbmQgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCByZW5kZXIgZmFsbGJhY2tzIGZvciBmZXcgSFRUUCA0eHggZXJyb3JzLlxuICpcbiAqIGUuZy4gNDA0XG4gKiA0MDQgcmVwcmVzZW50cyBub3QgZm91bmQsIGFuZCB0aGUgZmFsbGJhY2sgY29tcG9uZW50IHBhaXIgY29udGFpbnMgdGhlIGNvbXBvbmVudCBhbmQgaXRzIHN0eWxlcy5cbiAqXG4gKi9cblxuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVVudHJhY2tlZFBhdGhuYW1lIH0gZnJvbSAnLi4vbmF2aWdhdGlvbi11bnRyYWNrZWQnXG5pbXBvcnQge1xuICBIVFRQQWNjZXNzRXJyb3JTdGF0dXMsXG4gIGdldEFjY2Vzc0ZhbGxiYWNrSFRUUFN0YXR1cyxcbiAgZ2V0QWNjZXNzRmFsbGJhY2tFcnJvclR5cGVCeVN0YXR1cyxcbiAgaXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcixcbn0gZnJvbSAnLi9odHRwLWFjY2Vzcy1mYWxsYmFjaydcbmltcG9ydCB7IHdhcm5PbmNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2xpYi91dGlscy93YXJuLW9uY2UnXG5pbXBvcnQgeyBNaXNzaW5nU2xvdENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcblxuaW50ZXJmYWNlIEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5UHJvcHMge1xuICBub3RGb3VuZD86IFJlYWN0LlJlYWN0Tm9kZVxuICBmb3JiaWRkZW4/OiBSZWFjdC5SZWFjdE5vZGVcbiAgdW5hdXRob3JpemVkPzogUmVhY3QuUmVhY3ROb2RlXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgbWlzc2luZ1Nsb3RzPzogU2V0PHN0cmluZz5cbn1cblxuaW50ZXJmYWNlIEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yQm91bmRhcnlQcm9wc1xuICBleHRlbmRzIEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5UHJvcHMge1xuICBwYXRobmFtZTogc3RyaW5nIHwgbnVsbFxuICBtaXNzaW5nU2xvdHM/OiBTZXQ8c3RyaW5nPlxufVxuXG5pbnRlcmZhY2UgSFRUUEFjY2Vzc0JvdW5kYXJ5U3RhdGUge1xuICB0cmlnZ2VyZWRTdGF0dXM6IG51bWJlciB8IHVuZGVmaW5lZFxuICBwcmV2aW91c1BhdGhuYW1lOiBzdHJpbmcgfCBudWxsXG59XG5cbmNsYXNzIEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yQm91bmRhcnkgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8XG4gIEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yQm91bmRhcnlQcm9wcyxcbiAgSFRUUEFjY2Vzc0JvdW5kYXJ5U3RhdGVcbj4ge1xuICBjb25zdHJ1Y3Rvcihwcm9wczogSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3JCb3VuZGFyeVByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRyaWdnZXJlZFN0YXR1czogdW5kZWZpbmVkLFxuICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWUsXG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkQ2F0Y2goKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcgJiZcbiAgICAgIHRoaXMucHJvcHMubWlzc2luZ1Nsb3RzICYmXG4gICAgICAvLyBBIG1pc3NpbmcgY2hpbGRyZW4gc2xvdCBpcyB0aGUgdHlwaWNhbCBub3QtZm91bmQgY2FzZSwgc28gbm8gbmVlZCB0byB3YXJuXG4gICAgICAhdGhpcy5wcm9wcy5taXNzaW5nU2xvdHMuaGFzKCdjaGlsZHJlbicpXG4gICAgKSB7XG4gICAgICBsZXQgd2FybmluZ01lc3NhZ2UgPVxuICAgICAgICAnTm8gZGVmYXVsdCBjb21wb25lbnQgd2FzIGZvdW5kIGZvciBhIHBhcmFsbGVsIHJvdXRlIHJlbmRlcmVkIG9uIHRoaXMgcGFnZS4gRmFsbGluZyBiYWNrIHRvIG5lYXJlc3QgTm90Rm91bmQgYm91bmRhcnkuXFxuJyArXG4gICAgICAgICdMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yb3V0aW5nL3BhcmFsbGVsLXJvdXRlcyNkZWZhdWx0anNcXG5cXG4nXG5cbiAgICAgIGlmICh0aGlzLnByb3BzLm1pc3NpbmdTbG90cy5zaXplID4gMCkge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRTbG90cyA9IEFycmF5LmZyb20odGhpcy5wcm9wcy5taXNzaW5nU2xvdHMpXG4gICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEubG9jYWxlQ29tcGFyZShiKSlcbiAgICAgICAgICAubWFwKChzbG90KSA9PiBgQCR7c2xvdH1gKVxuICAgICAgICAgIC5qb2luKCcsICcpXG5cbiAgICAgICAgd2FybmluZ01lc3NhZ2UgKz0gJ01pc3Npbmcgc2xvdHM6ICcgKyBmb3JtYXR0ZWRTbG90c1xuICAgICAgfVxuXG4gICAgICB3YXJuT25jZSh3YXJuaW5nTWVzc2FnZSlcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yOiBhbnkpIHtcbiAgICBpZiAoaXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcihlcnJvcikpIHtcbiAgICAgIGNvbnN0IGh0dHBTdGF0dXMgPSBnZXRBY2Nlc3NGYWxsYmFja0hUVFBTdGF0dXMoZXJyb3IpXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0cmlnZ2VyZWRTdGF0dXM6IGh0dHBTdGF0dXMsXG4gICAgICB9XG4gICAgfVxuICAgIC8vIFJlLXRocm93IGlmIGVycm9yIGlzIG5vdCBmb3IgNDA0XG4gICAgdGhyb3cgZXJyb3JcbiAgfVxuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoXG4gICAgcHJvcHM6IEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yQm91bmRhcnlQcm9wcyxcbiAgICBzdGF0ZTogSFRUUEFjY2Vzc0JvdW5kYXJ5U3RhdGVcbiAgKTogSFRUUEFjY2Vzc0JvdW5kYXJ5U3RhdGUgfCBudWxsIHtcbiAgICAvKipcbiAgICAgKiBIYW5kbGVzIHJlc2V0IG9mIHRoZSBlcnJvciBib3VuZGFyeSB3aGVuIGEgbmF2aWdhdGlvbiBoYXBwZW5zLlxuICAgICAqIEVuc3VyZXMgdGhlIGVycm9yIGJvdW5kYXJ5IGRvZXMgbm90IHN0YXkgZW5hYmxlZCB3aGVuIG5hdmlnYXRpbmcgdG8gYSBuZXcgcGFnZS5cbiAgICAgKiBBcHByb2FjaCBvZiBzZXRTdGF0ZSBpbiByZW5kZXIgaXMgc2FmZSBhcyBpdCBjaGVja3MgdGhlIHByZXZpb3VzIHBhdGhuYW1lIGFuZCB0aGVuIG92ZXJyaWRlc1xuICAgICAqIGl0IGFzIG91dGxpbmVkIGluIGh0dHBzOi8vcmVhY3QuZGV2L3JlZmVyZW5jZS9yZWFjdC91c2VTdGF0ZSNzdG9yaW5nLWluZm9ybWF0aW9uLWZyb20tcHJldmlvdXMtcmVuZGVyc1xuICAgICAqL1xuICAgIGlmIChwcm9wcy5wYXRobmFtZSAhPT0gc3RhdGUucHJldmlvdXNQYXRobmFtZSAmJiBzdGF0ZS50cmlnZ2VyZWRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRyaWdnZXJlZFN0YXR1czogdW5kZWZpbmVkLFxuICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZSxcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHRyaWdnZXJlZFN0YXR1czogc3RhdGUudHJpZ2dlcmVkU3RhdHVzLFxuICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWUsXG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgbm90Rm91bmQsIGZvcmJpZGRlbiwgdW5hdXRob3JpemVkLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHsgdHJpZ2dlcmVkU3RhdHVzIH0gPSB0aGlzLnN0YXRlXG4gICAgY29uc3QgZXJyb3JDb21wb25lbnRzID0ge1xuICAgICAgW0hUVFBBY2Nlc3NFcnJvclN0YXR1cy5OT1RfRk9VTkRdOiBub3RGb3VuZCxcbiAgICAgIFtIVFRQQWNjZXNzRXJyb3JTdGF0dXMuRk9SQklEREVOXTogZm9yYmlkZGVuLFxuICAgICAgW0hUVFBBY2Nlc3NFcnJvclN0YXR1cy5VTkFVVEhPUklaRURdOiB1bmF1dGhvcml6ZWQsXG4gICAgfVxuXG4gICAgaWYgKHRyaWdnZXJlZFN0YXR1cykge1xuICAgICAgY29uc3QgaXNOb3RGb3VuZCA9XG4gICAgICAgIHRyaWdnZXJlZFN0YXR1cyA9PT0gSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLk5PVF9GT1VORCAmJiBub3RGb3VuZFxuICAgICAgY29uc3QgaXNGb3JiaWRkZW4gPVxuICAgICAgICB0cmlnZ2VyZWRTdGF0dXMgPT09IEhUVFBBY2Nlc3NFcnJvclN0YXR1cy5GT1JCSURERU4gJiYgZm9yYmlkZGVuXG4gICAgICBjb25zdCBpc1VuYXV0aG9yaXplZCA9XG4gICAgICAgIHRyaWdnZXJlZFN0YXR1cyA9PT0gSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLlVOQVVUSE9SSVpFRCAmJiB1bmF1dGhvcml6ZWRcblxuICAgICAgLy8gSWYgdGhlcmUncyBubyBtYXRjaGVkIGJvdW5kYXJ5IGluIHRoaXMgbGF5ZXIsIGtlZXAgdGhyb3dpbmcgdGhlIGVycm9yIGJ5IHJlbmRlcmluZyB0aGUgY2hpbGRyZW5cbiAgICAgIGlmICghKGlzTm90Rm91bmQgfHwgaXNGb3JiaWRkZW4gfHwgaXNVbmF1dGhvcml6ZWQpKSB7XG4gICAgICAgIHJldHVybiBjaGlsZHJlblxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxtZXRhIG5hbWU9XCJyb2JvdHNcIiBjb250ZW50PVwibm9pbmRleFwiIC8+XG4gICAgICAgICAge3Byb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnICYmIChcbiAgICAgICAgICAgIDxtZXRhXG4gICAgICAgICAgICAgIG5hbWU9XCJuZXh0LWVycm9yXCJcbiAgICAgICAgICAgICAgY29udGVudD17Z2V0QWNjZXNzRmFsbGJhY2tFcnJvclR5cGVCeVN0YXR1cyh0cmlnZ2VyZWRTdGF0dXMpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtlcnJvckNvbXBvbmVudHNbdHJpZ2dlcmVkU3RhdHVzXX1cbiAgICAgICAgPC8+XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIGNoaWxkcmVuXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5KHtcbiAgbm90Rm91bmQsXG4gIGZvcmJpZGRlbixcbiAgdW5hdXRob3JpemVkLFxuICBjaGlsZHJlbixcbn06IEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5UHJvcHMpIHtcbiAgLy8gV2hlbiB3ZSdyZSByZW5kZXJpbmcgdGhlIG1pc3NpbmcgcGFyYW1zIHNoZWxsLCB0aGlzIHdpbGwgcmV0dXJuIG51bGwuIFRoaXNcbiAgLy8gaXMgYmVjYXVzZSB3ZSB3b24ndCBiZSByZW5kZXJpbmcgYW55IG5vdCBmb3VuZCBib3VuZGFyaWVzIG9yIGVycm9yXG4gIC8vIGJvdW5kYXJpZXMgZm9yIHRoZSBtaXNzaW5nIHBhcmFtcyBzaGVsbC4gV2hlbiB0aGlzIHJ1bnMgb24gdGhlIGNsaWVudFxuICAvLyAod2hlcmUgdGhlc2UgZXJyb3IgY2FuIG9jY3VyKSwgd2Ugd2lsbCBnZXQgdGhlIGNvcnJlY3QgcGF0aG5hbWUuXG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlVW50cmFja2VkUGF0aG5hbWUoKVxuICBjb25zdCBtaXNzaW5nU2xvdHMgPSB1c2VDb250ZXh0KE1pc3NpbmdTbG90Q29udGV4dClcbiAgY29uc3QgaGFzRXJyb3JGYWxsYmFjayA9ICEhKG5vdEZvdW5kIHx8IGZvcmJpZGRlbiB8fCB1bmF1dGhvcml6ZWQpXG5cbiAgaWYgKGhhc0Vycm9yRmFsbGJhY2spIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yQm91bmRhcnlcbiAgICAgICAgcGF0aG5hbWU9e3BhdGhuYW1lfVxuICAgICAgICBub3RGb3VuZD17bm90Rm91bmR9XG4gICAgICAgIGZvcmJpZGRlbj17Zm9yYmlkZGVufVxuICAgICAgICB1bmF1dGhvcml6ZWQ9e3VuYXV0aG9yaXplZH1cbiAgICAgICAgbWlzc2luZ1Nsb3RzPXttaXNzaW5nU2xvdHN9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3JCb3VuZGFyeT5cbiAgICApXG4gIH1cblxuICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG4iXSwibmFtZXMiOlsiSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnkiLCJIVFRQQWNjZXNzRmFsbGJhY2tFcnJvckJvdW5kYXJ5IiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb21wb25lbnREaWRDYXRjaCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInByb3BzIiwibWlzc2luZ1Nsb3RzIiwiaGFzIiwid2FybmluZ01lc3NhZ2UiLCJzaXplIiwiZm9ybWF0dGVkU2xvdHMiLCJBcnJheSIsImZyb20iLCJzb3J0IiwiYSIsImIiLCJsb2NhbGVDb21wYXJlIiwibWFwIiwic2xvdCIsImpvaW4iLCJ3YXJuT25jZSIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImVycm9yIiwiaXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvciIsImh0dHBTdGF0dXMiLCJnZXRBY2Nlc3NGYWxsYmFja0hUVFBTdGF0dXMiLCJ0cmlnZ2VyZWRTdGF0dXMiLCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCJzdGF0ZSIsInBhdGhuYW1lIiwicHJldmlvdXNQYXRobmFtZSIsInVuZGVmaW5lZCIsInJlbmRlciIsIm5vdEZvdW5kIiwiZm9yYmlkZGVuIiwidW5hdXRob3JpemVkIiwiY2hpbGRyZW4iLCJlcnJvckNvbXBvbmVudHMiLCJIVFRQQWNjZXNzRXJyb3JTdGF0dXMiLCJOT1RfRk9VTkQiLCJGT1JCSURERU4iLCJVTkFVVEhPUklaRUQiLCJpc05vdEZvdW5kIiwiaXNGb3JiaWRkZW4iLCJpc1VuYXV0aG9yaXplZCIsIm1ldGEiLCJuYW1lIiwiY29udGVudCIsImdldEFjY2Vzc0ZhbGxiYWNrRXJyb3JUeXBlQnlTdGF0dXMiLCJjb25zdHJ1Y3RvciIsInVzZVVudHJhY2tlZFBhdGhuYW1lIiwidXNlQ29udGV4dCIsIk1pc3NpbmdTbG90Q29udGV4dCIsImhhc0Vycm9yRmFsbGJhY2siXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\n"); +eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HTTPAccessFallbackBoundary\", ({\n enumerable: true,\n get: function() {\n return HTTPAccessFallbackBoundary;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigationuntracked = __webpack_require__(/*! ../navigation-untracked */ \"(ssr)/./node_modules/next/dist/client/components/navigation-untracked.js\");\nconst _httpaccessfallback = __webpack_require__(/*! ./http-access-fallback */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js\");\nconst _warnonce = __webpack_require__(/*! ../../../shared/lib/utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js\");\nclass HTTPAccessFallbackErrorBoundary extends _react.default.Component {\n componentDidCatch() {\n if ( true && this.props.missingSlots && // A missing children slot is the typical not-found case, so no need to warn\n !this.props.missingSlots.has('children')) {\n let warningMessage = 'No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\\n' + 'Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\\n\\n';\n if (this.props.missingSlots.size > 0) {\n const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>\"@\" + slot).join(', ');\n warningMessage += 'Missing slots: ' + formattedSlots;\n }\n (0, _warnonce.warnOnce)(warningMessage);\n }\n }\n static getDerivedStateFromError(error) {\n if ((0, _httpaccessfallback.isHTTPAccessFallbackError)(error)) {\n const httpStatus = (0, _httpaccessfallback.getAccessFallbackHTTPStatus)(error);\n return {\n triggeredStatus: httpStatus\n };\n }\n // Re-throw if error is not for 404\n throw error;\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.triggeredStatus) {\n return {\n triggeredStatus: undefined,\n previousPathname: props.pathname\n };\n }\n return {\n triggeredStatus: state.triggeredStatus,\n previousPathname: props.pathname\n };\n }\n render() {\n const { notFound, forbidden, unauthorized, children } = this.props;\n const { triggeredStatus } = this.state;\n const errorComponents = {\n [_httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND]: notFound,\n [_httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN]: forbidden,\n [_httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED]: unauthorized\n };\n if (triggeredStatus) {\n const isNotFound = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND && notFound;\n const isForbidden = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN && forbidden;\n const isUnauthorized = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED && unauthorized;\n // If there's no matched boundary in this layer, keep throwing the error by rendering the children\n if (!(isNotFound || isForbidden || isUnauthorized)) {\n return children;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"robots\",\n content: \"noindex\"\n }),\n true && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-error\",\n content: (0, _httpaccessfallback.getAccessFallbackErrorTypeByStatus)(triggeredStatus)\n }),\n errorComponents[triggeredStatus]\n ]\n });\n }\n return children;\n }\n constructor(props){\n super(props);\n this.state = {\n triggeredStatus: undefined,\n previousPathname: props.pathname\n };\n }\n}\nfunction HTTPAccessFallbackBoundary(param) {\n let { notFound, forbidden, unauthorized, children } = param;\n // When we're rendering the missing params shell, this will return null. This\n // is because we won't be rendering any not found boundaries or error\n // boundaries for the missing params shell. When this runs on the client\n // (where these error can occur), we will get the correct pathname.\n const pathname = (0, _navigationuntracked.useUntrackedPathname)();\n const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);\n const hasErrorFallback = !!(notFound || forbidden || unauthorized);\n if (hasErrorFallback) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(HTTPAccessFallbackErrorBoundary, {\n pathname: pathname,\n notFound: notFound,\n forbidden: forbidden,\n unauthorized: unauthorized,\n missingSlots: missingSlots,\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=error-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2h0dHAtYWNjZXNzLWZhbGxiYWNrL2Vycm9yLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7OERBd0pnQkE7OztlQUFBQTs7Ozs7NkVBM0lrQjtpREFDRztnREFNOUI7c0NBQ2tCOzJEQUNVO0FBcUJuQyxNQUFNQyx3Q0FBd0NDLE9BQUFBLE9BQUssQ0FBQ0MsU0FBUztJQVkzREMsb0JBQTBCO1FBQ3hCLElBQ0VDLEtBQW9CLElBQ3BCLElBQUksQ0FBQ0csS0FBSyxDQUFDQyxZQUFZLElBQ3ZCLDRFQUE0RTtRQUM1RSxDQUFDLElBQUksQ0FBQ0QsS0FBSyxDQUFDQyxZQUFZLENBQUNDLEdBQUcsQ0FBQyxhQUM3QjtZQUNBLElBQUlDLGlCQUNGLDRIQUNBO1lBRUYsSUFBSSxJQUFJLENBQUNILEtBQUssQ0FBQ0MsWUFBWSxDQUFDRyxJQUFJLEdBQUcsR0FBRztnQkFDcEMsTUFBTUMsaUJBQWlCQyxNQUFNQyxJQUFJLENBQUMsSUFBSSxDQUFDUCxLQUFLLENBQUNDLFlBQVksRUFDdERPLElBQUksQ0FBQyxDQUFDQyxHQUFHQyxJQUFNRCxFQUFFRSxhQUFhLENBQUNELElBQy9CRSxHQUFHLENBQUMsQ0FBQ0MsT0FBVSxNQUFHQSxNQUNsQkMsSUFBSSxDQUFDO2dCQUVSWCxrQkFBa0Isb0JBQW9CRTtZQUN4QztZQUVBVSxDQUFBQSxHQUFBQSxVQUFBQSxRQUFBQSxFQUFTWjtRQUNYO0lBQ0Y7SUFFQSxPQUFPYSx5QkFBeUJDLEtBQVUsRUFBRTtRQUMxQyxJQUFJQyxDQUFBQSxHQUFBQSxvQkFBQUEseUJBQXlCLEVBQUNELFFBQVE7WUFDcEMsTUFBTUUsYUFBYUMsQ0FBQUEsR0FBQUEsb0JBQUFBLDJCQUFBQSxFQUE0Qkg7WUFDL0MsT0FBTztnQkFDTEksaUJBQWlCRjtZQUNuQjtRQUNGO1FBQ0EsbUNBQW1DO1FBQ25DLE1BQU1GO0lBQ1I7SUFFQSxPQUFPSyx5QkFDTHRCLEtBQTJDLEVBQzNDdUIsS0FBOEIsRUFDRTtRQUNoQzs7Ozs7S0FLQyxHQUNELElBQUl2QixNQUFNd0IsUUFBUSxLQUFLRCxNQUFNRSxnQkFBZ0IsSUFBSUYsTUFBTUYsZUFBZSxFQUFFO1lBQ3RFLE9BQU87Z0JBQ0xBLGlCQUFpQks7Z0JBQ2pCRCxrQkFBa0J6QixNQUFNd0IsUUFBUTtZQUNsQztRQUNGO1FBQ0EsT0FBTztZQUNMSCxpQkFBaUJFLE1BQU1GLGVBQWU7WUFDdENJLGtCQUFrQnpCLE1BQU13QixRQUFRO1FBQ2xDO0lBQ0Y7SUFFQUcsU0FBUztRQUNQLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLFlBQVksRUFBRUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDL0IsS0FBSztRQUNsRSxNQUFNLEVBQUVxQixlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUNFLEtBQUs7UUFDdEMsTUFBTVMsa0JBQWtCO1lBQ3RCLENBQUNDLG9CQUFBQSxxQkFBcUIsQ0FBQ0MsU0FBUyxDQUFDLEVBQUVOO1lBQ25DLENBQUNLLG9CQUFBQSxxQkFBcUIsQ0FBQ0UsU0FBUyxDQUFDLEVBQUVOO1lBQ25DLENBQUNJLG9CQUFBQSxxQkFBcUIsQ0FBQ0csWUFBWSxDQUFDLEVBQUVOO1FBQ3hDO1FBRUEsSUFBSVQsaUJBQWlCO1lBQ25CLE1BQU1nQixhQUNKaEIsb0JBQW9CWSxvQkFBQUEscUJBQXFCLENBQUNDLFNBQVMsSUFBSU47WUFDekQsTUFBTVUsY0FDSmpCLG9CQUFvQlksb0JBQUFBLHFCQUFxQixDQUFDRSxTQUFTLElBQUlOO1lBQ3pELE1BQU1VLGlCQUNKbEIsb0JBQW9CWSxvQkFBQUEscUJBQXFCLENBQUNHLFlBQVksSUFBSU47WUFFNUQsa0dBQWtHO1lBQ2xHLElBQUksQ0FBRU8sQ0FBQUEsY0FBY0MsZUFBZUMsY0FBQUEsQ0FBYSxFQUFJO2dCQUNsRCxPQUFPUjtZQUNUO1lBRUEscUJBQ0U7O2tDQUNFLHFCQUFDUyxRQUFBQTt3QkFBS0MsTUFBSzt3QkFBU0MsU0FBUTs7b0JBbkV0QjdCLEtBb0VpQyxJQUFiLGNBQ3hCLHFCQUFDMkIsUUFBQUE7d0JBQ0NDLE1BQUs7d0JBQ0xDLFNBQVNDLENBQUFBLEdBQUFBLG9CQUFBQSxrQ0FBQUEsRUFBbUN0Qjs7b0JBRy9DVyxlQUFlLENBQUNYLGdCQUFnQjs7O1FBR3ZDO1FBRUEsT0FBT1U7SUFDVDtJQXRHQWEsWUFBWTVDLEtBQTJDLENBQUU7UUFDdkQsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ3VCLEtBQUssR0FBRztZQUNYRixpQkFBaUJLO1lBQ2pCRCxrQkFBa0J6QixNQUFNd0IsUUFBUTtRQUNsQztJQUNGO0FBaUdGO0FBRU8sU0FBU2hDLDJCQUEyQixLQUtUO0lBTFMsTUFDekNvQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVEMsWUFBWSxFQUNaQyxRQUFRLEVBQ3dCLEdBTFM7SUFNekMsNkVBQTZFO0lBQzdFLHFFQUFxRTtJQUNyRSx3RUFBd0U7SUFDeEUsbUVBQW1FO0lBQ25FLE1BQU1QLFdBQVdxQixDQUFBQSxHQUFBQSxxQkFBQUEsb0JBQUFBO0lBQ2pCLE1BQU01QyxlQUFlNkMsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBQUEsRUFBV0MsK0JBQUFBLGtCQUFrQjtJQUNsRCxNQUFNQyxtQkFBbUIsQ0FBQyxDQUFFcEIsQ0FBQUEsWUFBWUMsYUFBYUMsWUFBQUEsQ0FBVztJQUVoRSxJQUFJa0Isa0JBQWtCO1FBQ3BCLHFCQUNFLHFCQUFDdkQsaUNBQUFBO1lBQ0MrQixVQUFVQTtZQUNWSSxVQUFVQTtZQUNWQyxXQUFXQTtZQUNYQyxjQUFjQTtZQUNkN0IsY0FBY0E7c0JBRWI4Qjs7SUFHUDtJQUVBLHFCQUFPO2tCQUFHQTs7QUFDWiIsInNvdXJjZXMiOlsiRTpcXHNyY1xcY2xpZW50XFxjb21wb25lbnRzXFxodHRwLWFjY2Vzcy1mYWxsYmFja1xcZXJyb3ItYm91bmRhcnkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG4vKipcbiAqIEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5IGlzIGEgYm91bmRhcnkgdGhhdCBjYXRjaGVzIGVycm9ycyBhbmQgcmVuZGVycyBhXG4gKiBmYWxsYmFjayBjb21wb25lbnQgZm9yIEhUVFAgZXJyb3JzLlxuICpcbiAqIEl0IHJlY2VpdmVzIHRoZSBzdGF0dXMgY29kZSwgYW5kIGRldGVybWluZSBpZiBpdCBzaG91bGQgcmVuZGVyIGZhbGxiYWNrcyBmb3IgZmV3IEhUVFAgNHh4IGVycm9ycy5cbiAqXG4gKiBlLmcuIDQwNFxuICogNDA0IHJlcHJlc2VudHMgbm90IGZvdW5kLCBhbmQgdGhlIGZhbGxiYWNrIGNvbXBvbmVudCBwYWlyIGNvbnRhaW5zIHRoZSBjb21wb25lbnQgYW5kIGl0cyBzdHlsZXMuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VVbnRyYWNrZWRQYXRobmFtZSB9IGZyb20gJy4uL25hdmlnYXRpb24tdW50cmFja2VkJ1xuaW1wb3J0IHtcbiAgSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLFxuICBnZXRBY2Nlc3NGYWxsYmFja0hUVFBTdGF0dXMsXG4gIGdldEFjY2Vzc0ZhbGxiYWNrRXJyb3JUeXBlQnlTdGF0dXMsXG4gIGlzSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3IsXG59IGZyb20gJy4vaHR0cC1hY2Nlc3MtZmFsbGJhY2snXG5pbXBvcnQgeyB3YXJuT25jZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlJ1xuaW1wb3J0IHsgTWlzc2luZ1Nsb3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5cbmludGVyZmFjZSBIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeVByb3BzIHtcbiAgbm90Rm91bmQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgZm9yYmlkZGVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIHVuYXV0aG9yaXplZD86IFJlYWN0LlJlYWN0Tm9kZVxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG4gIG1pc3NpbmdTbG90cz86IFNldDxzdHJpbmc+XG59XG5cbmludGVyZmFjZSBIVFRQQWNjZXNzRmFsbGJhY2tFcnJvckJvdW5kYXJ5UHJvcHNcbiAgZXh0ZW5kcyBIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeVByb3BzIHtcbiAgcGF0aG5hbWU6IHN0cmluZyB8IG51bGxcbiAgbWlzc2luZ1Nsb3RzPzogU2V0PHN0cmluZz5cbn1cblxuaW50ZXJmYWNlIEhUVFBBY2Nlc3NCb3VuZGFyeVN0YXRlIHtcbiAgdHJpZ2dlcmVkU3RhdHVzOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgcHJldmlvdXNQYXRobmFtZTogc3RyaW5nIHwgbnVsbFxufVxuXG5jbGFzcyBIVFRQQWNjZXNzRmFsbGJhY2tFcnJvckJvdW5kYXJ5IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFxuICBIVFRQQWNjZXNzRmFsbGJhY2tFcnJvckJvdW5kYXJ5UHJvcHMsXG4gIEhUVFBBY2Nlc3NCb3VuZGFyeVN0YXRlXG4+IHtcbiAgY29uc3RydWN0b3IocHJvcHM6IEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yQm91bmRhcnlQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKVxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICB0cmlnZ2VyZWRTdGF0dXM6IHVuZGVmaW5lZCxcbiAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHByb3BzLnBhdGhuYW1lLFxuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZENhdGNoKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnICYmXG4gICAgICB0aGlzLnByb3BzLm1pc3NpbmdTbG90cyAmJlxuICAgICAgLy8gQSBtaXNzaW5nIGNoaWxkcmVuIHNsb3QgaXMgdGhlIHR5cGljYWwgbm90LWZvdW5kIGNhc2UsIHNvIG5vIG5lZWQgdG8gd2FyblxuICAgICAgIXRoaXMucHJvcHMubWlzc2luZ1Nsb3RzLmhhcygnY2hpbGRyZW4nKVxuICAgICkge1xuICAgICAgbGV0IHdhcm5pbmdNZXNzYWdlID1cbiAgICAgICAgJ05vIGRlZmF1bHQgY29tcG9uZW50IHdhcyBmb3VuZCBmb3IgYSBwYXJhbGxlbCByb3V0ZSByZW5kZXJlZCBvbiB0aGlzIHBhZ2UuIEZhbGxpbmcgYmFjayB0byBuZWFyZXN0IE5vdEZvdW5kIGJvdW5kYXJ5LlxcbicgK1xuICAgICAgICAnTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcm91dGluZy9wYXJhbGxlbC1yb3V0ZXMjZGVmYXVsdGpzXFxuXFxuJ1xuXG4gICAgICBpZiAodGhpcy5wcm9wcy5taXNzaW5nU2xvdHMuc2l6ZSA+IDApIHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkU2xvdHMgPSBBcnJheS5mcm9tKHRoaXMucHJvcHMubWlzc2luZ1Nsb3RzKVxuICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpXG4gICAgICAgICAgLm1hcCgoc2xvdCkgPT4gYEAke3Nsb3R9YClcbiAgICAgICAgICAuam9pbignLCAnKVxuXG4gICAgICAgIHdhcm5pbmdNZXNzYWdlICs9ICdNaXNzaW5nIHNsb3RzOiAnICsgZm9ybWF0dGVkU2xvdHNcbiAgICAgIH1cblxuICAgICAgd2Fybk9uY2Uod2FybmluZ01lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlcnJvcjogYW55KSB7XG4gICAgaWYgKGlzSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3IoZXJyb3IpKSB7XG4gICAgICBjb25zdCBodHRwU3RhdHVzID0gZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzKGVycm9yKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHJpZ2dlcmVkU3RhdHVzOiBodHRwU3RhdHVzLFxuICAgICAgfVxuICAgIH1cbiAgICAvLyBSZS10aHJvdyBpZiBlcnJvciBpcyBub3QgZm9yIDQwNFxuICAgIHRocm93IGVycm9yXG4gIH1cblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKFxuICAgIHByb3BzOiBIVFRQQWNjZXNzRmFsbGJhY2tFcnJvckJvdW5kYXJ5UHJvcHMsXG4gICAgc3RhdGU6IEhUVFBBY2Nlc3NCb3VuZGFyeVN0YXRlXG4gICk6IEhUVFBBY2Nlc3NCb3VuZGFyeVN0YXRlIHwgbnVsbCB7XG4gICAgLyoqXG4gICAgICogSGFuZGxlcyByZXNldCBvZiB0aGUgZXJyb3IgYm91bmRhcnkgd2hlbiBhIG5hdmlnYXRpb24gaGFwcGVucy5cbiAgICAgKiBFbnN1cmVzIHRoZSBlcnJvciBib3VuZGFyeSBkb2VzIG5vdCBzdGF5IGVuYWJsZWQgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgbmV3IHBhZ2UuXG4gICAgICogQXBwcm9hY2ggb2Ygc2V0U3RhdGUgaW4gcmVuZGVyIGlzIHNhZmUgYXMgaXQgY2hlY2tzIHRoZSBwcmV2aW91cyBwYXRobmFtZSBhbmQgdGhlbiBvdmVycmlkZXNcbiAgICAgKiBpdCBhcyBvdXRsaW5lZCBpbiBodHRwczovL3JlYWN0LmRldi9yZWZlcmVuY2UvcmVhY3QvdXNlU3RhdGUjc3RvcmluZy1pbmZvcm1hdGlvbi1mcm9tLXByZXZpb3VzLXJlbmRlcnNcbiAgICAgKi9cbiAgICBpZiAocHJvcHMucGF0aG5hbWUgIT09IHN0YXRlLnByZXZpb3VzUGF0aG5hbWUgJiYgc3RhdGUudHJpZ2dlcmVkU3RhdHVzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0cmlnZ2VyZWRTdGF0dXM6IHVuZGVmaW5lZCxcbiAgICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWUsXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICB0cmlnZ2VyZWRTdGF0dXM6IHN0YXRlLnRyaWdnZXJlZFN0YXR1cyxcbiAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHByb3BzLnBhdGhuYW1lLFxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IG5vdEZvdW5kLCBmb3JiaWRkZW4sIHVuYXV0aG9yaXplZCwgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7IHRyaWdnZXJlZFN0YXR1cyB9ID0gdGhpcy5zdGF0ZVxuICAgIGNvbnN0IGVycm9yQ29tcG9uZW50cyA9IHtcbiAgICAgIFtIVFRQQWNjZXNzRXJyb3JTdGF0dXMuTk9UX0ZPVU5EXTogbm90Rm91bmQsXG4gICAgICBbSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTl06IGZvcmJpZGRlbixcbiAgICAgIFtIVFRQQWNjZXNzRXJyb3JTdGF0dXMuVU5BVVRIT1JJWkVEXTogdW5hdXRob3JpemVkLFxuICAgIH1cblxuICAgIGlmICh0cmlnZ2VyZWRTdGF0dXMpIHtcbiAgICAgIGNvbnN0IGlzTm90Rm91bmQgPVxuICAgICAgICB0cmlnZ2VyZWRTdGF0dXMgPT09IEhUVFBBY2Nlc3NFcnJvclN0YXR1cy5OT1RfRk9VTkQgJiYgbm90Rm91bmRcbiAgICAgIGNvbnN0IGlzRm9yYmlkZGVuID1cbiAgICAgICAgdHJpZ2dlcmVkU3RhdHVzID09PSBIVFRQQWNjZXNzRXJyb3JTdGF0dXMuRk9SQklEREVOICYmIGZvcmJpZGRlblxuICAgICAgY29uc3QgaXNVbmF1dGhvcml6ZWQgPVxuICAgICAgICB0cmlnZ2VyZWRTdGF0dXMgPT09IEhUVFBBY2Nlc3NFcnJvclN0YXR1cy5VTkFVVEhPUklaRUQgJiYgdW5hdXRob3JpemVkXG5cbiAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gbWF0Y2hlZCBib3VuZGFyeSBpbiB0aGlzIGxheWVyLCBrZWVwIHRocm93aW5nIHRoZSBlcnJvciBieSByZW5kZXJpbmcgdGhlIGNoaWxkcmVuXG4gICAgICBpZiAoIShpc05vdEZvdW5kIHx8IGlzRm9yYmlkZGVuIHx8IGlzVW5hdXRob3JpemVkKSkge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW5cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8bWV0YSBuYW1lPVwicm9ib3RzXCIgY29udGVudD1cIm5vaW5kZXhcIiAvPlxuICAgICAgICAgIHtwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JyAmJiAoXG4gICAgICAgICAgICA8bWV0YVxuICAgICAgICAgICAgICBuYW1lPVwibmV4dC1lcnJvclwiXG4gICAgICAgICAgICAgIGNvbnRlbnQ9e2dldEFjY2Vzc0ZhbGxiYWNrRXJyb3JUeXBlQnlTdGF0dXModHJpZ2dlcmVkU3RhdHVzKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7ZXJyb3JDb21wb25lbnRzW3RyaWdnZXJlZFN0YXR1c119XG4gICAgICAgIDwvPlxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiBjaGlsZHJlblxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSh7XG4gIG5vdEZvdW5kLFxuICBmb3JiaWRkZW4sXG4gIHVuYXV0aG9yaXplZCxcbiAgY2hpbGRyZW4sXG59OiBIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeVByb3BzKSB7XG4gIC8vIFdoZW4gd2UncmUgcmVuZGVyaW5nIHRoZSBtaXNzaW5nIHBhcmFtcyBzaGVsbCwgdGhpcyB3aWxsIHJldHVybiBudWxsLiBUaGlzXG4gIC8vIGlzIGJlY2F1c2Ugd2Ugd29uJ3QgYmUgcmVuZGVyaW5nIGFueSBub3QgZm91bmQgYm91bmRhcmllcyBvciBlcnJvclxuICAvLyBib3VuZGFyaWVzIGZvciB0aGUgbWlzc2luZyBwYXJhbXMgc2hlbGwuIFdoZW4gdGhpcyBydW5zIG9uIHRoZSBjbGllbnRcbiAgLy8gKHdoZXJlIHRoZXNlIGVycm9yIGNhbiBvY2N1ciksIHdlIHdpbGwgZ2V0IHRoZSBjb3JyZWN0IHBhdGhuYW1lLlxuICBjb25zdCBwYXRobmFtZSA9IHVzZVVudHJhY2tlZFBhdGhuYW1lKClcbiAgY29uc3QgbWlzc2luZ1Nsb3RzID0gdXNlQ29udGV4dChNaXNzaW5nU2xvdENvbnRleHQpXG4gIGNvbnN0IGhhc0Vycm9yRmFsbGJhY2sgPSAhIShub3RGb3VuZCB8fCBmb3JiaWRkZW4gfHwgdW5hdXRob3JpemVkKVxuXG4gIGlmIChoYXNFcnJvckZhbGxiYWNrKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxIVFRQQWNjZXNzRmFsbGJhY2tFcnJvckJvdW5kYXJ5XG4gICAgICAgIHBhdGhuYW1lPXtwYXRobmFtZX1cbiAgICAgICAgbm90Rm91bmQ9e25vdEZvdW5kfVxuICAgICAgICBmb3JiaWRkZW49e2ZvcmJpZGRlbn1cbiAgICAgICAgdW5hdXRob3JpemVkPXt1bmF1dGhvcml6ZWR9XG4gICAgICAgIG1pc3NpbmdTbG90cz17bWlzc2luZ1Nsb3RzfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0hUVFBBY2Nlc3NGYWxsYmFja0Vycm9yQm91bmRhcnk+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPlxufVxuIl0sIm5hbWVzIjpbIkhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5IiwiSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3JCb3VuZGFyeSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29tcG9uZW50RGlkQ2F0Y2giLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJwcm9wcyIsIm1pc3NpbmdTbG90cyIsImhhcyIsIndhcm5pbmdNZXNzYWdlIiwic2l6ZSIsImZvcm1hdHRlZFNsb3RzIiwiQXJyYXkiLCJmcm9tIiwic29ydCIsImEiLCJiIiwibG9jYWxlQ29tcGFyZSIsIm1hcCIsInNsb3QiLCJqb2luIiwid2Fybk9uY2UiLCJnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IiLCJlcnJvciIsImlzSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3IiLCJodHRwU3RhdHVzIiwiZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzIiwidHJpZ2dlcmVkU3RhdHVzIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwic3RhdGUiLCJwYXRobmFtZSIsInByZXZpb3VzUGF0aG5hbWUiLCJ1bmRlZmluZWQiLCJyZW5kZXIiLCJub3RGb3VuZCIsImZvcmJpZGRlbiIsInVuYXV0aG9yaXplZCIsImNoaWxkcmVuIiwiZXJyb3JDb21wb25lbnRzIiwiSFRUUEFjY2Vzc0Vycm9yU3RhdHVzIiwiTk9UX0ZPVU5EIiwiRk9SQklEREVOIiwiVU5BVVRIT1JJWkVEIiwiaXNOb3RGb3VuZCIsImlzRm9yYmlkZGVuIiwiaXNVbmF1dGhvcml6ZWQiLCJtZXRhIiwibmFtZSIsImNvbnRlbnQiLCJnZXRBY2Nlc3NGYWxsYmFja0Vycm9yVHlwZUJ5U3RhdHVzIiwiY29uc3RydWN0b3IiLCJ1c2VVbnRyYWNrZWRQYXRobmFtZSIsInVzZUNvbnRleHQiLCJNaXNzaW5nU2xvdENvbnRleHQiLCJoYXNFcnJvckZhbGxiYWNrIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\n"); /***/ }), @@ -225,7 +214,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n})); /***/ ((module, exports, __webpack_require__) => { "use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return OuterLayoutRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./router-reducer/fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _unresolvedthenable = __webpack_require__(/*! ./unresolved-thenable */ \"(ssr)/./node_modules/next/dist/client/components/unresolved-thenable.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _matchsegments = __webpack_require__(/*! ./match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ../../shared/lib/router/utils/handle-smooth-scroll */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _errorboundary1 = __webpack_require__(/*! ./http-access-fallback/error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./router-reducer/create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./router-reducer/reducers/has-interception-route-in-current-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\n/**\n * Add refetch marker to router state at the point of the current layout segment.\n * This ensures the response returned is not further down than the current layout segment.\n */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {\n if (segmentPathToWalk) {\n const [segment, parallelRouteKey] = segmentPathToWalk;\n const isLast = segmentPathToWalk.length === 2;\n if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {\n if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {\n if (isLast) {\n const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: [\n subTree[0],\n subTree[1],\n subTree[2],\n 'refetch'\n ]\n }\n ];\n }\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])\n }\n ];\n }\n }\n }\n return treeToRecreate;\n}\nconst __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = _reactdom.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available\n/**\n * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning\n */ function findDOMNode(instance) {\n // Tree-shake for server bundle\n if (true) return null;\n // __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode is null during module init.\n // We need to lazily reference it.\n const internal_reactDOMfindDOMNode = __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode;\n return internal_reactDOMfindDOMNode(instance);\n}\nconst rectProperties = [\n 'bottom',\n 'height',\n 'left',\n 'right',\n 'top',\n 'width',\n 'x',\n 'y'\n];\n/**\n * Check if a HTMLElement is hidden or fixed/sticky position\n */ function shouldSkipElement(element) {\n // we ignore fixed or sticky positioned elements since they'll likely pass the \"in-viewport\" check\n // and will result in a situation we bail on scroll because of something like a fixed nav,\n // even though the actual page content is offscreen\n if ([\n 'sticky',\n 'fixed'\n ].includes(getComputedStyle(element).position)) {\n if (true) {\n console.warn('Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:', element);\n }\n return true;\n }\n // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`\n // because `offsetParent` doesn't consider document/body\n const rect = element.getBoundingClientRect();\n return rectProperties.every((item)=>rect[item] === 0);\n}\n/**\n * Check if the top corner of the HTMLElement is in the viewport.\n */ function topOfElementInViewport(element, viewportHeight) {\n const rect = element.getBoundingClientRect();\n return rect.top >= 0 && rect.top <= viewportHeight;\n}\n/**\n * Find the DOM node for a hash fragment.\n * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.\n * If the hash fragment is an id, the page has to scroll to the element with that id.\n * If the hash fragment is a name, the page has to scroll to the first element with that name.\n */ function getHashFragmentDomNode(hashFragment) {\n // If the hash fragment is `top` the page has to scroll to the top of the page.\n if (hashFragment === 'top') {\n return document.body;\n }\n var _document_getElementById;\n // If the hash fragment is an id, the page has to scroll to the element with that id.\n return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0];\n}\nclass InnerScrollAndFocusHandler extends _react.default.Component {\n componentDidMount() {\n this.handlePotentialScroll();\n }\n componentDidUpdate() {\n // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.\n if (this.props.focusAndScrollRef.apply) {\n this.handlePotentialScroll();\n }\n }\n render() {\n return this.props.children;\n }\n constructor(...args){\n super(...args), this.handlePotentialScroll = ()=>{\n // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.\n const { focusAndScrollRef, segmentPath } = this.props;\n if (focusAndScrollRef.apply) {\n // segmentPaths is an array of segment paths that should be scrolled to\n // if the current segment path is not in the array, the scroll is not applied\n // unless the array is empty, in which case the scroll is always applied\n if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {\n return;\n }\n let domNode = null;\n const hashFragment = focusAndScrollRef.hashFragment;\n if (hashFragment) {\n domNode = getHashFragmentDomNode(hashFragment);\n }\n // `findDOMNode` is tricky because it returns just the first child if the component is a fragment.\n // This already caused a bug where the first child was a in head.\n if (!domNode) {\n domNode = findDOMNode(this);\n }\n // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.\n if (!(domNode instanceof Element)) {\n return;\n }\n // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.\n // If the element is skipped, try to select the next sibling and try again.\n while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){\n // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.\n if (domNode.nextElementSibling === null) {\n return;\n }\n domNode = domNode.nextElementSibling;\n }\n // State is mutated to ensure that the focus and scroll is applied only once.\n focusAndScrollRef.apply = false;\n focusAndScrollRef.hashFragment = null;\n focusAndScrollRef.segmentPaths = [];\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // In case of hash scroll, we only need to scroll the element into view\n if (hashFragment) {\n ;\n domNode.scrollIntoView();\n return;\n }\n // Store the current viewport height because reading `clientHeight` causes a reflow,\n // and it won't change during this function.\n const htmlElement = document.documentElement;\n const viewportHeight = htmlElement.clientHeight;\n // If the element's top edge is already in the viewport, exit early.\n if (topOfElementInViewport(domNode, viewportHeight)) {\n return;\n }\n // Otherwise, try scrolling go the top of the document to be backward compatible with pages\n // scrollIntoView() called on `` element scrolls horizontally on chrome and firefox (that shouldn't happen)\n // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left\n // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically\n htmlElement.scrollTop = 0;\n // Scroll to domNode if domNode is not in viewport when scrolled to top of document\n if (!topOfElementInViewport(domNode, viewportHeight)) {\n // Scroll into view doesn't scroll horizontally by default when not needed\n ;\n domNode.scrollIntoView();\n }\n }, {\n // We will force layout by querying domNode position\n dontForceLayout: true,\n onlyHashChange: focusAndScrollRef.onlyHashChange\n });\n // Mutate after scrolling so that it can be read by `handleSmoothScroll`\n focusAndScrollRef.onlyHashChange = false;\n // Set focus on the element\n domNode.focus();\n }\n };\n }\n}\nfunction ScrollAndFocusHandler(param) {\n let { segmentPath, children } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error('invariant global layout router not mounted');\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, {\n segmentPath: segmentPath,\n focusAndScrollRef: context.focusAndScrollRef,\n children: children\n });\n}\n/**\n * InnerLayoutRouter handles rendering the provided segment based on the cache.\n */ function InnerLayoutRouter(param) {\n let { parallelRouterKey, url, childNodes, segmentPath, tree, // isActive,\n cacheKey } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error('invariant global layout router not mounted');\n }\n const { changeByServerResponse, tree: fullTree } = context;\n // Read segment path from the parallel router cache node.\n let childNode = childNodes.get(cacheKey);\n // When data is not available during rendering client-side we need to fetch\n // it from the server.\n if (childNode === undefined) {\n const newLazyCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n loading: null\n };\n /**\n * Flight data fetch kicked off during render and put into the cache.\n */ childNode = newLazyCacheNode;\n childNodes.set(cacheKey, newLazyCacheNode);\n }\n // `rsc` represents the renderable node for this segment.\n // If this segment has a `prefetchRsc`, it's the statically prefetched data.\n // We should use that on initial render instead of `rsc`. Then we'll switch\n // to `rsc` when the dynamic response streams in.\n //\n // If no prefetch data is available, then we go straight to rendering `rsc`.\n const resolvedPrefetchRsc = childNode.prefetchRsc !== null ? childNode.prefetchRsc : childNode.rsc;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `rsc`.\n const rsc = (0, _react.useDeferredValue)(childNode.rsc, resolvedPrefetchRsc);\n // `rsc` is either a React node or a promise for a React node, except we\n // special case `null` to represent that this segment's data is missing. If\n // it's a promise, we need to unwrap it so we can determine whether or not the\n // data is missing.\n const resolvedRsc = typeof rsc === 'object' && rsc !== null && typeof rsc.then === 'function' ? (0, _react.use)(rsc) : rsc;\n if (!resolvedRsc) {\n // The data for this segment is not available, and there's no pending\n // navigation that will be able to fulfill it. We need to fetch more from\n // the server and patch the cache.\n // Check if there's already a pending request.\n let lazyData = childNode.lazyData;\n if (lazyData === null) {\n /**\n * Router state with refetch marker added\n */ // TODO-APP: remove ''\n const refetchTree = walkAddRefetch([\n '',\n ...segmentPath\n ], fullTree);\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree);\n childNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), {\n flightRouterState: refetchTree,\n nextUrl: includeNextUrl ? context.nextUrl : null\n }).then((serverResponse)=>{\n (0, _react.startTransition)(()=>{\n changeByServerResponse({\n previousTree: fullTree,\n serverResponse\n });\n });\n return serverResponse;\n });\n }\n // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.\n // A falsey `resolvedRsc` indicates missing data -- we should not commit that branch, and we need to wait for the data to arrive.\n (0, _react.use)(_unresolvedthenable.unresolvedThenable);\n }\n // If we get to this point, then we know we have something we can render.\n const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n tree: tree[1][parallelRouterKey],\n childNodes: childNode.parallelRoutes,\n // TODO-APP: overriding of url for parallel routes\n url: url,\n loading: childNode.loading\n },\n children: resolvedRsc\n });\n // Ensure root layout is not wrapped in a div as the root layout renders ``\n return subtree;\n}\n/**\n * Renders suspense boundary with the provided \"loading\" property as the fallback.\n * If no loading property is provided it renders the children without a suspense boundary.\n */ function LoadingBoundary(param) {\n let { loading, children } = param;\n // If loading is a promise, unwrap it. This happens in cases where we haven't\n // yet received the loading data from the server — which includes whether or\n // not this layout has a loading component at all.\n //\n // It's OK to suspend here instead of inside the fallback because this\n // promise will resolve simultaneously with the data for the segment itself.\n // So it will never suspend for longer than it would have if we didn't use\n // a Suspense fallback at all.\n let loadingModuleData;\n if (typeof loading === 'object' && loading !== null && typeof loading.then === 'function') {\n const promiseForLoading = loading;\n loadingModuleData = (0, _react.use)(promiseForLoading);\n } else {\n loadingModuleData = loading;\n }\n if (loadingModuleData) {\n const loadingRsc = loadingModuleData[0];\n const loadingStyles = loadingModuleData[1];\n const loadingScripts = loadingModuleData[2];\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {\n fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n loadingStyles,\n loadingScripts,\n loadingRsc\n ]\n }),\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nfunction OuterLayoutRouter(param) {\n let { parallelRouterKey, segmentPath, error, errorStyles, errorScripts, templateStyles, templateScripts, template, notFound, forbidden, unauthorized } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n if (!context) {\n throw new Error('invariant expected layout router to be mounted');\n }\n const { childNodes, tree, url, loading } = context;\n // Get the current parallelRouter cache node\n let childNodesForParallelRouter = childNodes.get(parallelRouterKey);\n // If the parallel router cache node does not exist yet, create it.\n // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.\n if (!childNodesForParallelRouter) {\n childNodesForParallelRouter = new Map();\n childNodes.set(parallelRouterKey, childNodesForParallelRouter);\n }\n // Get the active segment in the tree\n // The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.\n const treeSegment = tree[1][parallelRouterKey][0];\n // If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.\n const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment);\n /**\n * Decides which segments to keep rendering, all segments that are not active will be wrapped in ``.\n */ // TODO-APP: Add handling of `` when it's available.\n const preservedSegments = [\n treeSegment\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: preservedSegments.map((preservedSegment)=>{\n const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment);\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment);\n return(/*\n - Error boundary\n - Only renders error boundary if error component is provided.\n - Rendered for each segment to ensure they have their own error state.\n - Loading boundary\n - Only renders suspense boundary if loading components is provided.\n - Rendered for each segment to ensure they have their own loading state.\n - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.\n */ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {\n value: /*#__PURE__*/ (0, _jsxruntime.jsx)(ScrollAndFocusHandler, {\n segmentPath: segmentPath,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: error,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {\n loading: loading,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary1.HTTPAccessFallbackBoundary, {\n notFound: notFound,\n forbidden: forbidden,\n unauthorized: unauthorized,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_redirectboundary.RedirectBoundary, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {\n parallelRouterKey: parallelRouterKey,\n url: url,\n tree: tree,\n childNodes: childNodesForParallelRouter,\n segmentPath: segmentPath,\n cacheKey: cacheKey,\n isActive: currentChildSegmentValue === preservedSegmentValue\n })\n })\n })\n })\n })\n }),\n children: [\n templateStyles,\n templateScripts,\n template\n ]\n }, (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true)));\n })\n });\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=layout-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0F5ZkE7OztlQUF3QkE7Ozs7Ozs2RUFuZWpCOytFQUNjOzJEQUtkO2lEQUM2QjtnREFDRDsyQ0FDTDsyQ0FDRDtnREFDTTs4Q0FDRjs0Q0FDVTs2Q0FDWDtrREFDSzsrREFDYTtBQUVsRDs7O0NBR0MsR0FDRCxTQUFTQyxlQUNQQyxpQkFBZ0QsRUFDaERDLGNBQWlDO0lBRWpDLElBQUlELG1CQUFtQjtRQUNyQixNQUFNLENBQUNFLFNBQVNDLGlCQUFpQixHQUFHSDtRQUNwQyxNQUFNSSxTQUFTSixrQkFBa0JLLE1BQU0sS0FBSztRQUU1QyxJQUFJQyxDQUFBQSxHQUFBQSxlQUFBQSxZQUFBQSxFQUFhTCxjQUFjLENBQUMsRUFBRSxFQUFFQyxVQUFVO1lBQzVDLElBQUlELGNBQWMsQ0FBQyxFQUFFLENBQUNNLGNBQWMsQ0FBQ0osbUJBQW1CO2dCQUN0RCxJQUFJQyxRQUFRO29CQUNWLE1BQU1JLFVBQVVULGVBQ2RVLFdBQ0FSLGNBQWMsQ0FBQyxFQUFFLENBQUNFLGlCQUFpQjtvQkFFckMsT0FBTzt3QkFDTEYsY0FBYyxDQUFDLEVBQUU7d0JBQ2pCOzRCQUNFLEdBQUdBLGNBQWMsQ0FBQyxFQUFFOzRCQUNwQixDQUFDRSxpQkFBaUIsRUFBRTtnQ0FDbEJLLE9BQU8sQ0FBQyxFQUFFO2dDQUNWQSxPQUFPLENBQUMsRUFBRTtnQ0FDVkEsT0FBTyxDQUFDLEVBQUU7Z0NBQ1Y7NkJBQ0Q7d0JBQ0g7cUJBQ0Q7Z0JBQ0g7Z0JBRUEsT0FBTztvQkFDTFAsY0FBYyxDQUFDLEVBQUU7b0JBQ2pCO3dCQUNFLEdBQUdBLGNBQWMsQ0FBQyxFQUFFO3dCQUNwQixDQUFDRSxpQkFBaUIsRUFBRUosZUFDbEJDLGtCQUFrQlUsS0FBSyxDQUFDLElBQ3hCVCxjQUFjLENBQUMsRUFBRSxDQUFDRSxpQkFBaUI7b0JBRXZDO2lCQUNEO1lB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RyxrQkFBa0JDLEdBQUcsQ0FBQyxDQUFDQztZQUN0QixNQUFNQyx3QkFBd0JKLENBQUFBLEdBQUFBLGlCQUFBQSxlQUFBQSxFQUFnQkc7WUFDOUMsTUFBTTVELFdBQVc4RCxDQUFBQSxHQUFBQSxzQkFBQUEsb0JBQUFBLEVBQXFCRjtZQUV0QyxPQUNFOzs7Ozs7OztVQVFBLGlCQUNBLHNCQUFDRywrQkFBQUEsZUFBZSxDQUFDNUIsUUFBUTtnQkFFdkJDLE9BQ0UsV0FERkEsR0FDRSxxQkFBQzlDLHVCQUFBQTtvQkFBc0JsQixhQUFhQTs4QkFDbEMsbUNBQUM0RixlQUFBQSxhQUFhO3dCQUNaQyxnQkFBZ0JwQjt3QkFDaEJDLGFBQWFBO3dCQUNiQyxjQUFjQTtrQ0FFZCxtQ0FBQ1YsaUJBQUFBOzRCQUFnQnhCLFNBQVNBO3NDQUN4QixtQ0FBQ3FELGdCQUFBQSwwQkFBMEI7Z0NBQ3pCZixVQUFVQTtnQ0FDVkMsV0FBV0E7Z0NBQ1hDLGNBQWNBOzBDQUVkLG1DQUFDYyxrQkFBQUEsZ0JBQWdCOzhDQUNmLG1DQUFDeEUsbUJBQUFBO3dDQUNDQyxtQkFBbUJBO3dDQUNuQkMsS0FBS0E7d0NBQ0xFLE1BQU1BO3dDQUNORCxZQUFZd0Q7d0NBQ1psRixhQUFhQTt3Q0FDYjRCLFVBQVVBO3dDQUNWb0UsVUFDRVosNkJBQTZCSzs7Ozs7Ozs7b0JBVTVDYjtvQkFDQUM7b0JBQ0FDOztlQW5DSVksQ0FBQUEsR0FBQUEsc0JBQUFBLG9CQUFBQSxFQUFxQkYsa0JBQWtCO1FBc0NsRDs7QUFHTiIsInNvdXJjZXMiOlsiRTpcXHNyY1xcY2xpZW50XFxjb21wb25lbnRzXFxsYXlvdXQtcm91dGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUge1xuICBDaGlsZFNlZ21lbnRNYXAsXG4gIExhenlDYWNoZU5vZGUsXG4gIExvYWRpbmdNb2R1bGVEYXRhLFxufSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB0eXBlIHtcbiAgRmxpZ2h0Um91dGVyU3RhdGUsXG4gIEZsaWdodFNlZ21lbnRQYXRoLFxuICBTZWdtZW50LFxufSBmcm9tICcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yLWJvdW5kYXJ5J1xuaW1wb3J0IHR5cGUgeyBGb2N1c0FuZFNjcm9sbFJlZiB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXMnXG5cbmltcG9ydCBSZWFjdCwge1xuICB1c2VDb250ZXh0LFxuICB1c2UsXG4gIHN0YXJ0VHJhbnNpdGlvbixcbiAgU3VzcGVuc2UsXG4gIHVzZURlZmVycmVkVmFsdWUsXG4gIHR5cGUgSlNYLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQge1xuICBMYXlvdXRSb3V0ZXJDb250ZXh0LFxuICBHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0LFxuICBUZW1wbGF0ZUNvbnRleHQsXG59IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHsgZmV0Y2hTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvZmV0Y2gtc2VydmVyLXJlc3BvbnNlJ1xuaW1wb3J0IHsgdW5yZXNvbHZlZFRoZW5hYmxlIH0gZnJvbSAnLi91bnJlc29sdmVkLXRoZW5hYmxlJ1xuaW1wb3J0IHsgRXJyb3JCb3VuZGFyeSB9IGZyb20gJy4vZXJyb3ItYm91bmRhcnknXG5pbXBvcnQgeyBtYXRjaFNlZ21lbnQgfSBmcm9tICcuL21hdGNoLXNlZ21lbnRzJ1xuaW1wb3J0IHsgaGFuZGxlU21vb3RoU2Nyb2xsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaGFuZGxlLXNtb290aC1zY3JvbGwnXG5pbXBvcnQgeyBSZWRpcmVjdEJvdW5kYXJ5IH0gZnJvbSAnLi9yZWRpcmVjdC1ib3VuZGFyeSdcbmltcG9ydCB7IEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5IH0gZnJvbSAnLi9odHRwLWFjY2Vzcy1mYWxsYmFjay9lcnJvci1ib3VuZGFyeSdcbmltcG9ydCB7IGdldFNlZ21lbnRWYWx1ZSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZ2V0LXNlZ21lbnQtdmFsdWUnXG5pbXBvcnQgeyBjcmVhdGVSb3V0ZXJDYWNoZUtleSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvY3JlYXRlLXJvdXRlci1jYWNoZS1rZXknXG5pbXBvcnQgeyBoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUgfSBmcm9tICcuL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2hhcy1pbnRlcmNlcHRpb24tcm91dGUtaW4tY3VycmVudC10cmVlJ1xuXG4vKipcbiAqIEFkZCByZWZldGNoIG1hcmtlciB0byByb3V0ZXIgc3RhdGUgYXQgdGhlIHBvaW50IG9mIHRoZSBjdXJyZW50IGxheW91dCBzZWdtZW50LlxuICogVGhpcyBlbnN1cmVzIHRoZSByZXNwb25zZSByZXR1cm5lZCBpcyBub3QgZnVydGhlciBkb3duIHRoYW4gdGhlIGN1cnJlbnQgbGF5b3V0IHNlZ21lbnQuXG4gKi9cbmZ1bmN0aW9uIHdhbGtBZGRSZWZldGNoKFxuICBzZWdtZW50UGF0aFRvV2FsazogRmxpZ2h0U2VnbWVudFBhdGggfCB1bmRlZmluZWQsXG4gIHRyZWVUb1JlY3JlYXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuKTogRmxpZ2h0Um91dGVyU3RhdGUge1xuICBpZiAoc2VnbWVudFBhdGhUb1dhbGspIHtcbiAgICBjb25zdCBbc2VnbWVudCwgcGFyYWxsZWxSb3V0ZUtleV0gPSBzZWdtZW50UGF0aFRvV2Fsa1xuICAgIGNvbnN0IGlzTGFzdCA9IHNlZ21lbnRQYXRoVG9XYWxrLmxlbmd0aCA9PT0gMlxuXG4gICAgaWYgKG1hdGNoU2VnbWVudCh0cmVlVG9SZWNyZWF0ZVswXSwgc2VnbWVudCkpIHtcbiAgICAgIGlmICh0cmVlVG9SZWNyZWF0ZVsxXS5oYXNPd25Qcm9wZXJ0eShwYXJhbGxlbFJvdXRlS2V5KSkge1xuICAgICAgICBpZiAoaXNMYXN0KSB7XG4gICAgICAgICAgY29uc3Qgc3ViVHJlZSA9IHdhbGtBZGRSZWZldGNoKFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgdHJlZVRvUmVjcmVhdGVbMV1bcGFyYWxsZWxSb3V0ZUtleV1cbiAgICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzBdLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi50cmVlVG9SZWNyZWF0ZVsxXSxcbiAgICAgICAgICAgICAgW3BhcmFsbGVsUm91dGVLZXldOiBbXG4gICAgICAgICAgICAgICAgc3ViVHJlZVswXSxcbiAgICAgICAgICAgICAgICBzdWJUcmVlWzFdLFxuICAgICAgICAgICAgICAgIHN1YlRyZWVbMl0sXG4gICAgICAgICAgICAgICAgJ3JlZmV0Y2gnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzBdLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLnRyZWVUb1JlY3JlYXRlWzFdLFxuICAgICAgICAgICAgW3BhcmFsbGVsUm91dGVLZXldOiB3YWxrQWRkUmVmZXRjaChcbiAgICAgICAgICAgICAgc2VnbWVudFBhdGhUb1dhbGsuc2xpY2UoMiksXG4gICAgICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzFdW3BhcmFsbGVsUm91dGVLZXldXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJlZVRvUmVjcmVhdGVcbn1cblxuY29uc3QgX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFID0gKFxuICBSZWFjdERPTSBhcyBhbnlcbikuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFXG5cbi8vIFRPRE8tQVBQOiBSZXBsYWNlIHdpdGggbmV3IFJlYWN0IEFQSSBmb3IgZmluZGluZyBkb20gbm9kZXMgd2l0aG91dCBhIGByZWZgIHdoZW4gYXZhaWxhYmxlXG4vKipcbiAqIFdyYXBzIFJlYWN0RE9NLmZpbmRET01Ob2RlIHdpdGggYWRkaXRpb25hbCBsb2dpYyB0byBoaWRlIFJlYWN0IFN0cmljdCBNb2RlIHdhcm5pbmdcbiAqL1xuZnVuY3Rpb24gZmluZERPTU5vZGUoXG4gIGluc3RhbmNlOiBSZWFjdC5SZWFjdEluc3RhbmNlIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogRWxlbWVudCB8IFRleHQgfCBudWxsIHtcbiAgLy8gVHJlZS1zaGFrZSBmb3Igc2VydmVyIGJ1bmRsZVxuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBudWxsXG5cbiAgLy8gX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLmZpbmRET01Ob2RlIGlzIG51bGwgZHVyaW5nIG1vZHVsZSBpbml0LlxuICAvLyBXZSBuZWVkIHRvIGxhemlseSByZWZlcmVuY2UgaXQuXG4gIGNvbnN0IGludGVybmFsX3JlYWN0RE9NZmluZERPTU5vZGUgPVxuICAgIF9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERS5maW5kRE9NTm9kZVxuICByZXR1cm4gaW50ZXJuYWxfcmVhY3RET01maW5kRE9NTm9kZShpbnN0YW5jZSlcbn1cblxuY29uc3QgcmVjdFByb3BlcnRpZXMgPSBbXG4gICdib3R0b20nLFxuICAnaGVpZ2h0JyxcbiAgJ2xlZnQnLFxuICAncmlnaHQnLFxuICAndG9wJyxcbiAgJ3dpZHRoJyxcbiAgJ3gnLFxuICAneScsXG5dIGFzIGNvbnN0XG4vKipcbiAqIENoZWNrIGlmIGEgSFRNTEVsZW1lbnQgaXMgaGlkZGVuIG9yIGZpeGVkL3N0aWNreSBwb3NpdGlvblxuICovXG5mdW5jdGlvbiBzaG91bGRTa2lwRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAvLyB3ZSBpZ25vcmUgZml4ZWQgb3Igc3RpY2t5IHBvc2l0aW9uZWQgZWxlbWVudHMgc2luY2UgdGhleSdsbCBsaWtlbHkgcGFzcyB0aGUgXCJpbi12aWV3cG9ydFwiIGNoZWNrXG4gIC8vIGFuZCB3aWxsIHJlc3VsdCBpbiBhIHNpdHVhdGlvbiB3ZSBiYWlsIG9uIHNjcm9sbCBiZWNhdXNlIG9mIHNvbWV0aGluZyBsaWtlIGEgZml4ZWQgbmF2LFxuICAvLyBldmVuIHRob3VnaCB0aGUgYWN0dWFsIHBhZ2UgY29udGVudCBpcyBvZmZzY3JlZW5cbiAgaWYgKFsnc3RpY2t5JywgJ2ZpeGVkJ10uaW5jbHVkZXMoZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbikpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1NraXBwaW5nIGF1dG8tc2Nyb2xsIGJlaGF2aW9yIGR1ZSB0byBgcG9zaXRpb246IHN0aWNreWAgb3IgYHBvc2l0aW9uOiBmaXhlZGAgb24gZWxlbWVudDonLFxuICAgICAgICBlbGVtZW50XG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvLyBVc2VzIGBnZXRCb3VuZGluZ0NsaWVudFJlY3RgIHRvIGNoZWNrIGlmIHRoZSBlbGVtZW50IGlzIGhpZGRlbiBpbnN0ZWFkIG9mIGBvZmZzZXRQYXJlbnRgXG4gIC8vIGJlY2F1c2UgYG9mZnNldFBhcmVudGAgZG9lc24ndCBjb25zaWRlciBkb2N1bWVudC9ib2R5XG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIHJldHVybiByZWN0UHJvcGVydGllcy5ldmVyeSgoaXRlbSkgPT4gcmVjdFtpdGVtXSA9PT0gMClcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgdG9wIGNvcm5lciBvZiB0aGUgSFRNTEVsZW1lbnQgaXMgaW4gdGhlIHZpZXdwb3J0LlxuICovXG5mdW5jdGlvbiB0b3BPZkVsZW1lbnRJblZpZXdwb3J0KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCB2aWV3cG9ydEhlaWdodDogbnVtYmVyKSB7XG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIHJldHVybiByZWN0LnRvcCA+PSAwICYmIHJlY3QudG9wIDw9IHZpZXdwb3J0SGVpZ2h0XG59XG5cbi8qKlxuICogRmluZCB0aGUgRE9NIG5vZGUgZm9yIGEgaGFzaCBmcmFnbWVudC5cbiAqIElmIGB0b3BgIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgcGFnZS4gVGhpcyBtaXJyb3JzIHRoZSBicm93c2VyJ3MgYmVoYXZpb3IuXG4gKiBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhbiBpZCwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZWxlbWVudCB3aXRoIHRoYXQgaWQuXG4gKiBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhIG5hbWUsIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIGZpcnN0IGVsZW1lbnQgd2l0aCB0aGF0IG5hbWUuXG4gKi9cbmZ1bmN0aW9uIGdldEhhc2hGcmFnbWVudERvbU5vZGUoaGFzaEZyYWdtZW50OiBzdHJpbmcpIHtcbiAgLy8gSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYHRvcGAgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgdG9wIG9mIHRoZSBwYWdlLlxuICBpZiAoaGFzaEZyYWdtZW50ID09PSAndG9wJykge1xuICAgIHJldHVybiBkb2N1bWVudC5ib2R5XG4gIH1cblxuICAvLyBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhbiBpZCwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZWxlbWVudCB3aXRoIHRoYXQgaWQuXG4gIHJldHVybiAoXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaGFzaEZyYWdtZW50KSA/P1xuICAgIC8vIElmIHRoZSBoYXNoIGZyYWdtZW50IGlzIGEgbmFtZSwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZmlyc3QgZWxlbWVudCB3aXRoIHRoYXQgbmFtZS5cbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShoYXNoRnJhZ21lbnQpWzBdXG4gIClcbn1cbmludGVyZmFjZSBTY3JvbGxBbmRGb2N1c0hhbmRsZXJQcm9wcyB7XG4gIGZvY3VzQW5kU2Nyb2xsUmVmOiBGb2N1c0FuZFNjcm9sbFJlZlxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aFxufVxuY2xhc3MgSW5uZXJTY3JvbGxBbmRGb2N1c0hhbmRsZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8U2Nyb2xsQW5kRm9jdXNIYW5kbGVyUHJvcHM+IHtcbiAgaGFuZGxlUG90ZW50aWFsU2Nyb2xsID0gKCkgPT4ge1xuICAgIC8vIEhhbmRsZSBzY3JvbGwgYW5kIGZvY3VzLCBpdCdzIG9ubHkgYXBwbGllZCBvbmNlIGluIHRoZSBmaXJzdCB1c2VFZmZlY3QgdGhhdCB0cmlnZ2VycyB0aGF0IGNoYW5nZWQuXG4gICAgY29uc3QgeyBmb2N1c0FuZFNjcm9sbFJlZiwgc2VnbWVudFBhdGggfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChmb2N1c0FuZFNjcm9sbFJlZi5hcHBseSkge1xuICAgICAgLy8gc2VnbWVudFBhdGhzIGlzIGFuIGFycmF5IG9mIHNlZ21lbnQgcGF0aHMgdGhhdCBzaG91bGQgYmUgc2Nyb2xsZWQgdG9cbiAgICAgIC8vIGlmIHRoZSBjdXJyZW50IHNlZ21lbnQgcGF0aCBpcyBub3QgaW4gdGhlIGFycmF5LCB0aGUgc2Nyb2xsIGlzIG5vdCBhcHBsaWVkXG4gICAgICAvLyB1bmxlc3MgdGhlIGFycmF5IGlzIGVtcHR5LCBpbiB3aGljaCBjYXNlIHRoZSBzY3JvbGwgaXMgYWx3YXlzIGFwcGxpZWRcbiAgICAgIGlmIChcbiAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAhZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLnNvbWUoKHNjcm9sbFJlZlNlZ21lbnRQYXRoKSA9PlxuICAgICAgICAgIHNlZ21lbnRQYXRoLmV2ZXJ5KChzZWdtZW50LCBpbmRleCkgPT5cbiAgICAgICAgICAgIG1hdGNoU2VnbWVudChzZWdtZW50LCBzY3JvbGxSZWZTZWdtZW50UGF0aFtpbmRleF0pXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGxldCBkb21Ob2RlOlxuICAgICAgICB8IFJldHVyblR5cGU8dHlwZW9mIGdldEhhc2hGcmFnbWVudERvbU5vZGU+XG4gICAgICAgIHwgUmV0dXJuVHlwZTx0eXBlb2YgZmluZERPTU5vZGU+ID0gbnVsbFxuICAgICAgY29uc3QgaGFzaEZyYWdtZW50ID0gZm9jdXNBbmRTY3JvbGxSZWYuaGFzaEZyYWdtZW50XG5cbiAgICAgIGlmIChoYXNoRnJhZ21lbnQpIHtcbiAgICAgICAgZG9tTm9kZSA9IGdldEhhc2hGcmFnbWVudERvbU5vZGUoaGFzaEZyYWdtZW50KVxuICAgICAgfVxuXG4gICAgICAvLyBgZmluZERPTU5vZGVgIGlzIHRyaWNreSBiZWNhdXNlIGl0IHJldHVybnMganVzdCB0aGUgZmlyc3QgY2hpbGQgaWYgdGhlIGNvbXBvbmVudCBpcyBhIGZyYWdtZW50LlxuICAgICAgLy8gVGhpcyBhbHJlYWR5IGNhdXNlZCBhIGJ1ZyB3aGVyZSB0aGUgZmlyc3QgY2hpbGQgd2FzIGEgPGxpbmsvPiBpbiBoZWFkLlxuICAgICAgaWYgKCFkb21Ob2RlKSB7XG4gICAgICAgIGRvbU5vZGUgPSBmaW5kRE9NTm9kZSh0aGlzKVxuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGVyZSBpcyBubyBET00gbm9kZSB0aGlzIGxheW91dC1yb3V0ZXIgbGV2ZWwgaXMgc2tpcHBlZC4gSXQnbGwgYmUgaGFuZGxlZCBoaWdoZXItdXAgaW4gdGhlIHRyZWUuXG4gICAgICBpZiAoIShkb21Ob2RlIGluc3RhbmNlb2YgRWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIFZlcmlmeSBpZiB0aGUgZWxlbWVudCBpcyBhIEhUTUxFbGVtZW50IGFuZCBpZiB3ZSB3YW50IHRvIGNvbnNpZGVyIGl0IGZvciBzY3JvbGwgYmVoYXZpb3IuXG4gICAgICAvLyBJZiB0aGUgZWxlbWVudCBpcyBza2lwcGVkLCB0cnkgdG8gc2VsZWN0IHRoZSBuZXh0IHNpYmxpbmcgYW5kIHRyeSBhZ2Fpbi5cbiAgICAgIHdoaWxlICghKGRvbU5vZGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgfHwgc2hvdWxkU2tpcEVsZW1lbnQoZG9tTm9kZSkpIHtcbiAgICAgICAgLy8gTm8gc2libGluZ3MgZm91bmQgdGhhdCBtYXRjaCB0aGUgY3JpdGVyaWEgYXJlIGZvdW5kLCBzbyBoYW5kbGUgc2Nyb2xsIGhpZ2hlciB1cCBpbiB0aGUgdHJlZSBpbnN0ZWFkLlxuICAgICAgICBpZiAoZG9tTm9kZS5uZXh0RWxlbWVudFNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBkb21Ob2RlID0gZG9tTm9kZS5uZXh0RWxlbWVudFNpYmxpbmdcbiAgICAgIH1cblxuICAgICAgLy8gU3RhdGUgaXMgbXV0YXRlZCB0byBlbnN1cmUgdGhhdCB0aGUgZm9jdXMgYW5kIHNjcm9sbCBpcyBhcHBsaWVkIG9ubHkgb25jZS5cbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5ID0gZmFsc2VcbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLmhhc2hGcmFnbWVudCA9IG51bGxcbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLnNlZ21lbnRQYXRocyA9IFtdXG5cbiAgICAgIGhhbmRsZVNtb290aFNjcm9sbChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIC8vIEluIGNhc2Ugb2YgaGFzaCBzY3JvbGwsIHdlIG9ubHkgbmVlZCB0byBzY3JvbGwgdGhlIGVsZW1lbnQgaW50byB2aWV3XG4gICAgICAgICAgaWYgKGhhc2hGcmFnbWVudCkge1xuICAgICAgICAgICAgOyhkb21Ob2RlIGFzIEhUTUxFbGVtZW50KS5zY3JvbGxJbnRvVmlldygpXG5cbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTdG9yZSB0aGUgY3VycmVudCB2aWV3cG9ydCBoZWlnaHQgYmVjYXVzZSByZWFkaW5nIGBjbGllbnRIZWlnaHRgIGNhdXNlcyBhIHJlZmxvdyxcbiAgICAgICAgICAvLyBhbmQgaXQgd29uJ3QgY2hhbmdlIGR1cmluZyB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICAgIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XG4gICAgICAgICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSBodG1sRWxlbWVudC5jbGllbnRIZWlnaHRcblxuICAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50J3MgdG9wIGVkZ2UgaXMgYWxyZWFkeSBpbiB0aGUgdmlld3BvcnQsIGV4aXQgZWFybHkuXG4gICAgICAgICAgaWYgKHRvcE9mRWxlbWVudEluVmlld3BvcnQoZG9tTm9kZSBhcyBIVE1MRWxlbWVudCwgdmlld3BvcnRIZWlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPdGhlcndpc2UsIHRyeSBzY3JvbGxpbmcgZ28gdGhlIHRvcCBvZiB0aGUgZG9jdW1lbnQgdG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIHBhZ2VzXG4gICAgICAgICAgLy8gc2Nyb2xsSW50b1ZpZXcoKSBjYWxsZWQgb24gYDxodG1sLz5gIGVsZW1lbnQgc2Nyb2xscyBob3Jpem9udGFsbHkgb24gY2hyb21lIGFuZCBmaXJlZm94ICh0aGF0IHNob3VsZG4ndCBoYXBwZW4pXG4gICAgICAgICAgLy8gV2UgY291bGQgdXNlIGl0IHRvIHNjcm9sbCBob3Jpem9udGFsbHkgZm9sbG93aW5nIFJUTCBidXQgdGhhdCBhbHNvIHNlZW1zIHRvIGJlIGJyb2tlbiAtIGl0IHdpbGwgYWx3YXlzIHNjcm9sbCBsZWZ0XG4gICAgICAgICAgLy8gc2Nyb2xsTGVmdCA9IDAgYWxzbyBzZWVtcyB0byBpZ25vcmUgUlRMIGFuZCBtYW51YWxseSBjaGVja2luZyBmb3IgUlRMIGlzIHRvbyBtdWNoIGhhc3NsZSBzbyB3ZSB3aWxsIHNjcm9sbCBqdXN0IHZlcnRpY2FsbHlcbiAgICAgICAgICBodG1sRWxlbWVudC5zY3JvbGxUb3AgPSAwXG5cbiAgICAgICAgICAvLyBTY3JvbGwgdG8gZG9tTm9kZSBpZiBkb21Ob2RlIGlzIG5vdCBpbiB2aWV3cG9ydCB3aGVuIHNjcm9sbGVkIHRvIHRvcCBvZiBkb2N1bWVudFxuICAgICAgICAgIGlmICghdG9wT2ZFbGVtZW50SW5WaWV3cG9ydChkb21Ob2RlIGFzIEhUTUxFbGVtZW50LCB2aWV3cG9ydEhlaWdodCkpIHtcbiAgICAgICAgICAgIC8vIFNjcm9sbCBpbnRvIHZpZXcgZG9lc24ndCBzY3JvbGwgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQgd2hlbiBub3QgbmVlZGVkXG4gICAgICAgICAgICA7KGRvbU5vZGUgYXMgSFRNTEVsZW1lbnQpLnNjcm9sbEludG9WaWV3KClcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXZSB3aWxsIGZvcmNlIGxheW91dCBieSBxdWVyeWluZyBkb21Ob2RlIHBvc2l0aW9uXG4gICAgICAgICAgZG9udEZvcmNlTGF5b3V0OiB0cnVlLFxuICAgICAgICAgIG9ubHlIYXNoQ2hhbmdlOiBmb2N1c0FuZFNjcm9sbFJlZi5vbmx5SGFzaENoYW5nZSxcbiAgICAgICAgfVxuICAgICAgKVxuXG4gICAgICAvLyBNdXRhdGUgYWZ0ZXIgc2Nyb2xsaW5nIHNvIHRoYXQgaXQgY2FuIGJlIHJlYWQgYnkgYGhhbmRsZVNtb290aFNjcm9sbGBcbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLm9ubHlIYXNoQ2hhbmdlID0gZmFsc2VcblxuICAgICAgLy8gU2V0IGZvY3VzIG9uIHRoZSBlbGVtZW50XG4gICAgICBkb21Ob2RlLmZvY3VzKClcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpXG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgLy8gQmVjYXVzZSB0aGlzIHByb3BlcnR5IGlzIG92ZXJ3cml0dGVuIGluIGhhbmRsZVBvdGVudGlhbFNjcm9sbCBpdCdzIGZpbmUgdG8gYWx3YXlzIHJ1biBpdCB3aGVuIHRydWUgYXMgaXQnbGwgYmUgc2V0IHRvIGZhbHNlIGZvciBzdWJzZXF1ZW50IHJlbmRlcnMuXG4gICAgaWYgKHRoaXMucHJvcHMuZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkpIHtcbiAgICAgIHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsKClcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW5cbiAgfVxufVxuXG5mdW5jdGlvbiBTY3JvbGxBbmRGb2N1c0hhbmRsZXIoe1xuICBzZWdtZW50UGF0aCxcbiAgY2hpbGRyZW4sXG59OiB7XG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aFxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEdsb2JhbExheW91dFJvdXRlckNvbnRleHQpXG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkJylcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPElubmVyU2Nyb2xsQW5kRm9jdXNIYW5kbGVyXG4gICAgICBzZWdtZW50UGF0aD17c2VnbWVudFBhdGh9XG4gICAgICBmb2N1c0FuZFNjcm9sbFJlZj17Y29udGV4dC5mb2N1c0FuZFNjcm9sbFJlZn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Jbm5lclNjcm9sbEFuZEZvY3VzSGFuZGxlcj5cbiAgKVxufVxuXG4vKipcbiAqIElubmVyTGF5b3V0Um91dGVyIGhhbmRsZXMgcmVuZGVyaW5nIHRoZSBwcm92aWRlZCBzZWdtZW50IGJhc2VkIG9uIHRoZSBjYWNoZS5cbiAqL1xuZnVuY3Rpb24gSW5uZXJMYXlvdXRSb3V0ZXIoe1xuICBwYXJhbGxlbFJvdXRlcktleSxcbiAgdXJsLFxuICBjaGlsZE5vZGVzLFxuICBzZWdtZW50UGF0aCxcbiAgdHJlZSxcbiAgLy8gVE9ETy1BUFA6IGltcGxlbWVudCBgPE9mZnNjcmVlbj5gIHdoZW4gYXZhaWxhYmxlLlxuICAvLyBpc0FjdGl2ZSxcbiAgY2FjaGVLZXksXG59OiB7XG4gIHBhcmFsbGVsUm91dGVyS2V5OiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbiAgY2hpbGROb2RlczogQ2hpbGRTZWdtZW50TWFwXG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aFxuICB0cmVlOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuICBpc0FjdGl2ZTogYm9vbGVhblxuICBjYWNoZUtleTogUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlUm91dGVyQ2FjaGVLZXk+XG59KSB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEdsb2JhbExheW91dFJvdXRlckNvbnRleHQpXG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkJylcbiAgfVxuXG4gIGNvbnN0IHsgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSwgdHJlZTogZnVsbFRyZWUgfSA9IGNvbnRleHRcblxuICAvLyBSZWFkIHNlZ21lbnQgcGF0aCBmcm9tIHRoZSBwYXJhbGxlbCByb3V0ZXIgY2FjaGUgbm9kZS5cbiAgbGV0IGNoaWxkTm9kZSA9IGNoaWxkTm9kZXMuZ2V0KGNhY2hlS2V5KVxuXG4gIC8vIFdoZW4gZGF0YSBpcyBub3QgYXZhaWxhYmxlIGR1cmluZyByZW5kZXJpbmcgY2xpZW50LXNpZGUgd2UgbmVlZCB0byBmZXRjaFxuICAvLyBpdCBmcm9tIHRoZSBzZXJ2ZXIuXG4gIGlmIChjaGlsZE5vZGUgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG5ld0xhenlDYWNoZU5vZGU6IExhenlDYWNoZU5vZGUgPSB7XG4gICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgIHJzYzogbnVsbCxcbiAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgaGVhZDogbnVsbCxcbiAgICAgIHByZWZldGNoSGVhZDogbnVsbCxcbiAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKCksXG4gICAgICBsb2FkaW5nOiBudWxsLFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZsaWdodCBkYXRhIGZldGNoIGtpY2tlZCBvZmYgZHVyaW5nIHJlbmRlciBhbmQgcHV0IGludG8gdGhlIGNhY2hlLlxuICAgICAqL1xuICAgIGNoaWxkTm9kZSA9IG5ld0xhenlDYWNoZU5vZGVcbiAgICBjaGlsZE5vZGVzLnNldChjYWNoZUtleSwgbmV3TGF6eUNhY2hlTm9kZSlcbiAgfVxuXG4gIC8vIGByc2NgIHJlcHJlc2VudHMgdGhlIHJlbmRlcmFibGUgbm9kZSBmb3IgdGhpcyBzZWdtZW50LlxuXG4gIC8vIElmIHRoaXMgc2VnbWVudCBoYXMgYSBgcHJlZmV0Y2hSc2NgLCBpdCdzIHRoZSBzdGF0aWNhbGx5IHByZWZldGNoZWQgZGF0YS5cbiAgLy8gV2Ugc2hvdWxkIHVzZSB0aGF0IG9uIGluaXRpYWwgcmVuZGVyIGluc3RlYWQgb2YgYHJzY2AuIFRoZW4gd2UnbGwgc3dpdGNoXG4gIC8vIHRvIGByc2NgIHdoZW4gdGhlIGR5bmFtaWMgcmVzcG9uc2Ugc3RyZWFtcyBpbi5cbiAgLy9cbiAgLy8gSWYgbm8gcHJlZmV0Y2ggZGF0YSBpcyBhdmFpbGFibGUsIHRoZW4gd2UgZ28gc3RyYWlnaHQgdG8gcmVuZGVyaW5nIGByc2NgLlxuICBjb25zdCByZXNvbHZlZFByZWZldGNoUnNjID1cbiAgICBjaGlsZE5vZGUucHJlZmV0Y2hSc2MgIT09IG51bGwgPyBjaGlsZE5vZGUucHJlZmV0Y2hSc2MgOiBjaGlsZE5vZGUucnNjXG5cbiAgLy8gV2UgdXNlIGB1c2VEZWZlcnJlZFZhbHVlYCB0byBoYW5kbGUgc3dpdGNoaW5nIGJldHdlZW4gdGhlIHByZWZldGNoZWQgYW5kXG4gIC8vIGZpbmFsIHZhbHVlcy4gVGhlIHNlY29uZCBhcmd1bWVudCBpcyByZXR1cm5lZCBvbiBpbml0aWFsIHJlbmRlciwgdGhlbiBpdFxuICAvLyByZS1yZW5kZXJzIHdpdGggdGhlIGZpcnN0IGFyZ3VtZW50LlxuICAvL1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIFRoZSBzZWNvbmQgYXJndW1lbnQgdG8gYHVzZURlZmVycmVkVmFsdWVgIGlzIG9ubHlcbiAgLy8gYXZhaWxhYmxlIGluIHRoZSBleHBlcmltZW50YWwgYnVpbGRzLiBXaGVuIGl0cyBkaXNhYmxlZCwgaXQgd2lsbCBhbHdheXNcbiAgLy8gcmV0dXJuIGByc2NgLlxuICBjb25zdCByc2M6IGFueSA9IHVzZURlZmVycmVkVmFsdWUoY2hpbGROb2RlLnJzYywgcmVzb2x2ZWRQcmVmZXRjaFJzYylcblxuICAvLyBgcnNjYCBpcyBlaXRoZXIgYSBSZWFjdCBub2RlIG9yIGEgcHJvbWlzZSBmb3IgYSBSZWFjdCBub2RlLCBleGNlcHQgd2VcbiAgLy8gc3BlY2lhbCBjYXNlIGBudWxsYCB0byByZXByZXNlbnQgdGhhdCB0aGlzIHNlZ21lbnQncyBkYXRhIGlzIG1pc3NpbmcuIElmXG4gIC8vIGl0J3MgYSBwcm9taXNlLCB3ZSBuZWVkIHRvIHVud3JhcCBpdCBzbyB3ZSBjYW4gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRoZVxuICAvLyBkYXRhIGlzIG1pc3NpbmcuXG4gIGNvbnN0IHJlc29sdmVkUnNjOiBSZWFjdC5SZWFjdE5vZGUgPVxuICAgIHR5cGVvZiByc2MgPT09ICdvYmplY3QnICYmIHJzYyAhPT0gbnVsbCAmJiB0eXBlb2YgcnNjLnRoZW4gPT09ICdmdW5jdGlvbidcbiAgICAgID8gdXNlKHJzYylcbiAgICAgIDogcnNjXG5cbiAgaWYgKCFyZXNvbHZlZFJzYykge1xuICAgIC8vIFRoZSBkYXRhIGZvciB0aGlzIHNlZ21lbnQgaXMgbm90IGF2YWlsYWJsZSwgYW5kIHRoZXJlJ3Mgbm8gcGVuZGluZ1xuICAgIC8vIG5hdmlnYXRpb24gdGhhdCB3aWxsIGJlIGFibGUgdG8gZnVsZmlsbCBpdC4gV2UgbmVlZCB0byBmZXRjaCBtb3JlIGZyb21cbiAgICAvLyB0aGUgc2VydmVyIGFuZCBwYXRjaCB0aGUgY2FjaGUuXG5cbiAgICAvLyBDaGVjayBpZiB0aGVyZSdzIGFscmVhZHkgYSBwZW5kaW5nIHJlcXVlc3QuXG4gICAgbGV0IGxhenlEYXRhID0gY2hpbGROb2RlLmxhenlEYXRhXG4gICAgaWYgKGxhenlEYXRhID09PSBudWxsKSB7XG4gICAgICAvKipcbiAgICAgICAqIFJvdXRlciBzdGF0ZSB3aXRoIHJlZmV0Y2ggbWFya2VyIGFkZGVkXG4gICAgICAgKi9cbiAgICAgIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgIGNvbnN0IHJlZmV0Y2hUcmVlID0gd2Fsa0FkZFJlZmV0Y2goWycnLCAuLi5zZWdtZW50UGF0aF0sIGZ1bGxUcmVlKVxuICAgICAgY29uc3QgaW5jbHVkZU5leHRVcmwgPSBoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUoZnVsbFRyZWUpXG4gICAgICBjaGlsZE5vZGUubGF6eURhdGEgPSBsYXp5RGF0YSA9IGZldGNoU2VydmVyUmVzcG9uc2UoXG4gICAgICAgIG5ldyBVUkwodXJsLCBsb2NhdGlvbi5vcmlnaW4pLFxuICAgICAgICB7XG4gICAgICAgICAgZmxpZ2h0Um91dGVyU3RhdGU6IHJlZmV0Y2hUcmVlLFxuICAgICAgICAgIG5leHRVcmw6IGluY2x1ZGVOZXh0VXJsID8gY29udGV4dC5uZXh0VXJsIDogbnVsbCxcbiAgICAgICAgfVxuICAgICAgKS50aGVuKChzZXJ2ZXJSZXNwb25zZSkgPT4ge1xuICAgICAgICBzdGFydFRyYW5zaXRpb24oKCkgPT4ge1xuICAgICAgICAgIGNoYW5nZUJ5U2VydmVyUmVzcG9uc2Uoe1xuICAgICAgICAgICAgcHJldmlvdXNUcmVlOiBmdWxsVHJlZSxcbiAgICAgICAgICAgIHNlcnZlclJlc3BvbnNlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIHNlcnZlclJlc3BvbnNlXG4gICAgICB9KVxuICAgIH1cbiAgICAvLyBTdXNwZW5kIGluZmluaXRlbHkgYXMgYGNoYW5nZUJ5U2VydmVyUmVzcG9uc2VgIHdpbGwgY2F1c2UgYSBkaWZmZXJlbnQgcGFydCBvZiB0aGUgdHJlZSB0byBiZSByZW5kZXJlZC5cbiAgICAvLyBBIGZhbHNleSBgcmVzb2x2ZWRSc2NgIGluZGljYXRlcyBtaXNzaW5nIGRhdGEgLS0gd2Ugc2hvdWxkIG5vdCBjb21taXQgdGhhdCBicmFuY2gsIGFuZCB3ZSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBkYXRhIHRvIGFycml2ZS5cbiAgICB1c2UodW5yZXNvbHZlZFRoZW5hYmxlKSBhcyBuZXZlclxuICB9XG5cbiAgLy8gSWYgd2UgZ2V0IHRvIHRoaXMgcG9pbnQsIHRoZW4gd2Uga25vdyB3ZSBoYXZlIHNvbWV0aGluZyB3ZSBjYW4gcmVuZGVyLlxuICBjb25zdCBzdWJ0cmVlID0gKFxuICAgIC8vIFRoZSBsYXlvdXQgcm91dGVyIGNvbnRleHQgbmFycm93cyBkb3duIHRyZWUgYW5kIGNoaWxkTm9kZXMgYXQgZWFjaCBsZXZlbC5cbiAgICA8TGF5b3V0Um91dGVyQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgdHJlZTogdHJlZVsxXVtwYXJhbGxlbFJvdXRlcktleV0sXG4gICAgICAgIGNoaWxkTm9kZXM6IGNoaWxkTm9kZS5wYXJhbGxlbFJvdXRlcyxcbiAgICAgICAgLy8gVE9ETy1BUFA6IG92ZXJyaWRpbmcgb2YgdXJsIGZvciBwYXJhbGxlbCByb3V0ZXNcbiAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgIGxvYWRpbmc6IGNoaWxkTm9kZS5sb2FkaW5nLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7cmVzb2x2ZWRSc2N9XG4gICAgPC9MYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyPlxuICApXG4gIC8vIEVuc3VyZSByb290IGxheW91dCBpcyBub3Qgd3JhcHBlZCBpbiBhIGRpdiBhcyB0aGUgcm9vdCBsYXlvdXQgcmVuZGVycyBgPGh0bWw+YFxuICByZXR1cm4gc3VidHJlZVxufVxuXG4vKipcbiAqIFJlbmRlcnMgc3VzcGVuc2UgYm91bmRhcnkgd2l0aCB0aGUgcHJvdmlkZWQgXCJsb2FkaW5nXCIgcHJvcGVydHkgYXMgdGhlIGZhbGxiYWNrLlxuICogSWYgbm8gbG9hZGluZyBwcm9wZXJ0eSBpcyBwcm92aWRlZCBpdCByZW5kZXJzIHRoZSBjaGlsZHJlbiB3aXRob3V0IGEgc3VzcGVuc2UgYm91bmRhcnkuXG4gKi9cbmZ1bmN0aW9uIExvYWRpbmdCb3VuZGFyeSh7XG4gIGxvYWRpbmcsXG4gIGNoaWxkcmVuLFxufToge1xuICBsb2FkaW5nOiBMb2FkaW5nTW9kdWxlRGF0YSB8IFByb21pc2U8TG9hZGluZ01vZHVsZURhdGE+XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbn0pOiBKU1guRWxlbWVudCB7XG4gIC8vIElmIGxvYWRpbmcgaXMgYSBwcm9taXNlLCB1bndyYXAgaXQuIFRoaXMgaGFwcGVucyBpbiBjYXNlcyB3aGVyZSB3ZSBoYXZlbid0XG4gIC8vIHlldCByZWNlaXZlZCB0aGUgbG9hZGluZyBkYXRhIGZyb20gdGhlIHNlcnZlciDigJQgd2hpY2ggaW5jbHVkZXMgd2hldGhlciBvclxuICAvLyBub3QgdGhpcyBsYXlvdXQgaGFzIGEgbG9hZGluZyBjb21wb25lbnQgYXQgYWxsLlxuICAvL1xuICAvLyBJdCdzIE9LIHRvIHN1c3BlbmQgaGVyZSBpbnN0ZWFkIG9mIGluc2lkZSB0aGUgZmFsbGJhY2sgYmVjYXVzZSB0aGlzXG4gIC8vIHByb21pc2Ugd2lsbCByZXNvbHZlIHNpbXVsdGFuZW91c2x5IHdpdGggdGhlIGRhdGEgZm9yIHRoZSBzZWdtZW50IGl0c2VsZi5cbiAgLy8gU28gaXQgd2lsbCBuZXZlciBzdXNwZW5kIGZvciBsb25nZXIgdGhhbiBpdCB3b3VsZCBoYXZlIGlmIHdlIGRpZG4ndCB1c2VcbiAgLy8gYSBTdXNwZW5zZSBmYWxsYmFjayBhdCBhbGwuXG4gIGxldCBsb2FkaW5nTW9kdWxlRGF0YVxuICBpZiAoXG4gICAgdHlwZW9mIGxvYWRpbmcgPT09ICdvYmplY3QnICYmXG4gICAgbG9hZGluZyAhPT0gbnVsbCAmJlxuICAgIHR5cGVvZiAobG9hZGluZyBhcyBhbnkpLnRoZW4gPT09ICdmdW5jdGlvbidcbiAgKSB7XG4gICAgY29uc3QgcHJvbWlzZUZvckxvYWRpbmcgPSBsb2FkaW5nIGFzIFByb21pc2U8TG9hZGluZ01vZHVsZURhdGE+XG4gICAgbG9hZGluZ01vZHVsZURhdGEgPSB1c2UocHJvbWlzZUZvckxvYWRpbmcpXG4gIH0gZWxzZSB7XG4gICAgbG9hZGluZ01vZHVsZURhdGEgPSBsb2FkaW5nIGFzIExvYWRpbmdNb2R1bGVEYXRhXG4gIH1cblxuICBpZiAobG9hZGluZ01vZHVsZURhdGEpIHtcbiAgICBjb25zdCBsb2FkaW5nUnNjID0gbG9hZGluZ01vZHVsZURhdGFbMF1cbiAgICBjb25zdCBsb2FkaW5nU3R5bGVzID0gbG9hZGluZ01vZHVsZURhdGFbMV1cbiAgICBjb25zdCBsb2FkaW5nU2NyaXB0cyA9IGxvYWRpbmdNb2R1bGVEYXRhWzJdXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdXNwZW5zZVxuICAgICAgICBmYWxsYmFjaz17XG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHtsb2FkaW5nU3R5bGVzfVxuICAgICAgICAgICAge2xvYWRpbmdTY3JpcHRzfVxuICAgICAgICAgICAge2xvYWRpbmdSc2N9XG4gICAgICAgICAgPC8+XG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdXNwZW5zZT5cbiAgICApXG4gIH1cblxuICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG5cbi8qKlxuICogT3V0ZXJMYXlvdXRSb3V0ZXIgaGFuZGxlcyB0aGUgY3VycmVudCBzZWdtZW50IGFzIHdlbGwgYXMgPE9mZnNjcmVlbj4gcmVuZGVyaW5nIG9mIG90aGVyIHNlZ21lbnRzLlxuICogSXQgY2FuIGJlIHJlbmRlcmVkIG5leHQgdG8gZWFjaCBvdGhlciB3aXRoIGEgZGlmZmVyZW50IGBwYXJhbGxlbFJvdXRlcktleWAsIGFsbG93aW5nIGZvciBQYXJhbGxlbCByb3V0ZXMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE91dGVyTGF5b3V0Um91dGVyKHtcbiAgcGFyYWxsZWxSb3V0ZXJLZXksXG4gIHNlZ21lbnRQYXRoLFxuICBlcnJvcixcbiAgZXJyb3JTdHlsZXMsXG4gIGVycm9yU2NyaXB0cyxcbiAgdGVtcGxhdGVTdHlsZXMsXG4gIHRlbXBsYXRlU2NyaXB0cyxcbiAgdGVtcGxhdGUsXG4gIG5vdEZvdW5kLFxuICBmb3JiaWRkZW4sXG4gIHVuYXV0aG9yaXplZCxcbn06IHtcbiAgcGFyYWxsZWxSb3V0ZXJLZXk6IHN0cmluZ1xuICBzZWdtZW50UGF0aDogRmxpZ2h0U2VnbWVudFBhdGhcbiAgZXJyb3I6IEVycm9yQ29tcG9uZW50IHwgdW5kZWZpbmVkXG4gIGVycm9yU3R5bGVzOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbiAgZXJyb3JTY3JpcHRzOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbiAgdGVtcGxhdGVTdHlsZXM6IFJlYWN0LlJlYWN0Tm9kZSB8IHVuZGVmaW5lZFxuICB0ZW1wbGF0ZVNjcmlwdHM6IFJlYWN0LlJlYWN0Tm9kZSB8IHVuZGVmaW5lZFxuICB0ZW1wbGF0ZTogUmVhY3QuUmVhY3ROb2RlXG4gIG5vdEZvdW5kOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbiAgZm9yYmlkZGVuOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbiAgdW5hdXRob3JpemVkOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbn0pIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoTGF5b3V0Um91dGVyQ29udGV4dClcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhcmlhbnQgZXhwZWN0ZWQgbGF5b3V0IHJvdXRlciB0byBiZSBtb3VudGVkJylcbiAgfVxuXG4gIGNvbnN0IHsgY2hpbGROb2RlcywgdHJlZSwgdXJsLCBsb2FkaW5nIH0gPSBjb250ZXh0XG5cbiAgLy8gR2V0IHRoZSBjdXJyZW50IHBhcmFsbGVsUm91dGVyIGNhY2hlIG5vZGVcbiAgbGV0IGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciA9IGNoaWxkTm9kZXMuZ2V0KHBhcmFsbGVsUm91dGVyS2V5KVxuICAvLyBJZiB0aGUgcGFyYWxsZWwgcm91dGVyIGNhY2hlIG5vZGUgZG9lcyBub3QgZXhpc3QgeWV0LCBjcmVhdGUgaXQuXG4gIC8vIFRoaXMgd3JpdGVzIHRvIHRoZSBjYWNoZSB3aGVuIHRoZXJlIGlzIG5vIGl0ZW0gaW4gdGhlIGNhY2hlIHlldC4gSXQgbmV2ZXIgKm92ZXJ3cml0ZXMqIGV4aXN0aW5nIGNhY2hlIGl0ZW1zIHdoaWNoIGlzIHdoeSBpdCdzIHNhZmUgaW4gY29uY3VycmVudCBtb2RlLlxuICBpZiAoIWNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlcikge1xuICAgIGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciA9IG5ldyBNYXAoKVxuICAgIGNoaWxkTm9kZXMuc2V0KHBhcmFsbGVsUm91dGVyS2V5LCBjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIpXG4gIH1cblxuICAvLyBHZXQgdGhlIGFjdGl2ZSBzZWdtZW50IGluIHRoZSB0cmVlXG4gIC8vIFRoZSByZWFzb24gYXJyYXlzIGFyZSB1c2VkIGluIHRoZSBkYXRhIGZvcm1hdCBpcyB0aGF0IHRoZXNlIGFyZSB0cmFuc2ZlcnJlZCBmcm9tIHRoZSBzZXJ2ZXIgdG8gdGhlIGJyb3dzZXIgc28gaXQncyBvcHRpbWl6ZWQgdG8gc2F2ZSBieXRlcy5cbiAgY29uc3QgdHJlZVNlZ21lbnQgPSB0cmVlWzFdW3BhcmFsbGVsUm91dGVyS2V5XVswXVxuXG4gIC8vIElmIHNlZ21lbnQgaXMgYW4gYXJyYXkgaXQncyBhIGR5bmFtaWMgcm91dGUgYW5kIHdlIHdhbnQgdG8gcmVhZCB0aGUgZHluYW1pYyByb3V0ZSB2YWx1ZSBhcyB0aGUgc2VnbWVudCB0byBnZXQgZnJvbSB0aGUgY2FjaGUuXG4gIGNvbnN0IGN1cnJlbnRDaGlsZFNlZ21lbnRWYWx1ZSA9IGdldFNlZ21lbnRWYWx1ZSh0cmVlU2VnbWVudClcblxuICAvKipcbiAgICogRGVjaWRlcyB3aGljaCBzZWdtZW50cyB0byBrZWVwIHJlbmRlcmluZywgYWxsIHNlZ21lbnRzIHRoYXQgYXJlIG5vdCBhY3RpdmUgd2lsbCBiZSB3cmFwcGVkIGluIGA8T2Zmc2NyZWVuPmAuXG4gICAqL1xuICAvLyBUT0RPLUFQUDogQWRkIGhhbmRsaW5nIG9mIGA8T2Zmc2NyZWVuPmAgd2hlbiBpdCdzIGF2YWlsYWJsZS5cbiAgY29uc3QgcHJlc2VydmVkU2VnbWVudHM6IFNlZ21lbnRbXSA9IFt0cmVlU2VnbWVudF1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7cHJlc2VydmVkU2VnbWVudHMubWFwKChwcmVzZXJ2ZWRTZWdtZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHByZXNlcnZlZFNlZ21lbnRWYWx1ZSA9IGdldFNlZ21lbnRWYWx1ZShwcmVzZXJ2ZWRTZWdtZW50KVxuICAgICAgICBjb25zdCBjYWNoZUtleSA9IGNyZWF0ZVJvdXRlckNhY2hlS2V5KHByZXNlcnZlZFNlZ21lbnQpXG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAvKlxuICAgICAgICAgICAgLSBFcnJvciBib3VuZGFyeVxuICAgICAgICAgICAgICAtIE9ubHkgcmVuZGVycyBlcnJvciBib3VuZGFyeSBpZiBlcnJvciBjb21wb25lbnQgaXMgcHJvdmlkZWQuXG4gICAgICAgICAgICAgIC0gUmVuZGVyZWQgZm9yIGVhY2ggc2VnbWVudCB0byBlbnN1cmUgdGhleSBoYXZlIHRoZWlyIG93biBlcnJvciBzdGF0ZS5cbiAgICAgICAgICAgIC0gTG9hZGluZyBib3VuZGFyeVxuICAgICAgICAgICAgICAtIE9ubHkgcmVuZGVycyBzdXNwZW5zZSBib3VuZGFyeSBpZiBsb2FkaW5nIGNvbXBvbmVudHMgaXMgcHJvdmlkZWQuXG4gICAgICAgICAgICAgIC0gUmVuZGVyZWQgZm9yIGVhY2ggc2VnbWVudCB0byBlbnN1cmUgdGhleSBoYXZlIHRoZWlyIG93biBsb2FkaW5nIHN0YXRlLlxuICAgICAgICAgICAgICAtIFBhc3NlZCB0byB0aGUgcm91dGVyIGR1cmluZyByZW5kZXJpbmcgdG8gZW5zdXJlIGl0IGNhbiBiZSBpbW1lZGlhdGVseSByZW5kZXJlZCB3aGVuIHN1c3BlbmRpbmcgb24gYSBGbGlnaHQgZmV0Y2guXG4gICAgICAgICAgKi9cbiAgICAgICAgICA8VGVtcGxhdGVDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgICAgICBrZXk9e2NyZWF0ZVJvdXRlckNhY2hlS2V5KHByZXNlcnZlZFNlZ21lbnQsIHRydWUpfVxuICAgICAgICAgICAgdmFsdWU9e1xuICAgICAgICAgICAgICA8U2Nyb2xsQW5kRm9jdXNIYW5kbGVyIHNlZ21lbnRQYXRoPXtzZWdtZW50UGF0aH0+XG4gICAgICAgICAgICAgICAgPEVycm9yQm91bmRhcnlcbiAgICAgICAgICAgICAgICAgIGVycm9yQ29tcG9uZW50PXtlcnJvcn1cbiAgICAgICAgICAgICAgICAgIGVycm9yU3R5bGVzPXtlcnJvclN0eWxlc31cbiAgICAgICAgICAgICAgICAgIGVycm9yU2NyaXB0cz17ZXJyb3JTY3JpcHRzfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxMb2FkaW5nQm91bmRhcnkgbG9hZGluZz17bG9hZGluZ30+XG4gICAgICAgICAgICAgICAgICAgIDxIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeVxuICAgICAgICAgICAgICAgICAgICAgIG5vdEZvdW5kPXtub3RGb3VuZH1cbiAgICAgICAgICAgICAgICAgICAgICBmb3JiaWRkZW49e2ZvcmJpZGRlbn1cbiAgICAgICAgICAgICAgICAgICAgICB1bmF1dGhvcml6ZWQ9e3VuYXV0aG9yaXplZH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdEJvdW5kYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPElubmVyTGF5b3V0Um91dGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVyS2V5PXtwYXJhbGxlbFJvdXRlcktleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsPXt1cmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWU9e3RyZWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTm9kZXM9e2NoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRQYXRoPXtzZWdtZW50UGF0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVLZXk9e2NhY2hlS2V5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudENoaWxkU2VnbWVudFZhbHVlID09PSBwcmVzZXJ2ZWRTZWdtZW50VmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L1JlZGlyZWN0Qm91bmRhcnk+XG4gICAgICAgICAgICAgICAgICAgIDwvSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnk+XG4gICAgICAgICAgICAgICAgICA8L0xvYWRpbmdCb3VuZGFyeT5cbiAgICAgICAgICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICAgICAgICAgIDwvU2Nyb2xsQW5kRm9jdXNIYW5kbGVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0ZW1wbGF0ZVN0eWxlc31cbiAgICAgICAgICAgIHt0ZW1wbGF0ZVNjcmlwdHN9XG4gICAgICAgICAgICB7dGVtcGxhdGV9XG4gICAgICAgICAgPC9UZW1wbGF0ZUNvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgIClcbiAgICAgIH0pfVxuICAgIDwvPlxuICApXG59XG4iXSwibmFtZXMiOlsiT3V0ZXJMYXlvdXRSb3V0ZXIiLCJ3YWxrQWRkUmVmZXRjaCIsInNlZ21lbnRQYXRoVG9XYWxrIiwidHJlZVRvUmVjcmVhdGUiLCJzZWdtZW50IiwicGFyYWxsZWxSb3V0ZUtleSIsImlzTGFzdCIsImxlbmd0aCIsIm1hdGNoU2VnbWVudCIsImhhc093blByb3BlcnR5Iiwic3ViVHJlZSIsInVuZGVmaW5lZCIsInNsaWNlIiwiX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFIiwiUmVhY3RET00iLCJmaW5kRE9NTm9kZSIsImluc3RhbmNlIiwid2luZG93IiwiaW50ZXJuYWxfcmVhY3RET01maW5kRE9NTm9kZSIsInJlY3RQcm9wZXJ0aWVzIiwic2hvdWxkU2tpcEVsZW1lbnQiLCJlbGVtZW50IiwiaW5jbHVkZXMiLCJnZXRDb21wdXRlZFN0eWxlIiwicG9zaXRpb24iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwid2FybiIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJldmVyeSIsIml0ZW0iLCJ0b3BPZkVsZW1lbnRJblZpZXdwb3J0Iiwidmlld3BvcnRIZWlnaHQiLCJ0b3AiLCJnZXRIYXNoRnJhZ21lbnREb21Ob2RlIiwiaGFzaEZyYWdtZW50IiwiZG9jdW1lbnQiLCJib2R5IiwiZ2V0RWxlbWVudEJ5SWQiLCJnZXRFbGVtZW50c0J5TmFtZSIsIklubmVyU2Nyb2xsQW5kRm9jdXNIYW5kbGVyIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb21wb25lbnREaWRNb3VudCIsImhhbmRsZVBvdGVudGlhbFNjcm9sbCIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByb3BzIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJhcHBseSIsInJlbmRlciIsImNoaWxkcmVuIiwic2VnbWVudFBhdGgiLCJzZWdtZW50UGF0aHMiLCJzb21lIiwic2Nyb2xsUmVmU2VnbWVudFBhdGgiLCJpbmRleCIsImRvbU5vZGUiLCJFbGVtZW50IiwiSFRNTEVsZW1lbnQiLCJuZXh0RWxlbWVudFNpYmxpbmciLCJoYW5kbGVTbW9vdGhTY3JvbGwiLCJzY3JvbGxJbnRvVmlldyIsImh0bWxFbGVtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiY2xpZW50SGVpZ2h0Iiwic2Nyb2xsVG9wIiwiZG9udEZvcmNlTGF5b3V0Iiwib25seUhhc2hDaGFuZ2UiLCJmb2N1cyIsIlNjcm9sbEFuZEZvY3VzSGFuZGxlciIsImNvbnRleHQiLCJ1c2VDb250ZXh0IiwiR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCIsIkVycm9yIiwiSW5uZXJMYXlvdXRSb3V0ZXIiLCJwYXJhbGxlbFJvdXRlcktleSIsInVybCIsImNoaWxkTm9kZXMiLCJ0cmVlIiwiY2FjaGVLZXkiLCJjaGFuZ2VCeVNlcnZlclJlc3BvbnNlIiwiZnVsbFRyZWUiLCJjaGlsZE5vZGUiLCJnZXQiLCJuZXdMYXp5Q2FjaGVOb2RlIiwibGF6eURhdGEiLCJyc2MiLCJwcmVmZXRjaFJzYyIsImhlYWQiLCJwcmVmZXRjaEhlYWQiLCJwYXJhbGxlbFJvdXRlcyIsIk1hcCIsImxvYWRpbmciLCJzZXQiLCJyZXNvbHZlZFByZWZldGNoUnNjIiwidXNlRGVmZXJyZWRWYWx1ZSIsInJlc29sdmVkUnNjIiwidGhlbiIsInVzZSIsInJlZmV0Y2hUcmVlIiwiaW5jbHVkZU5leHRVcmwiLCJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLCJmZXRjaFNlcnZlclJlc3BvbnNlIiwiVVJMIiwibG9jYXRpb24iLCJvcmlnaW4iLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsIm5leHRVcmwiLCJzZXJ2ZXJSZXNwb25zZSIsInN0YXJ0VHJhbnNpdGlvbiIsInByZXZpb3VzVHJlZSIsInVucmVzb2x2ZWRUaGVuYWJsZSIsInN1YnRyZWUiLCJMYXlvdXRSb3V0ZXJDb250ZXh0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIkxvYWRpbmdCb3VuZGFyeSIsImxvYWRpbmdNb2R1bGVEYXRhIiwicHJvbWlzZUZvckxvYWRpbmciLCJsb2FkaW5nUnNjIiwibG9hZGluZ1N0eWxlcyIsImxvYWRpbmdTY3JpcHRzIiwiU3VzcGVuc2UiLCJmYWxsYmFjayIsImVycm9yIiwiZXJyb3JTdHlsZXMiLCJlcnJvclNjcmlwdHMiLCJ0ZW1wbGF0ZVN0eWxlcyIsInRlbXBsYXRlU2NyaXB0cyIsInRlbXBsYXRlIiwibm90Rm91bmQiLCJmb3JiaWRkZW4iLCJ1bmF1dGhvcml6ZWQiLCJjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIiLCJ0cmVlU2VnbWVudCIsImN1cnJlbnRDaGlsZFNlZ21lbnRWYWx1ZSIsImdldFNlZ21lbnRWYWx1ZSIsInByZXNlcnZlZFNlZ21lbnRzIiwibWFwIiwicHJlc2VydmVkU2VnbWVudCIsInByZXNlcnZlZFNlZ21lbnRWYWx1ZSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiVGVtcGxhdGVDb250ZXh0IiwiRXJyb3JCb3VuZGFyeSIsImVycm9yQ29tcG9uZW50IiwiSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnkiLCJSZWRpcmVjdEJvdW5kYXJ5IiwiaXNBY3RpdmUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/layout-router.js\n"); +eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return OuterLayoutRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./router-reducer/fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _unresolvedthenable = __webpack_require__(/*! ./unresolved-thenable */ \"(ssr)/./node_modules/next/dist/client/components/unresolved-thenable.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _matchsegments = __webpack_require__(/*! ./match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ../../shared/lib/router/utils/handle-smooth-scroll */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _errorboundary1 = __webpack_require__(/*! ./http-access-fallback/error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./router-reducer/create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./router-reducer/reducers/has-interception-route-in-current-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\n/**\n * Add refetch marker to router state at the point of the current layout segment.\n * This ensures the response returned is not further down than the current layout segment.\n */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {\n if (segmentPathToWalk) {\n const [segment, parallelRouteKey] = segmentPathToWalk;\n const isLast = segmentPathToWalk.length === 2;\n if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {\n if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {\n if (isLast) {\n const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: [\n subTree[0],\n subTree[1],\n subTree[2],\n 'refetch'\n ]\n }\n ];\n }\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])\n }\n ];\n }\n }\n }\n return treeToRecreate;\n}\nconst __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = _reactdom.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available\n/**\n * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning\n */ function findDOMNode(instance) {\n // Tree-shake for server bundle\n if (true) return null;\n // __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode is null during module init.\n // We need to lazily reference it.\n const internal_reactDOMfindDOMNode = __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode;\n return internal_reactDOMfindDOMNode(instance);\n}\nconst rectProperties = [\n 'bottom',\n 'height',\n 'left',\n 'right',\n 'top',\n 'width',\n 'x',\n 'y'\n];\n/**\n * Check if a HTMLElement is hidden or fixed/sticky position\n */ function shouldSkipElement(element) {\n // we ignore fixed or sticky positioned elements since they'll likely pass the \"in-viewport\" check\n // and will result in a situation we bail on scroll because of something like a fixed nav,\n // even though the actual page content is offscreen\n if ([\n 'sticky',\n 'fixed'\n ].includes(getComputedStyle(element).position)) {\n if (true) {\n console.warn('Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:', element);\n }\n return true;\n }\n // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`\n // because `offsetParent` doesn't consider document/body\n const rect = element.getBoundingClientRect();\n return rectProperties.every((item)=>rect[item] === 0);\n}\n/**\n * Check if the top corner of the HTMLElement is in the viewport.\n */ function topOfElementInViewport(element, viewportHeight) {\n const rect = element.getBoundingClientRect();\n return rect.top >= 0 && rect.top <= viewportHeight;\n}\n/**\n * Find the DOM node for a hash fragment.\n * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.\n * If the hash fragment is an id, the page has to scroll to the element with that id.\n * If the hash fragment is a name, the page has to scroll to the first element with that name.\n */ function getHashFragmentDomNode(hashFragment) {\n // If the hash fragment is `top` the page has to scroll to the top of the page.\n if (hashFragment === 'top') {\n return document.body;\n }\n var _document_getElementById;\n // If the hash fragment is an id, the page has to scroll to the element with that id.\n return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0];\n}\nclass InnerScrollAndFocusHandler extends _react.default.Component {\n componentDidMount() {\n this.handlePotentialScroll();\n }\n componentDidUpdate() {\n // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.\n if (this.props.focusAndScrollRef.apply) {\n this.handlePotentialScroll();\n }\n }\n render() {\n return this.props.children;\n }\n constructor(...args){\n super(...args), this.handlePotentialScroll = ()=>{\n // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.\n const { focusAndScrollRef, segmentPath } = this.props;\n if (focusAndScrollRef.apply) {\n // segmentPaths is an array of segment paths that should be scrolled to\n // if the current segment path is not in the array, the scroll is not applied\n // unless the array is empty, in which case the scroll is always applied\n if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {\n return;\n }\n let domNode = null;\n const hashFragment = focusAndScrollRef.hashFragment;\n if (hashFragment) {\n domNode = getHashFragmentDomNode(hashFragment);\n }\n // `findDOMNode` is tricky because it returns just the first child if the component is a fragment.\n // This already caused a bug where the first child was a in head.\n if (!domNode) {\n domNode = findDOMNode(this);\n }\n // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.\n if (!(domNode instanceof Element)) {\n return;\n }\n // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.\n // If the element is skipped, try to select the next sibling and try again.\n while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){\n // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.\n if (domNode.nextElementSibling === null) {\n return;\n }\n domNode = domNode.nextElementSibling;\n }\n // State is mutated to ensure that the focus and scroll is applied only once.\n focusAndScrollRef.apply = false;\n focusAndScrollRef.hashFragment = null;\n focusAndScrollRef.segmentPaths = [];\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // In case of hash scroll, we only need to scroll the element into view\n if (hashFragment) {\n ;\n domNode.scrollIntoView();\n return;\n }\n // Store the current viewport height because reading `clientHeight` causes a reflow,\n // and it won't change during this function.\n const htmlElement = document.documentElement;\n const viewportHeight = htmlElement.clientHeight;\n // If the element's top edge is already in the viewport, exit early.\n if (topOfElementInViewport(domNode, viewportHeight)) {\n return;\n }\n // Otherwise, try scrolling go the top of the document to be backward compatible with pages\n // scrollIntoView() called on `` element scrolls horizontally on chrome and firefox (that shouldn't happen)\n // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left\n // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically\n htmlElement.scrollTop = 0;\n // Scroll to domNode if domNode is not in viewport when scrolled to top of document\n if (!topOfElementInViewport(domNode, viewportHeight)) {\n // Scroll into view doesn't scroll horizontally by default when not needed\n ;\n domNode.scrollIntoView();\n }\n }, {\n // We will force layout by querying domNode position\n dontForceLayout: true,\n onlyHashChange: focusAndScrollRef.onlyHashChange\n });\n // Mutate after scrolling so that it can be read by `handleSmoothScroll`\n focusAndScrollRef.onlyHashChange = false;\n // Set focus on the element\n domNode.focus();\n }\n };\n }\n}\nfunction ScrollAndFocusHandler(param) {\n let { segmentPath, children } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error('invariant global layout router not mounted');\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, {\n segmentPath: segmentPath,\n focusAndScrollRef: context.focusAndScrollRef,\n children: children\n });\n}\n/**\n * InnerLayoutRouter handles rendering the provided segment based on the cache.\n */ function InnerLayoutRouter(param) {\n let { parallelRouterKey, url, childNodes, segmentPath, tree, // isActive,\n cacheKey } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error('invariant global layout router not mounted');\n }\n const { changeByServerResponse, tree: fullTree } = context;\n // Read segment path from the parallel router cache node.\n let childNode = childNodes.get(cacheKey);\n // When data is not available during rendering client-side we need to fetch\n // it from the server.\n if (childNode === undefined) {\n const newLazyCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n loading: null\n };\n /**\n * Flight data fetch kicked off during render and put into the cache.\n */ childNode = newLazyCacheNode;\n childNodes.set(cacheKey, newLazyCacheNode);\n }\n // `rsc` represents the renderable node for this segment.\n // If this segment has a `prefetchRsc`, it's the statically prefetched data.\n // We should use that on initial render instead of `rsc`. Then we'll switch\n // to `rsc` when the dynamic response streams in.\n //\n // If no prefetch data is available, then we go straight to rendering `rsc`.\n const resolvedPrefetchRsc = childNode.prefetchRsc !== null ? childNode.prefetchRsc : childNode.rsc;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `rsc`.\n const rsc = (0, _react.useDeferredValue)(childNode.rsc, resolvedPrefetchRsc);\n // `rsc` is either a React node or a promise for a React node, except we\n // special case `null` to represent that this segment's data is missing. If\n // it's a promise, we need to unwrap it so we can determine whether or not the\n // data is missing.\n const resolvedRsc = typeof rsc === 'object' && rsc !== null && typeof rsc.then === 'function' ? (0, _react.use)(rsc) : rsc;\n if (!resolvedRsc) {\n // The data for this segment is not available, and there's no pending\n // navigation that will be able to fulfill it. We need to fetch more from\n // the server and patch the cache.\n // Check if there's already a pending request.\n let lazyData = childNode.lazyData;\n if (lazyData === null) {\n /**\n * Router state with refetch marker added\n */ // TODO-APP: remove ''\n const refetchTree = walkAddRefetch([\n '',\n ...segmentPath\n ], fullTree);\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree);\n childNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), {\n flightRouterState: refetchTree,\n nextUrl: includeNextUrl ? context.nextUrl : null\n }).then((serverResponse)=>{\n (0, _react.startTransition)(()=>{\n changeByServerResponse({\n previousTree: fullTree,\n serverResponse\n });\n });\n return serverResponse;\n });\n }\n // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.\n // A falsey `resolvedRsc` indicates missing data -- we should not commit that branch, and we need to wait for the data to arrive.\n (0, _react.use)(_unresolvedthenable.unresolvedThenable);\n }\n // If we get to this point, then we know we have something we can render.\n const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n tree: tree[1][parallelRouterKey],\n childNodes: childNode.parallelRoutes,\n // TODO-APP: overriding of url for parallel routes\n url: url,\n loading: childNode.loading\n },\n children: resolvedRsc\n });\n // Ensure root layout is not wrapped in a div as the root layout renders ``\n return subtree;\n}\n/**\n * Renders suspense boundary with the provided \"loading\" property as the fallback.\n * If no loading property is provided it renders the children without a suspense boundary.\n */ function LoadingBoundary(param) {\n let { loading, children } = param;\n // If loading is a promise, unwrap it. This happens in cases where we haven't\n // yet received the loading data from the server — which includes whether or\n // not this layout has a loading component at all.\n //\n // It's OK to suspend here instead of inside the fallback because this\n // promise will resolve simultaneously with the data for the segment itself.\n // So it will never suspend for longer than it would have if we didn't use\n // a Suspense fallback at all.\n let loadingModuleData;\n if (typeof loading === 'object' && loading !== null && typeof loading.then === 'function') {\n const promiseForLoading = loading;\n loadingModuleData = (0, _react.use)(promiseForLoading);\n } else {\n loadingModuleData = loading;\n }\n if (loadingModuleData) {\n const loadingRsc = loadingModuleData[0];\n const loadingStyles = loadingModuleData[1];\n const loadingScripts = loadingModuleData[2];\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {\n fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n loadingStyles,\n loadingScripts,\n loadingRsc\n ]\n }),\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nfunction OuterLayoutRouter(param) {\n let { parallelRouterKey, segmentPath, error, errorStyles, errorScripts, templateStyles, templateScripts, template, notFound, forbidden, unauthorized } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n if (!context) {\n throw new Error('invariant expected layout router to be mounted');\n }\n const { childNodes, tree, url, loading } = context;\n // Get the current parallelRouter cache node\n let childNodesForParallelRouter = childNodes.get(parallelRouterKey);\n // If the parallel router cache node does not exist yet, create it.\n // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.\n if (!childNodesForParallelRouter) {\n childNodesForParallelRouter = new Map();\n childNodes.set(parallelRouterKey, childNodesForParallelRouter);\n }\n // Get the active segment in the tree\n // The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.\n const treeSegment = tree[1][parallelRouterKey][0];\n // If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.\n const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment);\n /**\n * Decides which segments to keep rendering, all segments that are not active will be wrapped in ``.\n */ // TODO-APP: Add handling of `` when it's available.\n const preservedSegments = [\n treeSegment\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: preservedSegments.map((preservedSegment)=>{\n const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment);\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment);\n return(/*\n - Error boundary\n - Only renders error boundary if error component is provided.\n - Rendered for each segment to ensure they have their own error state.\n - Loading boundary\n - Only renders suspense boundary if loading components is provided.\n - Rendered for each segment to ensure they have their own loading state.\n - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.\n */ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {\n value: /*#__PURE__*/ (0, _jsxruntime.jsx)(ScrollAndFocusHandler, {\n segmentPath: segmentPath,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: error,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {\n loading: loading,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary1.HTTPAccessFallbackBoundary, {\n notFound: notFound,\n forbidden: forbidden,\n unauthorized: unauthorized,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_redirectboundary.RedirectBoundary, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {\n parallelRouterKey: parallelRouterKey,\n url: url,\n tree: tree,\n childNodes: childNodesForParallelRouter,\n segmentPath: segmentPath,\n cacheKey: cacheKey,\n isActive: currentChildSegmentValue === preservedSegmentValue\n })\n })\n })\n })\n })\n }),\n children: [\n templateStyles,\n templateScripts,\n template\n ]\n }, (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true)));\n })\n });\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=layout-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0F5ZkE7OztlQUF3QkE7Ozs7Ozs2RUFuZWpCOytFQUNjOzJEQUtkO2lEQUM2QjtnREFDRDsyQ0FDTDsyQ0FDRDtnREFDTTs4Q0FDRjs0Q0FDVTs2Q0FDWDtrREFDSzsrREFDYTtBQUVsRDs7O0NBR0MsR0FDRCxTQUFTQyxlQUNQQyxpQkFBZ0QsRUFDaERDLGNBQWlDO0lBRWpDLElBQUlELG1CQUFtQjtRQUNyQixNQUFNLENBQUNFLFNBQVNDLGlCQUFpQixHQUFHSDtRQUNwQyxNQUFNSSxTQUFTSixrQkFBa0JLLE1BQU0sS0FBSztRQUU1QyxJQUFJQyxDQUFBQSxHQUFBQSxlQUFBQSxZQUFBQSxFQUFhTCxjQUFjLENBQUMsRUFBRSxFQUFFQyxVQUFVO1lBQzVDLElBQUlELGNBQWMsQ0FBQyxFQUFFLENBQUNNLGNBQWMsQ0FBQ0osbUJBQW1CO2dCQUN0RCxJQUFJQyxRQUFRO29CQUNWLE1BQU1JLFVBQVVULGVBQ2RVLFdBQ0FSLGNBQWMsQ0FBQyxFQUFFLENBQUNFLGlCQUFpQjtvQkFFckMsT0FBTzt3QkFDTEYsY0FBYyxDQUFDLEVBQUU7d0JBQ2pCOzRCQUNFLEdBQUdBLGNBQWMsQ0FBQyxFQUFFOzRCQUNwQixDQUFDRSxpQkFBaUIsRUFBRTtnQ0FDbEJLLE9BQU8sQ0FBQyxFQUFFO2dDQUNWQSxPQUFPLENBQUMsRUFBRTtnQ0FDVkEsT0FBTyxDQUFDLEVBQUU7Z0NBQ1Y7NkJBQ0Q7d0JBQ0g7cUJBQ0Q7Z0JBQ0g7Z0JBRUEsT0FBTztvQkFDTFAsY0FBYyxDQUFDLEVBQUU7b0JBQ2pCO3dCQUNFLEdBQUdBLGNBQWMsQ0FBQyxFQUFFO3dCQUNwQixDQUFDRSxpQkFBaUIsRUFBRUosZUFDbEJDLGtCQUFrQlUsS0FBSyxDQUFDLElBQ3hCVCxjQUFjLENBQUMsRUFBRSxDQUFDRSxpQkFBaUI7b0JBRXZDO2lCQUNEO1lB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RyxrQkFBa0JDLEdBQUcsQ0FBQyxDQUFDQztZQUN0QixNQUFNQyx3QkFBd0JKLENBQUFBLEdBQUFBLGlCQUFBQSxlQUFBQSxFQUFnQkc7WUFDOUMsTUFBTTVELFdBQVc4RCxDQUFBQSxHQUFBQSxzQkFBQUEsb0JBQUFBLEVBQXFCRjtZQUV0QyxPQUNFOzs7Ozs7OztVQVFBLGlCQUNBLHNCQUFDRywrQkFBQUEsZUFBZSxDQUFDNUIsUUFBUTtnQkFFdkJDLE9BQ0UsV0FERkEsR0FDRSxxQkFBQzlDLHVCQUFBQTtvQkFBc0JsQixhQUFhQTs4QkFDbEMsbUNBQUM0RixlQUFBQSxhQUFhO3dCQUNaQyxnQkFBZ0JwQjt3QkFDaEJDLGFBQWFBO3dCQUNiQyxjQUFjQTtrQ0FFZCxtQ0FBQ1YsaUJBQUFBOzRCQUFnQnhCLFNBQVNBO3NDQUN4QixtQ0FBQ3FELGdCQUFBQSwwQkFBMEI7Z0NBQ3pCZixVQUFVQTtnQ0FDVkMsV0FBV0E7Z0NBQ1hDLGNBQWNBOzBDQUVkLG1DQUFDYyxrQkFBQUEsZ0JBQWdCOzhDQUNmLG1DQUFDeEUsbUJBQUFBO3dDQUNDQyxtQkFBbUJBO3dDQUNuQkMsS0FBS0E7d0NBQ0xFLE1BQU1BO3dDQUNORCxZQUFZd0Q7d0NBQ1psRixhQUFhQTt3Q0FDYjRCLFVBQVVBO3dDQUNWb0UsVUFDRVosNkJBQTZCSzs7Ozs7Ozs7b0JBVTVDYjtvQkFDQUM7b0JBQ0FDOztlQW5DSVksQ0FBQUEsR0FBQUEsc0JBQUFBLG9CQUFBQSxFQUFxQkYsa0JBQWtCO1FBc0NsRDs7QUFHTiIsInNvdXJjZXMiOlsiRTpcXHNyY1xcY2xpZW50XFxjb21wb25lbnRzXFxsYXlvdXQtcm91dGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUge1xuICBDaGlsZFNlZ21lbnRNYXAsXG4gIExhenlDYWNoZU5vZGUsXG4gIExvYWRpbmdNb2R1bGVEYXRhLFxufSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB0eXBlIHtcbiAgRmxpZ2h0Um91dGVyU3RhdGUsXG4gIEZsaWdodFNlZ21lbnRQYXRoLFxuICBTZWdtZW50LFxufSBmcm9tICcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yLWJvdW5kYXJ5J1xuaW1wb3J0IHR5cGUgeyBGb2N1c0FuZFNjcm9sbFJlZiB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXMnXG5cbmltcG9ydCBSZWFjdCwge1xuICB1c2VDb250ZXh0LFxuICB1c2UsXG4gIHN0YXJ0VHJhbnNpdGlvbixcbiAgU3VzcGVuc2UsXG4gIHVzZURlZmVycmVkVmFsdWUsXG4gIHR5cGUgSlNYLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQge1xuICBMYXlvdXRSb3V0ZXJDb250ZXh0LFxuICBHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0LFxuICBUZW1wbGF0ZUNvbnRleHQsXG59IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHsgZmV0Y2hTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvZmV0Y2gtc2VydmVyLXJlc3BvbnNlJ1xuaW1wb3J0IHsgdW5yZXNvbHZlZFRoZW5hYmxlIH0gZnJvbSAnLi91bnJlc29sdmVkLXRoZW5hYmxlJ1xuaW1wb3J0IHsgRXJyb3JCb3VuZGFyeSB9IGZyb20gJy4vZXJyb3ItYm91bmRhcnknXG5pbXBvcnQgeyBtYXRjaFNlZ21lbnQgfSBmcm9tICcuL21hdGNoLXNlZ21lbnRzJ1xuaW1wb3J0IHsgaGFuZGxlU21vb3RoU2Nyb2xsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaGFuZGxlLXNtb290aC1zY3JvbGwnXG5pbXBvcnQgeyBSZWRpcmVjdEJvdW5kYXJ5IH0gZnJvbSAnLi9yZWRpcmVjdC1ib3VuZGFyeSdcbmltcG9ydCB7IEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5IH0gZnJvbSAnLi9odHRwLWFjY2Vzcy1mYWxsYmFjay9lcnJvci1ib3VuZGFyeSdcbmltcG9ydCB7IGdldFNlZ21lbnRWYWx1ZSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZ2V0LXNlZ21lbnQtdmFsdWUnXG5pbXBvcnQgeyBjcmVhdGVSb3V0ZXJDYWNoZUtleSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvY3JlYXRlLXJvdXRlci1jYWNoZS1rZXknXG5pbXBvcnQgeyBoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUgfSBmcm9tICcuL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2hhcy1pbnRlcmNlcHRpb24tcm91dGUtaW4tY3VycmVudC10cmVlJ1xuXG4vKipcbiAqIEFkZCByZWZldGNoIG1hcmtlciB0byByb3V0ZXIgc3RhdGUgYXQgdGhlIHBvaW50IG9mIHRoZSBjdXJyZW50IGxheW91dCBzZWdtZW50LlxuICogVGhpcyBlbnN1cmVzIHRoZSByZXNwb25zZSByZXR1cm5lZCBpcyBub3QgZnVydGhlciBkb3duIHRoYW4gdGhlIGN1cnJlbnQgbGF5b3V0IHNlZ21lbnQuXG4gKi9cbmZ1bmN0aW9uIHdhbGtBZGRSZWZldGNoKFxuICBzZWdtZW50UGF0aFRvV2FsazogRmxpZ2h0U2VnbWVudFBhdGggfCB1bmRlZmluZWQsXG4gIHRyZWVUb1JlY3JlYXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuKTogRmxpZ2h0Um91dGVyU3RhdGUge1xuICBpZiAoc2VnbWVudFBhdGhUb1dhbGspIHtcbiAgICBjb25zdCBbc2VnbWVudCwgcGFyYWxsZWxSb3V0ZUtleV0gPSBzZWdtZW50UGF0aFRvV2Fsa1xuICAgIGNvbnN0IGlzTGFzdCA9IHNlZ21lbnRQYXRoVG9XYWxrLmxlbmd0aCA9PT0gMlxuXG4gICAgaWYgKG1hdGNoU2VnbWVudCh0cmVlVG9SZWNyZWF0ZVswXSwgc2VnbWVudCkpIHtcbiAgICAgIGlmICh0cmVlVG9SZWNyZWF0ZVsxXS5oYXNPd25Qcm9wZXJ0eShwYXJhbGxlbFJvdXRlS2V5KSkge1xuICAgICAgICBpZiAoaXNMYXN0KSB7XG4gICAgICAgICAgY29uc3Qgc3ViVHJlZSA9IHdhbGtBZGRSZWZldGNoKFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgdHJlZVRvUmVjcmVhdGVbMV1bcGFyYWxsZWxSb3V0ZUtleV1cbiAgICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzBdLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi50cmVlVG9SZWNyZWF0ZVsxXSxcbiAgICAgICAgICAgICAgW3BhcmFsbGVsUm91dGVLZXldOiBbXG4gICAgICAgICAgICAgICAgc3ViVHJlZVswXSxcbiAgICAgICAgICAgICAgICBzdWJUcmVlWzFdLFxuICAgICAgICAgICAgICAgIHN1YlRyZWVbMl0sXG4gICAgICAgICAgICAgICAgJ3JlZmV0Y2gnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzBdLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLnRyZWVUb1JlY3JlYXRlWzFdLFxuICAgICAgICAgICAgW3BhcmFsbGVsUm91dGVLZXldOiB3YWxrQWRkUmVmZXRjaChcbiAgICAgICAgICAgICAgc2VnbWVudFBhdGhUb1dhbGsuc2xpY2UoMiksXG4gICAgICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzFdW3BhcmFsbGVsUm91dGVLZXldXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJlZVRvUmVjcmVhdGVcbn1cblxuY29uc3QgX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFID0gKFxuICBSZWFjdERPTSBhcyBhbnlcbikuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFXG5cbi8vIFRPRE8tQVBQOiBSZXBsYWNlIHdpdGggbmV3IFJlYWN0IEFQSSBmb3IgZmluZGluZyBkb20gbm9kZXMgd2l0aG91dCBhIGByZWZgIHdoZW4gYXZhaWxhYmxlXG4vKipcbiAqIFdyYXBzIFJlYWN0RE9NLmZpbmRET01Ob2RlIHdpdGggYWRkaXRpb25hbCBsb2dpYyB0byBoaWRlIFJlYWN0IFN0cmljdCBNb2RlIHdhcm5pbmdcbiAqL1xuZnVuY3Rpb24gZmluZERPTU5vZGUoXG4gIGluc3RhbmNlOiBSZWFjdC5SZWFjdEluc3RhbmNlIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogRWxlbWVudCB8IFRleHQgfCBudWxsIHtcbiAgLy8gVHJlZS1zaGFrZSBmb3Igc2VydmVyIGJ1bmRsZVxuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBudWxsXG5cbiAgLy8gX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLmZpbmRET01Ob2RlIGlzIG51bGwgZHVyaW5nIG1vZHVsZSBpbml0LlxuICAvLyBXZSBuZWVkIHRvIGxhemlseSByZWZlcmVuY2UgaXQuXG4gIGNvbnN0IGludGVybmFsX3JlYWN0RE9NZmluZERPTU5vZGUgPVxuICAgIF9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERS5maW5kRE9NTm9kZVxuICByZXR1cm4gaW50ZXJuYWxfcmVhY3RET01maW5kRE9NTm9kZShpbnN0YW5jZSlcbn1cblxuY29uc3QgcmVjdFByb3BlcnRpZXMgPSBbXG4gICdib3R0b20nLFxuICAnaGVpZ2h0JyxcbiAgJ2xlZnQnLFxuICAncmlnaHQnLFxuICAndG9wJyxcbiAgJ3dpZHRoJyxcbiAgJ3gnLFxuICAneScsXG5dIGFzIGNvbnN0XG4vKipcbiAqIENoZWNrIGlmIGEgSFRNTEVsZW1lbnQgaXMgaGlkZGVuIG9yIGZpeGVkL3N0aWNreSBwb3NpdGlvblxuICovXG5mdW5jdGlvbiBzaG91bGRTa2lwRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAvLyB3ZSBpZ25vcmUgZml4ZWQgb3Igc3RpY2t5IHBvc2l0aW9uZWQgZWxlbWVudHMgc2luY2UgdGhleSdsbCBsaWtlbHkgcGFzcyB0aGUgXCJpbi12aWV3cG9ydFwiIGNoZWNrXG4gIC8vIGFuZCB3aWxsIHJlc3VsdCBpbiBhIHNpdHVhdGlvbiB3ZSBiYWlsIG9uIHNjcm9sbCBiZWNhdXNlIG9mIHNvbWV0aGluZyBsaWtlIGEgZml4ZWQgbmF2LFxuICAvLyBldmVuIHRob3VnaCB0aGUgYWN0dWFsIHBhZ2UgY29udGVudCBpcyBvZmZzY3JlZW5cbiAgaWYgKFsnc3RpY2t5JywgJ2ZpeGVkJ10uaW5jbHVkZXMoZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbikpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1NraXBwaW5nIGF1dG8tc2Nyb2xsIGJlaGF2aW9yIGR1ZSB0byBgcG9zaXRpb246IHN0aWNreWAgb3IgYHBvc2l0aW9uOiBmaXhlZGAgb24gZWxlbWVudDonLFxuICAgICAgICBlbGVtZW50XG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvLyBVc2VzIGBnZXRCb3VuZGluZ0NsaWVudFJlY3RgIHRvIGNoZWNrIGlmIHRoZSBlbGVtZW50IGlzIGhpZGRlbiBpbnN0ZWFkIG9mIGBvZmZzZXRQYXJlbnRgXG4gIC8vIGJlY2F1c2UgYG9mZnNldFBhcmVudGAgZG9lc24ndCBjb25zaWRlciBkb2N1bWVudC9ib2R5XG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIHJldHVybiByZWN0UHJvcGVydGllcy5ldmVyeSgoaXRlbSkgPT4gcmVjdFtpdGVtXSA9PT0gMClcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgdG9wIGNvcm5lciBvZiB0aGUgSFRNTEVsZW1lbnQgaXMgaW4gdGhlIHZpZXdwb3J0LlxuICovXG5mdW5jdGlvbiB0b3BPZkVsZW1lbnRJblZpZXdwb3J0KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCB2aWV3cG9ydEhlaWdodDogbnVtYmVyKSB7XG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIHJldHVybiByZWN0LnRvcCA+PSAwICYmIHJlY3QudG9wIDw9IHZpZXdwb3J0SGVpZ2h0XG59XG5cbi8qKlxuICogRmluZCB0aGUgRE9NIG5vZGUgZm9yIGEgaGFzaCBmcmFnbWVudC5cbiAqIElmIGB0b3BgIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgcGFnZS4gVGhpcyBtaXJyb3JzIHRoZSBicm93c2VyJ3MgYmVoYXZpb3IuXG4gKiBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhbiBpZCwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZWxlbWVudCB3aXRoIHRoYXQgaWQuXG4gKiBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhIG5hbWUsIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIGZpcnN0IGVsZW1lbnQgd2l0aCB0aGF0IG5hbWUuXG4gKi9cbmZ1bmN0aW9uIGdldEhhc2hGcmFnbWVudERvbU5vZGUoaGFzaEZyYWdtZW50OiBzdHJpbmcpIHtcbiAgLy8gSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYHRvcGAgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgdG9wIG9mIHRoZSBwYWdlLlxuICBpZiAoaGFzaEZyYWdtZW50ID09PSAndG9wJykge1xuICAgIHJldHVybiBkb2N1bWVudC5ib2R5XG4gIH1cblxuICAvLyBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhbiBpZCwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZWxlbWVudCB3aXRoIHRoYXQgaWQuXG4gIHJldHVybiAoXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaGFzaEZyYWdtZW50KSA/P1xuICAgIC8vIElmIHRoZSBoYXNoIGZyYWdtZW50IGlzIGEgbmFtZSwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZmlyc3QgZWxlbWVudCB3aXRoIHRoYXQgbmFtZS5cbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShoYXNoRnJhZ21lbnQpWzBdXG4gIClcbn1cbmludGVyZmFjZSBTY3JvbGxBbmRGb2N1c0hhbmRsZXJQcm9wcyB7XG4gIGZvY3VzQW5kU2Nyb2xsUmVmOiBGb2N1c0FuZFNjcm9sbFJlZlxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aFxufVxuY2xhc3MgSW5uZXJTY3JvbGxBbmRGb2N1c0hhbmRsZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8U2Nyb2xsQW5kRm9jdXNIYW5kbGVyUHJvcHM+IHtcbiAgaGFuZGxlUG90ZW50aWFsU2Nyb2xsID0gKCkgPT4ge1xuICAgIC8vIEhhbmRsZSBzY3JvbGwgYW5kIGZvY3VzLCBpdCdzIG9ubHkgYXBwbGllZCBvbmNlIGluIHRoZSBmaXJzdCB1c2VFZmZlY3QgdGhhdCB0cmlnZ2VycyB0aGF0IGNoYW5nZWQuXG4gICAgY29uc3QgeyBmb2N1c0FuZFNjcm9sbFJlZiwgc2VnbWVudFBhdGggfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChmb2N1c0FuZFNjcm9sbFJlZi5hcHBseSkge1xuICAgICAgLy8gc2VnbWVudFBhdGhzIGlzIGFuIGFycmF5IG9mIHNlZ21lbnQgcGF0aHMgdGhhdCBzaG91bGQgYmUgc2Nyb2xsZWQgdG9cbiAgICAgIC8vIGlmIHRoZSBjdXJyZW50IHNlZ21lbnQgcGF0aCBpcyBub3QgaW4gdGhlIGFycmF5LCB0aGUgc2Nyb2xsIGlzIG5vdCBhcHBsaWVkXG4gICAgICAvLyB1bmxlc3MgdGhlIGFycmF5IGlzIGVtcHR5LCBpbiB3aGljaCBjYXNlIHRoZSBzY3JvbGwgaXMgYWx3YXlzIGFwcGxpZWRcbiAgICAgIGlmIChcbiAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAhZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLnNvbWUoKHNjcm9sbFJlZlNlZ21lbnRQYXRoKSA9PlxuICAgICAgICAgIHNlZ21lbnRQYXRoLmV2ZXJ5KChzZWdtZW50LCBpbmRleCkgPT5cbiAgICAgICAgICAgIG1hdGNoU2VnbWVudChzZWdtZW50LCBzY3JvbGxSZWZTZWdtZW50UGF0aFtpbmRleF0pXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGxldCBkb21Ob2RlOlxuICAgICAgICB8IFJldHVyblR5cGU8dHlwZW9mIGdldEhhc2hGcmFnbWVudERvbU5vZGU+XG4gICAgICAgIHwgUmV0dXJuVHlwZTx0eXBlb2YgZmluZERPTU5vZGU+ID0gbnVsbFxuICAgICAgY29uc3QgaGFzaEZyYWdtZW50ID0gZm9jdXNBbmRTY3JvbGxSZWYuaGFzaEZyYWdtZW50XG5cbiAgICAgIGlmIChoYXNoRnJhZ21lbnQpIHtcbiAgICAgICAgZG9tTm9kZSA9IGdldEhhc2hGcmFnbWVudERvbU5vZGUoaGFzaEZyYWdtZW50KVxuICAgICAgfVxuXG4gICAgICAvLyBgZmluZERPTU5vZGVgIGlzIHRyaWNreSBiZWNhdXNlIGl0IHJldHVybnMganVzdCB0aGUgZmlyc3QgY2hpbGQgaWYgdGhlIGNvbXBvbmVudCBpcyBhIGZyYWdtZW50LlxuICAgICAgLy8gVGhpcyBhbHJlYWR5IGNhdXNlZCBhIGJ1ZyB3aGVyZSB0aGUgZmlyc3QgY2hpbGQgd2FzIGEgPGxpbmsvPiBpbiBoZWFkLlxuICAgICAgaWYgKCFkb21Ob2RlKSB7XG4gICAgICAgIGRvbU5vZGUgPSBmaW5kRE9NTm9kZSh0aGlzKVxuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGVyZSBpcyBubyBET00gbm9kZSB0aGlzIGxheW91dC1yb3V0ZXIgbGV2ZWwgaXMgc2tpcHBlZC4gSXQnbGwgYmUgaGFuZGxlZCBoaWdoZXItdXAgaW4gdGhlIHRyZWUuXG4gICAgICBpZiAoIShkb21Ob2RlIGluc3RhbmNlb2YgRWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIFZlcmlmeSBpZiB0aGUgZWxlbWVudCBpcyBhIEhUTUxFbGVtZW50IGFuZCBpZiB3ZSB3YW50IHRvIGNvbnNpZGVyIGl0IGZvciBzY3JvbGwgYmVoYXZpb3IuXG4gICAgICAvLyBJZiB0aGUgZWxlbWVudCBpcyBza2lwcGVkLCB0cnkgdG8gc2VsZWN0IHRoZSBuZXh0IHNpYmxpbmcgYW5kIHRyeSBhZ2Fpbi5cbiAgICAgIHdoaWxlICghKGRvbU5vZGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgfHwgc2hvdWxkU2tpcEVsZW1lbnQoZG9tTm9kZSkpIHtcbiAgICAgICAgLy8gTm8gc2libGluZ3MgZm91bmQgdGhhdCBtYXRjaCB0aGUgY3JpdGVyaWEgYXJlIGZvdW5kLCBzbyBoYW5kbGUgc2Nyb2xsIGhpZ2hlciB1cCBpbiB0aGUgdHJlZSBpbnN0ZWFkLlxuICAgICAgICBpZiAoZG9tTm9kZS5uZXh0RWxlbWVudFNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBkb21Ob2RlID0gZG9tTm9kZS5uZXh0RWxlbWVudFNpYmxpbmdcbiAgICAgIH1cblxuICAgICAgLy8gU3RhdGUgaXMgbXV0YXRlZCB0byBlbnN1cmUgdGhhdCB0aGUgZm9jdXMgYW5kIHNjcm9sbCBpcyBhcHBsaWVkIG9ubHkgb25jZS5cbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5ID0gZmFsc2VcbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLmhhc2hGcmFnbWVudCA9IG51bGxcbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLnNlZ21lbnRQYXRocyA9IFtdXG5cbiAgICAgIGhhbmRsZVNtb290aFNjcm9sbChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIC8vIEluIGNhc2Ugb2YgaGFzaCBzY3JvbGwsIHdlIG9ubHkgbmVlZCB0byBzY3JvbGwgdGhlIGVsZW1lbnQgaW50byB2aWV3XG4gICAgICAgICAgaWYgKGhhc2hGcmFnbWVudCkge1xuICAgICAgICAgICAgOyhkb21Ob2RlIGFzIEhUTUxFbGVtZW50KS5zY3JvbGxJbnRvVmlldygpXG5cbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTdG9yZSB0aGUgY3VycmVudCB2aWV3cG9ydCBoZWlnaHQgYmVjYXVzZSByZWFkaW5nIGBjbGllbnRIZWlnaHRgIGNhdXNlcyBhIHJlZmxvdyxcbiAgICAgICAgICAvLyBhbmQgaXQgd29uJ3QgY2hhbmdlIGR1cmluZyB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICAgIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XG4gICAgICAgICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSBodG1sRWxlbWVudC5jbGllbnRIZWlnaHRcblxuICAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50J3MgdG9wIGVkZ2UgaXMgYWxyZWFkeSBpbiB0aGUgdmlld3BvcnQsIGV4aXQgZWFybHkuXG4gICAgICAgICAgaWYgKHRvcE9mRWxlbWVudEluVmlld3BvcnQoZG9tTm9kZSBhcyBIVE1MRWxlbWVudCwgdmlld3BvcnRIZWlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPdGhlcndpc2UsIHRyeSBzY3JvbGxpbmcgZ28gdGhlIHRvcCBvZiB0aGUgZG9jdW1lbnQgdG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIHBhZ2VzXG4gICAgICAgICAgLy8gc2Nyb2xsSW50b1ZpZXcoKSBjYWxsZWQgb24gYDxodG1sLz5gIGVsZW1lbnQgc2Nyb2xscyBob3Jpem9udGFsbHkgb24gY2hyb21lIGFuZCBmaXJlZm94ICh0aGF0IHNob3VsZG4ndCBoYXBwZW4pXG4gICAgICAgICAgLy8gV2UgY291bGQgdXNlIGl0IHRvIHNjcm9sbCBob3Jpem9udGFsbHkgZm9sbG93aW5nIFJUTCBidXQgdGhhdCBhbHNvIHNlZW1zIHRvIGJlIGJyb2tlbiAtIGl0IHdpbGwgYWx3YXlzIHNjcm9sbCBsZWZ0XG4gICAgICAgICAgLy8gc2Nyb2xsTGVmdCA9IDAgYWxzbyBzZWVtcyB0byBpZ25vcmUgUlRMIGFuZCBtYW51YWxseSBjaGVja2luZyBmb3IgUlRMIGlzIHRvbyBtdWNoIGhhc3NsZSBzbyB3ZSB3aWxsIHNjcm9sbCBqdXN0IHZlcnRpY2FsbHlcbiAgICAgICAgICBodG1sRWxlbWVudC5zY3JvbGxUb3AgPSAwXG5cbiAgICAgICAgICAvLyBTY3JvbGwgdG8gZG9tTm9kZSBpZiBkb21Ob2RlIGlzIG5vdCBpbiB2aWV3cG9ydCB3aGVuIHNjcm9sbGVkIHRvIHRvcCBvZiBkb2N1bWVudFxuICAgICAgICAgIGlmICghdG9wT2ZFbGVtZW50SW5WaWV3cG9ydChkb21Ob2RlIGFzIEhUTUxFbGVtZW50LCB2aWV3cG9ydEhlaWdodCkpIHtcbiAgICAgICAgICAgIC8vIFNjcm9sbCBpbnRvIHZpZXcgZG9lc24ndCBzY3JvbGwgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQgd2hlbiBub3QgbmVlZGVkXG4gICAgICAgICAgICA7KGRvbU5vZGUgYXMgSFRNTEVsZW1lbnQpLnNjcm9sbEludG9WaWV3KClcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXZSB3aWxsIGZvcmNlIGxheW91dCBieSBxdWVyeWluZyBkb21Ob2RlIHBvc2l0aW9uXG4gICAgICAgICAgZG9udEZvcmNlTGF5b3V0OiB0cnVlLFxuICAgICAgICAgIG9ubHlIYXNoQ2hhbmdlOiBmb2N1c0FuZFNjcm9sbFJlZi5vbmx5SGFzaENoYW5nZSxcbiAgICAgICAgfVxuICAgICAgKVxuXG4gICAgICAvLyBNdXRhdGUgYWZ0ZXIgc2Nyb2xsaW5nIHNvIHRoYXQgaXQgY2FuIGJlIHJlYWQgYnkgYGhhbmRsZVNtb290aFNjcm9sbGBcbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLm9ubHlIYXNoQ2hhbmdlID0gZmFsc2VcblxuICAgICAgLy8gU2V0IGZvY3VzIG9uIHRoZSBlbGVtZW50XG4gICAgICBkb21Ob2RlLmZvY3VzKClcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpXG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgLy8gQmVjYXVzZSB0aGlzIHByb3BlcnR5IGlzIG92ZXJ3cml0dGVuIGluIGhhbmRsZVBvdGVudGlhbFNjcm9sbCBpdCdzIGZpbmUgdG8gYWx3YXlzIHJ1biBpdCB3aGVuIHRydWUgYXMgaXQnbGwgYmUgc2V0IHRvIGZhbHNlIGZvciBzdWJzZXF1ZW50IHJlbmRlcnMuXG4gICAgaWYgKHRoaXMucHJvcHMuZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkpIHtcbiAgICAgIHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsKClcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW5cbiAgfVxufVxuXG5mdW5jdGlvbiBTY3JvbGxBbmRGb2N1c0hhbmRsZXIoe1xuICBzZWdtZW50UGF0aCxcbiAgY2hpbGRyZW4sXG59OiB7XG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aFxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEdsb2JhbExheW91dFJvdXRlckNvbnRleHQpXG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkJylcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPElubmVyU2Nyb2xsQW5kRm9jdXNIYW5kbGVyXG4gICAgICBzZWdtZW50UGF0aD17c2VnbWVudFBhdGh9XG4gICAgICBmb2N1c0FuZFNjcm9sbFJlZj17Y29udGV4dC5mb2N1c0FuZFNjcm9sbFJlZn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Jbm5lclNjcm9sbEFuZEZvY3VzSGFuZGxlcj5cbiAgKVxufVxuXG4vKipcbiAqIElubmVyTGF5b3V0Um91dGVyIGhhbmRsZXMgcmVuZGVyaW5nIHRoZSBwcm92aWRlZCBzZWdtZW50IGJhc2VkIG9uIHRoZSBjYWNoZS5cbiAqL1xuZnVuY3Rpb24gSW5uZXJMYXlvdXRSb3V0ZXIoe1xuICBwYXJhbGxlbFJvdXRlcktleSxcbiAgdXJsLFxuICBjaGlsZE5vZGVzLFxuICBzZWdtZW50UGF0aCxcbiAgdHJlZSxcbiAgLy8gVE9ETy1BUFA6IGltcGxlbWVudCBgPE9mZnNjcmVlbj5gIHdoZW4gYXZhaWxhYmxlLlxuICAvLyBpc0FjdGl2ZSxcbiAgY2FjaGVLZXksXG59OiB7XG4gIHBhcmFsbGVsUm91dGVyS2V5OiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbiAgY2hpbGROb2RlczogQ2hpbGRTZWdtZW50TWFwXG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aFxuICB0cmVlOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuICBpc0FjdGl2ZTogYm9vbGVhblxuICBjYWNoZUtleTogUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlUm91dGVyQ2FjaGVLZXk+XG59KSB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEdsb2JhbExheW91dFJvdXRlckNvbnRleHQpXG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkJylcbiAgfVxuXG4gIGNvbnN0IHsgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSwgdHJlZTogZnVsbFRyZWUgfSA9IGNvbnRleHRcblxuICAvLyBSZWFkIHNlZ21lbnQgcGF0aCBmcm9tIHRoZSBwYXJhbGxlbCByb3V0ZXIgY2FjaGUgbm9kZS5cbiAgbGV0IGNoaWxkTm9kZSA9IGNoaWxkTm9kZXMuZ2V0KGNhY2hlS2V5KVxuXG4gIC8vIFdoZW4gZGF0YSBpcyBub3QgYXZhaWxhYmxlIGR1cmluZyByZW5kZXJpbmcgY2xpZW50LXNpZGUgd2UgbmVlZCB0byBmZXRjaFxuICAvLyBpdCBmcm9tIHRoZSBzZXJ2ZXIuXG4gIGlmIChjaGlsZE5vZGUgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG5ld0xhenlDYWNoZU5vZGU6IExhenlDYWNoZU5vZGUgPSB7XG4gICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgIHJzYzogbnVsbCxcbiAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgaGVhZDogbnVsbCxcbiAgICAgIHByZWZldGNoSGVhZDogbnVsbCxcbiAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKCksXG4gICAgICBsb2FkaW5nOiBudWxsLFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZsaWdodCBkYXRhIGZldGNoIGtpY2tlZCBvZmYgZHVyaW5nIHJlbmRlciBhbmQgcHV0IGludG8gdGhlIGNhY2hlLlxuICAgICAqL1xuICAgIGNoaWxkTm9kZSA9IG5ld0xhenlDYWNoZU5vZGVcbiAgICBjaGlsZE5vZGVzLnNldChjYWNoZUtleSwgbmV3TGF6eUNhY2hlTm9kZSlcbiAgfVxuXG4gIC8vIGByc2NgIHJlcHJlc2VudHMgdGhlIHJlbmRlcmFibGUgbm9kZSBmb3IgdGhpcyBzZWdtZW50LlxuXG4gIC8vIElmIHRoaXMgc2VnbWVudCBoYXMgYSBgcHJlZmV0Y2hSc2NgLCBpdCdzIHRoZSBzdGF0aWNhbGx5IHByZWZldGNoZWQgZGF0YS5cbiAgLy8gV2Ugc2hvdWxkIHVzZSB0aGF0IG9uIGluaXRpYWwgcmVuZGVyIGluc3RlYWQgb2YgYHJzY2AuIFRoZW4gd2UnbGwgc3dpdGNoXG4gIC8vIHRvIGByc2NgIHdoZW4gdGhlIGR5bmFtaWMgcmVzcG9uc2Ugc3RyZWFtcyBpbi5cbiAgLy9cbiAgLy8gSWYgbm8gcHJlZmV0Y2ggZGF0YSBpcyBhdmFpbGFibGUsIHRoZW4gd2UgZ28gc3RyYWlnaHQgdG8gcmVuZGVyaW5nIGByc2NgLlxuICBjb25zdCByZXNvbHZlZFByZWZldGNoUnNjID1cbiAgICBjaGlsZE5vZGUucHJlZmV0Y2hSc2MgIT09IG51bGwgPyBjaGlsZE5vZGUucHJlZmV0Y2hSc2MgOiBjaGlsZE5vZGUucnNjXG5cbiAgLy8gV2UgdXNlIGB1c2VEZWZlcnJlZFZhbHVlYCB0byBoYW5kbGUgc3dpdGNoaW5nIGJldHdlZW4gdGhlIHByZWZldGNoZWQgYW5kXG4gIC8vIGZpbmFsIHZhbHVlcy4gVGhlIHNlY29uZCBhcmd1bWVudCBpcyByZXR1cm5lZCBvbiBpbml0aWFsIHJlbmRlciwgdGhlbiBpdFxuICAvLyByZS1yZW5kZXJzIHdpdGggdGhlIGZpcnN0IGFyZ3VtZW50LlxuICAvL1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIFRoZSBzZWNvbmQgYXJndW1lbnQgdG8gYHVzZURlZmVycmVkVmFsdWVgIGlzIG9ubHlcbiAgLy8gYXZhaWxhYmxlIGluIHRoZSBleHBlcmltZW50YWwgYnVpbGRzLiBXaGVuIGl0cyBkaXNhYmxlZCwgaXQgd2lsbCBhbHdheXNcbiAgLy8gcmV0dXJuIGByc2NgLlxuICBjb25zdCByc2M6IGFueSA9IHVzZURlZmVycmVkVmFsdWUoY2hpbGROb2RlLnJzYywgcmVzb2x2ZWRQcmVmZXRjaFJzYylcblxuICAvLyBgcnNjYCBpcyBlaXRoZXIgYSBSZWFjdCBub2RlIG9yIGEgcHJvbWlzZSBmb3IgYSBSZWFjdCBub2RlLCBleGNlcHQgd2VcbiAgLy8gc3BlY2lhbCBjYXNlIGBudWxsYCB0byByZXByZXNlbnQgdGhhdCB0aGlzIHNlZ21lbnQncyBkYXRhIGlzIG1pc3NpbmcuIElmXG4gIC8vIGl0J3MgYSBwcm9taXNlLCB3ZSBuZWVkIHRvIHVud3JhcCBpdCBzbyB3ZSBjYW4gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRoZVxuICAvLyBkYXRhIGlzIG1pc3NpbmcuXG4gIGNvbnN0IHJlc29sdmVkUnNjOiBSZWFjdC5SZWFjdE5vZGUgPVxuICAgIHR5cGVvZiByc2MgPT09ICdvYmplY3QnICYmIHJzYyAhPT0gbnVsbCAmJiB0eXBlb2YgcnNjLnRoZW4gPT09ICdmdW5jdGlvbidcbiAgICAgID8gdXNlKHJzYylcbiAgICAgIDogcnNjXG5cbiAgaWYgKCFyZXNvbHZlZFJzYykge1xuICAgIC8vIFRoZSBkYXRhIGZvciB0aGlzIHNlZ21lbnQgaXMgbm90IGF2YWlsYWJsZSwgYW5kIHRoZXJlJ3Mgbm8gcGVuZGluZ1xuICAgIC8vIG5hdmlnYXRpb24gdGhhdCB3aWxsIGJlIGFibGUgdG8gZnVsZmlsbCBpdC4gV2UgbmVlZCB0byBmZXRjaCBtb3JlIGZyb21cbiAgICAvLyB0aGUgc2VydmVyIGFuZCBwYXRjaCB0aGUgY2FjaGUuXG5cbiAgICAvLyBDaGVjayBpZiB0aGVyZSdzIGFscmVhZHkgYSBwZW5kaW5nIHJlcXVlc3QuXG4gICAgbGV0IGxhenlEYXRhID0gY2hpbGROb2RlLmxhenlEYXRhXG4gICAgaWYgKGxhenlEYXRhID09PSBudWxsKSB7XG4gICAgICAvKipcbiAgICAgICAqIFJvdXRlciBzdGF0ZSB3aXRoIHJlZmV0Y2ggbWFya2VyIGFkZGVkXG4gICAgICAgKi9cbiAgICAgIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgIGNvbnN0IHJlZmV0Y2hUcmVlID0gd2Fsa0FkZFJlZmV0Y2goWycnLCAuLi5zZWdtZW50UGF0aF0sIGZ1bGxUcmVlKVxuICAgICAgY29uc3QgaW5jbHVkZU5leHRVcmwgPSBoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUoZnVsbFRyZWUpXG4gICAgICBjaGlsZE5vZGUubGF6eURhdGEgPSBsYXp5RGF0YSA9IGZldGNoU2VydmVyUmVzcG9uc2UoXG4gICAgICAgIG5ldyBVUkwodXJsLCBsb2NhdGlvbi5vcmlnaW4pLFxuICAgICAgICB7XG4gICAgICAgICAgZmxpZ2h0Um91dGVyU3RhdGU6IHJlZmV0Y2hUcmVlLFxuICAgICAgICAgIG5leHRVcmw6IGluY2x1ZGVOZXh0VXJsID8gY29udGV4dC5uZXh0VXJsIDogbnVsbCxcbiAgICAgICAgfVxuICAgICAgKS50aGVuKChzZXJ2ZXJSZXNwb25zZSkgPT4ge1xuICAgICAgICBzdGFydFRyYW5zaXRpb24oKCkgPT4ge1xuICAgICAgICAgIGNoYW5nZUJ5U2VydmVyUmVzcG9uc2Uoe1xuICAgICAgICAgICAgcHJldmlvdXNUcmVlOiBmdWxsVHJlZSxcbiAgICAgICAgICAgIHNlcnZlclJlc3BvbnNlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIHNlcnZlclJlc3BvbnNlXG4gICAgICB9KVxuICAgIH1cbiAgICAvLyBTdXNwZW5kIGluZmluaXRlbHkgYXMgYGNoYW5nZUJ5U2VydmVyUmVzcG9uc2VgIHdpbGwgY2F1c2UgYSBkaWZmZXJlbnQgcGFydCBvZiB0aGUgdHJlZSB0byBiZSByZW5kZXJlZC5cbiAgICAvLyBBIGZhbHNleSBgcmVzb2x2ZWRSc2NgIGluZGljYXRlcyBtaXNzaW5nIGRhdGEgLS0gd2Ugc2hvdWxkIG5vdCBjb21taXQgdGhhdCBicmFuY2gsIGFuZCB3ZSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBkYXRhIHRvIGFycml2ZS5cbiAgICB1c2UodW5yZXNvbHZlZFRoZW5hYmxlKSBhcyBuZXZlclxuICB9XG5cbiAgLy8gSWYgd2UgZ2V0IHRvIHRoaXMgcG9pbnQsIHRoZW4gd2Uga25vdyB3ZSBoYXZlIHNvbWV0aGluZyB3ZSBjYW4gcmVuZGVyLlxuICBjb25zdCBzdWJ0cmVlID0gKFxuICAgIC8vIFRoZSBsYXlvdXQgcm91dGVyIGNvbnRleHQgbmFycm93cyBkb3duIHRyZWUgYW5kIGNoaWxkTm9kZXMgYXQgZWFjaCBsZXZlbC5cbiAgICA8TGF5b3V0Um91dGVyQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgdHJlZTogdHJlZVsxXVtwYXJhbGxlbFJvdXRlcktleV0sXG4gICAgICAgIGNoaWxkTm9kZXM6IGNoaWxkTm9kZS5wYXJhbGxlbFJvdXRlcyxcbiAgICAgICAgLy8gVE9ETy1BUFA6IG92ZXJyaWRpbmcgb2YgdXJsIGZvciBwYXJhbGxlbCByb3V0ZXNcbiAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgIGxvYWRpbmc6IGNoaWxkTm9kZS5sb2FkaW5nLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7cmVzb2x2ZWRSc2N9XG4gICAgPC9MYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyPlxuICApXG4gIC8vIEVuc3VyZSByb290IGxheW91dCBpcyBub3Qgd3JhcHBlZCBpbiBhIGRpdiBhcyB0aGUgcm9vdCBsYXlvdXQgcmVuZGVycyBgPGh0bWw+YFxuICByZXR1cm4gc3VidHJlZVxufVxuXG4vKipcbiAqIFJlbmRlcnMgc3VzcGVuc2UgYm91bmRhcnkgd2l0aCB0aGUgcHJvdmlkZWQgXCJsb2FkaW5nXCIgcHJvcGVydHkgYXMgdGhlIGZhbGxiYWNrLlxuICogSWYgbm8gbG9hZGluZyBwcm9wZXJ0eSBpcyBwcm92aWRlZCBpdCByZW5kZXJzIHRoZSBjaGlsZHJlbiB3aXRob3V0IGEgc3VzcGVuc2UgYm91bmRhcnkuXG4gKi9cbmZ1bmN0aW9uIExvYWRpbmdCb3VuZGFyeSh7XG4gIGxvYWRpbmcsXG4gIGNoaWxkcmVuLFxufToge1xuICBsb2FkaW5nOiBMb2FkaW5nTW9kdWxlRGF0YSB8IFByb21pc2U8TG9hZGluZ01vZHVsZURhdGE+XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbn0pOiBKU1guRWxlbWVudCB7XG4gIC8vIElmIGxvYWRpbmcgaXMgYSBwcm9taXNlLCB1bndyYXAgaXQuIFRoaXMgaGFwcGVucyBpbiBjYXNlcyB3aGVyZSB3ZSBoYXZlbid0XG4gIC8vIHlldCByZWNlaXZlZCB0aGUgbG9hZGluZyBkYXRhIGZyb20gdGhlIHNlcnZlciDigJQgd2hpY2ggaW5jbHVkZXMgd2hldGhlciBvclxuICAvLyBub3QgdGhpcyBsYXlvdXQgaGFzIGEgbG9hZGluZyBjb21wb25lbnQgYXQgYWxsLlxuICAvL1xuICAvLyBJdCdzIE9LIHRvIHN1c3BlbmQgaGVyZSBpbnN0ZWFkIG9mIGluc2lkZSB0aGUgZmFsbGJhY2sgYmVjYXVzZSB0aGlzXG4gIC8vIHByb21pc2Ugd2lsbCByZXNvbHZlIHNpbXVsdGFuZW91c2x5IHdpdGggdGhlIGRhdGEgZm9yIHRoZSBzZWdtZW50IGl0c2VsZi5cbiAgLy8gU28gaXQgd2lsbCBuZXZlciBzdXNwZW5kIGZvciBsb25nZXIgdGhhbiBpdCB3b3VsZCBoYXZlIGlmIHdlIGRpZG4ndCB1c2VcbiAgLy8gYSBTdXNwZW5zZSBmYWxsYmFjayBhdCBhbGwuXG4gIGxldCBsb2FkaW5nTW9kdWxlRGF0YVxuICBpZiAoXG4gICAgdHlwZW9mIGxvYWRpbmcgPT09ICdvYmplY3QnICYmXG4gICAgbG9hZGluZyAhPT0gbnVsbCAmJlxuICAgIHR5cGVvZiAobG9hZGluZyBhcyBhbnkpLnRoZW4gPT09ICdmdW5jdGlvbidcbiAgKSB7XG4gICAgY29uc3QgcHJvbWlzZUZvckxvYWRpbmcgPSBsb2FkaW5nIGFzIFByb21pc2U8TG9hZGluZ01vZHVsZURhdGE+XG4gICAgbG9hZGluZ01vZHVsZURhdGEgPSB1c2UocHJvbWlzZUZvckxvYWRpbmcpXG4gIH0gZWxzZSB7XG4gICAgbG9hZGluZ01vZHVsZURhdGEgPSBsb2FkaW5nIGFzIExvYWRpbmdNb2R1bGVEYXRhXG4gIH1cblxuICBpZiAobG9hZGluZ01vZHVsZURhdGEpIHtcbiAgICBjb25zdCBsb2FkaW5nUnNjID0gbG9hZGluZ01vZHVsZURhdGFbMF1cbiAgICBjb25zdCBsb2FkaW5nU3R5bGVzID0gbG9hZGluZ01vZHVsZURhdGFbMV1cbiAgICBjb25zdCBsb2FkaW5nU2NyaXB0cyA9IGxvYWRpbmdNb2R1bGVEYXRhWzJdXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdXNwZW5zZVxuICAgICAgICBmYWxsYmFjaz17XG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHtsb2FkaW5nU3R5bGVzfVxuICAgICAgICAgICAge2xvYWRpbmdTY3JpcHRzfVxuICAgICAgICAgICAge2xvYWRpbmdSc2N9XG4gICAgICAgICAgPC8+XG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdXNwZW5zZT5cbiAgICApXG4gIH1cblxuICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG5cbi8qKlxuICogT3V0ZXJMYXlvdXRSb3V0ZXIgaGFuZGxlcyB0aGUgY3VycmVudCBzZWdtZW50IGFzIHdlbGwgYXMgPE9mZnNjcmVlbj4gcmVuZGVyaW5nIG9mIG90aGVyIHNlZ21lbnRzLlxuICogSXQgY2FuIGJlIHJlbmRlcmVkIG5leHQgdG8gZWFjaCBvdGhlciB3aXRoIGEgZGlmZmVyZW50IGBwYXJhbGxlbFJvdXRlcktleWAsIGFsbG93aW5nIGZvciBQYXJhbGxlbCByb3V0ZXMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE91dGVyTGF5b3V0Um91dGVyKHtcbiAgcGFyYWxsZWxSb3V0ZXJLZXksXG4gIHNlZ21lbnRQYXRoLFxuICBlcnJvcixcbiAgZXJyb3JTdHlsZXMsXG4gIGVycm9yU2NyaXB0cyxcbiAgdGVtcGxhdGVTdHlsZXMsXG4gIHRlbXBsYXRlU2NyaXB0cyxcbiAgdGVtcGxhdGUsXG4gIG5vdEZvdW5kLFxuICBmb3JiaWRkZW4sXG4gIHVuYXV0aG9yaXplZCxcbn06IHtcbiAgcGFyYWxsZWxSb3V0ZXJLZXk6IHN0cmluZ1xuICBzZWdtZW50UGF0aDogRmxpZ2h0U2VnbWVudFBhdGhcbiAgZXJyb3I6IEVycm9yQ29tcG9uZW50IHwgdW5kZWZpbmVkXG4gIGVycm9yU3R5bGVzOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbiAgZXJyb3JTY3JpcHRzOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbiAgdGVtcGxhdGVTdHlsZXM6IFJlYWN0LlJlYWN0Tm9kZSB8IHVuZGVmaW5lZFxuICB0ZW1wbGF0ZVNjcmlwdHM6IFJlYWN0LlJlYWN0Tm9kZSB8IHVuZGVmaW5lZFxuICB0ZW1wbGF0ZTogUmVhY3QuUmVhY3ROb2RlXG4gIG5vdEZvdW5kOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbiAgZm9yYmlkZGVuOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbiAgdW5hdXRob3JpemVkOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbn0pIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoTGF5b3V0Um91dGVyQ29udGV4dClcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhcmlhbnQgZXhwZWN0ZWQgbGF5b3V0IHJvdXRlciB0byBiZSBtb3VudGVkJylcbiAgfVxuXG4gIGNvbnN0IHsgY2hpbGROb2RlcywgdHJlZSwgdXJsLCBsb2FkaW5nIH0gPSBjb250ZXh0XG5cbiAgLy8gR2V0IHRoZSBjdXJyZW50IHBhcmFsbGVsUm91dGVyIGNhY2hlIG5vZGVcbiAgbGV0IGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciA9IGNoaWxkTm9kZXMuZ2V0KHBhcmFsbGVsUm91dGVyS2V5KVxuICAvLyBJZiB0aGUgcGFyYWxsZWwgcm91dGVyIGNhY2hlIG5vZGUgZG9lcyBub3QgZXhpc3QgeWV0LCBjcmVhdGUgaXQuXG4gIC8vIFRoaXMgd3JpdGVzIHRvIHRoZSBjYWNoZSB3aGVuIHRoZXJlIGlzIG5vIGl0ZW0gaW4gdGhlIGNhY2hlIHlldC4gSXQgbmV2ZXIgKm92ZXJ3cml0ZXMqIGV4aXN0aW5nIGNhY2hlIGl0ZW1zIHdoaWNoIGlzIHdoeSBpdCdzIHNhZmUgaW4gY29uY3VycmVudCBtb2RlLlxuICBpZiAoIWNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlcikge1xuICAgIGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciA9IG5ldyBNYXAoKVxuICAgIGNoaWxkTm9kZXMuc2V0KHBhcmFsbGVsUm91dGVyS2V5LCBjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIpXG4gIH1cblxuICAvLyBHZXQgdGhlIGFjdGl2ZSBzZWdtZW50IGluIHRoZSB0cmVlXG4gIC8vIFRoZSByZWFzb24gYXJyYXlzIGFyZSB1c2VkIGluIHRoZSBkYXRhIGZvcm1hdCBpcyB0aGF0IHRoZXNlIGFyZSB0cmFuc2ZlcnJlZCBmcm9tIHRoZSBzZXJ2ZXIgdG8gdGhlIGJyb3dzZXIgc28gaXQncyBvcHRpbWl6ZWQgdG8gc2F2ZSBieXRlcy5cbiAgY29uc3QgdHJlZVNlZ21lbnQgPSB0cmVlWzFdW3BhcmFsbGVsUm91dGVyS2V5XVswXVxuXG4gIC8vIElmIHNlZ21lbnQgaXMgYW4gYXJyYXkgaXQncyBhIGR5bmFtaWMgcm91dGUgYW5kIHdlIHdhbnQgdG8gcmVhZCB0aGUgZHluYW1pYyByb3V0ZSB2YWx1ZSBhcyB0aGUgc2VnbWVudCB0byBnZXQgZnJvbSB0aGUgY2FjaGUuXG4gIGNvbnN0IGN1cnJlbnRDaGlsZFNlZ21lbnRWYWx1ZSA9IGdldFNlZ21lbnRWYWx1ZSh0cmVlU2VnbWVudClcblxuICAvKipcbiAgICogRGVjaWRlcyB3aGljaCBzZWdtZW50cyB0byBrZWVwIHJlbmRlcmluZywgYWxsIHNlZ21lbnRzIHRoYXQgYXJlIG5vdCBhY3RpdmUgd2lsbCBiZSB3cmFwcGVkIGluIGA8T2Zmc2NyZWVuPmAuXG4gICAqL1xuICAvLyBUT0RPLUFQUDogQWRkIGhhbmRsaW5nIG9mIGA8T2Zmc2NyZWVuPmAgd2hlbiBpdCdzIGF2YWlsYWJsZS5cbiAgY29uc3QgcHJlc2VydmVkU2VnbWVudHM6IFNlZ21lbnRbXSA9IFt0cmVlU2VnbWVudF1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7cHJlc2VydmVkU2VnbWVudHMubWFwKChwcmVzZXJ2ZWRTZWdtZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHByZXNlcnZlZFNlZ21lbnRWYWx1ZSA9IGdldFNlZ21lbnRWYWx1ZShwcmVzZXJ2ZWRTZWdtZW50KVxuICAgICAgICBjb25zdCBjYWNoZUtleSA9IGNyZWF0ZVJvdXRlckNhY2hlS2V5KHByZXNlcnZlZFNlZ21lbnQpXG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAvKlxuICAgICAgICAgICAgLSBFcnJvciBib3VuZGFyeVxuICAgICAgICAgICAgICAtIE9ubHkgcmVuZGVycyBlcnJvciBib3VuZGFyeSBpZiBlcnJvciBjb21wb25lbnQgaXMgcHJvdmlkZWQuXG4gICAgICAgICAgICAgIC0gUmVuZGVyZWQgZm9yIGVhY2ggc2VnbWVudCB0byBlbnN1cmUgdGhleSBoYXZlIHRoZWlyIG93biBlcnJvciBzdGF0ZS5cbiAgICAgICAgICAgIC0gTG9hZGluZyBib3VuZGFyeVxuICAgICAgICAgICAgICAtIE9ubHkgcmVuZGVycyBzdXNwZW5zZSBib3VuZGFyeSBpZiBsb2FkaW5nIGNvbXBvbmVudHMgaXMgcHJvdmlkZWQuXG4gICAgICAgICAgICAgIC0gUmVuZGVyZWQgZm9yIGVhY2ggc2VnbWVudCB0byBlbnN1cmUgdGhleSBoYXZlIHRoZWlyIG93biBsb2FkaW5nIHN0YXRlLlxuICAgICAgICAgICAgICAtIFBhc3NlZCB0byB0aGUgcm91dGVyIGR1cmluZyByZW5kZXJpbmcgdG8gZW5zdXJlIGl0IGNhbiBiZSBpbW1lZGlhdGVseSByZW5kZXJlZCB3aGVuIHN1c3BlbmRpbmcgb24gYSBGbGlnaHQgZmV0Y2guXG4gICAgICAgICAgKi9cbiAgICAgICAgICA8VGVtcGxhdGVDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgICAgICBrZXk9e2NyZWF0ZVJvdXRlckNhY2hlS2V5KHByZXNlcnZlZFNlZ21lbnQsIHRydWUpfVxuICAgICAgICAgICAgdmFsdWU9e1xuICAgICAgICAgICAgICA8U2Nyb2xsQW5kRm9jdXNIYW5kbGVyIHNlZ21lbnRQYXRoPXtzZWdtZW50UGF0aH0+XG4gICAgICAgICAgICAgICAgPEVycm9yQm91bmRhcnlcbiAgICAgICAgICAgICAgICAgIGVycm9yQ29tcG9uZW50PXtlcnJvcn1cbiAgICAgICAgICAgICAgICAgIGVycm9yU3R5bGVzPXtlcnJvclN0eWxlc31cbiAgICAgICAgICAgICAgICAgIGVycm9yU2NyaXB0cz17ZXJyb3JTY3JpcHRzfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxMb2FkaW5nQm91bmRhcnkgbG9hZGluZz17bG9hZGluZ30+XG4gICAgICAgICAgICAgICAgICAgIDxIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeVxuICAgICAgICAgICAgICAgICAgICAgIG5vdEZvdW5kPXtub3RGb3VuZH1cbiAgICAgICAgICAgICAgICAgICAgICBmb3JiaWRkZW49e2ZvcmJpZGRlbn1cbiAgICAgICAgICAgICAgICAgICAgICB1bmF1dGhvcml6ZWQ9e3VuYXV0aG9yaXplZH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxSZWRpcmVjdEJvdW5kYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPElubmVyTGF5b3V0Um91dGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVyS2V5PXtwYXJhbGxlbFJvdXRlcktleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsPXt1cmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWU9e3RyZWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTm9kZXM9e2NoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnRQYXRoPXtzZWdtZW50UGF0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVLZXk9e2NhY2hlS2V5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudENoaWxkU2VnbWVudFZhbHVlID09PSBwcmVzZXJ2ZWRTZWdtZW50VmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L1JlZGlyZWN0Qm91bmRhcnk+XG4gICAgICAgICAgICAgICAgICAgIDwvSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnk+XG4gICAgICAgICAgICAgICAgICA8L0xvYWRpbmdCb3VuZGFyeT5cbiAgICAgICAgICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICAgICAgICAgIDwvU2Nyb2xsQW5kRm9jdXNIYW5kbGVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0ZW1wbGF0ZVN0eWxlc31cbiAgICAgICAgICAgIHt0ZW1wbGF0ZVNjcmlwdHN9XG4gICAgICAgICAgICB7dGVtcGxhdGV9XG4gICAgICAgICAgPC9UZW1wbGF0ZUNvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgIClcbiAgICAgIH0pfVxuICAgIDwvPlxuICApXG59XG4iXSwibmFtZXMiOlsiT3V0ZXJMYXlvdXRSb3V0ZXIiLCJ3YWxrQWRkUmVmZXRjaCIsInNlZ21lbnRQYXRoVG9XYWxrIiwidHJlZVRvUmVjcmVhdGUiLCJzZWdtZW50IiwicGFyYWxsZWxSb3V0ZUtleSIsImlzTGFzdCIsImxlbmd0aCIsIm1hdGNoU2VnbWVudCIsImhhc093blByb3BlcnR5Iiwic3ViVHJlZSIsInVuZGVmaW5lZCIsInNsaWNlIiwiX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFIiwiUmVhY3RET00iLCJmaW5kRE9NTm9kZSIsImluc3RhbmNlIiwid2luZG93IiwiaW50ZXJuYWxfcmVhY3RET01maW5kRE9NTm9kZSIsInJlY3RQcm9wZXJ0aWVzIiwic2hvdWxkU2tpcEVsZW1lbnQiLCJlbGVtZW50IiwiaW5jbHVkZXMiLCJnZXRDb21wdXRlZFN0eWxlIiwicG9zaXRpb24iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwid2FybiIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJldmVyeSIsIml0ZW0iLCJ0b3BPZkVsZW1lbnRJblZpZXdwb3J0Iiwidmlld3BvcnRIZWlnaHQiLCJ0b3AiLCJnZXRIYXNoRnJhZ21lbnREb21Ob2RlIiwiaGFzaEZyYWdtZW50IiwiZG9jdW1lbnQiLCJib2R5IiwiZ2V0RWxlbWVudEJ5SWQiLCJnZXRFbGVtZW50c0J5TmFtZSIsIklubmVyU2Nyb2xsQW5kRm9jdXNIYW5kbGVyIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb21wb25lbnREaWRNb3VudCIsImhhbmRsZVBvdGVudGlhbFNjcm9sbCIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByb3BzIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJhcHBseSIsInJlbmRlciIsImNoaWxkcmVuIiwic2VnbWVudFBhdGgiLCJzZWdtZW50UGF0aHMiLCJzb21lIiwic2Nyb2xsUmVmU2VnbWVudFBhdGgiLCJpbmRleCIsImRvbU5vZGUiLCJFbGVtZW50IiwiSFRNTEVsZW1lbnQiLCJuZXh0RWxlbWVudFNpYmxpbmciLCJoYW5kbGVTbW9vdGhTY3JvbGwiLCJzY3JvbGxJbnRvVmlldyIsImh0bWxFbGVtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiY2xpZW50SGVpZ2h0Iiwic2Nyb2xsVG9wIiwiZG9udEZvcmNlTGF5b3V0Iiwib25seUhhc2hDaGFuZ2UiLCJmb2N1cyIsIlNjcm9sbEFuZEZvY3VzSGFuZGxlciIsImNvbnRleHQiLCJ1c2VDb250ZXh0IiwiR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCIsIkVycm9yIiwiSW5uZXJMYXlvdXRSb3V0ZXIiLCJwYXJhbGxlbFJvdXRlcktleSIsInVybCIsImNoaWxkTm9kZXMiLCJ0cmVlIiwiY2FjaGVLZXkiLCJjaGFuZ2VCeVNlcnZlclJlc3BvbnNlIiwiZnVsbFRyZWUiLCJjaGlsZE5vZGUiLCJnZXQiLCJuZXdMYXp5Q2FjaGVOb2RlIiwibGF6eURhdGEiLCJyc2MiLCJwcmVmZXRjaFJzYyIsImhlYWQiLCJwcmVmZXRjaEhlYWQiLCJwYXJhbGxlbFJvdXRlcyIsIk1hcCIsImxvYWRpbmciLCJzZXQiLCJyZXNvbHZlZFByZWZldGNoUnNjIiwidXNlRGVmZXJyZWRWYWx1ZSIsInJlc29sdmVkUnNjIiwidGhlbiIsInVzZSIsInJlZmV0Y2hUcmVlIiwiaW5jbHVkZU5leHRVcmwiLCJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLCJmZXRjaFNlcnZlclJlc3BvbnNlIiwiVVJMIiwibG9jYXRpb24iLCJvcmlnaW4iLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsIm5leHRVcmwiLCJzZXJ2ZXJSZXNwb25zZSIsInN0YXJ0VHJhbnNpdGlvbiIsInByZXZpb3VzVHJlZSIsInVucmVzb2x2ZWRUaGVuYWJsZSIsInN1YnRyZWUiLCJMYXlvdXRSb3V0ZXJDb250ZXh0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIkxvYWRpbmdCb3VuZGFyeSIsImxvYWRpbmdNb2R1bGVEYXRhIiwicHJvbWlzZUZvckxvYWRpbmciLCJsb2FkaW5nUnNjIiwibG9hZGluZ1N0eWxlcyIsImxvYWRpbmdTY3JpcHRzIiwiU3VzcGVuc2UiLCJmYWxsYmFjayIsImVycm9yIiwiZXJyb3JTdHlsZXMiLCJlcnJvclNjcmlwdHMiLCJ0ZW1wbGF0ZVN0eWxlcyIsInRlbXBsYXRlU2NyaXB0cyIsInRlbXBsYXRlIiwibm90Rm91bmQiLCJmb3JiaWRkZW4iLCJ1bmF1dGhvcml6ZWQiLCJjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIiLCJ0cmVlU2VnbWVudCIsImN1cnJlbnRDaGlsZFNlZ21lbnRWYWx1ZSIsImdldFNlZ21lbnRWYWx1ZSIsInByZXNlcnZlZFNlZ21lbnRzIiwibWFwIiwicHJlc2VydmVkU2VnbWVudCIsInByZXNlcnZlZFNlZ21lbnRWYWx1ZSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiVGVtcGxhdGVDb250ZXh0IiwiRXJyb3JCb3VuZGFyeSIsImVycm9yQ29tcG9uZW50IiwiSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnkiLCJSZWRpcmVjdEJvdW5kYXJ5IiwiaXNBY3RpdmUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/layout-router.js\n"); /***/ }), @@ -1094,7 +1083,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n})); /***/ ((module, exports, __webpack_require__) => { "use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createFetch: function() {\n return createFetch;\n },\n createFromNextReadableStream: function() {\n return createFromNextReadableStream;\n },\n fetchServerResponse: function() {\n return fetchServerResponse;\n },\n urlToUrlWithoutFlightMarker: function() {\n return urlToUrlWithoutFlightMarker;\n }\n});\nconst _approuterheaders = __webpack_require__(/*! ../app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _appcallserver = __webpack_require__(/*! ../../app-call-server */ \"(ssr)/./node_modules/next/dist/client/app-call-server.js\");\nconst _appfindsourcemapurl = __webpack_require__(/*! ../../app-find-source-map-url */ \"(ssr)/./node_modules/next/dist/client/app-find-source-map-url.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _hash = __webpack_require__(/*! ../../../shared/lib/hash */ \"(ssr)/./node_modules/next/dist/shared/lib/hash.js\");\nconst _flightdatahelpers = __webpack_require__(/*! ../../flight-data-helpers */ \"(ssr)/./node_modules/next/dist/client/flight-data-helpers.js\");\nconst _appbuildid = __webpack_require__(/*! ../../app-build-id */ \"(ssr)/./node_modules/next/dist/client/app-build-id.js\");\n// @ts-ignore\n// eslint-disable-next-line import/no-extraneous-dependencies\n// import { createFromReadableStream } from 'react-server-dom-webpack/client'\nconst { createFromReadableStream } = true ? __webpack_require__(/*! react-server-dom-webpack/client.edge */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\") : 0;\nfunction urlToUrlWithoutFlightMarker(url) {\n const urlWithoutFlightParameters = new URL(url, location.origin);\n urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n if (false) {}\n return urlWithoutFlightParameters;\n}\nfunction doMpaNavigation(url) {\n return {\n flightData: urlToUrlWithoutFlightMarker(url).toString(),\n canonicalUrl: undefined,\n couldBeIntercepted: false,\n prerendered: false,\n postponed: false,\n staleTime: -1\n };\n}\nasync function fetchServerResponse(url, options) {\n const { flightRouterState, nextUrl, prefetchKind } = options;\n const headers = {\n // Enable flight response\n [_approuterheaders.RSC_HEADER]: '1',\n // Provide the current router state\n [_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER]: encodeURIComponent(JSON.stringify(flightRouterState))\n };\n /**\n * Three cases:\n * - `prefetchKind` is `undefined`, it means it's a normal navigation, so we want to prefetch the page data fully\n * - `prefetchKind` is `full` - we want to prefetch the whole page so same as above\n * - `prefetchKind` is `auto` - if the page is dynamic, prefetch the page data partially, if static prefetch the page data fully\n */ if (prefetchKind === _routerreducertypes.PrefetchKind.AUTO) {\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] = '1';\n }\n if ( true && options.isHmrRefresh) {\n headers[_approuterheaders.NEXT_HMR_REFRESH_HEADER] = '1';\n }\n if (nextUrl) {\n headers[_approuterheaders.NEXT_URL] = nextUrl;\n }\n try {\n var _res_headers_get;\n // When creating a \"temporary\" prefetch (the \"on-demand\" prefetch that gets created on navigation, if one doesn't exist)\n // we send the request with a \"high\" priority as it's in response to a user interaction that could be blocking a transition.\n // Otherwise, all other prefetches are sent with a \"low\" priority.\n // We use \"auto\" for in all other cases to match the existing default, as this function is shared outside of prefetching.\n const fetchPriority = prefetchKind ? prefetchKind === _routerreducertypes.PrefetchKind.TEMPORARY ? 'high' : 'low' : 'auto';\n const res = await createFetch(url, headers, fetchPriority);\n const responseUrl = urlToUrlWithoutFlightMarker(res.url);\n const canonicalUrl = res.redirected ? responseUrl : undefined;\n const contentType = res.headers.get('content-type') || '';\n const interception = !!((_res_headers_get = res.headers.get('vary')) == null ? void 0 : _res_headers_get.includes(_approuterheaders.NEXT_URL));\n const postponed = !!res.headers.get(_approuterheaders.NEXT_DID_POSTPONE_HEADER);\n const staleTimeHeader = res.headers.get(_approuterheaders.NEXT_ROUTER_STALE_TIME_HEADER);\n const staleTime = staleTimeHeader !== null ? parseInt(staleTimeHeader, 10) : -1;\n let isFlightResponse = contentType.startsWith(_approuterheaders.RSC_CONTENT_TYPE_HEADER);\n if (false) {}\n // If fetch returns something different than flight response handle it like a mpa navigation\n // If the fetch was not 200, we also handle it like a mpa navigation\n if (!isFlightResponse || !res.ok || !res.body) {\n // in case the original URL came with a hash, preserve it before redirecting to the new URL\n if (url.hash) {\n responseUrl.hash = url.hash;\n }\n return doMpaNavigation(responseUrl.toString());\n }\n // We may navigate to a page that requires a different Webpack runtime.\n // In prod, every page will have the same Webpack runtime.\n // In dev, the Webpack runtime is minimal for each page.\n // We need to ensure the Webpack runtime is updated before executing client-side JS of the new page.\n if (true) {\n await (__webpack_require__(/*! ../react-dev-overlay/app/hot-reloader-client */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js\").waitForWebpackRuntimeHotUpdate)();\n }\n // Handle the `fetch` readable stream that can be unwrapped by `React.use`.\n const flightStream = postponed ? createUnclosingPrefetchStream(res.body) : res.body;\n const response = await createFromNextReadableStream(flightStream);\n if ((0, _appbuildid.getAppBuildId)() !== response.b) {\n return doMpaNavigation(res.url);\n }\n return {\n flightData: (0, _flightdatahelpers.normalizeFlightData)(response.f),\n canonicalUrl: canonicalUrl,\n couldBeIntercepted: interception,\n prerendered: response.S,\n postponed,\n staleTime\n };\n } catch (err) {\n console.error(\"Failed to fetch RSC payload for \" + url + \". Falling back to browser navigation.\", err);\n // If fetch fails handle it like a mpa navigation\n // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response.\n // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction.\n return {\n flightData: url.toString(),\n canonicalUrl: undefined,\n couldBeIntercepted: false,\n prerendered: false,\n postponed: false,\n staleTime: -1\n };\n }\n}\nfunction createFetch(url, headers, fetchPriority) {\n const fetchUrl = new URL(url);\n if (false) {}\n // This is used to cache bust CDNs that don't support custom headers. The\n // result is stored in a search param.\n // TODO: Given that we have to use a search param anyway, we might as well\n // _only_ use a search param and not bother with the custom headers.\n // Add unique cache query to avoid caching conflicts on CDN which don't respect the Vary header\n const uniqueCacheQuery = (0, _hash.hexHash)([\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] || '0',\n headers[_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER] || '0',\n headers[_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER],\n headers[_approuterheaders.NEXT_URL]\n ].join(','));\n fetchUrl.searchParams.set(_approuterheaders.NEXT_RSC_UNION_QUERY, uniqueCacheQuery);\n if (false) {}\n if (false) {}\n return fetch(fetchUrl, {\n // Backwards compat for older browsers. `same-origin` is the default in modern browsers.\n credentials: 'same-origin',\n headers,\n priority: fetchPriority || undefined\n });\n}\nfunction createFromNextReadableStream(flightStream) {\n return createFromReadableStream(flightStream, {\n callServer: _appcallserver.callServer,\n findSourceMapURL: _appfindsourcemapurl.findSourceMapURL\n });\n}\nfunction createUnclosingPrefetchStream(originalFlightStream) {\n // When PPR is enabled, prefetch streams may contain references that never\n // resolve, because that's how we encode dynamic data access. In the decoded\n // object returned by the Flight client, these are reified into hanging\n // promises that suspend during render, which is effectively what we want.\n // The UI resolves when it switches to the dynamic data stream\n // (via useDeferredValue(dynamic, static)).\n //\n // However, the Flight implementation currently errors if the server closes\n // the response before all the references are resolved. As a cheat to work\n // around this, we wrap the original stream in a new stream that never closes,\n // and therefore doesn't error.\n const reader = originalFlightStream.getReader();\n return new ReadableStream({\n async pull (controller) {\n while(true){\n const { done, value } = await reader.read();\n if (!done) {\n // Pass to the target stream and keep consuming the Flight response\n // from the server.\n controller.enqueue(value);\n continue;\n }\n // The server stream has closed. Exit, but intentionally do not close\n // the target stream.\n return;\n }\n }\n });\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fetch-server-response.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZldGNoLXNlcnZlci1yZXNwb25zZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUE4TmdCQSxXQUFXO2VBQVhBOztJQWlEQUMsNEJBQTRCO2VBQTVCQTs7SUE1S01DLG1CQUFtQjtlQUFuQkE7O0lBaENOQywyQkFBMkI7ZUFBM0JBOzs7OENBdkNUOzJDQUNvQjtpREFDTTtnREFDSjtrQ0FDTDsrQ0FJakI7d0NBQ3VCO0FBbkM5QixhQUFhO0FBQ2IsNkRBQTZEO0FBQzdELDZFQUE2RTtBQUM3RSxNQUFNLEVBQUVDLHdCQUF3QixFQUFFLEdBQ2hDLEtBQTBCLEdBRXRCSSxtQkFBT0EsQ0FBQywrSkFBc0MsSUFFOUNBLENBQTBDO0FBeUR6QyxTQUFTTCw0QkFBNEJNLEdBQVc7SUFDckQsTUFBTUMsNkJBQTZCLElBQUlDLElBQUlGLEtBQUtHLFNBQVNDLE1BQU07SUFDL0RILDJCQUEyQkksWUFBWSxDQUFDQyxNQUFNLENBQUNDLGtCQUFBQSxvQkFBb0I7SUFDbkUsSUFBSVgsS0FBb0IsRUFBbUIsRUFVMUM7SUFDRCxPQUFPSztBQUNUO0FBRUEsU0FBU2EsZ0JBQWdCZCxHQUFXO0lBQ2xDLE9BQU87UUFDTGUsWUFBWXJCLDRCQUE0Qk0sS0FBS2dCLFFBQVE7UUFDckRDLGNBQWNDO1FBQ2RDLG9CQUFvQjtRQUNwQkMsYUFBYTtRQUNiQyxXQUFXO1FBQ1hDLFdBQVcsQ0FBQztJQUNkO0FBQ0Y7QUFNTyxlQUFlN0Isb0JBQ3BCTyxHQUFRLEVBQ1J1QixPQUFtQztJQUVuQyxNQUFNLEVBQUVDLGlCQUFpQixFQUFFQyxPQUFPLEVBQUVDLFlBQVksRUFBRSxHQUFHSDtJQUVyRCxNQUFNSSxVQUEwQjtRQUM5Qix5QkFBeUI7UUFDekIsQ0FBQ0Msa0JBQUFBLFVBQVUsQ0FBQyxFQUFFO1FBQ2QsbUNBQW1DO1FBQ25DLENBQUNDLGtCQUFBQSw2QkFBNkIsQ0FB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QUMxRSw4REFBOEQ7SUFDOUQsMkNBQTJDO0lBQzNDLEVBQUU7SUFDRiwyRUFBMkU7SUFDM0UsMEVBQTBFO0lBQzFFLDhFQUE4RTtJQUM5RSwrQkFBK0I7SUFDL0IsTUFBTUMsU0FBU0QscUJBQXFCRSxTQUFTO0lBQzdDLE9BQU8sSUFBSUMsZUFBZTtRQUN4QixNQUFNQyxNQUFLQyxVQUFVO1lBQ25CLE1BQU8sS0FBTTtnQkFDWCxNQUFNLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFLEdBQUcsTUFBTU4sT0FBT08sSUFBSTtnQkFDekMsSUFBSSxDQUFDRixNQUFNO29CQUNULG1FQUFtRTtvQkFDbkUsbUJBQW1CO29CQUNuQkQsV0FBV0ksT0FBTyxDQUFDRjtvQkFDbkI7Z0JBQ0Y7Z0JBQ0EscUVBQXFFO2dCQUNyRSxxQkFBcUI7Z0JBQ3JCO1lBQ0Y7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXGNsaWVudFxcY29tcG9uZW50c1xccm91dGVyLXJlZHVjZXJcXGZldGNoLXNlcnZlci1yZXNwb25zZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuLy8gQHRzLWlnbm9yZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuLy8gaW1wb3J0IHsgY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtIH0gZnJvbSAncmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudCdcbmNvbnN0IHsgY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtIH0gPSAoXG4gICEhcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FXG4gICAgPyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG4gICAgICByZXF1aXJlKCdyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50LmVkZ2UnKVxuICAgIDogLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuICAgICAgcmVxdWlyZSgncmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudCcpXG4pIGFzIHR5cGVvZiBpbXBvcnQoJ3JlYWN0LXNlcnZlci1kb20td2VicGFjay9jbGllbnQnKVxuXG5pbXBvcnQgdHlwZSB7XG4gIEZsaWdodFJvdXRlclN0YXRlLFxuICBOYXZpZ2F0aW9uRmxpZ2h0UmVzcG9uc2UsXG59IGZyb20gJy4uLy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuaW1wb3J0IHtcbiAgTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSLFxuICBORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUixcbiAgTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVIsXG4gIE5FWFRfUlNDX1VOSU9OX1FVRVJZLFxuICBORVhUX1VSTCxcbiAgUlNDX0hFQURFUixcbiAgUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIsXG4gIE5FWFRfSE1SX1JFRlJFU0hfSEVBREVSLFxuICBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIsXG4gIE5FWFRfUk9VVEVSX1NUQUxFX1RJTUVfSEVBREVSLFxufSBmcm9tICcuLi9hcHAtcm91dGVyLWhlYWRlcnMnXG5pbXBvcnQgeyBjYWxsU2VydmVyIH0gZnJvbSAnLi4vLi4vYXBwLWNhbGwtc2VydmVyJ1xuaW1wb3J0IHsgZmluZFNvdXJjZU1hcFVSTCB9IGZyb20gJy4uLy4uL2FwcC1maW5kLXNvdXJjZS1tYXAtdXJsJ1xuaW1wb3J0IHsgUHJlZmV0Y2hLaW5kIH0gZnJvbSAnLi9yb3V0ZXItcmVkdWNlci10eXBlcydcbmltcG9ydCB7IGhleEhhc2ggfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL2hhc2gnXG5pbXBvcnQge1xuICBub3JtYWxpemVGbGlnaHREYXRhLFxuICB0eXBlIE5vcm1hbGl6ZWRGbGlnaHREYXRhLFxufSBmcm9tICcuLi8uLi9mbGlnaHQtZGF0YS1oZWxwZXJzJ1xuaW1wb3J0IHsgZ2V0QXBwQnVpbGRJZCB9IGZyb20gJy4uLy4uL2FwcC1idWlsZC1pZCdcblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaFNlcnZlclJlc3BvbnNlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGZsaWdodFJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuICByZWFkb25seSBuZXh0VXJsOiBzdHJpbmcgfCBudWxsXG4gIHJlYWRvbmx5IHByZWZldGNoS2luZD86IFByZWZldGNoS2luZFxuICByZWFkb25seSBpc0htclJlZnJlc2g/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIEZldGNoU2VydmVyUmVzcG9uc2VSZXN1bHQgPSB7XG4gIGZsaWdodERhdGE6IE5vcm1hbGl6ZWRGbGlnaHREYXRhW10gfCBzdHJpbmdcbiAgY2Fub25pY2FsVXJsOiBVUkwgfCB1bmRlZmluZWRcbiAgY291bGRCZUludGVyY2VwdGVkOiBib29sZWFuXG4gIHByZXJlbmRlcmVkOiBib29sZWFuXG4gIHBvc3Rwb25lZDogYm9vbGVhblxuICBzdGFsZVRpbWU6IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBSZXF1ZXN0SGVhZGVycyA9IHtcbiAgW1JTQ19IRUFERVJdPzogJzEnXG4gIFtORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl0/OiBzdHJpbmdcbiAgW05FWFRfVVJMXT86IHN0cmluZ1xuICBbTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXT86ICcxJ1xuICBbTkVYVF9ST1VURVJfU0VHTUVOVF9QUkVGRVRDSF9IRUFERVJdPzogc3RyaW5nXG4gICd4LWRlcGxveW1lbnQtaWQnPzogc3RyaW5nXG4gIFtORVhUX0hNUl9SRUZSRVNIX0hFQURFUl0/OiAnMSdcbiAgLy8gQSBoZWFkZXIgdGhhdCBpcyBvbmx5IGFkZGVkIGluIHRlc3QgbW9kZSB0byBhc3NlcnQgb24gZmV0Y2ggcHJpb3JpdHlcbiAgJ05leHQtVGVzdC1GZXRjaC1Qcmlvcml0eSc/OiBSZXF1ZXN0SW5pdFsncHJpb3JpdHknXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKHVybDogc3RyaW5nKTogVVJMIHtcbiAgY29uc3QgdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMgPSBuZXcgVVJMKHVybCwgbG9jYXRpb24ub3JpZ2luKVxuICB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycy5zZWFyY2hQYXJhbXMuZGVsZXRlKE5FWFRfUlNDX1VOSU9OX1FVRVJZKVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlmIChcbiAgICAgIHByb2Nlc3MuZW52Ll9fTkVYVF9DT05GSUdfT1VUUFVUID09PSAnZXhwb3J0JyAmJlxuICAgICAgdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMucGF0aG5hbWUuZW5kc1dpdGgoJy50eHQnKVxuICAgICkge1xuICAgICAgY29uc3QgeyBwYXRobmFtZSB9ID0gdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnNcbiAgICAgIGNvbnN0IGxlbmd0aCA9IHBhdGhuYW1lLmVuZHNXaXRoKCcvaW5kZXgudHh0JykgPyAxMCA6IDRcbiAgICAgIC8vIFNsaWNlIG9mZiBgL2luZGV4LnR4dGAgb3IgYC50eHRgIGZyb20gdGhlIGVuZCBvZiB0aGUgcGF0aG5hbWVcbiAgICAgIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzLnBhdGhuYW1lID0gcGF0aG5hbWUuc2xpY2UoMCwgLWxlbmd0aClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzXG59XG5cbmZ1bmN0aW9uIGRvTXBhTmF2aWdhdGlvbih1cmw6IHN0cmluZyk6IEZldGNoU2VydmVyUmVzcG9uc2VSZXN1bHQge1xuICByZXR1cm4ge1xuICAgIGZsaWdodERhdGE6IHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcih1cmwpLnRvU3RyaW5nKCksXG4gICAgY2Fub25pY2FsVXJsOiB1bmRlZmluZWQsXG4gICAgY291bGRCZUludGVyY2VwdGVkOiBmYWxzZSxcbiAgICBwcmVyZW5kZXJlZDogZmFsc2UsXG4gICAgcG9zdHBvbmVkOiBmYWxzZSxcbiAgICBzdGFsZVRpbWU6IC0xLFxuICB9XG59XG5cbi8qKlxuICogRmV0Y2ggdGhlIGZsaWdodCBkYXRhIGZvciB0aGUgcHJvdmlkZWQgdXJsLiBUYWtlcyBpbiB0aGUgY3VycmVudCByb3V0ZXIgc3RhdGVcbiAqIHRvIGRlY2lkZSB3aGF0IHRvIHJlbmRlciBzZXJ2ZXItc2lkZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoU2VydmVyUmVzcG9uc2UoXG4gIHVybDogVVJMLFxuICBvcHRpb25zOiBGZXRjaFNlcnZlclJlc3BvbnNlT3B0aW9uc1xuKTogUHJvbWlzZTxGZXRjaFNlcnZlclJlc3BvbnNlUmVzdWx0PiB7XG4gIGNvbnN0IHsgZmxpZ2h0Um91dGVyU3RhdGUsIG5leHRVcmwsIHByZWZldGNoS2luZCB9ID0gb3B0aW9uc1xuXG4gIGNvbnN0IGhlYWRlcnM6IFJlcXVlc3RIZWFkZXJzID0ge1xuICAgIC8vIEVuYWJsZSBmbGlnaHQgcmVzcG9uc2VcbiAgICBbUlNDX0hFQURFUl06ICcxJyxcbiAgICAvLyBQcm92aWRlIHRoZSBjdXJyZW50IHJvdXRlciBzdGF0ZVxuICAgIFtORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06IGVuY29kZVVSSUNvbXBvbmVudChcbiAgICAgIEpTT04uc3RyaW5naWZ5KGZsaWdodFJvdXRlclN0YXRlKVxuICAgICksXG4gIH1cblxuICAvKipcbiAgICogVGhyZWUgY2FzZXM6XG4gICAqIC0gYHByZWZldGNoS2luZGAgaXMgYHVuZGVmaW5lZGAsIGl0IG1lYW5zIGl0J3MgYSBub3JtYWwgbmF2aWdhdGlvbiwgc28gd2Ugd2FudCB0byBwcmVmZXRjaCB0aGUgcGFnZSBkYXRhIGZ1bGx5XG4gICAqIC0gYHByZWZldGNoS2luZGAgaXMgYGZ1bGxgIC0gd2Ugd2FudCB0byBwcmVmZXRjaCB0aGUgd2hvbGUgcGFnZSBzbyBzYW1lIGFzIGFib3ZlXG4gICAqIC0gYHByZWZldGNoS2luZGAgaXMgYGF1dG9gIC0gaWYgdGhlIHBhZ2UgaXMgZHluYW1pYywgcHJlZmV0Y2ggdGhlIHBhZ2UgZGF0YSBwYXJ0aWFsbHksIGlmIHN0YXRpYyBwcmVmZXRjaCB0aGUgcGFnZSBkYXRhIGZ1bGx5XG4gICAqL1xuICBpZiAocHJlZmV0Y2hLaW5kID09PSBQcmVmZXRjaEtpbmQuQVVUTykge1xuICAgIGhlYWRlcnNbTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXSA9ICcxJ1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnICYmIG9wdGlvbnMuaXNIbXJSZWZyZXNoKSB7XG4gICAgaGVhZGVyc1tORVhUX0hNUl9SRUZSRVNIX0hFQURFUl0gPSAnMSdcbiAgfVxuXG4gIGlmIChuZXh0VXJsKSB7XG4gICAgaGVhZGVyc1tORVhUX1VSTF0gPSBuZXh0VXJsXG4gIH1cblxuICB0cnkge1xuICAgIC8vIFdoZW4gY3JlYXRpbmcgYSBcInRlbXBvcmFyeVwiIHByZWZldGNoICh0aGUgXCJvbi1kZW1hbmRcIiBwcmVmZXRjaCB0aGF0IGdldHMgY3JlYXRlZCBvbiBuYXZpZ2F0aW9uLCBpZiBvbmUgZG9lc24ndCBleGlzdClcbiAgICAvLyB3ZSBzZW5kIHRoZSByZXF1ZXN0IHdpdGggYSBcImhpZ2hcIiBwcmlvcml0eSBhcyBpdCdzIGluIHJlc3BvbnNlIHRvIGEgdXNlciBpbnRlcmFjdGlvbiB0aGF0IGNvdWxkIGJlIGJsb2NraW5nIGEgdHJhbnNpdGlvbi5cbiAgICAvLyBPdGhlcndpc2UsIGFsbCBvdGhlciBwcmVmZXRjaGVzIGFyZSBzZW50IHdpdGggYSBcImxvd1wiIHByaW9yaXR5LlxuICAgIC8vIFdlIHVzZSBcImF1dG9cIiBmb3IgaW4gYWxsIG90aGVyIGNhc2VzIHRvIG1hdGNoIHRoZSBleGlzdGluZyBkZWZhdWx0LCBhcyB0aGlzIGZ1bmN0aW9uIGlzIHNoYXJlZCBvdXRzaWRlIG9mIHByZWZldGNoaW5nLlxuICAgIGNvbnN0IGZldGNoUHJpb3JpdHkgPSBwcmVmZXRjaEtpbmRcbiAgICAgID8gcHJlZmV0Y2hLaW5kID09PSBQcmVmZXRjaEtpbmQuVEVNUE9SQVJZXG4gICAgICAgID8gJ2hpZ2gnXG4gICAgICAgIDogJ2xvdydcbiAgICAgIDogJ2F1dG8nXG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBjcmVhdGVGZXRjaCh1cmwsIGhlYWRlcnMsIGZldGNoUHJpb3JpdHkpXG5cbiAgICBjb25zdCByZXNwb25zZVVybCA9IHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcihyZXMudXJsKVxuICAgIGNvbnN0IGNhbm9uaWNhbFVybCA9IHJlcy5yZWRpcmVjdGVkID8gcmVzcG9uc2VVcmwgOiB1bmRlZmluZWRcblxuICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gcmVzLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKSB8fCAnJ1xuICAgIGNvbnN0IGludGVyY2VwdGlvbiA9ICEhcmVzLmhlYWRlcnMuZ2V0KCd2YXJ5Jyk/LmluY2x1ZGVzKE5FWFRfVVJMKVxuICAgIGNvbnN0IHBvc3Rwb25lZCA9ICEhcmVzLmhlYWRlcnMuZ2V0KE5FWFRfRElEX1BPU1RQT05FX0hFQURFUilcbiAgICBjb25zdCBzdGFsZVRpbWVIZWFkZXIgPSByZXMuaGVhZGVycy5nZXQoTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVIpXG4gICAgY29uc3Qgc3RhbGVUaW1lID1cbiAgICAgIHN0YWxlVGltZUhlYWRlciAhPT0gbnVsbCA/IHBhcnNlSW50KHN0YWxlVGltZUhlYWRlciwgMTApIDogLTFcbiAgICBsZXQgaXNGbGlnaHRSZXNwb25zZSA9IGNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIpXG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9DT05GSUdfT1VUUFVUID09PSAnZXhwb3J0Jykge1xuICAgICAgICBpZiAoIWlzRmxpZ2h0UmVzcG9uc2UpIHtcbiAgICAgICAgICBpc0ZsaWdodFJlc3BvbnNlID0gY29udGVudFR5cGUuc3RhcnRzV2l0aCgndGV4dC9wbGFpbicpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBmZXRjaCByZXR1cm5zIHNvbWV0aGluZyBkaWZmZXJlbnQgdGhhbiBmbGlnaHQgcmVzcG9uc2UgaGFuZGxlIGl0IGxpa2UgYSBtcGEgbmF2aWdhdGlvblxuICAgIC8vIElmIHRoZSBmZXRjaCB3YXMgbm90IDIwMCwgd2UgYWxzbyBoYW5kbGUgaXQgbGlrZSBhIG1wYSBuYXZpZ2F0aW9uXG4gICAgaWYgKCFpc0ZsaWdodFJlc3BvbnNlIHx8ICFyZXMub2sgfHwgIXJlcy5ib2R5KSB7XG4gICAgICAvLyBpbiBjYXNlIHRoZSBvcmlnaW5hbCBVUkwgY2FtZSB3aXRoIGEgaGFzaCwgcHJlc2VydmUgaXQgYmVmb3JlIHJlZGlyZWN0aW5nIHRvIHRoZSBuZXcgVVJMXG4gICAgICBpZiAodXJsLmhhc2gpIHtcbiAgICAgICAgcmVzcG9uc2VVcmwuaGFzaCA9IHVybC5oYXNoXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkb01wYU5hdmlnYXRpb24ocmVzcG9uc2VVcmwudG9TdHJpbmcoKSlcbiAgICB9XG5cbiAgICAvLyBXZSBtYXkgbmF2aWdhdGUgdG8gYSBwYWdlIHRoYXQgcmVxdWlyZXMgYSBkaWZmZXJlbnQgV2VicGFjayBydW50aW1lLlxuICAgIC8vIEluIHByb2QsIGV2ZXJ5IHBhZ2Ugd2lsbCBoYXZlIHRoZSBzYW1lIFdlYnBhY2sgcnVudGltZS5cbiAgICAvLyBJbiBkZXYsIHRoZSBXZWJwYWNrIHJ1bnRpbWUgaXMgbWluaW1hbCBmb3IgZWFjaCBwYWdlLlxuICAgIC8vIFdlIG5lZWQgdG8gZW5zdXJlIHRoZSBXZWJwYWNrIHJ1bnRpbWUgaXMgdXBkYXRlZCBiZWZvcmUgZXhlY3V0aW5nIGNsaWVudC1zaWRlIEpTIG9mIHRoZSBuZXcgcGFnZS5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhcHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICBhd2FpdCByZXF1aXJlKCcuLi9yZWFjdC1kZXYtb3ZlcmxheS9hcHAvaG90LXJlbG9hZGVyLWNsaWVudCcpLndhaXRGb3JXZWJwYWNrUnVudGltZUhvdFVwZGF0ZSgpXG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHRoZSBgZmV0Y2hgIHJlYWRhYmxlIHN0cmVhbSB0aGF0IGNhbiBiZSB1bndyYXBwZWQgYnkgYFJlYWN0LnVzZWAuXG4gICAgY29uc3QgZmxpZ2h0U3RyZWFtID0gcG9zdHBvbmVkXG4gICAgICA/IGNyZWF0ZVVuY2xvc2luZ1ByZWZldGNoU3RyZWFtKHJlcy5ib2R5KVxuICAgICAgOiByZXMuYm9keVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgKGNyZWF0ZUZyb21OZXh0UmVhZGFibGVTdHJlYW0oXG4gICAgICBmbGlnaHRTdHJlYW1cbiAgICApIGFzIFByb21pc2U8TmF2aWdhdGlvbkZsaWdodFJlc3BvbnNlPilcblxuICAgIGlmIChnZXRBcHBCdWlsZElkKCkgIT09IHJlc3BvbnNlLmIpIHtcbiAgICAgIHJldHVybiBkb01wYU5hdmlnYXRpb24ocmVzLnVybClcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmxpZ2h0RGF0YTogbm9ybWFsaXplRmxpZ2h0RGF0YShyZXNwb25zZS5mKSxcbiAgICAgIGNhbm9uaWNhbFVybDogY2Fub25pY2FsVXJsLFxuICAgICAgY291bGRCZUludGVyY2VwdGVkOiBpbnRlcmNlcHRpb24sXG4gICAgICBwcmVyZW5kZXJlZDogcmVzcG9uc2UuUyxcbiAgICAgIHBvc3Rwb25lZCxcbiAgICAgIHN0YWxlVGltZSxcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgRmFpbGVkIHRvIGZldGNoIFJTQyBwYXlsb2FkIGZvciAke3VybH0uIEZhbGxpbmcgYmFjayB0byBicm93c2VyIG5hdmlnYXRpb24uYCxcbiAgICAgIGVyclxuICAgIClcbiAgICAvLyBJZiBmZXRjaCBmYWlscyBoYW5kbGUgaXQgbGlrZSBhIG1wYSBuYXZpZ2F0aW9uXG4gICAgLy8gVE9ETy1BUFA6IEFkZCBhIHRlc3QgZm9yIHRoZSBjYXNlIHdoZXJlIGEgQ09SUyByZXF1ZXN0IGZhaWxzLCBlLmcuIGV4dGVybmFsIHVybCByZWRpcmVjdCBjb21pbmcgZnJvbSB0aGUgcmVzcG9uc2UuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS92ZXJjZWwvbmV4dC5qcy9pc3N1ZXMvNDM2MDUjaXNzdWVjb21tZW50LTE0NTE2MTc1MjEgZm9yIGEgcmVwcm9kdWN0aW9uLlxuICAgIHJldHVybiB7XG4gICAgICBmbGlnaHREYXRhOiB1cmwudG9TdHJpbmcoKSxcbiAgICAgIGNhbm9uaWNhbFVybDogdW5kZWZpbmVkLFxuICAgICAgY291bGRCZUludGVyY2VwdGVkOiBmYWxzZSxcbiAgICAgIHByZXJlbmRlcmVkOiBmYWxzZSxcbiAgICAgIHBvc3Rwb25lZDogZmFsc2UsXG4gICAgICBzdGFsZVRpbWU6IC0xLFxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRmV0Y2goXG4gIHVybDogVVJMLFxuICBoZWFkZXJzOiBSZXF1ZXN0SGVhZGVycyxcbiAgZmV0Y2hQcmlvcml0eTogJ2F1dG8nIHwgJ2hpZ2gnIHwgJ2xvdycgfCBudWxsXG4pIHtcbiAgY29uc3QgZmV0Y2hVcmwgPSBuZXcgVVJMKHVybClcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfQ09ORklHX09VVFBVVCA9PT0gJ2V4cG9ydCcpIHtcbiAgICAgIGlmIChmZXRjaFVybC5wYXRobmFtZS5lbmRzV2l0aCgnLycpKSB7XG4gICAgICAgIGZldGNoVXJsLnBhdGhuYW1lICs9ICdpbmRleC50eHQnXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmZXRjaFVybC5wYXRobmFtZSArPSAnLnR4dCdcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGlzIHVzZWQgdG8gY2FjaGUgYnVzdCBDRE5zIHRoYXQgZG9uJ3Qgc3VwcG9ydCBjdXN0b20gaGVhZGVycy4gVGhlXG4gIC8vIHJlc3VsdCBpcyBzdG9yZWQgaW4gYSBzZWFyY2ggcGFyYW0uXG4gIC8vIFRPRE86IEdpdmVuIHRoYXQgd2UgaGF2ZSB0byB1c2UgYSBzZWFyY2ggcGFyYW0gYW55d2F5LCB3ZSBtaWdodCBhcyB3ZWxsXG4gIC8vIF9vbmx5XyB1c2UgYSBzZWFyY2ggcGFyYW0gYW5kIG5vdCBib3RoZXIgd2l0aCB0aGUgY3VzdG9tIGhlYWRlcnMuXG4gIC8vIEFkZCB1bmlxdWUgY2FjaGUgcXVlcnkgdG8gYXZvaWQgY2FjaGluZyBjb25mbGljdHMgb24gQ0ROIHdoaWNoIGRvbid0IHJlc3BlY3QgdGhlIFZhcnkgaGVhZGVyXG4gIGNvbnN0IHVuaXF1ZUNhY2hlUXVlcnkgPSBoZXhIYXNoKFxuICAgIFtcbiAgICAgIGhlYWRlcnNbTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXSB8fCAnMCcsXG4gICAgICBoZWFkZXJzW05FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSXSB8fCAnMCcsXG4gICAgICBoZWFkZXJzW05FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSXSxcbiAgICAgIGhlYWRlcnNbTkVYVF9VUkxdLFxuICAgIF0uam9pbignLCcpXG4gIClcblxuICBmZXRjaFVybC5zZWFyY2hQYXJhbXMuc2V0KE5FWFRfUlNDX1VOSU9OX1FVRVJZLCB1bmlxdWVDYWNoZVF1ZXJ5KVxuXG4gIGlmIChwcm9jZXNzLmVudi5fX05FWFRfVEVTVF9NT0RFICYmIGZldGNoUHJpb3JpdHkgIT09IG51bGwpIHtcbiAgICBoZWFkZXJzWydOZXh0LVRlc3QtRmV0Y2gtUHJpb3JpdHknXSA9IGZldGNoUHJpb3JpdHlcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5ORVhUX0RFUExPWU1FTlRfSUQpIHtcbiAgICBoZWFkZXJzWyd4LWRlcGxveW1lbnQtaWQnXSA9IHByb2Nlc3MuZW52Lk5FWFRfREVQTE9ZTUVOVF9JRFxuICB9XG5cbiAgcmV0dXJuIGZldGNoKGZldGNoVXJsLCB7XG4gICAgLy8gQmFja3dhcmRzIGNvbXBhdCBmb3Igb2xkZXIgYnJvd3NlcnMuIGBzYW1lLW9yaWdpbmAgaXMgdGhlIGRlZmF1bHQgaW4gbW9kZXJuIGJyb3dzZXJzLlxuICAgIGNyZWRlbnRpYWxzOiAnc2FtZS1vcmlnaW4nLFxuICAgIGhlYWRlcnMsXG4gICAgcHJpb3JpdHk6IGZldGNoUHJpb3JpdHkgfHwgdW5kZWZpbmVkLFxuICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbShcbiAgZmxpZ2h0U3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PlxuKTogUHJvbWlzZTx1bmtub3duPiB7XG4gIHJldHVybiBjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0oZmxpZ2h0U3RyZWFtLCB7XG4gICAgY2FsbFNlcnZlcixcbiAgICBmaW5kU291cmNlTWFwVVJMLFxuICB9KVxufVxuXG5mdW5jdGlvbiBjcmVhdGVVbmNsb3NpbmdQcmVmZXRjaFN0cmVhbShcbiAgb3JpZ2luYWxGbGlnaHRTdHJlYW06IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+XG4pOiBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PiB7XG4gIC8vIFdoZW4gUFBSIGlzIGVuYWJsZWQsIHByZWZldGNoIHN0cmVhbXMgbWF5IGNvbnRhaW4gcmVmZXJlbmNlcyB0aGF0IG5ldmVyXG4gIC8vIHJlc29sdmUsIGJlY2F1c2UgdGhhdCdzIGhvdyB3ZSBlbmNvZGUgZHluYW1pYyBkYXRhIGFjY2Vzcy4gSW4gdGhlIGRlY29kZWRcbiAgLy8gb2JqZWN0IHJldHVybmVkIGJ5IHRoZSBGbGlnaHQgY2xpZW50LCB0aGVzZSBhcmUgcmVpZmllZCBpbnRvIGhhbmdpbmdcbiAgLy8gcHJvbWlzZXMgdGhhdCBzdXNwZW5kIGR1cmluZyByZW5kZXIsIHdoaWNoIGlzIGVmZmVjdGl2ZWx5IHdoYXQgd2Ugd2FudC5cbiAgLy8gVGhlIFVJIHJlc29sdmVzIHdoZW4gaXQgc3dpdGNoZXMgdG8gdGhlIGR5bmFtaWMgZGF0YSBzdHJlYW1cbiAgLy8gKHZpYSB1c2VEZWZlcnJlZFZhbHVlKGR5bmFtaWMsIHN0YXRpYykpLlxuICAvL1xuICAvLyBIb3dldmVyLCB0aGUgRmxpZ2h0IGltcGxlbWVudGF0aW9uIGN1cnJlbnRseSBlcnJvcnMgaWYgdGhlIHNlcnZlciBjbG9zZXNcbiAgLy8gdGhlIHJlc3BvbnNlIGJlZm9yZSBhbGwgdGhlIHJlZmVyZW5jZXMgYXJlIHJlc29sdmVkLiBBcyBhIGNoZWF0IHRvIHdvcmtcbiAgLy8gYXJvdW5kIHRoaXMsIHdlIHdyYXAgdGhlIG9yaWdpbmFsIHN0cmVhbSBpbiBhIG5ldyBzdHJlYW0gdGhhdCBuZXZlciBjbG9zZXMsXG4gIC8vIGFuZCB0aGVyZWZvcmUgZG9lc24ndCBlcnJvci5cbiAgY29uc3QgcmVhZGVyID0gb3JpZ2luYWxGbGlnaHRTdHJlYW0uZ2V0UmVhZGVyKClcbiAgcmV0dXJuIG5ldyBSZWFkYWJsZVN0cmVhbSh7XG4gICAgYXN5bmMgcHVsbChjb250cm9sbGVyKSB7XG4gICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICBjb25zdCB7IGRvbmUsIHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpXG4gICAgICAgIGlmICghZG9uZSkge1xuICAgICAgICAgIC8vIFBhc3MgdG8gdGhlIHRhcmdldCBzdHJlYW0gYW5kIGtlZXAgY29uc3VtaW5nIHRoZSBGbGlnaHQgcmVzcG9uc2VcbiAgICAgICAgICAvLyBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKHZhbHVlKVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIHNlcnZlciBzdHJlYW0gaGFzIGNsb3NlZC4gRXhpdCwgYnV0IGludGVudGlvbmFsbHkgZG8gbm90IGNsb3NlXG4gICAgICAgIC8vIHRoZSB0YXJnZXQgc3RyZWFtLlxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9LFxuICB9KVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUZldGNoIiwiY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJ1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXIiLCJjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0iLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9SVU5USU1FIiwicmVxdWlyZSIsInVybCIsInVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzIiwiVVJMIiwibG9jYXRpb24iLCJvcmlnaW4iLCJzZWFyY2hQYXJhbXMiLCJkZWxldGUiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsIk5PREVfRU5WIiwiX19ORVhUX0NPTkZJR19PVVRQVVQiLCJwYXRobmFtZSIsImVuZHNXaXRoIiwibGVuZ3RoIiwic2xpY2UiLCJkb01wYU5hdmlnYXRpb24iLCJmbGlnaHREYXRhIiwidG9TdHJpbmciLCJjYW5vbmljYWxVcmwiLCJ1bmRlZmluZWQiLCJjb3VsZEJlSW50ZXJjZXB0ZWQiLCJwcmVyZW5kZXJlZCIsInBvc3Rwb25lZCIsInN0YWxlVGltZSIsIm9wdGlvbnMiLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsIm5leHRVcmwiLCJwcmVmZXRjaEtpbmQiLCJoZWFkZXJzIiwiUlNDX0hFQURFUiIsIk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsIlByZWZldGNoS2luZCIsIkFVVE8iLCJORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIiLCJpc0htclJlZnJlc2giLCJORVhUX0hNUl9SRUZSRVNIX0hFQURFUiIsIk5FWFRfVVJMIiwicmVzIiwiZmV0Y2hQcmlvcml0eSIsIlRFTVBPUkFSWSIsInJlc3BvbnNlVXJsIiwicmVkaXJlY3RlZCIsImNvbnRlbnRUeXBlIiwiZ2V0IiwiaW50ZXJjZXB0aW9uIiwiaW5jbHVkZXMiLCJORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIiLCJzdGFsZVRpbWVIZWFkZXIiLCJORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUiIsInBhcnNlSW50IiwiaXNGbGlnaHRSZXNwb25zZSIsInN0YXJ0c1dpdGgiLCJSU0NfQ09OVEVOVF9UWVBFX0hFQURFUiIsIm9rIiwiYm9keSIsImhhc2giLCJUVVJCT1BBQ0siLCJ3YWl0Rm9yV2VicGFja1J1bnRpbWVIb3RVcGRhdGUiLCJmbGlnaHRTdHJlYW0iLCJjcmVhdGVVbmNsb3NpbmdQcmVmZXRjaFN0cmVhbSIsInJlc3BvbnNlIiwiZ2V0QXBwQnVpbGRJZCIsImIiLCJub3JtYWxpemVGbGlnaHREYXRhIiwiZiIsIlMiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJmZXRjaFVybCIsInVuaXF1ZUNhY2hlUXVlcnkiLCJoZXhIYXNoIiwiTkVYVF9ST1VURVJfU0VHTUVOVF9QUkVGRVRDSF9IRUFERVIiLCJqb2luIiwic2V0IiwiX19ORVhUX1RFU1RfTU9ERSIsIk5FWFRfREVQTE9ZTUVOVF9JRCIsImZldGNoIiwiY3JlZGVudGlhbHMiLCJwcmlvcml0eSIsImNhbGxTZXJ2ZXIiLCJmaW5kU291cmNlTWFwVVJMIiwib3JpZ2luYWxGbGlnaHRTdHJlYW0iLCJyZWFkZXIiLCJnZXRSZWFkZXIiLCJSZWFkYWJsZVN0cmVhbSIsInB1bGwiLCJjb250cm9sbGVyIiwiZG9uZSIsInZhbHVlIiwicmVhZCIsImVucXVldWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\n"); +eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createFetch: function() {\n return createFetch;\n },\n createFromNextReadableStream: function() {\n return createFromNextReadableStream;\n },\n fetchServerResponse: function() {\n return fetchServerResponse;\n },\n urlToUrlWithoutFlightMarker: function() {\n return urlToUrlWithoutFlightMarker;\n }\n});\nconst _approuterheaders = __webpack_require__(/*! ../app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _appcallserver = __webpack_require__(/*! ../../app-call-server */ \"(ssr)/./node_modules/next/dist/client/app-call-server.js\");\nconst _appfindsourcemapurl = __webpack_require__(/*! ../../app-find-source-map-url */ \"(ssr)/./node_modules/next/dist/client/app-find-source-map-url.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _hash = __webpack_require__(/*! ../../../shared/lib/hash */ \"(ssr)/./node_modules/next/dist/shared/lib/hash.js\");\nconst _flightdatahelpers = __webpack_require__(/*! ../../flight-data-helpers */ \"(ssr)/./node_modules/next/dist/client/flight-data-helpers.js\");\nconst _appbuildid = __webpack_require__(/*! ../../app-build-id */ \"(ssr)/./node_modules/next/dist/client/app-build-id.js\");\n// @ts-ignore\n// eslint-disable-next-line import/no-extraneous-dependencies\n// import { createFromReadableStream } from 'react-server-dom-webpack/client'\nconst { createFromReadableStream } = true ? __webpack_require__(/*! react-server-dom-webpack/client.edge */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\") : 0;\nfunction urlToUrlWithoutFlightMarker(url) {\n const urlWithoutFlightParameters = new URL(url, location.origin);\n urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n if (false) {}\n return urlWithoutFlightParameters;\n}\nfunction doMpaNavigation(url) {\n return {\n flightData: urlToUrlWithoutFlightMarker(url).toString(),\n canonicalUrl: undefined,\n couldBeIntercepted: false,\n prerendered: false,\n postponed: false,\n staleTime: -1\n };\n}\nasync function fetchServerResponse(url, options) {\n const { flightRouterState, nextUrl, prefetchKind } = options;\n const headers = {\n // Enable flight response\n [_approuterheaders.RSC_HEADER]: '1',\n // Provide the current router state\n [_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER]: encodeURIComponent(JSON.stringify(flightRouterState))\n };\n /**\n * Three cases:\n * - `prefetchKind` is `undefined`, it means it's a normal navigation, so we want to prefetch the page data fully\n * - `prefetchKind` is `full` - we want to prefetch the whole page so same as above\n * - `prefetchKind` is `auto` - if the page is dynamic, prefetch the page data partially, if static prefetch the page data fully\n */ if (prefetchKind === _routerreducertypes.PrefetchKind.AUTO) {\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] = '1';\n }\n if ( true && options.isHmrRefresh) {\n headers[_approuterheaders.NEXT_HMR_REFRESH_HEADER] = '1';\n }\n if (nextUrl) {\n headers[_approuterheaders.NEXT_URL] = nextUrl;\n }\n try {\n var _res_headers_get;\n // When creating a \"temporary\" prefetch (the \"on-demand\" prefetch that gets created on navigation, if one doesn't exist)\n // we send the request with a \"high\" priority as it's in response to a user interaction that could be blocking a transition.\n // Otherwise, all other prefetches are sent with a \"low\" priority.\n // We use \"auto\" for in all other cases to match the existing default, as this function is shared outside of prefetching.\n const fetchPriority = prefetchKind ? prefetchKind === _routerreducertypes.PrefetchKind.TEMPORARY ? 'high' : 'low' : 'auto';\n const res = await createFetch(url, headers, fetchPriority);\n const responseUrl = urlToUrlWithoutFlightMarker(res.url);\n const canonicalUrl = res.redirected ? responseUrl : undefined;\n const contentType = res.headers.get('content-type') || '';\n const interception = !!((_res_headers_get = res.headers.get('vary')) == null ? void 0 : _res_headers_get.includes(_approuterheaders.NEXT_URL));\n const postponed = !!res.headers.get(_approuterheaders.NEXT_DID_POSTPONE_HEADER);\n const staleTimeHeader = res.headers.get(_approuterheaders.NEXT_ROUTER_STALE_TIME_HEADER);\n const staleTime = staleTimeHeader !== null ? parseInt(staleTimeHeader, 10) : -1;\n let isFlightResponse = contentType.startsWith(_approuterheaders.RSC_CONTENT_TYPE_HEADER);\n if (false) {}\n // If fetch returns something different than flight response handle it like a mpa navigation\n // If the fetch was not 200, we also handle it like a mpa navigation\n if (!isFlightResponse || !res.ok || !res.body) {\n // in case the original URL came with a hash, preserve it before redirecting to the new URL\n if (url.hash) {\n responseUrl.hash = url.hash;\n }\n return doMpaNavigation(responseUrl.toString());\n }\n // We may navigate to a page that requires a different Webpack runtime.\n // In prod, every page will have the same Webpack runtime.\n // In dev, the Webpack runtime is minimal for each page.\n // We need to ensure the Webpack runtime is updated before executing client-side JS of the new page.\n if (true) {\n await (__webpack_require__(/*! ../react-dev-overlay/app/hot-reloader-client */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js\").waitForWebpackRuntimeHotUpdate)();\n }\n // Handle the `fetch` readable stream that can be unwrapped by `React.use`.\n const flightStream = postponed ? createUnclosingPrefetchStream(res.body) : res.body;\n const response = await createFromNextReadableStream(flightStream);\n if ((0, _appbuildid.getAppBuildId)() !== response.b) {\n return doMpaNavigation(res.url);\n }\n return {\n flightData: (0, _flightdatahelpers.normalizeFlightData)(response.f),\n canonicalUrl: canonicalUrl,\n couldBeIntercepted: interception,\n prerendered: response.S,\n postponed,\n staleTime\n };\n } catch (err) {\n console.error(\"Failed to fetch RSC payload for \" + url + \". Falling back to browser navigation.\", err);\n // If fetch fails handle it like a mpa navigation\n // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response.\n // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction.\n return {\n flightData: url.toString(),\n canonicalUrl: undefined,\n couldBeIntercepted: false,\n prerendered: false,\n postponed: false,\n staleTime: -1\n };\n }\n}\nfunction createFetch(url, headers, fetchPriority) {\n const fetchUrl = new URL(url);\n if (false) {}\n // This is used to cache bust CDNs that don't support custom headers. The\n // result is stored in a search param.\n // TODO: Given that we have to use a search param anyway, we might as well\n // _only_ use a search param and not bother with the custom headers.\n // Add unique cache query to avoid caching conflicts on CDN which don't respect the Vary header\n const uniqueCacheQuery = (0, _hash.hexHash)([\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] || '0',\n headers[_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER] || '0',\n headers[_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER],\n headers[_approuterheaders.NEXT_URL]\n ].join(','));\n fetchUrl.searchParams.set(_approuterheaders.NEXT_RSC_UNION_QUERY, uniqueCacheQuery);\n if (false) {}\n if (false) {}\n return fetch(fetchUrl, {\n // Backwards compat for older browsers. `same-origin` is the default in modern browsers.\n credentials: 'same-origin',\n headers,\n priority: fetchPriority || undefined\n });\n}\nfunction createFromNextReadableStream(flightStream) {\n return createFromReadableStream(flightStream, {\n callServer: _appcallserver.callServer,\n findSourceMapURL: _appfindsourcemapurl.findSourceMapURL\n });\n}\nfunction createUnclosingPrefetchStream(originalFlightStream) {\n // When PPR is enabled, prefetch streams may contain references that never\n // resolve, because that's how we encode dynamic data access. In the decoded\n // object returned by the Flight client, these are reified into hanging\n // promises that suspend during render, which is effectively what we want.\n // The UI resolves when it switches to the dynamic data stream\n // (via useDeferredValue(dynamic, static)).\n //\n // However, the Flight implementation currently errors if the server closes\n // the response before all the references are resolved. As a cheat to work\n // around this, we wrap the original stream in a new stream that never closes,\n // and therefore doesn't error.\n const reader = originalFlightStream.getReader();\n return new ReadableStream({\n async pull (controller) {\n while(true){\n const { done, value } = await reader.read();\n if (!done) {\n // Pass to the target stream and keep consuming the Flight response\n // from the server.\n controller.enqueue(value);\n continue;\n }\n // The server stream has closed. Exit, but intentionally do not close\n // the target stream.\n return;\n }\n }\n });\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fetch-server-response.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZldGNoLXNlcnZlci1yZXNwb25zZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUE4TmdCQSxXQUFXO2VBQVhBOztJQWlEQUMsNEJBQTRCO2VBQTVCQTs7SUE1S01DLG1CQUFtQjtlQUFuQkE7O0lBaENOQywyQkFBMkI7ZUFBM0JBOzs7OENBdkNUOzJDQUNvQjtpREFDTTtnREFDSjtrQ0FDTDsrQ0FJakI7d0NBQ3VCO0FBbkM5QixhQUFhO0FBQ2IsNkRBQTZEO0FBQzdELDZFQUE2RTtBQUM3RSxNQUFNLEVBQUVDLHdCQUF3QixFQUFFLEdBQ2hDLEtBQTBCLEdBRXRCSSxtQkFBT0EsQ0FBQywrSkFBc0MsSUFFOUNBLENBQTBDO0FBeUR6QyxTQUFTTCw0QkFBNEJNLEdBQVc7SUFDckQsTUFBTUMsNkJBQTZCLElBQUlDLElBQUlGLEtBQUtHLFNBQVNDLE1BQU07SUFDL0RILDJCQUEyQkksWUFBWSxDQUFDQyxNQUFNLENBQUNDLGtCQUFBQSxvQkFBb0I7SUFDbkUsSUFBSVgsS0FBb0IsRUFBbUIsRUFVMUM7SUFDRCxPQUFPSztBQUNUO0FBRUEsU0FBU2EsZ0JBQWdCZCxHQUFXO0lBQ2xDLE9BQU87UUFDTGUsWUFBWXJCLDRCQUE0Qk0sS0FBS2dCLFFBQVE7UUFDckRDLGNBQWNDO1FBQ2RDLG9CQUFvQjtRQUNwQkMsYUFBYTtRQUNiQyxXQUFXO1FBQ1hDLFdBQVcsQ0FBQztJQUNkO0FBQ0Y7QUFNTyxlQUFlN0Isb0JBQ3BCTyxHQUFRLEVBQ1J1QixPQUFtQztJQUVuQyxNQUFNLEVBQUVDLGlCQUFpQixFQUFFQyxPQUFPLEVBQUVDLFlBQVksRUFBRSxHQUFHSDtJQUVyRCxNQUFNSSxVQUEwQjtRQUM5Qix5QkFBeUI7UUFDekIsQ0FBQ0Msa0JBQUFBLFVBQVUsQ0FBQyxFQUFFO1FBQ2QsbUNBQW1DO1FBQ25DLENBQUNDLGtCQUFBQSw2QkFBNkIsQ0FB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RTtJQUMxRSw4REFBOEQ7SUFDOUQsMkNBQTJDO0lBQzNDLEVBQUU7SUFDRiwyRUFBMkU7SUFDM0UsMEVBQTBFO0lBQzFFLDhFQUE4RTtJQUM5RSwrQkFBK0I7SUFDL0IsTUFBTUMsU0FBU0QscUJBQXFCRSxTQUFTO0lBQzdDLE9BQU8sSUFBSUMsZUFBZTtRQUN4QixNQUFNQyxNQUFLQyxVQUFVO1lBQ25CLE1BQU8sS0FBTTtnQkFDWCxNQUFNLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFLEdBQUcsTUFBTU4sT0FBT08sSUFBSTtnQkFDekMsSUFBSSxDQUFDRixNQUFNO29CQUNULG1FQUFtRTtvQkFDbkUsbUJBQW1CO29CQUNuQkQsV0FBV0ksT0FBTyxDQUFDRjtvQkFDbkI7Z0JBQ0Y7Z0JBQ0EscUVBQXFFO2dCQUNyRSxxQkFBcUI7Z0JBQ3JCO1lBQ0Y7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXGNsaWVudFxcY29tcG9uZW50c1xccm91dGVyLXJlZHVjZXJcXGZldGNoLXNlcnZlci1yZXNwb25zZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuLy8gQHRzLWlnbm9yZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuLy8gaW1wb3J0IHsgY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtIH0gZnJvbSAncmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudCdcbmNvbnN0IHsgY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtIH0gPSAoXG4gICEhcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FXG4gICAgPyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG4gICAgICByZXF1aXJlKCdyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50LmVkZ2UnKVxuICAgIDogLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuICAgICAgcmVxdWlyZSgncmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudCcpXG4pIGFzIHR5cGVvZiBpbXBvcnQoJ3JlYWN0LXNlcnZlci1kb20td2VicGFjay9jbGllbnQnKVxuXG5pbXBvcnQgdHlwZSB7XG4gIEZsaWdodFJvdXRlclN0YXRlLFxuICBOYXZpZ2F0aW9uRmxpZ2h0UmVzcG9uc2UsXG59IGZyb20gJy4uLy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuaW1wb3J0IHtcbiAgTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSLFxuICBORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUixcbiAgTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVIsXG4gIE5FWFRfUlNDX1VOSU9OX1FVRVJZLFxuICBORVhUX1VSTCxcbiAgUlNDX0hFQURFUixcbiAgUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIsXG4gIE5FWFRfSE1SX1JFRlJFU0hfSEVBREVSLFxuICBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIsXG4gIE5FWFRfUk9VVEVSX1NUQUxFX1RJTUVfSEVBREVSLFxufSBmcm9tICcuLi9hcHAtcm91dGVyLWhlYWRlcnMnXG5pbXBvcnQgeyBjYWxsU2VydmVyIH0gZnJvbSAnLi4vLi4vYXBwLWNhbGwtc2VydmVyJ1xuaW1wb3J0IHsgZmluZFNvdXJjZU1hcFVSTCB9IGZyb20gJy4uLy4uL2FwcC1maW5kLXNvdXJjZS1tYXAtdXJsJ1xuaW1wb3J0IHsgUHJlZmV0Y2hLaW5kIH0gZnJvbSAnLi9yb3V0ZXItcmVkdWNlci10eXBlcydcbmltcG9ydCB7IGhleEhhc2ggfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL2hhc2gnXG5pbXBvcnQge1xuICBub3JtYWxpemVGbGlnaHREYXRhLFxuICB0eXBlIE5vcm1hbGl6ZWRGbGlnaHREYXRhLFxufSBmcm9tICcuLi8uLi9mbGlnaHQtZGF0YS1oZWxwZXJzJ1xuaW1wb3J0IHsgZ2V0QXBwQnVpbGRJZCB9IGZyb20gJy4uLy4uL2FwcC1idWlsZC1pZCdcblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaFNlcnZlclJlc3BvbnNlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGZsaWdodFJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuICByZWFkb25seSBuZXh0VXJsOiBzdHJpbmcgfCBudWxsXG4gIHJlYWRvbmx5IHByZWZldGNoS2luZD86IFByZWZldGNoS2luZFxuICByZWFkb25seSBpc0htclJlZnJlc2g/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIEZldGNoU2VydmVyUmVzcG9uc2VSZXN1bHQgPSB7XG4gIGZsaWdodERhdGE6IE5vcm1hbGl6ZWRGbGlnaHREYXRhW10gfCBzdHJpbmdcbiAgY2Fub25pY2FsVXJsOiBVUkwgfCB1bmRlZmluZWRcbiAgY291bGRCZUludGVyY2VwdGVkOiBib29sZWFuXG4gIHByZXJlbmRlcmVkOiBib29sZWFuXG4gIHBvc3Rwb25lZDogYm9vbGVhblxuICBzdGFsZVRpbWU6IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBSZXF1ZXN0SGVhZGVycyA9IHtcbiAgW1JTQ19IRUFERVJdPzogJzEnXG4gIFtORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl0/OiBzdHJpbmdcbiAgW05FWFRfVVJMXT86IHN0cmluZ1xuICBbTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXT86ICcxJ1xuICBbTkVYVF9ST1VURVJfU0VHTUVOVF9QUkVGRVRDSF9IRUFERVJdPzogc3RyaW5nXG4gICd4LWRlcGxveW1lbnQtaWQnPzogc3RyaW5nXG4gIFtORVhUX0hNUl9SRUZSRVNIX0hFQURFUl0/OiAnMSdcbiAgLy8gQSBoZWFkZXIgdGhhdCBpcyBvbmx5IGFkZGVkIGluIHRlc3QgbW9kZSB0byBhc3NlcnQgb24gZmV0Y2ggcHJpb3JpdHlcbiAgJ05leHQtVGVzdC1GZXRjaC1Qcmlvcml0eSc/OiBSZXF1ZXN0SW5pdFsncHJpb3JpdHknXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKHVybDogc3RyaW5nKTogVVJMIHtcbiAgY29uc3QgdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMgPSBuZXcgVVJMKHVybCwgbG9jYXRpb24ub3JpZ2luKVxuICB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycy5zZWFyY2hQYXJhbXMuZGVsZXRlKE5FWFRfUlNDX1VOSU9OX1FVRVJZKVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlmIChcbiAgICAgIHByb2Nlc3MuZW52Ll9fTkVYVF9DT05GSUdfT1VUUFVUID09PSAnZXhwb3J0JyAmJlxuICAgICAgdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMucGF0aG5hbWUuZW5kc1dpdGgoJy50eHQnKVxuICAgICkge1xuICAgICAgY29uc3QgeyBwYXRobmFtZSB9ID0gdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnNcbiAgICAgIGNvbnN0IGxlbmd0aCA9IHBhdGhuYW1lLmVuZHNXaXRoKCcvaW5kZXgudHh0JykgPyAxMCA6IDRcbiAgICAgIC8vIFNsaWNlIG9mZiBgL2luZGV4LnR4dGAgb3IgYC50eHRgIGZyb20gdGhlIGVuZCBvZiB0aGUgcGF0aG5hbWVcbiAgICAgIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzLnBhdGhuYW1lID0gcGF0aG5hbWUuc2xpY2UoMCwgLWxlbmd0aClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzXG59XG5cbmZ1bmN0aW9uIGRvTXBhTmF2aWdhdGlvbih1cmw6IHN0cmluZyk6IEZldGNoU2VydmVyUmVzcG9uc2VSZXN1bHQge1xuICByZXR1cm4ge1xuICAgIGZsaWdodERhdGE6IHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcih1cmwpLnRvU3RyaW5nKCksXG4gICAgY2Fub25pY2FsVXJsOiB1bmRlZmluZWQsXG4gICAgY291bGRCZUludGVyY2VwdGVkOiBmYWxzZSxcbiAgICBwcmVyZW5kZXJlZDogZmFsc2UsXG4gICAgcG9zdHBvbmVkOiBmYWxzZSxcbiAgICBzdGFsZVRpbWU6IC0xLFxuICB9XG59XG5cbi8qKlxuICogRmV0Y2ggdGhlIGZsaWdodCBkYXRhIGZvciB0aGUgcHJvdmlkZWQgdXJsLiBUYWtlcyBpbiB0aGUgY3VycmVudCByb3V0ZXIgc3RhdGVcbiAqIHRvIGRlY2lkZSB3aGF0IHRvIHJlbmRlciBzZXJ2ZXItc2lkZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoU2VydmVyUmVzcG9uc2UoXG4gIHVybDogVVJMLFxuICBvcHRpb25zOiBGZXRjaFNlcnZlclJlc3BvbnNlT3B0aW9uc1xuKTogUHJvbWlzZTxGZXRjaFNlcnZlclJlc3BvbnNlUmVzdWx0PiB7XG4gIGNvbnN0IHsgZmxpZ2h0Um91dGVyU3RhdGUsIG5leHRVcmwsIHByZWZldGNoS2luZCB9ID0gb3B0aW9uc1xuXG4gIGNvbnN0IGhlYWRlcnM6IFJlcXVlc3RIZWFkZXJzID0ge1xuICAgIC8vIEVuYWJsZSBmbGlnaHQgcmVzcG9uc2VcbiAgICBbUlNDX0hFQURFUl06ICcxJyxcbiAgICAvLyBQcm92aWRlIHRoZSBjdXJyZW50IHJvdXRlciBzdGF0ZVxuICAgIFtORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06IGVuY29kZVVSSUNvbXBvbmVudChcbiAgICAgIEpTT04uc3RyaW5naWZ5KGZsaWdodFJvdXRlclN0YXRlKVxuICAgICksXG4gIH1cblxuICAvKipcbiAgICogVGhyZWUgY2FzZXM6XG4gICAqIC0gYHByZWZldGNoS2luZGAgaXMgYHVuZGVmaW5lZGAsIGl0IG1lYW5zIGl0J3MgYSBub3JtYWwgbmF2aWdhdGlvbiwgc28gd2Ugd2FudCB0byBwcmVmZXRjaCB0aGUgcGFnZSBkYXRhIGZ1bGx5XG4gICAqIC0gYHByZWZldGNoS2luZGAgaXMgYGZ1bGxgIC0gd2Ugd2FudCB0byBwcmVmZXRjaCB0aGUgd2hvbGUgcGFnZSBzbyBzYW1lIGFzIGFib3ZlXG4gICAqIC0gYHByZWZldGNoS2luZGAgaXMgYGF1dG9gIC0gaWYgdGhlIHBhZ2UgaXMgZHluYW1pYywgcHJlZmV0Y2ggdGhlIHBhZ2UgZGF0YSBwYXJ0aWFsbHksIGlmIHN0YXRpYyBwcmVmZXRjaCB0aGUgcGFnZSBkYXRhIGZ1bGx5XG4gICAqL1xuICBpZiAocHJlZmV0Y2hLaW5kID09PSBQcmVmZXRjaEtpbmQuQVVUTykge1xuICAgIGhlYWRlcnNbTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXSA9ICcxJ1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnICYmIG9wdGlvbnMuaXNIbXJSZWZyZXNoKSB7XG4gICAgaGVhZGVyc1tORVhUX0hNUl9SRUZSRVNIX0hFQURFUl0gPSAnMSdcbiAgfVxuXG4gIGlmIChuZXh0VXJsKSB7XG4gICAgaGVhZGVyc1tORVhUX1VSTF0gPSBuZXh0VXJsXG4gIH1cblxuICB0cnkge1xuICAgIC8vIFdoZW4gY3JlYXRpbmcgYSBcInRlbXBvcmFyeVwiIHByZWZldGNoICh0aGUgXCJvbi1kZW1hbmRcIiBwcmVmZXRjaCB0aGF0IGdldHMgY3JlYXRlZCBvbiBuYXZpZ2F0aW9uLCBpZiBvbmUgZG9lc24ndCBleGlzdClcbiAgICAvLyB3ZSBzZW5kIHRoZSByZXF1ZXN0IHdpdGggYSBcImhpZ2hcIiBwcmlvcml0eSBhcyBpdCdzIGluIHJlc3BvbnNlIHRvIGEgdXNlciBpbnRlcmFjdGlvbiB0aGF0IGNvdWxkIGJlIGJsb2NraW5nIGEgdHJhbnNpdGlvbi5cbiAgICAvLyBPdGhlcndpc2UsIGFsbCBvdGhlciBwcmVmZXRjaGVzIGFyZSBzZW50IHdpdGggYSBcImxvd1wiIHByaW9yaXR5LlxuICAgIC8vIFdlIHVzZSBcImF1dG9cIiBmb3IgaW4gYWxsIG90aGVyIGNhc2VzIHRvIG1hdGNoIHRoZSBleGlzdGluZyBkZWZhdWx0LCBhcyB0aGlzIGZ1bmN0aW9uIGlzIHNoYXJlZCBvdXRzaWRlIG9mIHByZWZldGNoaW5nLlxuICAgIGNvbnN0IGZldGNoUHJpb3JpdHkgPSBwcmVmZXRjaEtpbmRcbiAgICAgID8gcHJlZmV0Y2hLaW5kID09PSBQcmVmZXRjaEtpbmQuVEVNUE9SQVJZXG4gICAgICAgID8gJ2hpZ2gnXG4gICAgICAgIDogJ2xvdydcbiAgICAgIDogJ2F1dG8nXG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBjcmVhdGVGZXRjaCh1cmwsIGhlYWRlcnMsIGZldGNoUHJpb3JpdHkpXG5cbiAgICBjb25zdCByZXNwb25zZVVybCA9IHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcihyZXMudXJsKVxuICAgIGNvbnN0IGNhbm9uaWNhbFVybCA9IHJlcy5yZWRpcmVjdGVkID8gcmVzcG9uc2VVcmwgOiB1bmRlZmluZWRcblxuICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gcmVzLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKSB8fCAnJ1xuICAgIGNvbnN0IGludGVyY2VwdGlvbiA9ICEhcmVzLmhlYWRlcnMuZ2V0KCd2YXJ5Jyk/LmluY2x1ZGVzKE5FWFRfVVJMKVxuICAgIGNvbnN0IHBvc3Rwb25lZCA9ICEhcmVzLmhlYWRlcnMuZ2V0KE5FWFRfRElEX1BPU1RQT05FX0hFQURFUilcbiAgICBjb25zdCBzdGFsZVRpbWVIZWFkZXIgPSByZXMuaGVhZGVycy5nZXQoTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVIpXG4gICAgY29uc3Qgc3RhbGVUaW1lID1cbiAgICAgIHN0YWxlVGltZUhlYWRlciAhPT0gbnVsbCA/IHBhcnNlSW50KHN0YWxlVGltZUhlYWRlciwgMTApIDogLTFcbiAgICBsZXQgaXNGbGlnaHRSZXNwb25zZSA9IGNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIpXG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9DT05GSUdfT1VUUFVUID09PSAnZXhwb3J0Jykge1xuICAgICAgICBpZiAoIWlzRmxpZ2h0UmVzcG9uc2UpIHtcbiAgICAgICAgICBpc0ZsaWdodFJlc3BvbnNlID0gY29udGVudFR5cGUuc3RhcnRzV2l0aCgndGV4dC9wbGFpbicpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBmZXRjaCByZXR1cm5zIHNvbWV0aGluZyBkaWZmZXJlbnQgdGhhbiBmbGlnaHQgcmVzcG9uc2UgaGFuZGxlIGl0IGxpa2UgYSBtcGEgbmF2aWdhdGlvblxuICAgIC8vIElmIHRoZSBmZXRjaCB3YXMgbm90IDIwMCwgd2UgYWxzbyBoYW5kbGUgaXQgbGlrZSBhIG1wYSBuYXZpZ2F0aW9uXG4gICAgaWYgKCFpc0ZsaWdodFJlc3BvbnNlIHx8ICFyZXMub2sgfHwgIXJlcy5ib2R5KSB7XG4gICAgICAvLyBpbiBjYXNlIHRoZSBvcmlnaW5hbCBVUkwgY2FtZSB3aXRoIGEgaGFzaCwgcHJlc2VydmUgaXQgYmVmb3JlIHJlZGlyZWN0aW5nIHRvIHRoZSBuZXcgVVJMXG4gICAgICBpZiAodXJsLmhhc2gpIHtcbiAgICAgICAgcmVzcG9uc2VVcmwuaGFzaCA9IHVybC5oYXNoXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkb01wYU5hdmlnYXRpb24ocmVzcG9uc2VVcmwudG9TdHJpbmcoKSlcbiAgICB9XG5cbiAgICAvLyBXZSBtYXkgbmF2aWdhdGUgdG8gYSBwYWdlIHRoYXQgcmVxdWlyZXMgYSBkaWZmZXJlbnQgV2VicGFjayBydW50aW1lLlxuICAgIC8vIEluIHByb2QsIGV2ZXJ5IHBhZ2Ugd2lsbCBoYXZlIHRoZSBzYW1lIFdlYnBhY2sgcnVudGltZS5cbiAgICAvLyBJbiBkZXYsIHRoZSBXZWJwYWNrIHJ1bnRpbWUgaXMgbWluaW1hbCBmb3IgZWFjaCBwYWdlLlxuICAgIC8vIFdlIG5lZWQgdG8gZW5zdXJlIHRoZSBXZWJwYWNrIHJ1bnRpbWUgaXMgdXBkYXRlZCBiZWZvcmUgZXhlY3V0aW5nIGNsaWVudC1zaWRlIEpTIG9mIHRoZSBuZXcgcGFnZS5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhcHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICBhd2FpdCByZXF1aXJlKCcuLi9yZWFjdC1kZXYtb3ZlcmxheS9hcHAvaG90LXJlbG9hZGVyLWNsaWVudCcpLndhaXRGb3JXZWJwYWNrUnVudGltZUhvdFVwZGF0ZSgpXG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHRoZSBgZmV0Y2hgIHJlYWRhYmxlIHN0cmVhbSB0aGF0IGNhbiBiZSB1bndyYXBwZWQgYnkgYFJlYWN0LnVzZWAuXG4gICAgY29uc3QgZmxpZ2h0U3RyZWFtID0gcG9zdHBvbmVkXG4gICAgICA/IGNyZWF0ZVVuY2xvc2luZ1ByZWZldGNoU3RyZWFtKHJlcy5ib2R5KVxuICAgICAgOiByZXMuYm9keVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgKGNyZWF0ZUZyb21OZXh0UmVhZGFibGVTdHJlYW0oXG4gICAgICBmbGlnaHRTdHJlYW1cbiAgICApIGFzIFByb21pc2U8TmF2aWdhdGlvbkZsaWdodFJlc3BvbnNlPilcblxuICAgIGlmIChnZXRBcHBCdWlsZElkKCkgIT09IHJlc3BvbnNlLmIpIHtcbiAgICAgIHJldHVybiBkb01wYU5hdmlnYXRpb24ocmVzLnVybClcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmxpZ2h0RGF0YTogbm9ybWFsaXplRmxpZ2h0RGF0YShyZXNwb25zZS5mKSxcbiAgICAgIGNhbm9uaWNhbFVybDogY2Fub25pY2FsVXJsLFxuICAgICAgY291bGRCZUludGVyY2VwdGVkOiBpbnRlcmNlcHRpb24sXG4gICAgICBwcmVyZW5kZXJlZDogcmVzcG9uc2UuUyxcbiAgICAgIHBvc3Rwb25lZCxcbiAgICAgIHN0YWxlVGltZSxcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgRmFpbGVkIHRvIGZldGNoIFJTQyBwYXlsb2FkIGZvciAke3VybH0uIEZhbGxpbmcgYmFjayB0byBicm93c2VyIG5hdmlnYXRpb24uYCxcbiAgICAgIGVyclxuICAgIClcbiAgICAvLyBJZiBmZXRjaCBmYWlscyBoYW5kbGUgaXQgbGlrZSBhIG1wYSBuYXZpZ2F0aW9uXG4gICAgLy8gVE9ETy1BUFA6IEFkZCBhIHRlc3QgZm9yIHRoZSBjYXNlIHdoZXJlIGEgQ09SUyByZXF1ZXN0IGZhaWxzLCBlLmcuIGV4dGVybmFsIHVybCByZWRpcmVjdCBjb21pbmcgZnJvbSB0aGUgcmVzcG9uc2UuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS92ZXJjZWwvbmV4dC5qcy9pc3N1ZXMvNDM2MDUjaXNzdWVjb21tZW50LTE0NTE2MTc1MjEgZm9yIGEgcmVwcm9kdWN0aW9uLlxuICAgIHJldHVybiB7XG4gICAgICBmbGlnaHREYXRhOiB1cmwudG9TdHJpbmcoKSxcbiAgICAgIGNhbm9uaWNhbFVybDogdW5kZWZpbmVkLFxuICAgICAgY291bGRCZUludGVyY2VwdGVkOiBmYWxzZSxcbiAgICAgIHByZXJlbmRlcmVkOiBmYWxzZSxcbiAgICAgIHBvc3Rwb25lZDogZmFsc2UsXG4gICAgICBzdGFsZVRpbWU6IC0xLFxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRmV0Y2goXG4gIHVybDogVVJMLFxuICBoZWFkZXJzOiBSZXF1ZXN0SGVhZGVycyxcbiAgZmV0Y2hQcmlvcml0eTogJ2F1dG8nIHwgJ2hpZ2gnIHwgJ2xvdycgfCBudWxsXG4pIHtcbiAgY29uc3QgZmV0Y2hVcmwgPSBuZXcgVVJMKHVybClcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfQ09ORklHX09VVFBVVCA9PT0gJ2V4cG9ydCcpIHtcbiAgICAgIGlmIChmZXRjaFVybC5wYXRobmFtZS5lbmRzV2l0aCgnLycpKSB7XG4gICAgICAgIGZldGNoVXJsLnBhdGhuYW1lICs9ICdpbmRleC50eHQnXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmZXRjaFVybC5wYXRobmFtZSArPSAnLnR4dCdcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGlzIHVzZWQgdG8gY2FjaGUgYnVzdCBDRE5zIHRoYXQgZG9uJ3Qgc3VwcG9ydCBjdXN0b20gaGVhZGVycy4gVGhlXG4gIC8vIHJlc3VsdCBpcyBzdG9yZWQgaW4gYSBzZWFyY2ggcGFyYW0uXG4gIC8vIFRPRE86IEdpdmVuIHRoYXQgd2UgaGF2ZSB0byB1c2UgYSBzZWFyY2ggcGFyYW0gYW55d2F5LCB3ZSBtaWdodCBhcyB3ZWxsXG4gIC8vIF9vbmx5XyB1c2UgYSBzZWFyY2ggcGFyYW0gYW5kIG5vdCBib3RoZXIgd2l0aCB0aGUgY3VzdG9tIGhlYWRlcnMuXG4gIC8vIEFkZCB1bmlxdWUgY2FjaGUgcXVlcnkgdG8gYXZvaWQgY2FjaGluZyBjb25mbGljdHMgb24gQ0ROIHdoaWNoIGRvbid0IHJlc3BlY3QgdGhlIFZhcnkgaGVhZGVyXG4gIGNvbnN0IHVuaXF1ZUNhY2hlUXVlcnkgPSBoZXhIYXNoKFxuICAgIFtcbiAgICAgIGhlYWRlcnNbTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXSB8fCAnMCcsXG4gICAgICBoZWFkZXJzW05FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSXSB8fCAnMCcsXG4gICAgICBoZWFkZXJzW05FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSXSxcbiAgICAgIGhlYWRlcnNbTkVYVF9VUkxdLFxuICAgIF0uam9pbignLCcpXG4gIClcblxuICBmZXRjaFVybC5zZWFyY2hQYXJhbXMuc2V0KE5FWFRfUlNDX1VOSU9OX1FVRVJZLCB1bmlxdWVDYWNoZVF1ZXJ5KVxuXG4gIGlmIChwcm9jZXNzLmVudi5fX05FWFRfVEVTVF9NT0RFICYmIGZldGNoUHJpb3JpdHkgIT09IG51bGwpIHtcbiAgICBoZWFkZXJzWydOZXh0LVRlc3QtRmV0Y2gtUHJpb3JpdHknXSA9IGZldGNoUHJpb3JpdHlcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5ORVhUX0RFUExPWU1FTlRfSUQpIHtcbiAgICBoZWFkZXJzWyd4LWRlcGxveW1lbnQtaWQnXSA9IHByb2Nlc3MuZW52Lk5FWFRfREVQTE9ZTUVOVF9JRFxuICB9XG5cbiAgcmV0dXJuIGZldGNoKGZldGNoVXJsLCB7XG4gICAgLy8gQmFja3dhcmRzIGNvbXBhdCBmb3Igb2xkZXIgYnJvd3NlcnMuIGBzYW1lLW9yaWdpbmAgaXMgdGhlIGRlZmF1bHQgaW4gbW9kZXJuIGJyb3dzZXJzLlxuICAgIGNyZWRlbnRpYWxzOiAnc2FtZS1vcmlnaW4nLFxuICAgIGhlYWRlcnMsXG4gICAgcHJpb3JpdHk6IGZldGNoUHJpb3JpdHkgfHwgdW5kZWZpbmVkLFxuICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbShcbiAgZmxpZ2h0U3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PlxuKTogUHJvbWlzZTx1bmtub3duPiB7XG4gIHJldHVybiBjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0oZmxpZ2h0U3RyZWFtLCB7XG4gICAgY2FsbFNlcnZlcixcbiAgICBmaW5kU291cmNlTWFwVVJMLFxuICB9KVxufVxuXG5mdW5jdGlvbiBjcmVhdGVVbmNsb3NpbmdQcmVmZXRjaFN0cmVhbShcbiAgb3JpZ2luYWxGbGlnaHRTdHJlYW06IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+XG4pOiBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PiB7XG4gIC8vIFdoZW4gUFBSIGlzIGVuYWJsZWQsIHByZWZldGNoIHN0cmVhbXMgbWF5IGNvbnRhaW4gcmVmZXJlbmNlcyB0aGF0IG5ldmVyXG4gIC8vIHJlc29sdmUsIGJlY2F1c2UgdGhhdCdzIGhvdyB3ZSBlbmNvZGUgZHluYW1pYyBkYXRhIGFjY2Vzcy4gSW4gdGhlIGRlY29kZWRcbiAgLy8gb2JqZWN0IHJldHVybmVkIGJ5IHRoZSBGbGlnaHQgY2xpZW50LCB0aGVzZSBhcmUgcmVpZmllZCBpbnRvIGhhbmdpbmdcbiAgLy8gcHJvbWlzZXMgdGhhdCBzdXNwZW5kIGR1cmluZyByZW5kZXIsIHdoaWNoIGlzIGVmZmVjdGl2ZWx5IHdoYXQgd2Ugd2FudC5cbiAgLy8gVGhlIFVJIHJlc29sdmVzIHdoZW4gaXQgc3dpdGNoZXMgdG8gdGhlIGR5bmFtaWMgZGF0YSBzdHJlYW1cbiAgLy8gKHZpYSB1c2VEZWZlcnJlZFZhbHVlKGR5bmFtaWMsIHN0YXRpYykpLlxuICAvL1xuICAvLyBIb3dldmVyLCB0aGUgRmxpZ2h0IGltcGxlbWVudGF0aW9uIGN1cnJlbnRseSBlcnJvcnMgaWYgdGhlIHNlcnZlciBjbG9zZXNcbiAgLy8gdGhlIHJlc3BvbnNlIGJlZm9yZSBhbGwgdGhlIHJlZmVyZW5jZXMgYXJlIHJlc29sdmVkLiBBcyBhIGNoZWF0IHRvIHdvcmtcbiAgLy8gYXJvdW5kIHRoaXMsIHdlIHdyYXAgdGhlIG9yaWdpbmFsIHN0cmVhbSBpbiBhIG5ldyBzdHJlYW0gdGhhdCBuZXZlciBjbG9zZXMsXG4gIC8vIGFuZCB0aGVyZWZvcmUgZG9lc24ndCBlcnJvci5cbiAgY29uc3QgcmVhZGVyID0gb3JpZ2luYWxGbGlnaHRTdHJlYW0uZ2V0UmVhZGVyKClcbiAgcmV0dXJuIG5ldyBSZWFkYWJsZVN0cmVhbSh7XG4gICAgYXN5bmMgcHVsbChjb250cm9sbGVyKSB7XG4gICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICBjb25zdCB7IGRvbmUsIHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpXG4gICAgICAgIGlmICghZG9uZSkge1xuICAgICAgICAgIC8vIFBhc3MgdG8gdGhlIHRhcmdldCBzdHJlYW0gYW5kIGtlZXAgY29uc3VtaW5nIHRoZSBGbGlnaHQgcmVzcG9uc2VcbiAgICAgICAgICAvLyBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKHZhbHVlKVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIHNlcnZlciBzdHJlYW0gaGFzIGNsb3NlZC4gRXhpdCwgYnV0IGludGVudGlvbmFsbHkgZG8gbm90IGNsb3NlXG4gICAgICAgIC8vIHRoZSB0YXJnZXQgc3RyZWFtLlxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9LFxuICB9KVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUZldGNoIiwiY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJ1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXIiLCJjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0iLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9SVU5USU1FIiwicmVxdWlyZSIsInVybCIsInVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzIiwiVVJMIiwibG9jYXRpb24iLCJvcmlnaW4iLCJzZWFyY2hQYXJhbXMiLCJkZWxldGUiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsIk5PREVfRU5WIiwiX19ORVhUX0NPTkZJR19PVVRQVVQiLCJwYXRobmFtZSIsImVuZHNXaXRoIiwibGVuZ3RoIiwic2xpY2UiLCJkb01wYU5hdmlnYXRpb24iLCJmbGlnaHREYXRhIiwidG9TdHJpbmciLCJjYW5vbmljYWxVcmwiLCJ1bmRlZmluZWQiLCJjb3VsZEJlSW50ZXJjZXB0ZWQiLCJwcmVyZW5kZXJlZCIsInBvc3Rwb25lZCIsInN0YWxlVGltZSIsIm9wdGlvbnMiLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsIm5leHRVcmwiLCJwcmVmZXRjaEtpbmQiLCJoZWFkZXJzIiwiUlNDX0hFQURFUiIsIk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsIlByZWZldGNoS2luZCIsIkFVVE8iLCJORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIiLCJpc0htclJlZnJlc2giLCJORVhUX0hNUl9SRUZSRVNIX0hFQURFUiIsIk5FWFRfVVJMIiwicmVzIiwiZmV0Y2hQcmlvcml0eSIsIlRFTVBPUkFSWSIsInJlc3BvbnNlVXJsIiwicmVkaXJlY3RlZCIsImNvbnRlbnRUeXBlIiwiZ2V0IiwiaW50ZXJjZXB0aW9uIiwiaW5jbHVkZXMiLCJORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIiLCJzdGFsZVRpbWVIZWFkZXIiLCJORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUiIsInBhcnNlSW50IiwiaXNGbGlnaHRSZXNwb25zZSIsInN0YXJ0c1dpdGgiLCJSU0NfQ09OVEVOVF9UWVBFX0hFQURFUiIsIm9rIiwiYm9keSIsImhhc2giLCJUVVJCT1BBQ0siLCJ3YWl0Rm9yV2VicGFja1J1bnRpbWVIb3RVcGRhdGUiLCJmbGlnaHRTdHJlYW0iLCJjcmVhdGVVbmNsb3NpbmdQcmVmZXRjaFN0cmVhbSIsInJlc3BvbnNlIiwiZ2V0QXBwQnVpbGRJZCIsImIiLCJub3JtYWxpemVGbGlnaHREYXRhIiwiZiIsIlMiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJmZXRjaFVybCIsInVuaXF1ZUNhY2hlUXVlcnkiLCJoZXhIYXNoIiwiTkVYVF9ST1VURVJfU0VHTUVOVF9QUkVGRVRDSF9IRUFERVIiLCJqb2luIiwic2V0IiwiX19ORVhUX1RFU1RfTU9ERSIsIk5FWFRfREVQTE9ZTUVOVF9JRCIsImZldGNoIiwiY3JlZGVudGlhbHMiLCJwcmlvcml0eSIsImNhbGxTZXJ2ZXIiLCJmaW5kU291cmNlTWFwVVJMIiwib3JpZ2luYWxGbGlnaHRTdHJlYW0iLCJyZWFkZXIiLCJnZXRSZWFkZXIiLCJSZWFkYWJsZVN0cmVhbSIsInB1bGwiLCJjb250cm9sbGVyIiwiZG9uZSIsInZhbHVlIiwicmVhZCIsImVucXVldWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\n"); /***/ }), @@ -1589,28 +1578,6 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n})); /***/ }), -/***/ "(ssr)/./node_modules/next/dist/shared/lib/app-dynamic.js": -/*!**********************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/app-dynamic.js ***! - \**********************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return dynamic;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _loadable = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./lazy-dynamic/loadable */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/loadable.js\"));\nfunction dynamic(dynamicOptions, options) {\n var _mergedOptions_loadableGenerated;\n const loadableOptions = {};\n if (typeof dynamicOptions === 'function') {\n loadableOptions.loader = dynamicOptions;\n }\n const mergedOptions = {\n ...loadableOptions,\n ...options\n };\n return (0, _loadable.default)({\n ...mergedOptions,\n modules: (_mergedOptions_loadableGenerated = mergedOptions.loadableGenerated) == null ? void 0 : _mergedOptions_loadableGenerated.modules\n });\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-dynamic.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYXBwLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0FrQ0E7OztlQUF3QkE7Ozs7K0VBaENIO0FBZ0NOLFNBQVNBLFFBQ3RCQyxjQUE2QyxFQUM3Q0MsT0FBMkI7UUFlaEJDO0lBYlgsTUFBTUMsa0JBQXNDLENBQUM7SUFFN0MsSUFBSSxPQUFPSCxtQkFBbUIsWUFBWTtRQUN4Q0csZ0JBQWdCQyxNQUFNLEdBQUdKO0lBQzNCO0lBRUEsTUFBTUUsZ0JBQWdCO1FBQ3BCLEdBQUdDLGVBQWU7UUFDbEIsR0FBR0YsT0FBTztJQUNaO0lBRUEsT0FBT0ksQ0FBQUEsR0FBQUEsVUFBQUEsT0FBQUEsRUFBUztRQUNkLEdBQUdILGFBQWE7UUFDaEJJLE9BQU8sR0FBRUosbUNBQUFBLGNBQWNLLGlCQUFBQSxLQUFpQixnQkFBL0JMLGlDQUFpQ0ksT0FBTztJQUNuRDtBQUNGIiwic291cmNlcyI6WyJFOlxcc3JjXFxzaGFyZWRcXGxpYlxcYXBwLWR5bmFtaWMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBKU1ggfSBmcm9tICdyZWFjdCdcbmltcG9ydCBMb2FkYWJsZSBmcm9tICcuL2xhenktZHluYW1pYy9sb2FkYWJsZSdcblxuaW1wb3J0IHR5cGUge1xuICBMb2FkYWJsZUdlbmVyYXRlZE9wdGlvbnMsXG4gIER5bmFtaWNPcHRpb25zTG9hZGluZ1Byb3BzLFxuICBMb2FkZXIsXG4gIExvYWRlckNvbXBvbmVudCxcbn0gZnJvbSAnLi9sYXp5LWR5bmFtaWMvdHlwZXMnXG5cbmV4cG9ydCB7XG4gIHR5cGUgTG9hZGFibGVHZW5lcmF0ZWRPcHRpb25zLFxuICB0eXBlIER5bmFtaWNPcHRpb25zTG9hZGluZ1Byb3BzLFxuICB0eXBlIExvYWRlcixcbiAgdHlwZSBMb2FkZXJDb21wb25lbnQsXG59XG5cbmV4cG9ydCB0eXBlIER5bmFtaWNPcHRpb25zPFAgPSB7fT4gPSBMb2FkYWJsZUdlbmVyYXRlZE9wdGlvbnMgJiB7XG4gIGxvYWRpbmc/OiAoKSA9PiBKU1guRWxlbWVudCB8IG51bGxcbiAgbG9hZGVyPzogTG9hZGVyPFA+XG4gIGxvYWRhYmxlR2VuZXJhdGVkPzogTG9hZGFibGVHZW5lcmF0ZWRPcHRpb25zXG4gIG1vZHVsZXM/OiBzdHJpbmdbXVxuICBzc3I/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIExvYWRhYmxlT3B0aW9uczxQID0ge30+ID0gRHluYW1pY09wdGlvbnM8UD5cblxuZXhwb3J0IHR5cGUgTG9hZGFibGVGbjxQID0ge30+ID0gKFxuICBvcHRzOiBMb2FkYWJsZU9wdGlvbnM8UD5cbikgPT4gUmVhY3QuQ29tcG9uZW50VHlwZTxQPlxuXG5leHBvcnQgdHlwZSBMb2FkYWJsZUNvbXBvbmVudDxQID0ge30+ID0gUmVhY3QuQ29tcG9uZW50VHlwZTxQPlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkeW5hbWljPFAgPSB7fT4oXG4gIGR5bmFtaWNPcHRpb25zOiBEeW5hbWljT3B0aW9uczxQPiB8IExvYWRlcjxQPixcbiAgb3B0aW9ucz86IER5bmFtaWNPcHRpb25zPFA+XG4pOiBSZWFjdC5Db21wb25lbnRUeXBlPFA+IHtcbiAgY29uc3QgbG9hZGFibGVPcHRpb25zOiBMb2FkYWJsZU9wdGlvbnM8UD4gPSB7fVxuXG4gIGlmICh0eXBlb2YgZHluYW1pY09wdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBsb2FkYWJsZU9wdGlvbnMubG9hZGVyID0gZHluYW1pY09wdGlvbnNcbiAgfVxuXG4gIGNvbnN0IG1lcmdlZE9wdGlvbnMgPSB7XG4gICAgLi4ubG9hZGFibGVPcHRpb25zLFxuICAgIC4uLm9wdGlvbnMsXG4gIH1cblxuICByZXR1cm4gTG9hZGFibGUoe1xuICAgIC4uLm1lcmdlZE9wdGlvbnMsXG4gICAgbW9kdWxlczogbWVyZ2VkT3B0aW9ucy5sb2FkYWJsZUdlbmVyYXRlZD8ubW9kdWxlcyxcbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJkeW5hbWljIiwiZHluYW1pY09wdGlvbnMiLCJvcHRpb25zIiwibWVyZ2VkT3B0aW9ucyIsImxvYWRhYmxlT3B0aW9ucyIsImxvYWRlciIsIkxvYWRhYmxlIiwibW9kdWxlcyIsImxvYWRhYmxlR2VuZXJhdGVkIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/app-dynamic.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/encode-uri-path.js": -/*!**************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/encode-uri-path.js ***! - \**************************************************************/ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"encodeURIPath\", ({\n enumerable: true,\n get: function() {\n return encodeURIPath;\n }\n}));\nfunction encodeURIPath(file) {\n return file.split('/').map((p)=>encodeURIComponent(p)).join('/');\n} //# sourceMappingURL=encode-uri-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZW5jb2RlLXVyaS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBQWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxjQUFjQyxJQUFZO0lBQ3hDLE9BQU9BLEtBQ0pDLEtBQUssQ0FBQyxLQUNOQyxHQUFHLENBQUMsQ0FBQ0MsSUFBTUMsbUJBQW1CRCxJQUM5QkUsSUFBSSxDQUFDO0FBQ1YiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXHNoYXJlZFxcbGliXFxlbmNvZGUtdXJpLXBhdGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGVuY29kZVVSSVBhdGgoZmlsZTogc3RyaW5nKSB7XG4gIHJldHVybiBmaWxlXG4gICAgLnNwbGl0KCcvJylcbiAgICAubWFwKChwKSA9PiBlbmNvZGVVUklDb21wb25lbnQocCkpXG4gICAgLmpvaW4oJy8nKVxufVxuIl0sIm5hbWVzIjpbImVuY29kZVVSSVBhdGgiLCJmaWxlIiwic3BsaXQiLCJtYXAiLCJwIiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/encode-uri-path.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/next/dist/shared/lib/error-source.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/shared/lib/error-source.js ***! @@ -1666,39 +1633,6 @@ eval("// This has to be a shared module which is shared between client component /***/ }), -/***/ "(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/dynamic-bailout-to-csr.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/dynamic-bailout-to-csr.js ***! - \**********************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"BailoutToCSR\", ({\n enumerable: true,\n get: function() {\n return BailoutToCSR;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ./bailout-to-csr */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nfunction BailoutToCSR(param) {\n let { reason, children } = param;\n if (true) {\n throw new _bailouttocsr.BailoutToCSRError(reason);\n }\n return children;\n} //# sourceMappingURL=dynamic-bailout-to-csr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2R5bmFtaWMtYmFpbG91dC10by1jc3IuanMiLCJtYXBwaW5ncyI6Ijs7OztnREFjZ0JBOzs7ZUFBQUE7OzswQ0FYa0I7QUFXM0IsU0FBU0EsYUFBYSxLQUF1QztJQUF2QyxNQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBcUIsR0FBdkM7SUFDM0IsSUFBSSxJQUE2QixFQUFFO1FBQ2pDLE1BQU0sSUFBSUUsY0FBQUEsaUJBQWlCLENBQUNIO0lBQzlCO0lBRUEsT0FBT0M7QUFDVCIsInNvdXJjZXMiOlsiRTpcXHNyY1xcc2hhcmVkXFxsaWJcXGxhenktZHluYW1pY1xcZHluYW1pYy1iYWlsb3V0LXRvLWNzci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCYWlsb3V0VG9DU1JFcnJvciB9IGZyb20gJy4vYmFpbG91dC10by1jc3InXG5cbmludGVyZmFjZSBCYWlsb3V0VG9DU1JQcm9wcyB7XG4gIHJlYXNvbjogc3RyaW5nXG4gIGNoaWxkcmVuOiBSZWFjdEVsZW1lbnRcbn1cblxuLyoqXG4gKiBJZiByZW5kZXJlZCBvbiB0aGUgc2VydmVyLCB0aGlzIGNvbXBvbmVudCB0aHJvd3MgYW4gZXJyb3JcbiAqIHRvIHNpZ25hbCBOZXh0LmpzIHRoYXQgaXQgc2hvdWxkIGJhaWwgb3V0IHRvIGNsaWVudC1zaWRlIHJlbmRlcmluZyBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQmFpbG91dFRvQ1NSKHsgcmVhc29uLCBjaGlsZHJlbiB9OiBCYWlsb3V0VG9DU1JQcm9wcykge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB0aHJvdyBuZXcgQmFpbG91dFRvQ1NSRXJyb3IocmVhc29uKVxuICB9XG5cbiAgcmV0dXJuIGNoaWxkcmVuXG59XG4iXSwibmFtZXMiOlsiQmFpbG91dFRvQ1NSIiwicmVhc29uIiwiY2hpbGRyZW4iLCJ3aW5kb3ciLCJCYWlsb3V0VG9DU1JFcnJvciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/dynamic-bailout-to-csr.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/loadable.js": -/*!********************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/loadable.js ***! - \********************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\nconst _dynamicbailouttocsr = __webpack_require__(/*! ./dynamic-bailout-to-csr */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/dynamic-bailout-to-csr.js\");\nconst _preloadchunks = __webpack_require__(/*! ./preload-chunks */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/preload-chunks.js\");\n// Normalize loader to return the module as form { default: Component } for `React.lazy`.\n// Also for backward compatible since next/dynamic allows to resolve a component directly with loader\n// Client component reference proxy need to be converted to a module.\nfunction convertModule(mod) {\n // Check \"default\" prop before accessing it, as it could be client reference proxy that could break it reference.\n // Cases:\n // mod: { default: Component }\n // mod: Component\n // mod: { default: proxy(Component) }\n // mod: proxy(Component)\n const hasDefault = mod && 'default' in mod;\n return {\n default: hasDefault ? mod.default : mod\n };\n}\nconst defaultOptions = {\n loader: ()=>Promise.resolve(convertModule(()=>null)),\n loading: null,\n ssr: true\n};\nfunction Loadable(options) {\n const opts = {\n ...defaultOptions,\n ...options\n };\n const Lazy = /*#__PURE__*/ (0, _react.lazy)(()=>opts.loader().then(convertModule));\n const Loading = opts.loading;\n function LoadableComponent(props) {\n const fallbackElement = Loading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {\n isLoading: true,\n pastDelay: true,\n error: null\n }) : null;\n // If it's non-SSR or provided a loading component, wrap it in a suspense boundary\n const hasSuspenseBoundary = !opts.ssr || !!opts.loading;\n const Wrap = hasSuspenseBoundary ? _react.Suspense : _react.Fragment;\n const wrapProps = hasSuspenseBoundary ? {\n fallback: fallbackElement\n } : {};\n const children = opts.ssr ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n true ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_preloadchunks.PreloadChunks, {\n moduleIds: opts.modules\n }) : 0,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {\n ...props\n })\n ]\n }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_dynamicbailouttocsr.BailoutToCSR, {\n reason: \"next/dynamic\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {\n ...props\n })\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Wrap, {\n ...wrapProps,\n children: children\n });\n }\n LoadableComponent.displayName = 'LoadableComponent';\n return LoadableComponent;\n}\nconst _default = Loadable; //# sourceMappingURL=loadable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2xvYWRhYmxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBNEVBOzs7ZUFBQTs7OzttQ0E1RXlDO2lEQUNaOzJDQUVDO0FBRTlCLHlGQUF5RjtBQUN6RixxR0FBcUc7QUFDckcscUVBQXFFO0FBQ3JFLFNBQVNBLGNBQ1BDLEdBQTREO0lBSTVELGlIQUFpSDtJQUNqSCxTQUFTO0lBQ1QsOEJBQThCO0lBQzlCLGlCQUFpQjtJQUNqQixxQ0FBcUM7SUFDckMsd0JBQXdCO0lBQ3hCLE1BQU1DLGFBQWFELE9BQU8sYUFBYUE7SUFDdkMsT0FBTztRQUNMRSxTQUFTRCxhQUNKRCxJQUEyQkUsT0FBTyxHQUNsQ0Y7SUFDUDtBQUNGO0FBRUEsTUFBTUcsaUJBQWlCO0lBQ3JCQyxRQUFRLElBQU1DLFFBQVFDLE9BQU8sQ0FBQ1AsY0FBYyxJQUFNO0lBQ2xEUSxTQUFTO0lBQ1RDLEtBQUs7QUFDUDtBQVNBLFNBQVNDLFNBQVNDLE9BQXdCO0lBQ3hDLE1BQU1DLE9BQU87UUFBRSxHQUFHUixjQUFjO1FBQUUsR0FBR08sT0FBTztJQUFDO0lBQzdDLE1BQU1FLE9BQUFBLFdBQUFBLEdBQU9DLENBQUFBLEdBQUFBLE9BQUFBLElBQUksRUFBQyxJQUFNRixLQUFLUCxNQUFNLEdBQUdVLElBQUksQ0FBQ2Y7SUFDM0MsTUFBTWdCLFVBQVVKLEtBQUtKLE9BQU87SUFFNUIsU0FBU1Msa0JBQWtCQyxLQUFVO1FBQ25DLE1BQU1DLGtCQUFrQkgsVUFBQUEsV0FBQUEsR0FDdEIscUJBQUNBLFNBQUFBO1lBQVFJLFdBQVc7WUFBTUMsV0FBVztZQUFNQyxPQUFPO2FBQ2hEO1FBRUosa0ZBQWtGO1FBQ2xGLE1BQU1DLHNCQUFzQixDQUFDWCxLQUFLSCxHQUFHLElBQUksQ0FBQyxDQUFDRyxLQUFLSixPQUFPO1FBQ3ZELE1BQU1nQixPQUFPRCxzQkFBc0JFLE9BQUFBLFFBQVEsR0FBR0MsT0FBQUEsUUFBUTtRQUN0RCxNQUFNQyxZQUFZSixzQkFBc0I7WUFBRUssVUFBVVQ7UUFBZ0IsSUFBSSxDQUFDO1FBQ3pFLE1BQU1VLFdBQVdqQixLQUFLSCxHQUFHLGlCQUN2Qjs7Z0JBRUcsS0FBNkIsR0FBWCxjQUNqQixxQkFBQ3NCLGVBQUFBLGFBQWE7b0JBQUNDLFdBQVdwQixLQUFLcUIsT0FBTztxQkFDcEMsQ0FBSTs4QkFDUixxQkFBQ3BCLE1BQUFBO29CQUFNLEdBQUdLLEtBQUs7OzthQUdqQixtQ0FBQ2dCLHFCQUFBQSxZQUFZO1lBQUNDLFFBQU87c0JBQ25CLG1DQUFDdEIsTUFBQUE7Z0JBQU0sR0FBR0ssS0FBSzs7O1FBSW5CLHFCQUFPLHFCQUFDTSxNQUFBQTtZQUFNLEdBQUdHLFNBQVM7c0JBQUdFOztJQUMvQjtJQUVBWixrQkFBa0JtQixXQUFXLEdBQUc7SUFFaEMsT0FBT25CO0FBQ1Q7TUFFQSxXQUFlUCIsInNvdXJjZXMiOlsiRTpcXHNyY1xcc2hhcmVkXFxsaWJcXGxhenktZHluYW1pY1xcbG9hZGFibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1c3BlbnNlLCBGcmFnbWVudCwgbGF6eSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQmFpbG91dFRvQ1NSIH0gZnJvbSAnLi9keW5hbWljLWJhaWxvdXQtdG8tY3NyJ1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgUHJlbG9hZENodW5rcyB9IGZyb20gJy4vcHJlbG9hZC1jaHVua3MnXG5cbi8vIE5vcm1hbGl6ZSBsb2FkZXIgdG8gcmV0dXJuIHRoZSBtb2R1bGUgYXMgZm9ybSB7IGRlZmF1bHQ6IENvbXBvbmVudCB9IGZvciBgUmVhY3QubGF6eWAuXG4vLyBBbHNvIGZvciBiYWNrd2FyZCBjb21wYXRpYmxlIHNpbmNlIG5leHQvZHluYW1pYyBhbGxvd3MgdG8gcmVzb2x2ZSBhIGNvbXBvbmVudCBkaXJlY3RseSB3aXRoIGxvYWRlclxuLy8gQ2xpZW50IGNvbXBvbmVudCByZWZlcmVuY2UgcHJveHkgbmVlZCB0byBiZSBjb252ZXJ0ZWQgdG8gYSBtb2R1bGUuXG5mdW5jdGlvbiBjb252ZXJ0TW9kdWxlPFA+KFxuICBtb2Q6IFJlYWN0LkNvbXBvbmVudFR5cGU8UD4gfCBDb21wb25lbnRNb2R1bGU8UD4gfCB1bmRlZmluZWRcbik6IHtcbiAgZGVmYXVsdDogUmVhY3QuQ29tcG9uZW50VHlwZTxQPlxufSB7XG4gIC8vIENoZWNrIFwiZGVmYXVsdFwiIHByb3AgYmVmb3JlIGFjY2Vzc2luZyBpdCwgYXMgaXQgY291bGQgYmUgY2xpZW50IHJlZmVyZW5jZSBwcm94eSB0aGF0IGNvdWxkIGJyZWFrIGl0IHJlZmVyZW5jZS5cbiAgLy8gQ2FzZXM6XG4gIC8vIG1vZDogeyBkZWZhdWx0OiBDb21wb25lbnQgfVxuICAvLyBtb2Q6IENvbXBvbmVudFxuICAvLyBtb2Q6IHsgZGVmYXVsdDogcHJveHkoQ29tcG9uZW50KSB9XG4gIC8vIG1vZDogcHJveHkoQ29tcG9uZW50KVxuICBjb25zdCBoYXNEZWZhdWx0ID0gbW9kICYmICdkZWZhdWx0JyBpbiBtb2RcbiAgcmV0dXJuIHtcbiAgICBkZWZhdWx0OiBoYXNEZWZhdWx0XG4gICAgICA/IChtb2QgYXMgQ29tcG9uZW50TW9kdWxlPFA+KS5kZWZhdWx0XG4gICAgICA6IChtb2QgYXMgUmVhY3QuQ29tcG9uZW50VHlwZTxQPiksXG4gIH1cbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG4gIGxvYWRlcjogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGNvbnZlcnRNb2R1bGUoKCkgPT4gbnVsbCkpLFxuICBsb2FkaW5nOiBudWxsLFxuICBzc3I6IHRydWUsXG59XG5cbmludGVyZmFjZSBMb2FkYWJsZU9wdGlvbnMge1xuICBsb2FkZXI/OiAoKSA9PiBQcm9taXNlPFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PiB8IENvbXBvbmVudE1vZHVsZTxhbnk+PlxuICBsb2FkaW5nPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+IHwgbnVsbFxuICBzc3I/OiBib29sZWFuXG4gIG1vZHVsZXM/OiBzdHJpbmdbXVxufVxuXG5mdW5jdGlvbiBMb2FkYWJsZShvcHRpb25zOiBMb2FkYWJsZU9wdGlvbnMpIHtcbiAgY29uc3Qgb3B0cyA9IHsgLi4uZGVmYXVsdE9wdGlvbnMsIC4uLm9wdGlvbnMgfVxuICBjb25zdCBMYXp5ID0gbGF6eSgoKSA9PiBvcHRzLmxvYWRlcigpLnRoZW4oY29udmVydE1vZHVsZSkpXG4gIGNvbnN0IExvYWRpbmcgPSBvcHRzLmxvYWRpbmdcblxuICBmdW5jdGlvbiBMb2FkYWJsZUNvbXBvbmVudChwcm9wczogYW55KSB7XG4gICAgY29uc3QgZmFsbGJhY2tFbGVtZW50ID0gTG9hZGluZyA/IChcbiAgICAgIDxMb2FkaW5nIGlzTG9hZGluZz17dHJ1ZX0gcGFzdERlbGF5PXt0cnVlfSBlcnJvcj17bnVsbH0gLz5cbiAgICApIDogbnVsbFxuXG4gICAgLy8gSWYgaXQncyBub24tU1NSIG9yIHByb3ZpZGVkIGEgbG9hZGluZyBjb21wb25lbnQsIHdyYXAgaXQgaW4gYSBzdXNwZW5zZSBib3VuZGFyeVxuICAgIGNvbnN0IGhhc1N1c3BlbnNlQm91bmRhcnkgPSAhb3B0cy5zc3IgfHwgISFvcHRzLmxvYWRpbmdcbiAgICBjb25zdCBXcmFwID0gaGFzU3VzcGVuc2VCb3VuZGFyeSA/IFN1c3BlbnNlIDogRnJhZ21lbnRcbiAgICBjb25zdCB3cmFwUHJvcHMgPSBoYXNTdXNwZW5zZUJvdW5kYXJ5ID8geyBmYWxsYmFjazogZmFsbGJhY2tFbGVtZW50IH0gOiB7fVxuICAgIGNvbnN0IGNoaWxkcmVuID0gb3B0cy5zc3IgPyAoXG4gICAgICA8PlxuICAgICAgICB7LyogRHVyaW5nIFNTUiwgd2UgbmVlZCB0byBwcmVsb2FkIHRoZSBDU1MgZnJvbSB0aGUgZHluYW1pYyBjb21wb25lbnQgdG8gYXZvaWQgZmxhc2ggb2YgdW5zdHlsZWQgY29udGVudCAqL31cbiAgICAgICAge3R5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnID8gKFxuICAgICAgICAgIDxQcmVsb2FkQ2h1bmtzIG1vZHVsZUlkcz17b3B0cy5tb2R1bGVzfSAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPExhenkgey4uLnByb3BzfSAvPlxuICAgICAgPC8+XG4gICAgKSA6IChcbiAgICAgIDxCYWlsb3V0VG9DU1IgcmVhc29uPVwibmV4dC9keW5hbWljXCI+XG4gICAgICAgIDxMYXp5IHsuLi5wcm9wc30gLz5cbiAgICAgIDwvQmFpbG91dFRvQ1NSPlxuICAgIClcblxuICAgIHJldHVybiA8V3JhcCB7Li4ud3JhcFByb3BzfT57Y2hpbGRyZW59PC9XcmFwPlxuICB9XG5cbiAgTG9hZGFibGVDb21wb25lbnQuZGlzcGxheU5hbWUgPSAnTG9hZGFibGVDb21wb25lbnQnXG5cbiAgcmV0dXJuIExvYWRhYmxlQ29tcG9uZW50XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvYWRhYmxlXG4iXSwibmFtZXMiOlsiY29udmVydE1vZHVsZSIsIm1vZCIsImhhc0RlZmF1bHQiLCJkZWZhdWx0IiwiZGVmYXVsdE9wdGlvbnMiLCJsb2FkZXIiLCJQcm9taXNlIiwicmVzb2x2ZSIsImxvYWRpbmciLCJzc3IiLCJMb2FkYWJsZSIsIm9wdGlvbnMiLCJvcHRzIiwiTGF6eSIsImxhenkiLCJ0aGVuIiwiTG9hZGluZyIsIkxvYWRhYmxlQ29tcG9uZW50IiwicHJvcHMiLCJmYWxsYmFja0VsZW1lbnQiLCJpc0xvYWRpbmciLCJwYXN0RGVsYXkiLCJlcnJvciIsImhhc1N1c3BlbnNlQm91bmRhcnkiLCJXcmFwIiwiU3VzcGVuc2UiLCJGcmFnbWVudCIsIndyYXBQcm9wcyIsImZhbGxiYWNrIiwiY2hpbGRyZW4iLCJ3aW5kb3ciLCJQcmVsb2FkQ2h1bmtzIiwibW9kdWxlSWRzIiwibW9kdWxlcyIsIkJhaWxvdXRUb0NTUiIsInJlYXNvbiIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/loadable.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/preload-chunks.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/preload-chunks.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PreloadChunks\", ({\n enumerable: true,\n get: function() {\n return PreloadChunks;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js\");\nconst _workasyncstorageexternal = __webpack_require__(/*! ../../../server/app-render/work-async-storage.external */ \"../app-render/work-async-storage.external\");\nconst _encodeuripath = __webpack_require__(/*! ../encode-uri-path */ \"(ssr)/./node_modules/next/dist/shared/lib/encode-uri-path.js\");\nfunction PreloadChunks(param) {\n let { moduleIds } = param;\n // Early return in client compilation and only load requestStore on server side\n if (false) {}\n const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();\n if (workStore === undefined) {\n return null;\n }\n const allFiles = [];\n // Search the current dynamic call unique key id in react loadable manifest,\n // and find the corresponding CSS files to preload\n if (workStore.reactLoadableManifest && moduleIds) {\n const manifest = workStore.reactLoadableManifest;\n for (const key of moduleIds){\n if (!manifest[key]) continue;\n const chunks = manifest[key].files;\n allFiles.push(...chunks);\n }\n }\n if (allFiles.length === 0) {\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: allFiles.map((chunk)=>{\n const href = workStore.assetPrefix + \"/_next/\" + (0, _encodeuripath.encodeURIPath)(chunk);\n const isCss = chunk.endsWith('.css');\n // If it's stylesheet we use `precedence` o help hoist with React Float.\n // For stylesheets we actually need to render the CSS because nothing else is going to do it so it needs to be part of the component tree.\n // The `preload` for stylesheet is not optional.\n if (isCss) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n // @ts-ignore\n precedence: \"dynamic\",\n href: href,\n rel: \"stylesheet\",\n as: \"style\"\n }, chunk);\n } else {\n // If it's script we use ReactDOM.preload to preload the resources\n (0, _reactdom.preload)(href, {\n as: 'script',\n fetchPriority: 'low'\n });\n return null;\n }\n })\n });\n} //# sourceMappingURL=preload-chunks.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL3ByZWxvYWQtY2h1bmtzLmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBT2dCQTs7O2VBQUFBOzs7O3NDQUxRO3NEQUVTOzJDQUNIO0FBRXZCLFNBQVNBLGNBQWMsS0FJN0I7SUFKNkIsTUFDNUJDLFNBQVMsRUFHVixHQUo2QjtJQUs1QiwrRUFBK0U7SUFDL0UsSUFBSSxLQUE2QixFQUFFLEVBRWxDO0lBRUQsTUFBTUUsWUFBWUMsMEJBQUFBLGdCQUFnQixDQUFDQyxRQUFRO0lBQzNDLElBQUlGLGNBQWNHLFdBQVc7UUFDM0IsT0FBTztJQUNUO0lBRUEsTUFBTUMsV0FBVyxFQUFFO0lBRW5CLDRFQUE0RTtJQUM1RSxrREFBa0Q7SUFDbEQsSUFBSUosVUFBVUsscUJBQXFCLElBQUlQLFdBQVc7UUFDaEQsTUFBTVEsV0FBV04sVUFBVUsscUJBQXFCO1FBQ2hELEtBQUssTUFBTUUsT0FBT1QsVUFBVztZQUMzQixJQUFJLENBQUNRLFFBQVEsQ0FBQ0MsSUFBSSxFQUFFO1lBQ3BCLE1BQU1DLFNBQVNGLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDRSxLQUFLO1lBQ2xDTCxTQUFTTSxJQUFJLElBQUlGO1FBQ25CO0lBQ0Y7SUFFQSxJQUFJSixTQUFTTyxNQUFNLEtBQUssR0FBRztRQUN6QixPQUFPO0lBQ1Q7SUFFQSxxQkFDRTtrQkFDR1AsU0FBU1EsR0FBRyxDQUFDLENBQUNDO1lBQ2IsTUFBTUMsT0FBVWQsVUFBVWUsV0FBVyxHQUFDLFlBQVNDLENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWNIO1lBQzdELE1BQU1JLFFBQVFKLE1BQU1LLFFBQVEsQ0FBQztZQUM3Qix3RUFBd0U7WUFDeEUsMElBQTBJO1lBQzFJLGdEQUFnRDtZQUNoRCxJQUFJRCxPQUFPO2dCQUNULE9BQ0UsV0FERixHQUNFLHFCQUFDRSxRQUFBQTtvQkFFQyxhQUFhO29CQUNiQyxZQUFXO29CQUNYTixNQUFNQTtvQkFDTk8sS0FBSTtvQkFDSkMsSUFBRzttQkFMRVQ7WUFRWCxPQUFPO2dCQUNMLGtFQUFrRTtnQkFDbEVVLENBQUFBLEdBQUFBLFVBQUFBLE9BQUFBLEVBQVFULE1BQU07b0JBQ1pRLElBQUk7b0JBQ0pFLGVBQWU7Z0JBQ2pCO2dCQUNBLE9BQU87WUFDVDtRQUNGOztBQUdOIiwic291cmNlcyI6WyJFOlxcc3JjXFxzaGFyZWRcXGxpYlxcbGF6eS1keW5hbWljXFxwcmVsb2FkLWNodW5rcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IHByZWxvYWQgfSBmcm9tICdyZWFjdC1kb20nXG5cbmltcG9ydCB7IHdvcmtBc3luY1N0b3JhZ2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci93b3JrLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwnXG5pbXBvcnQgeyBlbmNvZGVVUklQYXRoIH0gZnJvbSAnLi4vZW5jb2RlLXVyaS1wYXRoJ1xuXG5leHBvcnQgZnVuY3Rpb24gUHJlbG9hZENodW5rcyh7XG4gIG1vZHVsZUlkcyxcbn06IHtcbiAgbW9kdWxlSWRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZFxufSkge1xuICAvLyBFYXJseSByZXR1cm4gaW4gY2xpZW50IGNvbXBpbGF0aW9uIGFuZCBvbmx5IGxvYWQgcmVxdWVzdFN0b3JlIG9uIHNlcnZlciBzaWRlXG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCB3b3JrU3RvcmUgPSB3b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKClcbiAgaWYgKHdvcmtTdG9yZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IGFsbEZpbGVzID0gW11cblxuICAvLyBTZWFyY2ggdGhlIGN1cnJlbnQgZHluYW1pYyBjYWxsIHVuaXF1ZSBrZXkgaWQgaW4gcmVhY3QgbG9hZGFibGUgbWFuaWZlc3QsXG4gIC8vIGFuZCBmaW5kIHRoZSBjb3JyZXNwb25kaW5nIENTUyBmaWxlcyB0byBwcmVsb2FkXG4gIGlmICh3b3JrU3RvcmUucmVhY3RMb2FkYWJsZU1hbmlmZXN0ICYmIG1vZHVsZUlkcykge1xuICAgIGNvbnN0IG1hbmlmZXN0ID0gd29ya1N0b3JlLnJlYWN0TG9hZGFibGVNYW5pZmVzdFxuICAgIGZvciAoY29uc3Qga2V5IG9mIG1vZHVsZUlkcykge1xuICAgICAgaWYgKCFtYW5pZmVzdFtrZXldKSBjb250aW51ZVxuICAgICAgY29uc3QgY2h1bmtzID0gbWFuaWZlc3Rba2V5XS5maWxlc1xuICAgICAgYWxsRmlsZXMucHVzaCguLi5jaHVua3MpXG4gICAgfVxuICB9XG5cbiAgaWYgKGFsbEZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7YWxsRmlsZXMubWFwKChjaHVuaykgPT4ge1xuICAgICAgICBjb25zdCBocmVmID0gYCR7d29ya1N0b3JlLmFzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSVBhdGgoY2h1bmspfWBcbiAgICAgICAgY29uc3QgaXNDc3MgPSBjaHVuay5lbmRzV2l0aCgnLmNzcycpXG4gICAgICAgIC8vIElmIGl0J3Mgc3R5bGVzaGVldCB3ZSB1c2UgYHByZWNlZGVuY2VgIG8gaGVscCBob2lzdCB3aXRoIFJlYWN0IEZsb2F0LlxuICAgICAgICAvLyBGb3Igc3R5bGVzaGVldHMgd2UgYWN0dWFsbHkgbmVlZCB0byByZW5kZXIgdGhlIENTUyBiZWNhdXNlIG5vdGhpbmcgZWxzZSBpcyBnb2luZyB0byBkbyBpdCBzbyBpdCBuZWVkcyB0byBiZSBwYXJ0IG9mIHRoZSBjb21wb25lbnQgdHJlZS5cbiAgICAgICAgLy8gVGhlIGBwcmVsb2FkYCBmb3Igc3R5bGVzaGVldCBpcyBub3Qgb3B0aW9uYWwuXG4gICAgICAgIGlmIChpc0Nzcykge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8bGlua1xuICAgICAgICAgICAgICBrZXk9e2NodW5rfVxuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHByZWNlZGVuY2U9XCJkeW5hbWljXCJcbiAgICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgICAgcmVsPVwic3R5bGVzaGVldFwiXG4gICAgICAgICAgICAgIGFzPVwic3R5bGVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gSWYgaXQncyBzY3JpcHQgd2UgdXNlIFJlYWN0RE9NLnByZWxvYWQgdG8gcHJlbG9hZCB0aGUgcmVzb3VyY2VzXG4gICAgICAgICAgcHJlbG9hZChocmVmLCB7XG4gICAgICAgICAgICBhczogJ3NjcmlwdCcsXG4gICAgICAgICAgICBmZXRjaFByaW9yaXR5OiAnbG93JyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH1cbiAgICAgIH0pfVxuICAgIDwvPlxuICApXG59XG4iXSwibmFtZXMiOlsiUHJlbG9hZENodW5rcyIsIm1vZHVsZUlkcyIsIndpbmRvdyIsIndvcmtTdG9yZSIsIndvcmtBc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsInVuZGVmaW5lZCIsImFsbEZpbGVzIiwicmVhY3RMb2FkYWJsZU1hbmlmZXN0IiwibWFuaWZlc3QiLCJrZXkiLCJjaHVua3MiLCJmaWxlcyIsInB1c2giLCJsZW5ndGgiLCJtYXAiLCJjaHVuayIsImhyZWYiLCJhc3NldFByZWZpeCIsImVuY29kZVVSSVBhdGgiLCJpc0NzcyIsImVuZHNXaXRoIiwibGluayIsInByZWNlZGVuY2UiLCJyZWwiLCJhcyIsInByZWxvYWQiLCJmZXRjaFByaW9yaXR5Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/preload-chunks.js\n"); - -/***/ }), - /***/ "(ssr)/./node_modules/next/dist/shared/lib/magic-identifier.js": /*!***************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/magic-identifier.js ***! @@ -1827,7 +1761,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n})); /***/ ((__unused_webpack_module, exports) => { "use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n 'CLS',\n 'FCP',\n 'FID',\n 'INP',\n 'LCP',\n 'TTFB'\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? ':' + port : '');\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown';\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split('?');\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, '/').replace(/\\/\\/+/g, '/') + (urlParts[1] ? \"?\" + urlParts.slice(1).join('?') : '');\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== 'undefined';\nconst ST = SP && [\n 'mark',\n 'measure',\n 'getEntriesByName'\n].every((method)=>typeof performance[method] === 'function');\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = 'ENOENT';\n this.name = 'PageNotFoundError';\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = 'ENOENT';\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBb2FhQSxXQUFXO2VBQVhBOztJQW9CQUMsdUJBQXVCO2VBQXZCQTs7SUFQQUMsaUJBQWlCO2VBQWpCQTs7SUFaQUMsY0FBYztlQUFkQTs7SUFDQUMsaUJBQWlCO2VBQWpCQTs7SUFUQUMsRUFBRTtlQUFGQTs7SUFDQUMsRUFBRTtlQUFGQTs7SUFsWEFDLFVBQVU7ZUFBVkE7O0lBc1FHQyxRQUFRO2VBQVJBOztJQStCQUMsY0FBYztlQUFkQTs7SUFYQUMsaUJBQWlCO2VBQWpCQTs7SUFLQUMsTUFBTTtlQUFOQTs7SUFQSEMsYUFBYTtlQUFiQTs7SUFtQkdDLFNBQVM7ZUFBVEE7O0lBa0JNQyxtQkFBbUI7ZUFBbkJBOztJQWROQyx3QkFBd0I7ZUFBeEJBOztJQStHQUMsY0FBYztlQUFkQTs7O0FBOVpULE1BQU1ULGFBQWE7SUFBQztJQUFPO0lBQU87SUFBTztJQUFPO0lBQU87Q0FBTztBQXNROUQsU0FBU0MsU0FDZFMsRUFBSztJQUVMLElBQUlDLE9BQU87SUFDWCxJQUFJQztJQUVKLE9BQVE7eUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1lBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztRQUNWLElBQUksQ0FBQ0YsTUFBTTtZQUNUQSxPQUFPO1lBQ1BDLFNBQVNGLE1BQU1HO1FBQ2pCO1FBQ0EsT0FBT0Q7SUFDVDtBQUNGO0FBRUEsMERBQTBEO0FBQzFELGdFQUFnRTtBQUNoRSxNQUFNRSxxQkFBcUI7QUFDcEIsTUFBTVQsZ0JBQWdCLENBQUNVLE1BQWdCRCxtQkFBbUJFLElBQUksQ0FBQ0Q7QUFFL0QsU0FBU1o7SUFDZCxNQUFNLEVBQUVjLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsT0FBT0MsUUFB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bUQ7SUFDckNVLFlBQVlDLElBQVksRUFBRVosT0FBZSxDQUFFO1FBQ3pDLEtBQUs7UUFDTCxJQUFJLENBQUNBLE9BQU8sR0FBSSwwQ0FBdUNZLE9BQUssTUFBR1o7SUFDakU7QUFDRjtBQUVPLE1BQU1uRCxnQ0FBZ0NvRDtJQUUzQ1UsYUFBYztRQUNaLEtBQUs7UUFDTCxJQUFJLENBQUNFLElBQUksR0FBRztRQUNaLElBQUksQ0FBQ2IsT0FBTyxHQUFJO0lBQ2xCO0FBQ0Y7QUFXTyxTQUFTcEMsZUFBZWtELEtBQVk7SUFDekMsT0FBT0MsS0FBS0MsU0FBUyxDQUFDO1FBQUVoQixTQUFTYyxNQUFNZCxPQUFPO1FBQUVpQixPQUFPSCxNQUFNRyxLQUFLO0lBQUM7QUFDckUiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXHNoYXJlZFxcbGliXFx1dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEh0bWxQcm9wcyB9IGZyb20gJy4vaHRtbC1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRUeXBlLCBKU1ggfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgRG9tYWluTG9jYWxlIH0gZnJvbSAnLi4vLi4vc2VydmVyL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRW52IH0gZnJvbSAnQG5leHQvZW52J1xuaW1wb3J0IHR5cGUgeyBJbmNvbWluZ01lc3NhZ2UsIFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnaHR0cCdcbmltcG9ydCB0eXBlIHsgTmV4dFJvdXRlciB9IGZyb20gJy4vcm91dGVyL3JvdXRlcidcbmltcG9ydCB0eXBlIHsgUGFyc2VkVXJsUXVlcnkgfSBmcm9tICdxdWVyeXN0cmluZydcbmltcG9ydCB0eXBlIHsgUHJldmlld0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQ09NUElMRVJfTkFNRVMgfSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB0eXBlIGZzIGZyb20gJ2ZzJ1xuXG5leHBvcnQgdHlwZSBOZXh0Q29tcG9uZW50VHlwZTxcbiAgQ29udGV4dCBleHRlbmRzIEJhc2VDb250ZXh0ID0gTmV4dFBhZ2VDb250ZXh0LFxuICBJbml0aWFsUHJvcHMgPSB7fSxcbiAgUHJvcHMgPSB7fSxcbj4gPSBDb21wb25lbnRUeXBlPFByb3BzPiAmIHtcbiAgLyoqXG4gICAqIFVzZWQgZm9yIGluaXRpYWwgcGFnZSBsb2FkIGRhdGEgcG9wdWxhdGlvbi4gRGF0YSByZXR1cm5lZCBmcm9tIGBnZXRJbml0aWFsUHJvcHNgIGlzIHNlcmlhbGl6ZWQgd2hlbiBzZXJ2ZXIgcmVuZGVyZWQuXG4gICAqIE1ha2Ugc3VyZSB0byByZXR1cm4gcGxhaW4gYE9iamVjdGAgd2l0aG91dCB1c2luZyBgRGF0ZWAsIGBNYXBgLCBgU2V0YC5cbiAgICogQHBhcmFtIGNvbnRleHQgQ29udGV4dCBvZiBgcGFnZWBcbiAgICovXG4gIGdldEluaXRpYWxQcm9wcz8oY29udGV4dDogQ29udGV4dCk6IEluaXRpYWxQcm9wcyB8IFByb21pc2U8SW5pdGlhbFByb3BzPlxufVxuXG5leHBvcnQgdHlwZSBEb2N1bWVudFR5cGUgPSBOZXh0Q29tcG9uZW50VHlwZTxcbiAgRG9jdW1lbnRDb250ZXh0LFxuICBEb2N1bWVudEluaXRpYWxQcm9wcyxcbiAgRG9jdW1lbnRQcm9wc1xuPlxuXG5leHBvcnQgdHlwZSBBcHBUeXBlPFAgPSB7fT4gPSBOZXh0Q29tcG9uZW50VHlwZTxcbiAgQXBwQ29udGV4dFR5cGUsXG4gIFAsXG4gIEFwcFByb3BzVHlwZTxhbnksIFA+XG4+XG5cbmV4cG9ydCB0eXBlIEFwcFRyZWVUeXBlID0gQ29tcG9uZW50VHlwZTxcbiAgQXBwSW5pdGlhbFByb3BzICYgeyBbbmFtZTogc3RyaW5nXTogYW55IH1cbj5cblxuLyoqXG4gKiBXZWIgdml0YWxzIHByb3ZpZGVkIHRvIF9hcHAucmVwb3J0V2ViVml0YWxzIGJ5IENvcmUgV2ViIFZpdGFscyBwbHVnaW4gZGV2ZWxvcGVkIGJ5IEdvb2dsZSBDaHJvbWUgdGVhbS5cbiAqIGh0dHBzOi8vbmV4dGpzLm9yZy9ibG9nL25leHQtOS00I2ludGVncmF0ZWQtd2ViLXZpdGFscy1yZXBvcnRpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IFdFQl9WSVRBTFMgPSBbJ0NMUycsICdGQ1AnLCAnRklEJywgJ0lOUCcsICdMQ1AnLCAnVFRGQiddIGFzIGNvbnN0XG5leHBvcnQgdHlwZSBOZXh0V2ViVml0YWxzTWV0cmljID0ge1xuICBpZDogc3RyaW5nXG4gIHN0YXJ0VGltZTogbnVtYmVyXG4gIHZhbHVlOiBudW1iZXJcbiAgYXR0cmlidXRpb24/OiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfVxufSAmIChcbiAgfCB7XG4gICAgICBsYWJlbDogJ3dlYi12aXRhbCdcbiAgICAgIG5hbWU6ICh0eXBlb2YgV0VCX1ZJVEFMUylbbnVtYmVyXVxuICAgIH1cbiAgfCB7XG4gICAgICBsYWJlbDogJ2N1c3RvbSdcbiAgICAgIG5hbWU6XG4gICAgICAgIHwgJ05leHQuanMtaHlkcmF0aW9uJ1xuICAgICAgICB8ICdOZXh0LmpzLXJvdXRlLWNoYW5nZS10by1yZW5kZXInXG4gICAgICAgIHwgJ05leHQuanMtcmVuZGVyJ1xuICAgIH1cbilcblxuZXhwb3J0IHR5cGUgRW5oYW5jZXI8Qz4gPSAoQ29tcG9uZW50OiBDKSA9PiBDXG5cbmV4cG9ydCB0eXBlIENvbXBvbmVudHNFbmhhbmNlciA9XG4gIHwge1xuICAgICAgZW5oYW5jZUFwcD86IEVuaGFuY2VyPEFwcFR5cGU+XG4gICAgICBlbmhhbmNlQ29tcG9uZW50PzogRW5oYW5jZXI8TmV4dENvbXBvbmVudFR5cGU+XG4gICAgfVxuICB8IEVuaGFuY2VyPE5leHRDb21wb25lbnRUeXBlPlxuXG5leHBvcnQgdHlwZSBSZW5kZXJQYWdlUmVzdWx0ID0ge1xuICBodG1sOiBzdHJpbmdcbiAgaGVhZD86IEFycmF5PEpTWC5FbGVtZW50IHwgbnVsbD5cbn1cblxuZXhwb3J0IHR5cGUgUmVuZGVyUGFnZSA9IChcbiAgb3B0aW9ucz86IENvbXBvbmVudHNFbmhhbmNlclxuKSA9PiBEb2N1bWVudEluaXRpYWxQcm9wcyB8IFByb21pc2U8RG9jdW1lbnRJbml0aWFsUHJvcHM+XG5cbmV4cG9ydCB0eXBlIEJhc2VDb250ZXh0ID0ge1xuICByZXM/OiBTZXJ2ZXJSZXNwb25zZVxuICBbazogc3RyaW5nXTogYW55XG59XG5cbmV4cG9ydCB0eXBlIE5FWFRfREFUQSA9IHtcbiAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgcGFnZTogc3RyaW5nXG4gIHF1ZXJ5OiBQYXJzZWRVcmxRdWVyeVxuICBidWlsZElkOiBzdHJpbmdcbiAgYXNzZXRQcmVmaXg/OiBzdHJpbmdcbiAgcnVudGltZUNvbmZpZz86IHsgW2tleTogc3RyaW5nXTogYW55IH1cbiAgbmV4dEV4cG9ydD86IGJvb2xlYW5cbiAgYXV0b0V4cG9ydD86IGJvb2xlYW5cbiAgaXNGYWxsYmFjaz86IGJvb2xlYW5cbiAgaXNFeHBlcmltZW50YWxDb21waWxlPzogYm9vbGVhblxuICBkeW5hbWljSWRzPzogKHN0cmluZyB8IG51bWJlcilbXVxuICBlcnI/OiBFcnJvciAmIHtcbiAgICBzdGF0dXNDb2RlPzogbnVtYmVyXG4gICAgc291cmNlPzogdHlwZW9mIENPTVBJTEVSX05BTUVTLnNlcnZlciB8IHR5cGVvZiBDT01QSUxFUl9OQU1FUy5lZGdlU2VydmVyXG4gIH1cbiAgZ3NwPzogYm9vbGVhblxuICBnc3NwPzogYm9vbGVhblxuICBjdXN0b21TZXJ2ZXI/OiBib29sZWFuXG4gIGdpcD86IGJvb2xlYW5cbiAgYXBwR2lwPzogYm9vbGVhblxuICBsb2NhbGU/OiBzdHJpbmdcbiAgbG9jYWxlcz86IHN0cmluZ1tdXG4gIGRlZmF1bHRMb2NhbGU/OiBzdHJpbmdcbiAgZG9tYWluTG9jYWxlcz86IERvbWFpbkxvY2FsZVtdXG4gIHNjcmlwdExvYWRlcj86IGFueVtdXG4gIGlzUHJldmlldz86IGJvb2xlYW5cbiAgbm90Rm91bmRTcmNQYWdlPzogc3RyaW5nXG59XG5cbi8qKlxuICogYE5leHRgIGNvbnRleHRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXh0UGFnZUNvbnRleHQge1xuICAvKipcbiAgICogRXJyb3Igb2JqZWN0IGlmIGVuY291bnRlcmVkIGR1cmluZyByZW5kZXJpbmdcbiAgICovXG4gIGVycj86IChFcnJvciAmIHsgc3RhdHVzQ29kZT86IG51bWJlciB9KSB8IG51bGxcbiAgLyoqXG4gICAqIGBIVFRQYCByZXF1ZXN0IG9iamVjdC5cbiAgICovXG4gIHJlcT86IEluY29taW5nTWVzc2FnZVxuICAvKipcbiAgICogYEhUVFBgIHJlc3BvbnNlIG9iamVjdC5cbiAgICovXG4gIHJlcz86IFNlcnZlclJlc3BvbnNlXG4gIC8qKlxuICAgKiBQYXRoIHNlY3Rpb24gb2YgYFVSTGAuXG4gICAqL1xuICBwYXRobmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBRdWVyeSBzdHJpbmcgc2VjdGlvbiBvZiBgVVJMYCBwYXJzZWQgYXMgYW4gb2JqZWN0LlxuICAgKi9cbiAgcXVlcnk6IFBhcnNlZFVybFF1ZXJ5XG4gIC8qKlxuICAgKiBgU3RyaW5nYCBvZiB0aGUgYWN0dWFsIHBhdGggaW5jbHVkaW5nIHF1ZXJ5LlxuICAgKi9cbiAgYXNQYXRoPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudGx5IGFjdGl2ZSBsb2NhbGVcbiAgICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKipcbiAgICogQWxsIGNvbmZpZ3VyZWQgbG9jYWxlc1xuICAgKi9cbiAgbG9jYWxlcz86IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJlZCBkZWZhdWx0IGxvY2FsZVxuICAgKi9cbiAgZGVmYXVsdExvY2FsZT86IHN0cmluZ1xuICAvKipcbiAgICogYENvbXBvbmVudGAgdGhlIHRyZWUgb2YgdGhlIEFwcCB0byB1c2UgaWYgbmVlZGluZyB0byByZW5kZXIgc2VwYXJhdGVseVxuICAgKi9cbiAgQXBwVHJlZTogQXBwVHJlZVR5cGVcbn1cblxuZXhwb3J0IHR5cGUgQXBwQ29udGV4dFR5cGU8Um91dGVyIGV4dGVuZHMgTmV4dFJvdXRlciA9IE5leHRSb3V0ZXI+ID0ge1xuICBDb21wb25lbnQ6IE5leHRDb21wb25lbnRUeXBlPE5leHRQYWdlQ29udGV4dD5cbiAgQXBwVHJlZTogQXBwVHJlZVR5cGVcbiAgY3R4OiBOZXh0UGFnZUNvbnRleHRcbiAgcm91dGVyOiBSb3V0ZXJcbn1cblxuZXhwb3J0IHR5cGUgQXBwSW5pdGlhbFByb3BzPFBhZ2VQcm9wcyA9IGFueT4gPSB7XG4gIHBhZ2VQcm9wczogUGFnZVByb3BzXG59XG5cbmV4cG9ydCB0eXBlIEFwcFByb3BzVHlwZTxcbiAgUm91dGVyIGV4dGVuZHMgTmV4dFJvdXRlciA9IE5leHRSb3V0ZXIsXG4gIFBhZ2VQcm9wcyA9IHt9LFxuPiA9IEFwcEluaXRpYWxQcm9wczxQYWdlUHJvcHM+ICYge1xuICBDb21wb25lbnQ6IE5leHRDb21wb25lbnRUeXBlPE5leHRQYWdlQ29udGV4dCwgYW55LCBhbnk+XG4gIHJvdXRlcjogUm91dGVyXG4gIF9fTl9TU0c/OiBib29sZWFuXG4gIF9fTl9TU1A/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50Q29udGV4dCA9IE5leHRQYWdlQ29udGV4dCAmIHtcbiAgcmVuZGVyUGFnZTogUmVuZGVyUGFnZVxuICBkZWZhdWx0R2V0SW5pdGlhbFByb3BzKFxuICAgIGN0eDogRG9jdW1lbnRDb250ZXh0LFxuICAgIG9wdGlvbnM/OiB7IG5vbmNlPzogc3RyaW5nIH1cbiAgKTogUHJvbWlzZTxEb2N1bWVudEluaXRpYWxQcm9wcz5cbn1cblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRJbml0aWFsUHJvcHMgPSBSZW5kZXJQYWdlUmVzdWx0ICYge1xuICBzdHlsZXM/OiBSZWFjdC5SZWFjdEVsZW1lbnRbXSB8IEl0ZXJhYmxlPFJlYWN0LlJlYWN0Tm9kZT4gfCBKU1guRWxlbWVudFxufVxuXG5leHBvcnQgdHlwZSBEb2N1bWVudFByb3BzID0gRG9jdW1lbnRJbml0aWFsUHJvcHMgJiBIdG1sUHJvcHNcblxuLyoqXG4gKiBOZXh0IGBBUElgIHJvdXRlIHJlcXVlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXh0QXBpUmVxdWVzdCBleHRlbmRzIEluY29taW5nTWVzc2FnZSB7XG4gIC8qKlxuICAgKiBPYmplY3Qgb2YgYHF1ZXJ5YCB2YWx1ZXMgZnJvbSB1cmxcbiAgICovXG4gIHF1ZXJ5OiBQYXJ0aWFsPHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXVxuICB9PlxuICAvKipcbiAgICogT2JqZWN0IG9mIGBjb29raWVzYCBmcm9tIGhlYWRlclxuICAgKi9cbiAgY29va2llczogUGFydGlhbDx7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nXG4gIH0+XG5cbiAgYm9keTogYW55XG5cbiAgZW52OiBFbnZcblxuICBkcmFmdE1vZGU/OiBib29sZWFuXG5cbiAgcHJldmlldz86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFByZXZpZXcgZGF0YSBzZXQgb24gdGhlIHJlcXVlc3QsIGlmIGFueVxuICAgKiAqL1xuICBwcmV2aWV3RGF0YT86IFByZXZpZXdEYXRhXG59XG5cbi8qKlxuICogU2VuZCBib2R5IG9mIHJlc3BvbnNlXG4gKi9cbnR5cGUgU2VuZDxUPiA9IChib2R5OiBUKSA9PiB2b2lkXG5cbi8qKlxuICogTmV4dCBgQVBJYCByb3V0ZSByZXNwb25zZVxuICovXG5leHBvcnQgdHlwZSBOZXh0QXBpUmVzcG9uc2U8RGF0YSA9IGFueT4gPSBTZXJ2ZXJSZXNwb25zZSAmIHtcbiAgLyoqXG4gICAqIFNlbmQgZGF0YSBgYW55YCBkYXRhIGluIHJlc3BvbnNlXG4gICAqL1xuICBzZW5kOiBTZW5kPERhdGE+XG4gIC8qKlxuICAgKiBTZW5kIGRhdGEgYGpzb25gIGRhdGEgaW4gcmVzcG9uc2VcbiAgICovXG4gIGpzb246IFNlbmQ8RGF0YT5cbiAgc3RhdHVzOiAoc3RhdHVzQ29kZTogbnVtYmVyKSA9PiBOZXh0QXBpUmVzcG9uc2U8RGF0YT5cbiAgcmVkaXJlY3QodXJsOiBzdHJpbmcpOiBOZXh0QXBpUmVzcG9uc2U8RGF0YT5cbiAgcmVkaXJlY3Qoc3RhdHVzOiBudW1iZXIsIHVybDogc3RyaW5nKTogTmV4dEFwaVJlc3BvbnNlPERhdGE+XG5cbiAgLyoqXG4gICAqIFNldCBkcmFmdCBtb2RlXG4gICAqL1xuICBzZXREcmFmdE1vZGU6IChvcHRpb25zOiB7IGVuYWJsZTogYm9vbGVhbiB9KSA9PiBOZXh0QXBpUmVzcG9uc2U8RGF0YT5cblxuICAvKipcbiAgICogU2V0IHByZXZpZXcgZGF0YSBmb3IgTmV4dC5qcycgcHJlcmVuZGVyIG1vZGVcbiAgICovXG4gIHNldFByZXZpZXdEYXRhOiAoXG4gICAgZGF0YTogb2JqZWN0IHwgc3RyaW5nLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICAvKipcbiAgICAgICAqIFNwZWNpZmllcyB0aGUgbnVtYmVyIChpbiBzZWNvbmRzKSBmb3IgdGhlIHByZXZpZXcgc2Vzc2lvbiB0byBsYXN0IGZvci5cbiAgICAgICAqIFRoZSBnaXZlbiBudW1iZXIgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gaW50ZWdlciBieSByb3VuZGluZyBkb3duLlxuICAgICAgICogQnkgZGVmYXVsdCwgbm8gbWF4aW11bSBhZ2UgaXMgc2V0IGFuZCB0aGUgcHJldmlldyBzZXNzaW9uIGZpbmlzaGVzXG4gICAgICAgKiB3aGVuIHRoZSBjbGllbnQgc2h1dHMgZG93biAoYnJvd3NlciBpcyBjbG9zZWQpLlxuICAgICAgICovXG4gICAgICBtYXhBZ2U/OiBudW1iZXJcbiAgICAgIC8qKlxuICAgICAgICogU3BlY2lmaWVzIHRoZSBwYXRoIGZvciB0aGUgcHJldmlldyBzZXNzaW9uIHRvIHdvcmsgdW5kZXIuIEJ5IGRlZmF1bHQsXG4gICAgICAgKiB0aGUgcGF0aCBpcyBjb25zaWRlcmVkIHRoZSBcImRlZmF1bHQgcGF0aFwiLCBpLmUuLCBhbnkgcGFnZXMgdW5kZXIgXCIvXCIuXG4gICAgICAgKi9cbiAgICAgIHBhdGg/OiBzdHJpbmdcbiAgICB9XG4gICkgPT4gTmV4dEFwaVJlc3BvbnNlPERhdGE+XG5cbiAgLyoqXG4gICAqIENsZWFyIHByZXZpZXcgZGF0YSBmb3IgTmV4dC5qcycgcHJlcmVuZGVyIG1vZGVcbiAgICovXG4gIGNsZWFyUHJldmlld0RhdGE6IChvcHRpb25zPzogeyBwYXRoPzogc3RyaW5nIH0pID0+IE5leHRBcGlSZXNwb25zZTxEYXRhPlxuXG4gIC8qKlxuICAgKiBSZXZhbGlkYXRlIGEgc3BlY2lmaWMgcGFnZSBhbmQgcmVnZW5lcmF0ZSBpdCB1c2luZyBPbi1EZW1hbmQgSW5jcmVtZW50YWxcbiAgICogU3RhdGljIFJlZ2VuZXJhdGlvbi5cbiAgICogVGhlIHBhdGggc2hvdWxkIGJlIGFuIGFjdHVhbCBwYXRoLCBub3QgYSByZXdyaXR0ZW4gcGF0aC4gRS5nLiBmb3JcbiAgICogXCIvYmxvZy9bc2x1Z11cIiB0aGlzIHNob3VsZCBiZSBcIi9ibG9nL3Bvc3QtMVwiLlxuICAgKiBAbGluayBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9kYXRhLWZldGNoaW5nL2luY3JlbWVudGFsLXN0YXRpYy1yZWdlbmVyYXRpb24jb24tZGVtYW5kLXJldmFsaWRhdGlvbi13aXRoLXJldmFsaWRhdGVwYXRoXG4gICAqL1xuICByZXZhbGlkYXRlOiAoXG4gICAgdXJsUGF0aDogc3RyaW5nLFxuICAgIG9wdHM/OiB7XG4gICAgICB1bnN0YWJsZV9vbmx5R2VuZXJhdGVkPzogYm9vbGVhblxuICAgIH1cbiAgKSA9PiBQcm9taXNlPHZvaWQ+XG59XG5cbi8qKlxuICogTmV4dCBgQVBJYCByb3V0ZSBoYW5kbGVyXG4gKi9cbmV4cG9ydCB0eXBlIE5leHRBcGlIYW5kbGVyPFQgPSBhbnk+ID0gKFxuICByZXE6IE5leHRBcGlSZXF1ZXN0LFxuICByZXM6IE5leHRBcGlSZXNwb25zZTxUPlxuKSA9PiB1bmtub3duIHwgUHJvbWlzZTx1bmtub3duPlxuXG4vKipcbiAqIFV0aWxzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleGVjT25jZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBSZXR1cm5UeXBlPFQ+PihcbiAgZm46IFRcbik6IFQge1xuICBsZXQgdXNlZCA9IGZhbHNlXG4gIGxldCByZXN1bHQ6IFJldHVyblR5cGU8VD5cblxuICByZXR1cm4gKCguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgIGlmICghdXNlZCkge1xuICAgICAgdXNlZCA9IHRydWVcbiAgICAgIHJlc3VsdCA9IGZuKC4uLmFyZ3MpXG4gICAgfVxuICAgIHJldHVybiByZXN1bHRcbiAgfSkgYXMgVFxufVxuXG4vLyBTY2hlbWU6IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMy4xXG4vLyBBYnNvbHV0ZSBVUkw6IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tNC4zXG5jb25zdCBBQlNPTFVURV9VUkxfUkVHRVggPSAvXlthLXpBLVpdW2EtekEtWlxcZCtcXC0uXSo/Oi9cbmV4cG9ydCBjb25zdCBpc0Fic29sdXRlVXJsID0gKHVybDogc3RyaW5nKSA9PiBBQlNPTFVURV9VUkxfUkVHRVgudGVzdCh1cmwpXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhdGlvbk9yaWdpbigpIHtcbiAgY29uc3QgeyBwcm90b2NvbCwgaG9zdG5hbWUsIHBvcnQgfSA9IHdpbmRvdy5sb2NhdGlvblxuICByZXR1cm4gYCR7cHJvdG9jb2x9Ly8ke2hvc3RuYW1lfSR7cG9ydCA/ICc6JyArIHBvcnQgOiAnJ31gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVUkwoKSB7XG4gIGNvbnN0IHsgaHJlZiB9ID0gd2luZG93LmxvY2F0aW9uXG4gIGNvbnN0IG9yaWdpbiA9IGdldExvY2F0aW9uT3JpZ2luKClcbiAgcmV0dXJuIGhyZWYuc3Vic3RyaW5nKG9yaWdpbi5sZW5ndGgpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXNwbGF5TmFtZTxQPihDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8UD4pIHtcbiAgcmV0dXJuIHR5cGVvZiBDb21wb25lbnQgPT09ICdzdHJpbmcnXG4gICAgPyBDb21wb25lbnRcbiAgICA6IENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCAnVW5rbm93bidcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUmVzU2VudChyZXM6IFNlcnZlclJlc3BvbnNlKSB7XG4gIHJldHVybiByZXMuZmluaXNoZWQgfHwgcmVzLmhlYWRlcnNTZW50XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVSZXBlYXRlZFNsYXNoZXModXJsOiBzdHJpbmcpIHtcbiAgY29uc3QgdXJsUGFydHMgPSB1cmwuc3BsaXQoJz8nKVxuICBjb25zdCB1cmxOb1F1ZXJ5ID0gdXJsUGFydHNbMF1cblxuICByZXR1cm4gKFxuICAgIHVybE5vUXVlcnlcbiAgICAgIC8vIGZpcnN0IHdlIHJlcGxhY2UgYW55IG5vbi1lbmNvZGVkIGJhY2tzbGFzaGVzIHdpdGggZm9yd2FyZFxuICAgICAgLy8gdGhlbiBub3JtYWxpemUgcmVwZWF0ZWQgZm9yd2FyZCBzbGFzaGVzXG4gICAgICAucmVwbGFjZSgvXFxcXC9nLCAnLycpXG4gICAgICAucmVwbGFjZSgvXFwvXFwvKy9nLCAnLycpICtcbiAgICAodXJsUGFydHNbMV0gPyBgPyR7dXJsUGFydHMuc2xpY2UoMSkuam9pbignPycpfWAgOiAnJylcbiAgKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEdldEluaXRpYWxQcm9wczxcbiAgQyBleHRlbmRzIEJhc2VDb250ZXh0LFxuICBJUCA9IHt9LFxuICBQID0ge30sXG4+KEFwcDogTmV4dENvbXBvbmVudFR5cGU8QywgSVAsIFA+LCBjdHg6IEMpOiBQcm9taXNlPElQPiB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgaWYgKEFwcC5wcm90b3R5cGU/LmdldEluaXRpYWxQcm9wcykge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBcIiR7Z2V0RGlzcGxheU5hbWUoXG4gICAgICAgIEFwcFxuICAgICAgKX0uZ2V0SW5pdGlhbFByb3BzKClcIiBpcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIG1ldGhvZCAtIHZpc2l0IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2dldC1pbml0aWFsLXByb3BzLWFzLWFuLWluc3RhbmNlLW1ldGhvZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi5gXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSlcbiAgICB9XG4gIH1cbiAgLy8gd2hlbiBjYWxsZWQgZnJvbSBfYXBwIGBjdHhgIGlzIG5lc3RlZCBpbiBgY3R4YFxuICBjb25zdCByZXMgPSBjdHgucmVzIHx8IChjdHguY3R4ICYmIGN0eC5jdHgucmVzKVxuXG4gIGlmICghQXBwLmdldEluaXRpYWxQcm9wcykge1xuICAgIGlmIChjdHguY3R4ICYmIGN0eC5Db21wb25lbnQpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmUgcGFnZVByb3BzIGRlZmF1bHRcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhZ2VQcm9wczogYXdhaXQgbG9hZEdldEluaXRpYWxQcm9wcyhjdHguQ29tcG9uZW50LCBjdHguY3R4KSxcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHt9IGFzIElQXG4gIH1cblxuICBjb25zdCBwcm9wcyA9IGF3YWl0IEFwcC5nZXRJbml0aWFsUHJvcHMoY3R4KVxuXG4gIGlmIChyZXMgJiYgaXNSZXNTZW50KHJlcykpIHtcbiAgICByZXR1cm4gcHJvcHNcbiAgfVxuXG4gIGlmICghcHJvcHMpIHtcbiAgICBjb25zdCBtZXNzYWdlID0gYFwiJHtnZXREaXNwbGF5TmFtZShcbiAgICAgIEFwcFxuICAgICl9LmdldEluaXRpYWxQcm9wcygpXCIgc2hvdWxkIHJlc29sdmUgdG8gYW4gb2JqZWN0LiBCdXQgZm91bmQgXCIke3Byb3BzfVwiIGluc3RlYWQuYFxuICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKVxuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBpZiAoT2JqZWN0LmtleXMocHJvcHMpLmxlbmd0aCA9PT0gMCAmJiAhY3R4LmN0eCkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgJHtnZXREaXNwbGF5TmFtZShcbiAgICAgICAgICBBcHBcbiAgICAgICAgKX0gcmV0dXJuZWQgYW4gZW1wdHkgb2JqZWN0IGZyb20gXFxgZ2V0SW5pdGlhbFByb3BzXFxgLiBUaGlzIGRlLW9wdGltaXplcyBhbmQgcHJldmVudHMgYXV0b21hdGljIHN0YXRpYyBvcHRpbWl6YXRpb24uIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2VtcHR5LW9iamVjdC1nZXRJbml0aWFsUHJvcHNgXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHByb3BzXG59XG5cbmV4cG9ydCBjb25zdCBTUCA9IHR5cGVvZiBwZXJmb3JtYW5jZSAhPT0gJ3VuZGVmaW5lZCdcbmV4cG9ydCBjb25zdCBTVCA9XG4gIFNQICYmXG4gIChbJ21hcmsnLCAnbWVhc3VyZScsICdnZXRFbnRyaWVzQnlOYW1lJ10gYXMgY29uc3QpLmV2ZXJ5KFxuICAgIChtZXRob2QpID0+IHR5cGVvZiBwZXJmb3JtYW5jZVttZXRob2RdID09PSAnZnVuY3Rpb24nXG4gIClcblxuZXhwb3J0IGNsYXNzIERlY29kZUVycm9yIGV4dGVuZHMgRXJyb3Ige31cbmV4cG9ydCBjbGFzcyBOb3JtYWxpemVFcnJvciBleHRlbmRzIEVycm9yIHt9XG5leHBvcnQgY2xhc3MgUGFnZU5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvZGU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHBhZ2U6IHN0cmluZykge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLmNvZGUgPSAnRU5PRU5UJ1xuICAgIHRoaXMubmFtZSA9ICdQYWdlTm90Rm91bmRFcnJvcidcbiAgICB0aGlzLm1lc3NhZ2UgPSBgQ2Fubm90IGZpbmQgbW9kdWxlIGZvciBwYWdlOiAke3BhZ2V9YFxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNaXNzaW5nU3RhdGljUGFnZSBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IocGFnZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy5tZXNzYWdlID0gYEZhaWxlZCB0byBsb2FkIHN0YXRpYyBmaWxlIGZvciBwYWdlOiAke3BhZ2V9ICR7bWVzc2FnZX1gXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb2RlOiBzdHJpbmdcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuY29kZSA9ICdFTk9FTlQnXG4gICAgdGhpcy5tZXNzYWdlID0gYENhbm5vdCBmaW5kIHRoZSBtaWRkbGV3YXJlIG1vZHVsZWBcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlRnMge1xuICBleGlzdHNTeW5jOiB0eXBlb2YgZnMuZXhpc3RzU3luY1xuICByZWFkRmlsZTogdHlwZW9mIGZzLnByb21pc2VzLnJlYWRGaWxlXG4gIHJlYWRGaWxlU3luYzogdHlwZW9mIGZzLnJlYWRGaWxlU3luY1xuICB3cml0ZUZpbGUoZjogc3RyaW5nLCBkOiBhbnkpOiBQcm9taXNlPHZvaWQ+XG4gIG1rZGlyKGRpcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkIHwgc3RyaW5nPlxuICBzdGF0KGY6IHN0cmluZyk6IFByb21pc2U8eyBtdGltZTogRGF0ZSB9PlxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5RXJyb3IoZXJyb3I6IEVycm9yKSB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeSh7IG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsIHN0YWNrOiBlcnJvci5zdGFjayB9KVxufVxuIl0sIm5hbWVzIjpbIkRlY29kZUVycm9yIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJTUCIsIlNUIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImlzQWJzb2x1dGVVcmwiLCJpc1Jlc1NlbnQiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwic3RyaW5naWZ5RXJyb3IiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJhcmdzIiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInByb3RvdHlwZSIsImdldEluaXRpYWxQcm9wcyIsIm1lc3NhZ2UiLCJFcnJvciIsInBhZ2VQcm9wcyIsInByb3BzIiwiT2JqZWN0Iiwia2V5cyIsImNvbnNvbGUiLCJ3YXJuIiwicGVyZm9ybWFuY2UiLCJldmVyeSIsIm1ldGhvZCIsImNvbnN0cnVjdG9yIiwicGFnZSIsImNvZGUiLCJlcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFjayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/utils.js\n"); +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n 'CLS',\n 'FCP',\n 'FID',\n 'INP',\n 'LCP',\n 'TTFB'\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? ':' + port : '');\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown';\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split('?');\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, '/').replace(/\\/\\/+/g, '/') + (urlParts[1] ? \"?\" + urlParts.slice(1).join('?') : '');\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== 'undefined';\nconst ST = SP && [\n 'mark',\n 'measure',\n 'getEntriesByName'\n].every((method)=>typeof performance[method] === 'function');\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = 'ENOENT';\n this.name = 'PageNotFoundError';\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = 'ENOENT';\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBb2FhQSxXQUFXO2VBQVhBOztJQW9CQUMsdUJBQXVCO2VBQXZCQTs7SUFQQUMsaUJBQWlCO2VBQWpCQTs7SUFaQUMsY0FBYztlQUFkQTs7SUFDQUMsaUJBQWlCO2VBQWpCQTs7SUFUQUMsRUFBRTtlQUFGQTs7SUFDQUMsRUFBRTtlQUFGQTs7SUFsWEFDLFVBQVU7ZUFBVkE7O0lBc1FHQyxRQUFRO2VBQVJBOztJQStCQUMsY0FBYztlQUFkQTs7SUFYQUMsaUJBQWlCO2VBQWpCQTs7SUFLQUMsTUFBTTtlQUFOQTs7SUFQSEMsZUFBYTtlQUFiQTs7SUFtQkdDLFNBQVM7ZUFBVEE7O0lBa0JNQyxtQkFBbUI7ZUFBbkJBOztJQWROQyx3QkFBd0I7ZUFBeEJBOztJQStHQUMsY0FBYztlQUFkQTs7O0FBOVpULE1BQU1ULGFBQWE7SUFBQztJQUFPO0lBQU87SUFBTztJQUFPO0lBQU87Q0FBTztBQXNROUQsU0FBU0MsU0FDZFMsRUFBSztJQUVMLElBQUlDLE9BQU87SUFDWCxJQUFJQztJQUVKLE9BQVE7eUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1lBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztRQUNWLElBQUksQ0FBQ0YsTUFBTTtZQUNUQSxPQUFPO1lBQ1BDLFNBQVNGLE1BQU1HO1FBQ2pCO1FBQ0EsT0FBT0Q7SUFDVDtBQUNGO0FBRUEsMERBQTBEO0FBQzFELGdFQUFnRTtBQUNoRSxNQUFNRSxxQkFBcUI7QUFDcEIsTUFBTVQsZ0JBQWdCLENBQUNVLE1BQWdCRCxtQkFBbUJFLElBQUksQ0FBQ0Q7QUFFL0QsU0FBU1o7SUFDZCxNQUFNLEVBQUVjLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsT0FBT0MsUUFB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Q3JDVSxZQUFZQyxJQUFZLEVBQUVaLE9BQWUsQ0FBRTtRQUN6QyxLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUksMENBQXVDWSxPQUFLLE1BQUdaO0lBQ2pFO0FBQ0Y7QUFFTyxNQUFNbkQsZ0NBQWdDb0Q7SUFFM0NVLGFBQWM7UUFDWixLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNiLE9BQU8sR0FBSTtJQUNsQjtBQUNGO0FBV08sU0FBU3BDLGVBQWVrRCxLQUFZO0lBQ3pDLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUFFaEIsU0FBU2MsTUFBTWQsT0FBTztRQUFFaUIsT0FBT0gsTUFBTUcsS0FBSztJQUFDO0FBQ3JFIiwic291cmNlcyI6WyJFOlxcc3JjXFxzaGFyZWRcXGxpYlxcdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBIdG1sUHJvcHMgfSBmcm9tICcuL2h0bWwtY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50VHlwZSwgSlNYIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IERvbWFpbkxvY2FsZSB9IGZyb20gJy4uLy4uL3NlcnZlci9jb25maWcnXG5pbXBvcnQgdHlwZSB7IEVudiB9IGZyb20gJ0BuZXh0L2VudidcbmltcG9ydCB0eXBlIHsgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnXG5pbXBvcnQgdHlwZSB7IE5leHRSb3V0ZXIgfSBmcm9tICcuL3JvdXRlci9yb3V0ZXInXG5pbXBvcnQgdHlwZSB7IFBhcnNlZFVybFF1ZXJ5IH0gZnJvbSAncXVlcnlzdHJpbmcnXG5pbXBvcnQgdHlwZSB7IFByZXZpZXdEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENPTVBJTEVSX05BTUVTIH0gZnJvbSAnLi9jb25zdGFudHMnXG5pbXBvcnQgdHlwZSBmcyBmcm9tICdmcydcblxuZXhwb3J0IHR5cGUgTmV4dENvbXBvbmVudFR5cGU8XG4gIENvbnRleHQgZXh0ZW5kcyBCYXNlQ29udGV4dCA9IE5leHRQYWdlQ29udGV4dCxcbiAgSW5pdGlhbFByb3BzID0ge30sXG4gIFByb3BzID0ge30sXG4+ID0gQ29tcG9uZW50VHlwZTxQcm9wcz4gJiB7XG4gIC8qKlxuICAgKiBVc2VkIGZvciBpbml0aWFsIHBhZ2UgbG9hZCBkYXRhIHBvcHVsYXRpb24uIERhdGEgcmV0dXJuZWQgZnJvbSBgZ2V0SW5pdGlhbFByb3BzYCBpcyBzZXJpYWxpemVkIHdoZW4gc2VydmVyIHJlbmRlcmVkLlxuICAgKiBNYWtlIHN1cmUgdG8gcmV0dXJuIHBsYWluIGBPYmplY3RgIHdpdGhvdXQgdXNpbmcgYERhdGVgLCBgTWFwYCwgYFNldGAuXG4gICAqIEBwYXJhbSBjb250ZXh0IENvbnRleHQgb2YgYHBhZ2VgXG4gICAqL1xuICBnZXRJbml0aWFsUHJvcHM/KGNvbnRleHQ6IENvbnRleHQpOiBJbml0aWFsUHJvcHMgfCBQcm9taXNlPEluaXRpYWxQcm9wcz5cbn1cblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRUeXBlID0gTmV4dENvbXBvbmVudFR5cGU8XG4gIERvY3VtZW50Q29udGV4dCxcbiAgRG9jdW1lbnRJbml0aWFsUHJvcHMsXG4gIERvY3VtZW50UHJvcHNcbj5cblxuZXhwb3J0IHR5cGUgQXBwVHlwZTxQID0ge30+ID0gTmV4dENvbXBvbmVudFR5cGU8XG4gIEFwcENvbnRleHRUeXBlLFxuICBQLFxuICBBcHBQcm9wc1R5cGU8YW55LCBQPlxuPlxuXG5leHBvcnQgdHlwZSBBcHBUcmVlVHlwZSA9IENvbXBvbmVudFR5cGU8XG4gIEFwcEluaXRpYWxQcm9wcyAmIHsgW25hbWU6IHN0cmluZ106IGFueSB9XG4+XG5cbi8qKlxuICogV2ViIHZpdGFscyBwcm92aWRlZCB0byBfYXBwLnJlcG9ydFdlYlZpdGFscyBieSBDb3JlIFdlYiBWaXRhbHMgcGx1Z2luIGRldmVsb3BlZCBieSBHb29nbGUgQ2hyb21lIHRlYW0uXG4gKiBodHRwczovL25leHRqcy5vcmcvYmxvZy9uZXh0LTktNCNpbnRlZ3JhdGVkLXdlYi12aXRhbHMtcmVwb3J0aW5nXG4gKi9cbmV4cG9ydCBjb25zdCBXRUJfVklUQUxTID0gWydDTFMnLCAnRkNQJywgJ0ZJRCcsICdJTlAnLCAnTENQJywgJ1RURkInXSBhcyBjb25zdFxuZXhwb3J0IHR5cGUgTmV4dFdlYlZpdGFsc01ldHJpYyA9IHtcbiAgaWQ6IHN0cmluZ1xuICBzdGFydFRpbWU6IG51bWJlclxuICB2YWx1ZTogbnVtYmVyXG4gIGF0dHJpYnV0aW9uPzogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH1cbn0gJiAoXG4gIHwge1xuICAgICAgbGFiZWw6ICd3ZWItdml0YWwnXG4gICAgICBuYW1lOiAodHlwZW9mIFdFQl9WSVRBTFMpW251bWJlcl1cbiAgICB9XG4gIHwge1xuICAgICAgbGFiZWw6ICdjdXN0b20nXG4gICAgICBuYW1lOlxuICAgICAgICB8ICdOZXh0LmpzLWh5ZHJhdGlvbidcbiAgICAgICAgfCAnTmV4dC5qcy1yb3V0ZS1jaGFuZ2UtdG8tcmVuZGVyJ1xuICAgICAgICB8ICdOZXh0LmpzLXJlbmRlcidcbiAgICB9XG4pXG5cbmV4cG9ydCB0eXBlIEVuaGFuY2VyPEM+ID0gKENvbXBvbmVudDogQykgPT4gQ1xuXG5leHBvcnQgdHlwZSBDb21wb25lbnRzRW5oYW5jZXIgPVxuICB8IHtcbiAgICAgIGVuaGFuY2VBcHA/OiBFbmhhbmNlcjxBcHBUeXBlPlxuICAgICAgZW5oYW5jZUNvbXBvbmVudD86IEVuaGFuY2VyPE5leHRDb21wb25lbnRUeXBlPlxuICAgIH1cbiAgfCBFbmhhbmNlcjxOZXh0Q29tcG9uZW50VHlwZT5cblxuZXhwb3J0IHR5cGUgUmVuZGVyUGFnZVJlc3VsdCA9IHtcbiAgaHRtbDogc3RyaW5nXG4gIGhlYWQ/OiBBcnJheTxKU1guRWxlbWVudCB8IG51bGw+XG59XG5cbmV4cG9ydCB0eXBlIFJlbmRlclBhZ2UgPSAoXG4gIG9wdGlvbnM/OiBDb21wb25lbnRzRW5oYW5jZXJcbikgPT4gRG9jdW1lbnRJbml0aWFsUHJvcHMgfCBQcm9taXNlPERvY3VtZW50SW5pdGlhbFByb3BzPlxuXG5leHBvcnQgdHlwZSBCYXNlQ29udGV4dCA9IHtcbiAgcmVzPzogU2VydmVyUmVzcG9uc2VcbiAgW2s6IHN0cmluZ106IGFueVxufVxuXG5leHBvcnQgdHlwZSBORVhUX0RBVEEgPSB7XG4gIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIHBhZ2U6IHN0cmluZ1xuICBxdWVyeTogUGFyc2VkVXJsUXVlcnlcbiAgYnVpbGRJZDogc3RyaW5nXG4gIGFzc2V0UHJlZml4Pzogc3RyaW5nXG4gIHJ1bnRpbWVDb25maWc/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9XG4gIG5leHRFeHBvcnQ/OiBib29sZWFuXG4gIGF1dG9FeHBvcnQ/OiBib29sZWFuXG4gIGlzRmFsbGJhY2s/OiBib29sZWFuXG4gIGlzRXhwZXJpbWVudGFsQ29tcGlsZT86IGJvb2xlYW5cbiAgZHluYW1pY0lkcz86IChzdHJpbmcgfCBudW1iZXIpW11cbiAgZXJyPzogRXJyb3IgJiB7XG4gICAgc3RhdHVzQ29kZT86IG51bWJlclxuICAgIHNvdXJjZT86IHR5cGVvZiBDT01QSUxFUl9OQU1FUy5zZXJ2ZXIgfCB0eXBlb2YgQ09NUElMRVJfTkFNRVMuZWRnZVNlcnZlclxuICB9XG4gIGdzcD86IGJvb2xlYW5cbiAgZ3NzcD86IGJvb2xlYW5cbiAgY3VzdG9tU2VydmVyPzogYm9vbGVhblxuICBnaXA/OiBib29sZWFuXG4gIGFwcEdpcD86IGJvb2xlYW5cbiAgbG9jYWxlPzogc3RyaW5nXG4gIGxvY2FsZXM/OiBzdHJpbmdbXVxuICBkZWZhdWx0TG9jYWxlPzogc3RyaW5nXG4gIGRvbWFpbkxvY2FsZXM/OiBEb21haW5Mb2NhbGVbXVxuICBzY3JpcHRMb2FkZXI/OiBhbnlbXVxuICBpc1ByZXZpZXc/OiBib29sZWFuXG4gIG5vdEZvdW5kU3JjUGFnZT86IHN0cmluZ1xufVxuXG4vKipcbiAqIGBOZXh0YCBjb250ZXh0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dFBhZ2VDb250ZXh0IHtcbiAgLyoqXG4gICAqIEVycm9yIG9iamVjdCBpZiBlbmNvdW50ZXJlZCBkdXJpbmcgcmVuZGVyaW5nXG4gICAqL1xuICBlcnI/OiAoRXJyb3IgJiB7IHN0YXR1c0NvZGU/OiBudW1iZXIgfSkgfCBudWxsXG4gIC8qKlxuICAgKiBgSFRUUGAgcmVxdWVzdCBvYmplY3QuXG4gICAqL1xuICByZXE/OiBJbmNvbWluZ01lc3NhZ2VcbiAgLyoqXG4gICAqIGBIVFRQYCByZXNwb25zZSBvYmplY3QuXG4gICAqL1xuICByZXM/OiBTZXJ2ZXJSZXNwb25zZVxuICAvKipcbiAgICogUGF0aCBzZWN0aW9uIG9mIGBVUkxgLlxuICAgKi9cbiAgcGF0aG5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogUXVlcnkgc3RyaW5nIHNlY3Rpb24gb2YgYFVSTGAgcGFyc2VkIGFzIGFuIG9iamVjdC5cbiAgICovXG4gIHF1ZXJ5OiBQYXJzZWRVcmxRdWVyeVxuICAvKipcbiAgICogYFN0cmluZ2Agb2YgdGhlIGFjdHVhbCBwYXRoIGluY2x1ZGluZyBxdWVyeS5cbiAgICovXG4gIGFzUGF0aD86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIGN1cnJlbnRseSBhY3RpdmUgbG9jYWxlXG4gICAqL1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEFsbCBjb25maWd1cmVkIGxvY2FsZXNcbiAgICovXG4gIGxvY2FsZXM/OiBzdHJpbmdbXVxuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyZWQgZGVmYXVsdCBsb2NhbGVcbiAgICovXG4gIGRlZmF1bHRMb2NhbGU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIGBDb21wb25lbnRgIHRoZSB0cmVlIG9mIHRoZSBBcHAgdG8gdXNlIGlmIG5lZWRpbmcgdG8gcmVuZGVyIHNlcGFyYXRlbHlcbiAgICovXG4gIEFwcFRyZWU6IEFwcFRyZWVUeXBlXG59XG5cbmV4cG9ydCB0eXBlIEFwcENvbnRleHRUeXBlPFJvdXRlciBleHRlbmRzIE5leHRSb3V0ZXIgPSBOZXh0Um91dGVyPiA9IHtcbiAgQ29tcG9uZW50OiBOZXh0Q29tcG9uZW50VHlwZTxOZXh0UGFnZUNvbnRleHQ+XG4gIEFwcFRyZWU6IEFwcFRyZWVUeXBlXG4gIGN0eDogTmV4dFBhZ2VDb250ZXh0XG4gIHJvdXRlcjogUm91dGVyXG59XG5cbmV4cG9ydCB0eXBlIEFwcEluaXRpYWxQcm9wczxQYWdlUHJvcHMgPSBhbnk+ID0ge1xuICBwYWdlUHJvcHM6IFBhZ2VQcm9wc1xufVxuXG5leHBvcnQgdHlwZSBBcHBQcm9wc1R5cGU8XG4gIFJvdXRlciBleHRlbmRzIE5leHRSb3V0ZXIgPSBOZXh0Um91dGVyLFxuICBQYWdlUHJvcHMgPSB7fSxcbj4gPSBBcHBJbml0aWFsUHJvcHM8UGFnZVByb3BzPiAmIHtcbiAgQ29tcG9uZW50OiBOZXh0Q29tcG9uZW50VHlwZTxOZXh0UGFnZUNvbnRleHQsIGFueSwgYW55PlxuICByb3V0ZXI6IFJvdXRlclxuICBfX05fU1NHPzogYm9vbGVhblxuICBfX05fU1NQPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBEb2N1bWVudENvbnRleHQgPSBOZXh0UGFnZUNvbnRleHQgJiB7XG4gIHJlbmRlclBhZ2U6IFJlbmRlclBhZ2VcbiAgZGVmYXVsdEdldEluaXRpYWxQcm9wcyhcbiAgICBjdHg6IERvY3VtZW50Q29udGV4dCxcbiAgICBvcHRpb25zPzogeyBub25jZT86IHN0cmluZyB9XG4gICk6IFByb21pc2U8RG9jdW1lbnRJbml0aWFsUHJvcHM+XG59XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50SW5pdGlhbFByb3BzID0gUmVuZGVyUGFnZVJlc3VsdCAmIHtcbiAgc3R5bGVzPzogUmVhY3QuUmVhY3RFbGVtZW50W10gfCBJdGVyYWJsZTxSZWFjdC5SZWFjdE5vZGU+IHwgSlNYLkVsZW1lbnRcbn1cblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRQcm9wcyA9IERvY3VtZW50SW5pdGlhbFByb3BzICYgSHRtbFByb3BzXG5cbi8qKlxuICogTmV4dCBgQVBJYCByb3V0ZSByZXF1ZXN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dEFwaVJlcXVlc3QgZXh0ZW5kcyBJbmNvbWluZ01lc3NhZ2Uge1xuICAvKipcbiAgICogT2JqZWN0IG9mIGBxdWVyeWAgdmFsdWVzIGZyb20gdXJsXG4gICAqL1xuICBxdWVyeTogUGFydGlhbDx7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW11cbiAgfT5cbiAgLyoqXG4gICAqIE9iamVjdCBvZiBgY29va2llc2AgZnJvbSBoZWFkZXJcbiAgICovXG4gIGNvb2tpZXM6IFBhcnRpYWw8e1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZ1xuICB9PlxuXG4gIGJvZHk6IGFueVxuXG4gIGVudjogRW52XG5cbiAgZHJhZnRNb2RlPzogYm9vbGVhblxuXG4gIHByZXZpZXc/OiBib29sZWFuXG4gIC8qKlxuICAgKiBQcmV2aWV3IGRhdGEgc2V0IG9uIHRoZSByZXF1ZXN0LCBpZiBhbnlcbiAgICogKi9cbiAgcHJldmlld0RhdGE/OiBQcmV2aWV3RGF0YVxufVxuXG4vKipcbiAqIFNlbmQgYm9keSBvZiByZXNwb25zZVxuICovXG50eXBlIFNlbmQ8VD4gPSAoYm9keTogVCkgPT4gdm9pZFxuXG4vKipcbiAqIE5leHQgYEFQSWAgcm91dGUgcmVzcG9uc2VcbiAqL1xuZXhwb3J0IHR5cGUgTmV4dEFwaVJlc3BvbnNlPERhdGEgPSBhbnk+ID0gU2VydmVyUmVzcG9uc2UgJiB7XG4gIC8qKlxuICAgKiBTZW5kIGRhdGEgYGFueWAgZGF0YSBpbiByZXNwb25zZVxuICAgKi9cbiAgc2VuZDogU2VuZDxEYXRhPlxuICAvKipcbiAgICogU2VuZCBkYXRhIGBqc29uYCBkYXRhIGluIHJlc3BvbnNlXG4gICAqL1xuICBqc29uOiBTZW5kPERhdGE+XG4gIHN0YXR1czogKHN0YXR1c0NvZGU6IG51bWJlcikgPT4gTmV4dEFwaVJlc3BvbnNlPERhdGE+XG4gIHJlZGlyZWN0KHVybDogc3RyaW5nKTogTmV4dEFwaVJlc3BvbnNlPERhdGE+XG4gIHJlZGlyZWN0KHN0YXR1czogbnVtYmVyLCB1cmw6IHN0cmluZyk6IE5leHRBcGlSZXNwb25zZTxEYXRhPlxuXG4gIC8qKlxuICAgKiBTZXQgZHJhZnQgbW9kZVxuICAgKi9cbiAgc2V0RHJhZnRNb2RlOiAob3B0aW9uczogeyBlbmFibGU6IGJvb2xlYW4gfSkgPT4gTmV4dEFwaVJlc3BvbnNlPERhdGE+XG5cbiAgLyoqXG4gICAqIFNldCBwcmV2aWV3IGRhdGEgZm9yIE5leHQuanMnIHByZXJlbmRlciBtb2RlXG4gICAqL1xuICBzZXRQcmV2aWV3RGF0YTogKFxuICAgIGRhdGE6IG9iamVjdCB8IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBTcGVjaWZpZXMgdGhlIG51bWJlciAoaW4gc2Vjb25kcykgZm9yIHRoZSBwcmV2aWV3IHNlc3Npb24gdG8gbGFzdCBmb3IuXG4gICAgICAgKiBUaGUgZ2l2ZW4gbnVtYmVyIHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGludGVnZXIgYnkgcm91bmRpbmcgZG93bi5cbiAgICAgICAqIEJ5IGRlZmF1bHQsIG5vIG1heGltdW0gYWdlIGlzIHNldCBhbmQgdGhlIHByZXZpZXcgc2Vzc2lvbiBmaW5pc2hlc1xuICAgICAgICogd2hlbiB0aGUgY2xpZW50IHNodXRzIGRvd24gKGJyb3dzZXIgaXMgY2xvc2VkKS5cbiAgICAgICAqL1xuICAgICAgbWF4QWdlPzogbnVtYmVyXG4gICAgICAvKipcbiAgICAgICAqIFNwZWNpZmllcyB0aGUgcGF0aCBmb3IgdGhlIHByZXZpZXcgc2Vzc2lvbiB0byB3b3JrIHVuZGVyLiBCeSBkZWZhdWx0LFxuICAgICAgICogdGhlIHBhdGggaXMgY29uc2lkZXJlZCB0aGUgXCJkZWZhdWx0IHBhdGhcIiwgaS5lLiwgYW55IHBhZ2VzIHVuZGVyIFwiL1wiLlxuICAgICAgICovXG4gICAgICBwYXRoPzogc3RyaW5nXG4gICAgfVxuICApID0+IE5leHRBcGlSZXNwb25zZTxEYXRhPlxuXG4gIC8qKlxuICAgKiBDbGVhciBwcmV2aWV3IGRhdGEgZm9yIE5leHQuanMnIHByZXJlbmRlciBtb2RlXG4gICAqL1xuICBjbGVhclByZXZpZXdEYXRhOiAob3B0aW9ucz86IHsgcGF0aD86IHN0cmluZyB9KSA9PiBOZXh0QXBpUmVzcG9uc2U8RGF0YT5cblxuICAvKipcbiAgICogUmV2YWxpZGF0ZSBhIHNwZWNpZmljIHBhZ2UgYW5kIHJlZ2VuZXJhdGUgaXQgdXNpbmcgT24tRGVtYW5kIEluY3JlbWVudGFsXG4gICAqIFN0YXRpYyBSZWdlbmVyYXRpb24uXG4gICAqIFRoZSBwYXRoIHNob3VsZCBiZSBhbiBhY3R1YWwgcGF0aCwgbm90IGEgcmV3cml0dGVuIHBhdGguIEUuZy4gZm9yXG4gICAqIFwiL2Jsb2cvW3NsdWddXCIgdGhpcyBzaG91bGQgYmUgXCIvYmxvZy9wb3N0LTFcIi5cbiAgICogQGxpbmsgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vZGF0YS1mZXRjaGluZy9pbmNyZW1lbnRhbC1zdGF0aWMtcmVnZW5lcmF0aW9uI29uLWRlbWFuZC1yZXZhbGlkYXRpb24td2l0aC1yZXZhbGlkYXRlcGF0aFxuICAgKi9cbiAgcmV2YWxpZGF0ZTogKFxuICAgIHVybFBhdGg6IHN0cmluZyxcbiAgICBvcHRzPzoge1xuICAgICAgdW5zdGFibGVfb25seUdlbmVyYXRlZD86IGJvb2xlYW5cbiAgICB9XG4gICkgPT4gUHJvbWlzZTx2b2lkPlxufVxuXG4vKipcbiAqIE5leHQgYEFQSWAgcm91dGUgaGFuZGxlclxuICovXG5leHBvcnQgdHlwZSBOZXh0QXBpSGFuZGxlcjxUID0gYW55PiA9IChcbiAgcmVxOiBOZXh0QXBpUmVxdWVzdCxcbiAgcmVzOiBOZXh0QXBpUmVzcG9uc2U8VD5cbikgPT4gdW5rbm93biB8IFByb21pc2U8dW5rbm93bj5cblxuLyoqXG4gKiBVdGlsc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZXhlY09uY2U8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gUmV0dXJuVHlwZTxUPj4oXG4gIGZuOiBUXG4pOiBUIHtcbiAgbGV0IHVzZWQgPSBmYWxzZVxuICBsZXQgcmVzdWx0OiBSZXR1cm5UeXBlPFQ+XG5cbiAgcmV0dXJuICgoLi4uYXJnczogYW55W10pID0+IHtcbiAgICBpZiAoIXVzZWQpIHtcbiAgICAgIHVzZWQgPSB0cnVlXG4gICAgICByZXN1bHQgPSBmbiguLi5hcmdzKVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0pIGFzIFRcbn1cblxuLy8gU2NoZW1lOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMVxuLy8gQWJzb2x1dGUgVVJMOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTQuM1xuY29uc3QgQUJTT0xVVEVfVVJMX1JFR0VYID0gL15bYS16QS1aXVthLXpBLVpcXGQrXFwtLl0qPzovXG5leHBvcnQgY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmw6IHN0cmluZykgPT4gQUJTT0xVVEVfVVJMX1JFR0VYLnRlc3QodXJsKVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9jYXRpb25PcmlnaW4oKSB7XG4gIGNvbnN0IHsgcHJvdG9jb2wsIGhvc3RuYW1lLCBwb3J0IH0gPSB3aW5kb3cubG9jYXRpb25cbiAgcmV0dXJuIGAke3Byb3RvY29sfS8vJHtob3N0bmFtZX0ke3BvcnQgPyAnOicgKyBwb3J0IDogJyd9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VVJMKCkge1xuICBjb25zdCB7IGhyZWYgfSA9IHdpbmRvdy5sb2NhdGlvblxuICBjb25zdCBvcmlnaW4gPSBnZXRMb2NhdGlvbk9yaWdpbigpXG4gIHJldHVybiBocmVmLnN1YnN0cmluZyhvcmlnaW4ubGVuZ3RoKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGlzcGxheU5hbWU8UD4oQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFA+KSB7XG4gIHJldHVybiB0eXBlb2YgQ29tcG9uZW50ID09PSAnc3RyaW5nJ1xuICAgID8gQ29tcG9uZW50XG4gICAgOiBDb21wb25lbnQuZGlzcGxheU5hbWUgfHwgQ29tcG9uZW50Lm5hbWUgfHwgJ1Vua25vd24nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Jlc1NlbnQocmVzOiBTZXJ2ZXJSZXNwb25zZSkge1xuICByZXR1cm4gcmVzLmZpbmlzaGVkIHx8IHJlcy5oZWFkZXJzU2VudFxufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzKHVybDogc3RyaW5nKSB7XG4gIGNvbnN0IHVybFBhcnRzID0gdXJsLnNwbGl0KCc/JylcbiAgY29uc3QgdXJsTm9RdWVyeSA9IHVybFBhcnRzWzBdXG5cbiAgcmV0dXJuIChcbiAgICB1cmxOb1F1ZXJ5XG4gICAgICAvLyBmaXJzdCB3ZSByZXBsYWNlIGFueSBub24tZW5jb2RlZCBiYWNrc2xhc2hlcyB3aXRoIGZvcndhcmRcbiAgICAgIC8vIHRoZW4gbm9ybWFsaXplIHJlcGVhdGVkIGZvcndhcmQgc2xhc2hlc1xuICAgICAgLnJlcGxhY2UoL1xcXFwvZywgJy8nKVxuICAgICAgLnJlcGxhY2UoL1xcL1xcLysvZywgJy8nKSArXG4gICAgKHVybFBhcnRzWzFdID8gYD8ke3VybFBhcnRzLnNsaWNlKDEpLmpvaW4oJz8nKX1gIDogJycpXG4gIClcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRHZXRJbml0aWFsUHJvcHM8XG4gIEMgZXh0ZW5kcyBCYXNlQ29udGV4dCxcbiAgSVAgPSB7fSxcbiAgUCA9IHt9LFxuPihBcHA6IE5leHRDb21wb25lbnRUeXBlPEMsIElQLCBQPiwgY3R4OiBDKTogUHJvbWlzZTxJUD4ge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlmIChBcHAucHJvdG90eXBlPy5nZXRJbml0aWFsUHJvcHMpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgXCIke2dldERpc3BsYXlOYW1lKFxuICAgICAgICBBcHBcbiAgICAgICl9LmdldEluaXRpYWxQcm9wcygpXCIgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgLSB2aXNpdCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9nZXQtaW5pdGlhbC1wcm9wcy1hcy1hbi1pbnN0YW5jZS1tZXRob2QgZm9yIG1vcmUgaW5mb3JtYXRpb24uYFxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpXG4gICAgfVxuICB9XG4gIC8vIHdoZW4gY2FsbGVkIGZyb20gX2FwcCBgY3R4YCBpcyBuZXN0ZWQgaW4gYGN0eGBcbiAgY29uc3QgcmVzID0gY3R4LnJlcyB8fCAoY3R4LmN0eCAmJiBjdHguY3R4LnJlcylcblxuICBpZiAoIUFwcC5nZXRJbml0aWFsUHJvcHMpIHtcbiAgICBpZiAoY3R4LmN0eCAmJiBjdHguQ29tcG9uZW50KSB7XG4gICAgICAvLyBAdHMtaWdub3JlIHBhZ2VQcm9wcyBkZWZhdWx0XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYWdlUHJvcHM6IGF3YWl0IGxvYWRHZXRJbml0aWFsUHJvcHMoY3R4LkNvbXBvbmVudCwgY3R4LmN0eCksXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7fSBhcyBJUFxuICB9XG5cbiAgY29uc3QgcHJvcHMgPSBhd2FpdCBBcHAuZ2V0SW5pdGlhbFByb3BzKGN0eClcblxuICBpZiAocmVzICYmIGlzUmVzU2VudChyZXMpKSB7XG4gICAgcmV0dXJuIHByb3BzXG4gIH1cblxuICBpZiAoIXByb3BzKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGBcIiR7Z2V0RGlzcGxheU5hbWUoXG4gICAgICBBcHBcbiAgICApfS5nZXRJbml0aWFsUHJvcHMoKVwiIHNob3VsZCByZXNvbHZlIHRvIGFuIG9iamVjdC4gQnV0IGZvdW5kIFwiJHtwcm9wc31cIiBpbnN0ZWFkLmBcbiAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSlcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHByb3BzKS5sZW5ndGggPT09IDAgJiYgIWN0eC5jdHgpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYCR7Z2V0RGlzcGxheU5hbWUoXG4gICAgICAgICAgQXBwXG4gICAgICAgICl9IHJldHVybmVkIGFuIGVtcHR5IG9iamVjdCBmcm9tIFxcYGdldEluaXRpYWxQcm9wc1xcYC4gVGhpcyBkZS1vcHRpbWl6ZXMgYW5kIHByZXZlbnRzIGF1dG9tYXRpYyBzdGF0aWMgb3B0aW1pemF0aW9uLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9lbXB0eS1vYmplY3QtZ2V0SW5pdGlhbFByb3BzYFxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcm9wc1xufVxuXG5leHBvcnQgY29uc3QgU1AgPSB0eXBlb2YgcGVyZm9ybWFuY2UgIT09ICd1bmRlZmluZWQnXG5leHBvcnQgY29uc3QgU1QgPVxuICBTUCAmJlxuICAoWydtYXJrJywgJ21lYXN1cmUnLCAnZ2V0RW50cmllc0J5TmFtZSddIGFzIGNvbnN0KS5ldmVyeShcbiAgICAobWV0aG9kKSA9PiB0eXBlb2YgcGVyZm9ybWFuY2VbbWV0aG9kXSA9PT0gJ2Z1bmN0aW9uJ1xuICApXG5cbmV4cG9ydCBjbGFzcyBEZWNvZGVFcnJvciBleHRlbmRzIEVycm9yIHt9XG5leHBvcnQgY2xhc3MgTm9ybWFsaXplRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuZXhwb3J0IGNsYXNzIFBhZ2VOb3RGb3VuZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb2RlOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihwYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy5jb2RlID0gJ0VOT0VOVCdcbiAgICB0aGlzLm5hbWUgPSAnUGFnZU5vdEZvdW5kRXJyb3InXG4gICAgdGhpcy5tZXNzYWdlID0gYENhbm5vdCBmaW5kIG1vZHVsZSBmb3IgcGFnZTogJHtwYWdlfWBcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWlzc2luZ1N0YXRpY1BhZ2UgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHBhZ2U6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMubWVzc2FnZSA9IGBGYWlsZWQgdG8gbG9hZCBzdGF0aWMgZmlsZSBmb3IgcGFnZTogJHtwYWdlfSAke21lc3NhZ2V9YFxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNaWRkbGV3YXJlTm90Rm91bmRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29kZTogc3RyaW5nXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLmNvZGUgPSAnRU5PRU5UJ1xuICAgIHRoaXMubWVzc2FnZSA9IGBDYW5ub3QgZmluZCB0aGUgbWlkZGxld2FyZSBtb2R1bGVgXG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZUZzIHtcbiAgZXhpc3RzU3luYzogdHlwZW9mIGZzLmV4aXN0c1N5bmNcbiAgcmVhZEZpbGU6IHR5cGVvZiBmcy5wcm9taXNlcy5yZWFkRmlsZVxuICByZWFkRmlsZVN5bmM6IHR5cGVvZiBmcy5yZWFkRmlsZVN5bmNcbiAgd3JpdGVGaWxlKGY6IHN0cmluZywgZDogYW55KTogUHJvbWlzZTx2b2lkPlxuICBta2RpcihkaXI6IHN0cmluZyk6IFByb21pc2U8dm9pZCB8IHN0cmluZz5cbiAgc3RhdChmOiBzdHJpbmcpOiBQcm9taXNlPHsgbXRpbWU6IERhdGUgfT5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeUVycm9yKGVycm9yOiBFcnJvcikge1xuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoeyBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLCBzdGFjazogZXJyb3Iuc3RhY2sgfSlcbn1cbiJdLCJuYW1lcyI6WyJEZWNvZGVFcnJvciIsIk1pZGRsZXdhcmVOb3RGb3VuZEVycm9yIiwiTWlzc2luZ1N0YXRpY1BhZ2UiLCJOb3JtYWxpemVFcnJvciIsIlBhZ2VOb3RGb3VuZEVycm9yIiwiU1AiLCJTVCIsIldFQl9WSVRBTFMiLCJleGVjT25jZSIsImdldERpc3BsYXlOYW1lIiwiZ2V0TG9jYXRpb25PcmlnaW4iLCJnZXRVUkwiLCJpc0Fic29sdXRlVXJsIiwiaXNSZXNTZW50IiwibG9hZEdldEluaXRpYWxQcm9wcyIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsInN0cmluZ2lmeUVycm9yIiwiZm4iLCJ1c2VkIiwicmVzdWx0IiwiYXJncyIsIkFCU09MVVRFX1VSTF9SRUdFWCIsInVybCIsInRlc3QiLCJwcm90b2NvbCIsImhvc3RuYW1lIiwicG9ydCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsIm9yaWdpbiIsInN1YnN0cmluZyIsImxlbmd0aCIsIkNvbXBvbmVudCIsImRpc3BsYXlOYW1lIiwibmFtZSIsInJlcyIsImZpbmlzaGVkIiwiaGVhZGVyc1NlbnQiLCJ1cmxQYXJ0cyIsInNwbGl0IiwidXJsTm9RdWVyeSIsInJlcGxhY2UiLCJzbGljZSIsImpvaW4iLCJBcHAiLCJjdHgiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsIk9iamVjdCIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/utils.js\n"); /***/ }), @@ -2069,7 +2003,7 @@ eval("(()=>{\"use strict\";var e={491:(e,t,r)=>{Object.defineProperty(t,\"__esMo /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; -eval("/**\n * @license React\n * react-server-dom-webpack-client.edge.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */ \n true && function() {\n function _defineProperty(obj, key, value) {\n key in obj ? Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value;\n return obj;\n }\n function resolveClientReference(bundlerConfig, metadata) {\n if (bundlerConfig) {\n var moduleExports = bundlerConfig[metadata[0]];\n if (bundlerConfig = moduleExports && moduleExports[metadata[2]]) moduleExports = bundlerConfig.name;\n else {\n bundlerConfig = moduleExports && moduleExports[\"*\"];\n if (!bundlerConfig) throw Error('Could not find the module \"' + metadata[0] + '\" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');\n moduleExports = metadata[2];\n }\n return 4 === metadata.length ? [\n bundlerConfig.id,\n bundlerConfig.chunks,\n moduleExports,\n 1\n ] : [\n bundlerConfig.id,\n bundlerConfig.chunks,\n moduleExports\n ];\n }\n return metadata;\n }\n function resolveServerReference(bundlerConfig, id) {\n var name = \"\", resolvedModuleData = bundlerConfig[id];\n if (resolvedModuleData) name = resolvedModuleData.name;\n else {\n var idx = id.lastIndexOf(\"#\");\n -1 !== idx && (name = id.slice(idx + 1), resolvedModuleData = bundlerConfig[id.slice(0, idx)]);\n if (!resolvedModuleData) throw Error('Could not find the module \"' + id + '\" in the React Server Manifest. This is probably a bug in the React Server Components bundler.');\n }\n return resolvedModuleData.async ? [\n resolvedModuleData.id,\n resolvedModuleData.chunks,\n name,\n 1\n ] : [\n resolvedModuleData.id,\n resolvedModuleData.chunks,\n name\n ];\n }\n function requireAsyncModule(id) {\n var promise = globalThis.__next_require__(id);\n if (\"function\" !== typeof promise.then || \"fulfilled\" === promise.status) return null;\n promise.then(function(value) {\n promise.status = \"fulfilled\";\n promise.value = value;\n }, function(reason) {\n promise.status = \"rejected\";\n promise.reason = reason;\n });\n return promise;\n }\n function ignoreReject() {}\n function preloadModule(metadata) {\n for(var chunks = metadata[1], promises = [], i = 0; i < chunks.length;){\n var chunkId = chunks[i++];\n chunks[i++];\n var entry = chunkCache.get(chunkId);\n if (void 0 === entry) {\n entry = __webpack_require__.e(chunkId);\n promises.push(entry);\n var resolve = chunkCache.set.bind(chunkCache, chunkId, null);\n entry.then(resolve, ignoreReject);\n chunkCache.set(chunkId, entry);\n } else null !== entry && promises.push(entry);\n }\n return 4 === metadata.length ? 0 === promises.length ? requireAsyncModule(metadata[0]) : Promise.all(promises).then(function() {\n return requireAsyncModule(metadata[0]);\n }) : 0 < promises.length ? Promise.all(promises) : null;\n }\n function requireModule(metadata) {\n var moduleExports = globalThis.__next_require__(metadata[0]);\n if (4 === metadata.length && \"function\" === typeof moduleExports.then) if (\"fulfilled\" === moduleExports.status) moduleExports = moduleExports.value;\n else throw moduleExports.reason;\n return \"*\" === metadata[2] ? moduleExports : \"\" === metadata[2] ? moduleExports.__esModule ? moduleExports.default : moduleExports : moduleExports[metadata[2]];\n }\n function prepareDestinationWithChunks(moduleLoading, chunks, nonce$jscomp$0) {\n if (null !== moduleLoading) for(var i = 1; i < chunks.length; i += 2){\n var nonce = nonce$jscomp$0, JSCompiler_temp_const = ReactDOMSharedInternals.d, JSCompiler_temp_const$jscomp$0 = JSCompiler_temp_const.X, JSCompiler_temp_const$jscomp$1 = moduleLoading.prefix + chunks[i];\n var JSCompiler_inline_result = moduleLoading.crossOrigin;\n JSCompiler_inline_result = \"string\" === typeof JSCompiler_inline_result ? \"use-credentials\" === JSCompiler_inline_result ? JSCompiler_inline_result : \"\" : void 0;\n JSCompiler_temp_const$jscomp$0.call(JSCompiler_temp_const, JSCompiler_temp_const$jscomp$1, {\n crossOrigin: JSCompiler_inline_result,\n nonce: nonce\n });\n }\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function isObjectPrototype(object) {\n if (!object) return !1;\n var ObjectPrototype = Object.prototype;\n if (object === ObjectPrototype) return !0;\n if (getPrototypeOf(object)) return !1;\n object = Object.getOwnPropertyNames(object);\n for(var i = 0; i < object.length; i++)if (!(object[i] in ObjectPrototype)) return !1;\n return !0;\n }\n function isSimpleObject(object) {\n if (!isObjectPrototype(getPrototypeOf(object))) return !1;\n for(var names = Object.getOwnPropertyNames(object), i = 0; i < names.length; i++){\n var descriptor = Object.getOwnPropertyDescriptor(object, names[i]);\n if (!descriptor || !descriptor.enumerable && (\"key\" !== names[i] && \"ref\" !== names[i] || \"function\" !== typeof descriptor.get)) return !1;\n }\n return !0;\n }\n function objectName(object) {\n return Object.prototype.toString.call(object).replace(/^\\[object (.*)\\]$/, function(m, p0) {\n return p0;\n });\n }\n function describeKeyForErrorMessage(key) {\n var encodedKey = JSON.stringify(key);\n return '\"' + key + '\"' === encodedKey ? key : encodedKey;\n }\n function describeValueForErrorMessage(value) {\n switch(typeof value){\n case \"string\":\n return JSON.stringify(10 >= value.length ? value : value.slice(0, 10) + \"...\");\n case \"object\":\n if (isArrayImpl(value)) return \"[...]\";\n if (null !== value && value.$$typeof === CLIENT_REFERENCE_TAG) return \"client\";\n value = objectName(value);\n return \"Object\" === value ? \"{...}\" : value;\n case \"function\":\n return value.$$typeof === CLIENT_REFERENCE_TAG ? \"client\" : (value = value.displayName || value.name) ? \"function \" + value : \"function\";\n default:\n return String(value);\n }\n }\n function describeElementType(type) {\n if (\"string\" === typeof type) return type;\n switch(type){\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type) switch(type.$$typeof){\n case REACT_FORWARD_REF_TYPE:\n return describeElementType(type.render);\n case REACT_MEMO_TYPE:\n return describeElementType(type.type);\n case REACT_LAZY_TYPE:\n var payload = type._payload;\n type = type._init;\n try {\n return describeElementType(type(payload));\n } catch (x) {}\n }\n return \"\";\n }\n function describeObjectForErrorMessage(objectOrArray, expandedName) {\n var objKind = objectName(objectOrArray);\n if (\"Object\" !== objKind && \"Array\" !== objKind) return objKind;\n var start = -1, length = 0;\n if (isArrayImpl(objectOrArray)) if (jsxChildrenParents.has(objectOrArray)) {\n var type = jsxChildrenParents.get(objectOrArray);\n objKind = \"<\" + describeElementType(type) + \">\";\n for(var i = 0; i < objectOrArray.length; i++){\n var value = objectOrArray[i];\n value = \"string\" === typeof value ? value : \"object\" === typeof value && null !== value ? \"{\" + describeObjectForErrorMessage(value) + \"}\" : \"{\" + describeValueForErrorMessage(value) + \"}\";\n \"\" + i === expandedName ? (start = objKind.length, length = value.length, objKind += value) : objKind = 15 > value.length && 40 > objKind.length + value.length ? objKind + value : objKind + \"{...}\";\n }\n objKind += \"\";\n } else {\n objKind = \"[\";\n for(type = 0; type < objectOrArray.length; type++)0 < type && (objKind += \", \"), i = objectOrArray[type], i = \"object\" === typeof i && null !== i ? describeObjectForErrorMessage(i) : describeValueForErrorMessage(i), \"\" + type === expandedName ? (start = objKind.length, length = i.length, objKind += i) : objKind = 10 > i.length && 40 > objKind.length + i.length ? objKind + i : objKind + \"...\";\n objKind += \"]\";\n }\n else if (objectOrArray.$$typeof === REACT_ELEMENT_TYPE) objKind = \"<\" + describeElementType(objectOrArray.type) + \"/>\";\n else {\n if (objectOrArray.$$typeof === CLIENT_REFERENCE_TAG) return \"client\";\n if (jsxPropsParents.has(objectOrArray)) {\n objKind = jsxPropsParents.get(objectOrArray);\n objKind = \"<\" + (describeElementType(objKind) || \"...\");\n type = Object.keys(objectOrArray);\n for(i = 0; i < type.length; i++){\n objKind += \" \";\n value = type[i];\n objKind += describeKeyForErrorMessage(value) + \"=\";\n var _value2 = objectOrArray[value];\n var _substr2 = value === expandedName && \"object\" === typeof _value2 && null !== _value2 ? describeObjectForErrorMessage(_value2) : describeValueForErrorMessage(_value2);\n \"string\" !== typeof _value2 && (_substr2 = \"{\" + _substr2 + \"}\");\n value === expandedName ? (start = objKind.length, length = _substr2.length, objKind += _substr2) : objKind = 10 > _substr2.length && 40 > objKind.length + _substr2.length ? objKind + _substr2 : objKind + \"...\";\n }\n objKind += \">\";\n } else {\n objKind = \"{\";\n type = Object.keys(objectOrArray);\n for(i = 0; i < type.length; i++)0 < i && (objKind += \", \"), value = type[i], objKind += describeKeyForErrorMessage(value) + \": \", _value2 = objectOrArray[value], _value2 = \"object\" === typeof _value2 && null !== _value2 ? describeObjectForErrorMessage(_value2) : describeValueForErrorMessage(_value2), value === expandedName ? (start = objKind.length, length = _value2.length, objKind += _value2) : objKind = 10 > _value2.length && 40 > objKind.length + _value2.length ? objKind + _value2 : objKind + \"...\";\n objKind += \"}\";\n }\n }\n return void 0 === expandedName ? objKind : -1 < start && 0 < length ? (objectOrArray = \" \".repeat(start) + \"^\".repeat(length), \"\\n \" + objKind + \"\\n \" + objectOrArray) : \"\\n \" + objKind;\n }\n function serializeNumber(number) {\n return Number.isFinite(number) ? 0 === number && -Infinity === 1 / number ? \"$-0\" : number : Infinity === number ? \"$Infinity\" : -Infinity === number ? \"$-Infinity\" : \"$NaN\";\n }\n function processReply(root, formFieldPrefix, temporaryReferences, resolve, reject) {\n function serializeTypedArray(tag, typedArray) {\n typedArray = new Blob([\n new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength)\n ]);\n var blobId = nextPartId++;\n null === formData && (formData = new FormData());\n formData.append(formFieldPrefix + blobId, typedArray);\n return \"$\" + tag + blobId.toString(16);\n }\n function serializeBinaryReader(reader) {\n function progress(entry) {\n entry.done ? (entry = nextPartId++, data.append(formFieldPrefix + entry, new Blob(buffer)), data.append(formFieldPrefix + streamId, '\"$o' + entry.toString(16) + '\"'), data.append(formFieldPrefix + streamId, \"C\"), pendingParts--, 0 === pendingParts && resolve(data)) : (buffer.push(entry.value), reader.read(new Uint8Array(1024)).then(progress, reject));\n }\n null === formData && (formData = new FormData());\n var data = formData;\n pendingParts++;\n var streamId = nextPartId++, buffer = [];\n reader.read(new Uint8Array(1024)).then(progress, reject);\n return \"$r\" + streamId.toString(16);\n }\n function serializeReader(reader) {\n function progress(entry) {\n if (entry.done) data.append(formFieldPrefix + streamId, \"C\"), pendingParts--, 0 === pendingParts && resolve(data);\n else try {\n var partJSON = JSON.stringify(entry.value, resolveToJSON);\n data.append(formFieldPrefix + streamId, partJSON);\n reader.read().then(progress, reject);\n } catch (x) {\n reject(x);\n }\n }\n null === formData && (formData = new FormData());\n var data = formData;\n pendingParts++;\n var streamId = nextPartId++;\n reader.read().then(progress, reject);\n return \"$R\" + streamId.toString(16);\n }\n function serializeReadableStream(stream) {\n try {\n var binaryReader = stream.getReader({\n mode: \"byob\"\n });\n } catch (x) {\n return serializeReader(stream.getReader());\n }\n return serializeBinaryReader(binaryReader);\n }\n function serializeAsyncIterable(iterable, iterator) {\n function progress(entry) {\n if (entry.done) {\n if (void 0 === entry.value) data.append(formFieldPrefix + streamId, \"C\");\n else try {\n var partJSON = JSON.stringify(entry.value, resolveToJSON);\n data.append(formFieldPrefix + streamId, \"C\" + partJSON);\n } catch (x) {\n reject(x);\n return;\n }\n pendingParts--;\n 0 === pendingParts && resolve(data);\n } else try {\n var _partJSON = JSON.stringify(entry.value, resolveToJSON);\n data.append(formFieldPrefix + streamId, _partJSON);\n iterator.next().then(progress, reject);\n } catch (x$0) {\n reject(x$0);\n }\n }\n null === formData && (formData = new FormData());\n var data = formData;\n pendingParts++;\n var streamId = nextPartId++;\n iterable = iterable === iterator;\n iterator.next().then(progress, reject);\n return \"$\" + (iterable ? \"x\" : \"X\") + streamId.toString(16);\n }\n function resolveToJSON(key, value) {\n var originalValue = this[key];\n \"object\" !== typeof originalValue || originalValue === value || originalValue instanceof Date || (\"Object\" !== objectName(originalValue) ? console.error(\"Only plain objects can be passed to Server Functions from the Client. %s objects are not supported.%s\", objectName(originalValue), describeObjectForErrorMessage(this, key)) : console.error(\"Only plain objects can be passed to Server Functions from the Client. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.%s\", describeObjectForErrorMessage(this, key)));\n if (null === value) return null;\n if (\"object\" === typeof value) {\n switch(value.$$typeof){\n case REACT_ELEMENT_TYPE:\n if (void 0 !== temporaryReferences && -1 === key.indexOf(\":\")) {\n var parentReference = writtenObjects.get(this);\n if (void 0 !== parentReference) return temporaryReferences.set(parentReference + \":\" + key, value), \"$T\";\n }\n throw Error(\"React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.\" + describeObjectForErrorMessage(this, key));\n case REACT_LAZY_TYPE:\n originalValue = value._payload;\n var init = value._init;\n null === formData && (formData = new FormData());\n pendingParts++;\n try {\n parentReference = init(originalValue);\n var lazyId = nextPartId++, partJSON = serializeModel(parentReference, lazyId);\n formData.append(formFieldPrefix + lazyId, partJSON);\n return \"$\" + lazyId.toString(16);\n } catch (x) {\n if (\"object\" === typeof x && null !== x && \"function\" === typeof x.then) {\n pendingParts++;\n var _lazyId = nextPartId++;\n parentReference = function() {\n try {\n var _partJSON2 = serializeModel(value, _lazyId), _data = formData;\n _data.append(formFieldPrefix + _lazyId, _partJSON2);\n pendingParts--;\n 0 === pendingParts && resolve(_data);\n } catch (reason) {\n reject(reason);\n }\n };\n x.then(parentReference, parentReference);\n return \"$\" + _lazyId.toString(16);\n }\n reject(x);\n return null;\n } finally{\n pendingParts--;\n }\n }\n if (\"function\" === typeof value.then) {\n null === formData && (formData = new FormData());\n pendingParts++;\n var promiseId = nextPartId++;\n value.then(function(partValue) {\n try {\n var _partJSON3 = serializeModel(partValue, promiseId);\n partValue = formData;\n partValue.append(formFieldPrefix + promiseId, _partJSON3);\n pendingParts--;\n 0 === pendingParts && resolve(partValue);\n } catch (reason) {\n reject(reason);\n }\n }, reject);\n return \"$@\" + promiseId.toString(16);\n }\n parentReference = writtenObjects.get(value);\n if (void 0 !== parentReference) if (modelRoot === value) modelRoot = null;\n else return parentReference;\n else -1 === key.indexOf(\":\") && (parentReference = writtenObjects.get(this), void 0 !== parentReference && (parentReference = parentReference + \":\" + key, writtenObjects.set(value, parentReference), void 0 !== temporaryReferences && temporaryReferences.set(parentReference, value)));\n if (isArrayImpl(value)) return value;\n if (value instanceof FormData) {\n null === formData && (formData = new FormData());\n var _data3 = formData;\n key = nextPartId++;\n var prefix = formFieldPrefix + key + \"_\";\n value.forEach(function(originalValue, originalKey) {\n _data3.append(prefix + originalKey, originalValue);\n });\n return \"$K\" + key.toString(16);\n }\n if (value instanceof Map) return key = nextPartId++, parentReference = serializeModel(Array.from(value), key), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), \"$Q\" + key.toString(16);\n if (value instanceof Set) return key = nextPartId++, parentReference = serializeModel(Array.from(value), key), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), \"$W\" + key.toString(16);\n if (value instanceof ArrayBuffer) return key = new Blob([\n value\n ]), parentReference = nextPartId++, null === formData && (formData = new FormData()), formData.append(formFieldPrefix + parentReference, key), \"$A\" + parentReference.toString(16);\n if (value instanceof Int8Array) return serializeTypedArray(\"O\", value);\n if (value instanceof Uint8Array) return serializeTypedArray(\"o\", value);\n if (value instanceof Uint8ClampedArray) return serializeTypedArray(\"U\", value);\n if (value instanceof Int16Array) return serializeTypedArray(\"S\", value);\n if (value instanceof Uint16Array) return serializeTypedArray(\"s\", value);\n if (value instanceof Int32Array) return serializeTypedArray(\"L\", value);\n if (value instanceof Uint32Array) return serializeTypedArray(\"l\", value);\n if (value instanceof Float32Array) return serializeTypedArray(\"G\", value);\n if (value instanceof Float64Array) return serializeTypedArray(\"g\", value);\n if (value instanceof BigInt64Array) return serializeTypedArray(\"M\", value);\n if (value instanceof BigUint64Array) return serializeTypedArray(\"m\", value);\n if (value instanceof DataView) return serializeTypedArray(\"V\", value);\n if (\"function\" === typeof Blob && value instanceof Blob) return null === formData && (formData = new FormData()), key = nextPartId++, formData.append(formFieldPrefix + key, value), \"$B\" + key.toString(16);\n if (parentReference = getIteratorFn(value)) return parentReference = parentReference.call(value), parentReference === value ? (key = nextPartId++, parentReference = serializeModel(Array.from(parentReference), key), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), \"$i\" + key.toString(16)) : Array.from(parentReference);\n if (\"function\" === typeof ReadableStream && value instanceof ReadableStream) return serializeReadableStream(value);\n parentReference = value[ASYNC_ITERATOR];\n if (\"function\" === typeof parentReference) return serializeAsyncIterable(value, parentReference.call(value));\n parentReference = getPrototypeOf(value);\n if (parentReference !== ObjectPrototype && (null === parentReference || null !== getPrototypeOf(parentReference))) {\n if (void 0 === temporaryReferences) throw Error(\"Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.\" + describeObjectForErrorMessage(this, key));\n return \"$T\";\n }\n value.$$typeof === REACT_CONTEXT_TYPE ? console.error(\"React Context Providers cannot be passed to Server Functions from the Client.%s\", describeObjectForErrorMessage(this, key)) : \"Object\" !== objectName(value) ? console.error(\"Only plain objects can be passed to Server Functions from the Client. %s objects are not supported.%s\", objectName(value), describeObjectForErrorMessage(this, key)) : isSimpleObject(value) ? Object.getOwnPropertySymbols && (parentReference = Object.getOwnPropertySymbols(value), 0 < parentReference.length && console.error(\"Only plain objects can be passed to Server Functions from the Client. Objects with symbol properties like %s are not supported.%s\", parentReference[0].description, describeObjectForErrorMessage(this, key))) : console.error(\"Only plain objects can be passed to Server Functions from the Client. Classes or other objects with methods are not supported.%s\", describeObjectForErrorMessage(this, key));\n return value;\n }\n if (\"string\" === typeof value) {\n if (\"Z\" === value[value.length - 1] && this[key] instanceof Date) return \"$D\" + value;\n key = \"$\" === value[0] ? \"$\" + value : value;\n return key;\n }\n if (\"boolean\" === typeof value) return value;\n if (\"number\" === typeof value) return serializeNumber(value);\n if (\"undefined\" === typeof value) return \"$undefined\";\n if (\"function\" === typeof value) {\n parentReference = knownServerReferences.get(value);\n if (void 0 !== parentReference) return key = JSON.stringify(parentReference, resolveToJSON), null === formData && (formData = new FormData()), parentReference = nextPartId++, formData.set(formFieldPrefix + parentReference, key), \"$F\" + parentReference.toString(16);\n if (void 0 !== temporaryReferences && -1 === key.indexOf(\":\") && (parentReference = writtenObjects.get(this), void 0 !== parentReference)) return temporaryReferences.set(parentReference + \":\" + key, value), \"$T\";\n throw Error(\"Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.\");\n }\n if (\"symbol\" === typeof value) {\n if (void 0 !== temporaryReferences && -1 === key.indexOf(\":\") && (parentReference = writtenObjects.get(this), void 0 !== parentReference)) return temporaryReferences.set(parentReference + \":\" + key, value), \"$T\";\n throw Error(\"Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.\" + describeObjectForErrorMessage(this, key));\n }\n if (\"bigint\" === typeof value) return \"$n\" + value.toString(10);\n throw Error(\"Type \" + typeof value + \" is not supported as an argument to a Server Function.\");\n }\n function serializeModel(model, id) {\n \"object\" === typeof model && null !== model && (id = \"$\" + id.toString(16), writtenObjects.set(model, id), void 0 !== temporaryReferences && temporaryReferences.set(id, model));\n modelRoot = model;\n return JSON.stringify(model, resolveToJSON);\n }\n var nextPartId = 1, pendingParts = 0, formData = null, writtenObjects = new WeakMap(), modelRoot = root, json = serializeModel(root, 0);\n null === formData ? resolve(json) : (formData.set(formFieldPrefix + \"0\", json), 0 === pendingParts && resolve(formData));\n return function() {\n 0 < pendingParts && (pendingParts = 0, null === formData ? resolve(json) : resolve(formData));\n };\n }\n function encodeFormData(reference) {\n var resolve, reject, thenable = new Promise(function(res, rej) {\n resolve = res;\n reject = rej;\n });\n processReply(reference, \"\", void 0, function(body) {\n if (\"string\" === typeof body) {\n var data = new FormData();\n data.append(\"0\", body);\n body = data;\n }\n thenable.status = \"fulfilled\";\n thenable.value = body;\n resolve(body);\n }, function(e) {\n thenable.status = \"rejected\";\n thenable.reason = e;\n reject(e);\n });\n return thenable;\n }\n function defaultEncodeFormAction(identifierPrefix) {\n var reference = knownServerReferences.get(this);\n if (!reference) throw Error(\"Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.\");\n var data = null;\n if (null !== reference.bound) {\n data = boundCache.get(reference);\n data || (data = encodeFormData(reference), boundCache.set(reference, data));\n if (\"rejected\" === data.status) throw data.reason;\n if (\"fulfilled\" !== data.status) throw data;\n reference = data.value;\n var prefixedData = new FormData();\n reference.forEach(function(value, key) {\n prefixedData.append(\"$ACTION_\" + identifierPrefix + \":\" + key, value);\n });\n data = prefixedData;\n reference = \"$ACTION_REF_\" + identifierPrefix;\n } else reference = \"$ACTION_ID_\" + reference.id;\n return {\n name: reference,\n method: \"POST\",\n encType: \"multipart/form-data\",\n data: data\n };\n }\n function isSignatureEqual(referenceId, numberOfBoundArgs) {\n var reference = knownServerReferences.get(this);\n if (!reference) throw Error(\"Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.\");\n if (reference.id !== referenceId) return !1;\n var boundPromise = reference.bound;\n if (null === boundPromise) return 0 === numberOfBoundArgs;\n switch(boundPromise.status){\n case \"fulfilled\":\n return boundPromise.value.length === numberOfBoundArgs;\n case \"pending\":\n throw boundPromise;\n case \"rejected\":\n throw boundPromise.reason;\n default:\n throw \"string\" !== typeof boundPromise.status && (boundPromise.status = \"pending\", boundPromise.then(function(boundArgs) {\n boundPromise.status = \"fulfilled\";\n boundPromise.value = boundArgs;\n }, function(error) {\n boundPromise.status = \"rejected\";\n boundPromise.reason = error;\n })), boundPromise;\n }\n }\n function createFakeServerFunction(name, filename, sourceMap, line, col, environmentName, innerFunction) {\n name || (name = \"\");\n var encodedName = JSON.stringify(name);\n 1 >= line ? (line = encodedName.length + 7, col = \"s=>({\" + encodedName + \" \".repeat(col < line ? 0 : col - line) + \":(...args) => s(...args)})\\n/* This module is a proxy to a Server Action. Turn on Source Maps to see the server source. */\") : col = \"/* This module is a proxy to a Server Action. Turn on Source Maps to see the server source. */\" + \"\\n\".repeat(line - 2) + \"server=>({\" + encodedName + \":\\n\" + \" \".repeat(1 > col ? 0 : col - 1) + \"(...args) => server(...args)})\";\n filename.startsWith(\"/\") && (filename = \"file://\" + filename);\n sourceMap ? (col += \"\\n//# sourceURL=rsc://React/\" + encodeURIComponent(environmentName) + \"/\" + filename + \"?s\" + fakeServerFunctionIdx++, col += \"\\n//# sourceMappingURL=\" + sourceMap) : filename && (col += \"\\n//# sourceURL=\" + filename);\n try {\n return (0, eval)(col)(innerFunction)[name];\n } catch (x) {\n return innerFunction;\n }\n }\n function registerServerReference(proxy, reference$jscomp$0, encodeFormAction) {\n Object.defineProperties(proxy, {\n $$FORM_ACTION: {\n value: void 0 === encodeFormAction ? defaultEncodeFormAction : function() {\n var reference = knownServerReferences.get(this);\n if (!reference) throw Error(\"Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.\");\n var boundPromise = reference.bound;\n null === boundPromise && (boundPromise = Promise.resolve([]));\n return encodeFormAction(reference.id, boundPromise);\n }\n },\n $$IS_SIGNATURE_EQUAL: {\n value: isSignatureEqual\n },\n bind: {\n value: bind\n }\n });\n knownServerReferences.set(proxy, reference$jscomp$0);\n }\n function bind() {\n var newFn = FunctionBind.apply(this, arguments), reference = knownServerReferences.get(this);\n if (reference) {\n null != arguments[0] && console.error('Cannot bind \"this\" of a Server Action. Pass null or undefined as the first argument to .bind().');\n var args = ArraySlice.call(arguments, 1), boundPromise = null;\n boundPromise = null !== reference.bound ? Promise.resolve(reference.bound).then(function(boundArgs) {\n return boundArgs.concat(args);\n }) : Promise.resolve(args);\n Object.defineProperties(newFn, {\n $$FORM_ACTION: {\n value: this.$$FORM_ACTION\n },\n $$IS_SIGNATURE_EQUAL: {\n value: isSignatureEqual\n },\n bind: {\n value: bind\n }\n });\n knownServerReferences.set(newFn, {\n id: reference.id,\n bound: boundPromise\n });\n }\n return newFn;\n }\n function createBoundServerReference(metaData, callServer, encodeFormAction, findSourceMapURL) {\n function action() {\n var args = Array.prototype.slice.call(arguments);\n return bound ? \"fulfilled\" === bound.status ? callServer(id, bound.value.concat(args)) : Promise.resolve(bound).then(function(boundArgs) {\n return callServer(id, boundArgs.concat(args));\n }) : callServer(id, args);\n }\n var id = metaData.id, bound = metaData.bound, location = metaData.location;\n if (location) {\n var functionName = metaData.name || \"\", filename = location[1], line = location[2];\n location = location[3];\n metaData = metaData.env || \"Server\";\n findSourceMapURL = null == findSourceMapURL ? null : findSourceMapURL(filename, metaData);\n action = createFakeServerFunction(functionName, filename, findSourceMapURL, line, location, metaData, action);\n }\n registerServerReference(action, {\n id: id,\n bound: bound\n }, encodeFormAction);\n return action;\n }\n function parseStackLocation(error) {\n error = error.stack;\n error.startsWith(\"Error: react-stack-top-frame\\n\") && (error = error.slice(29));\n var endOfFirst = error.indexOf(\"\\n\");\n if (-1 !== endOfFirst) {\n var endOfSecond = error.indexOf(\"\\n\", endOfFirst + 1);\n endOfFirst = -1 === endOfSecond ? error.slice(endOfFirst + 1) : error.slice(endOfFirst + 1, endOfSecond);\n } else endOfFirst = error;\n error = v8FrameRegExp.exec(endOfFirst);\n if (!error && (error = jscSpiderMonkeyFrameRegExp.exec(endOfFirst), !error)) return null;\n endOfFirst = error[1] || \"\";\n \"\" === endOfFirst && (endOfFirst = \"\");\n endOfSecond = error[2] || error[5] || \"\";\n \"\" === endOfSecond && (endOfSecond = \"\");\n return [\n endOfFirst,\n endOfSecond,\n +(error[3] || error[6]),\n +(error[4] || error[7])\n ];\n }\n function createServerReference$1(id, callServer, encodeFormAction, findSourceMapURL, functionName) {\n function action() {\n var args = Array.prototype.slice.call(arguments);\n return callServer(id, args);\n }\n var location = parseStackLocation(Error(\"react-stack-top-frame\"));\n if (null !== location) {\n var filename = location[1], line = location[2];\n location = location[3];\n findSourceMapURL = null == findSourceMapURL ? null : findSourceMapURL(filename, \"Client\");\n action = createFakeServerFunction(functionName || \"\", filename, findSourceMapURL, line, location, \"Client\", action);\n }\n registerServerReference(action, {\n id: id,\n bound: null\n }, encodeFormAction);\n return action;\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch(type){\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type) switch(\"number\" === typeof type.tag && console.error(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), type.$$typeof){\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type || (type = innerType.displayName || innerType.name || \"\", type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\");\n return type;\n case REACT_MEMO_TYPE:\n return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || \"Memo\";\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function ReactPromise(status, value, reason, response) {\n this.status = status;\n this.value = value;\n this.reason = reason;\n this._response = response;\n this._debugInfo = null;\n }\n function readChunk(chunk) {\n switch(chunk.status){\n case \"resolved_model\":\n initializeModelChunk(chunk);\n break;\n case \"resolved_module\":\n initializeModuleChunk(chunk);\n }\n switch(chunk.status){\n case \"fulfilled\":\n return chunk.value;\n case \"pending\":\n case \"blocked\":\n throw chunk;\n default:\n throw chunk.reason;\n }\n }\n function createPendingChunk(response) {\n return new ReactPromise(\"pending\", null, null, response);\n }\n function wakeChunk(listeners, value) {\n for(var i = 0; i < listeners.length; i++)(0, listeners[i])(value);\n }\n function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {\n switch(chunk.status){\n case \"fulfilled\":\n wakeChunk(resolveListeners, chunk.value);\n break;\n case \"pending\":\n case \"blocked\":\n if (chunk.value) for(var i = 0; i < resolveListeners.length; i++)chunk.value.push(resolveListeners[i]);\n else chunk.value = resolveListeners;\n if (chunk.reason) {\n if (rejectListeners) for(resolveListeners = 0; resolveListeners < rejectListeners.length; resolveListeners++)chunk.reason.push(rejectListeners[resolveListeners]);\n } else chunk.reason = rejectListeners;\n break;\n case \"rejected\":\n rejectListeners && wakeChunk(rejectListeners, chunk.reason);\n }\n }\n function triggerErrorOnChunk(chunk, error) {\n if (\"pending\" !== chunk.status && \"blocked\" !== chunk.status) chunk.reason.error(error);\n else {\n var listeners = chunk.reason;\n chunk.status = \"rejected\";\n chunk.reason = error;\n null !== listeners && wakeChunk(listeners, error);\n }\n }\n function createResolvedIteratorResultChunk(response, value, done) {\n return new ReactPromise(\"resolved_model\", (done ? '{\"done\":true,\"value\":' : '{\"done\":false,\"value\":') + value + \"}\", null, response);\n }\n function resolveIteratorResultChunk(chunk, value, done) {\n resolveModelChunk(chunk, (done ? '{\"done\":true,\"value\":' : '{\"done\":false,\"value\":') + value + \"}\");\n }\n function resolveModelChunk(chunk, value) {\n if (\"pending\" !== chunk.status) chunk.reason.enqueueModel(value);\n else {\n var resolveListeners = chunk.value, rejectListeners = chunk.reason;\n chunk.status = \"resolved_model\";\n chunk.value = value;\n null !== resolveListeners && (initializeModelChunk(chunk), wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));\n }\n }\n function resolveModuleChunk(chunk, value) {\n if (\"pending\" === chunk.status || \"blocked\" === chunk.status) {\n var resolveListeners = chunk.value, rejectListeners = chunk.reason;\n chunk.status = \"resolved_module\";\n chunk.value = value;\n null !== resolveListeners && (initializeModuleChunk(chunk), wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));\n }\n }\n function initializeModelChunk(chunk) {\n var prevHandler = initializingHandler;\n initializingHandler = null;\n var resolvedModel = chunk.value;\n chunk.status = \"blocked\";\n chunk.value = null;\n chunk.reason = null;\n try {\n var value = JSON.parse(resolvedModel, chunk._response._fromJSON), resolveListeners = chunk.value;\n null !== resolveListeners && (chunk.value = null, chunk.reason = null, wakeChunk(resolveListeners, value));\n if (null !== initializingHandler) {\n if (initializingHandler.errored) throw initializingHandler.value;\n if (0 < initializingHandler.deps) {\n initializingHandler.value = value;\n initializingHandler.chunk = chunk;\n return;\n }\n }\n chunk.status = \"fulfilled\";\n chunk.value = value;\n } catch (error) {\n chunk.status = \"rejected\", chunk.reason = error;\n } finally{\n initializingHandler = prevHandler;\n }\n }\n function initializeModuleChunk(chunk) {\n try {\n var value = requireModule(chunk.value);\n chunk.status = \"fulfilled\";\n chunk.value = value;\n } catch (error) {\n chunk.status = \"rejected\", chunk.reason = error;\n }\n }\n function reportGlobalError(response, error) {\n response._chunks.forEach(function(chunk) {\n \"pending\" === chunk.status && triggerErrorOnChunk(chunk, error);\n });\n }\n function nullRefGetter() {\n return null;\n }\n function createLazyChunkWrapper(chunk) {\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: chunk,\n _init: readChunk\n };\n chunk = chunk._debugInfo || (chunk._debugInfo = []);\n lazyType._debugInfo = chunk;\n return lazyType;\n }\n function getChunk(response, id) {\n var chunks = response._chunks, chunk = chunks.get(id);\n chunk || (chunk = createPendingChunk(response), chunks.set(id, chunk));\n return chunk;\n }\n function waitForReference(referencedChunk, parentObject, key, response, map, path) {\n function fulfill(value) {\n for(var i = 1; i < path.length; i++){\n for(; value.$$typeof === REACT_LAZY_TYPE;)if (value = value._payload, value === handler.chunk) value = handler.value;\n else if (\"fulfilled\" === value.status) value = value.value;\n else {\n path.splice(0, i - 1);\n value.then(fulfill, reject);\n return;\n }\n value = value[path[i]];\n }\n i = map(response, value, parentObject, key);\n parentObject[key] = i;\n \"\" === key && null === handler.value && (handler.value = i);\n if (parentObject[0] === REACT_ELEMENT_TYPE && \"object\" === typeof handler.value && null !== handler.value && handler.value.$$typeof === REACT_ELEMENT_TYPE) switch(value = handler.value, key){\n case \"3\":\n value.props = i;\n break;\n case \"4\":\n value._owner = i;\n }\n handler.deps--;\n 0 === handler.deps && (i = handler.chunk, null !== i && \"blocked\" === i.status && (value = i.value, i.status = \"fulfilled\", i.value = handler.value, null !== value && wakeChunk(value, handler.value)));\n }\n function reject(error) {\n if (!handler.errored) {\n var blockedValue = handler.value;\n handler.errored = !0;\n handler.value = error;\n var chunk = handler.chunk;\n null !== chunk && \"blocked\" === chunk.status && (\"object\" === typeof blockedValue && null !== blockedValue && blockedValue.$$typeof === REACT_ELEMENT_TYPE && (blockedValue = {\n name: getComponentNameFromType(blockedValue.type) || \"\",\n owner: blockedValue._owner\n }, (chunk._debugInfo || (chunk._debugInfo = [])).push(blockedValue)), triggerErrorOnChunk(chunk, error));\n }\n }\n if (initializingHandler) {\n var handler = initializingHandler;\n handler.deps++;\n } else handler = initializingHandler = {\n parent: null,\n chunk: null,\n value: null,\n deps: 1,\n errored: !1\n };\n referencedChunk.then(fulfill, reject);\n return null;\n }\n function loadServerReference(response, metaData, parentObject, key) {\n if (!response._serverReferenceConfig) return createBoundServerReference(metaData, response._callServer, response._encodeFormAction, response._debugFindSourceMapURL);\n var serverReference = resolveServerReference(response._serverReferenceConfig, metaData.id);\n if (response = preloadModule(serverReference)) metaData.bound && (response = Promise.all([\n response,\n metaData.bound\n ]));\n else if (metaData.bound) response = Promise.resolve(metaData.bound);\n else return requireModule(serverReference);\n if (initializingHandler) {\n var handler = initializingHandler;\n handler.deps++;\n } else handler = initializingHandler = {\n parent: null,\n chunk: null,\n value: null,\n deps: 1,\n errored: !1\n };\n response.then(function() {\n var resolvedValue = requireModule(serverReference);\n if (metaData.bound) {\n var boundArgs = metaData.bound.value.slice(0);\n boundArgs.unshift(null);\n resolvedValue = resolvedValue.bind.apply(resolvedValue, boundArgs);\n }\n parentObject[key] = resolvedValue;\n \"\" === key && null === handler.value && (handler.value = resolvedValue);\n if (parentObject[0] === REACT_ELEMENT_TYPE && \"object\" === typeof handler.value && null !== handler.value && handler.value.$$typeof === REACT_ELEMENT_TYPE) switch(boundArgs = handler.value, key){\n case \"3\":\n boundArgs.props = resolvedValue;\n break;\n case \"4\":\n boundArgs._owner = resolvedValue;\n }\n handler.deps--;\n 0 === handler.deps && (resolvedValue = handler.chunk, null !== resolvedValue && \"blocked\" === resolvedValue.status && (boundArgs = resolvedValue.value, resolvedValue.status = \"fulfilled\", resolvedValue.value = handler.value, null !== boundArgs && wakeChunk(boundArgs, handler.value)));\n }, function(error) {\n if (!handler.errored) {\n var blockedValue = handler.value;\n handler.errored = !0;\n handler.value = error;\n var chunk = handler.chunk;\n null !== chunk && \"blocked\" === chunk.status && (\"object\" === typeof blockedValue && null !== blockedValue && blockedValue.$$typeof === REACT_ELEMENT_TYPE && (blockedValue = {\n name: getComponentNameFromType(blockedValue.type) || \"\",\n owner: blockedValue._owner\n }, (chunk._debugInfo || (chunk._debugInfo = [])).push(blockedValue)), triggerErrorOnChunk(chunk, error));\n }\n });\n return null;\n }\n function getOutlinedModel(response, reference, parentObject, key, map) {\n reference = reference.split(\":\");\n var id = parseInt(reference[0], 16);\n id = getChunk(response, id);\n switch(id.status){\n case \"resolved_model\":\n initializeModelChunk(id);\n break;\n case \"resolved_module\":\n initializeModuleChunk(id);\n }\n switch(id.status){\n case \"fulfilled\":\n for(var value = id.value, i = 1; i < reference.length; i++){\n for(; value.$$typeof === REACT_LAZY_TYPE;)if (value = value._payload, \"fulfilled\" === value.status) value = value.value;\n else return waitForReference(value, parentObject, key, response, map, reference.slice(i - 1));\n value = value[reference[i]];\n }\n response = map(response, value, parentObject, key);\n id._debugInfo && (\"object\" !== typeof response || null === response || !isArrayImpl(response) && \"function\" !== typeof response[ASYNC_ITERATOR] && response.$$typeof !== REACT_ELEMENT_TYPE || response._debugInfo || Object.defineProperty(response, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: id._debugInfo\n }));\n return response;\n case \"pending\":\n case \"blocked\":\n return waitForReference(id, parentObject, key, response, map, reference);\n default:\n return initializingHandler ? (initializingHandler.errored = !0, initializingHandler.value = id.reason) : initializingHandler = {\n parent: null,\n chunk: null,\n value: id.reason,\n deps: 0,\n errored: !0\n }, null;\n }\n }\n function createMap(response, model) {\n return new Map(model);\n }\n function createSet(response, model) {\n return new Set(model);\n }\n function createBlob(response, model) {\n return new Blob(model.slice(1), {\n type: model[0]\n });\n }\n function createFormData(response, model) {\n response = new FormData();\n for(var i = 0; i < model.length; i++)response.append(model[i][0], model[i][1]);\n return response;\n }\n function extractIterator(response, model) {\n return model[Symbol.iterator]();\n }\n function createModel(response, model) {\n return model;\n }\n function parseModelString(response, parentObject, key, value) {\n if (\"$\" === value[0]) {\n if (\"$\" === value) return null !== initializingHandler && \"0\" === key && (initializingHandler = {\n parent: initializingHandler,\n chunk: null,\n value: null,\n deps: 0,\n errored: !1\n }), REACT_ELEMENT_TYPE;\n switch(value[1]){\n case \"$\":\n return value.slice(1);\n case \"L\":\n return parentObject = parseInt(value.slice(2), 16), response = getChunk(response, parentObject), createLazyChunkWrapper(response);\n case \"@\":\n if (2 === value.length) return new Promise(function() {});\n parentObject = parseInt(value.slice(2), 16);\n return getChunk(response, parentObject);\n case \"S\":\n return Symbol.for(value.slice(2));\n case \"F\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, loadServerReference);\n case \"T\":\n parentObject = \"$\" + value.slice(2);\n response = response._tempRefs;\n if (null == response) throw Error(\"Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.\");\n return response.get(parentObject);\n case \"Q\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createMap);\n case \"W\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createSet);\n case \"B\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createBlob);\n case \"K\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createFormData);\n case \"Z\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, resolveErrorDev);\n case \"i\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, extractIterator);\n case \"I\":\n return Infinity;\n case \"-\":\n return \"$-0\" === value ? -0 : -Infinity;\n case \"N\":\n return NaN;\n case \"u\":\n return;\n case \"D\":\n return new Date(Date.parse(value.slice(2)));\n case \"n\":\n return BigInt(value.slice(2));\n case \"E\":\n try {\n return (0, eval)(value.slice(2));\n } catch (x) {\n return function() {};\n }\n case \"Y\":\n return Object.defineProperty(parentObject, key, {\n get: function() {\n return \"This object has been omitted by React in the console log to avoid sending too much data from the server. Try logging smaller or more specific objects.\";\n },\n enumerable: !0,\n configurable: !1\n }), null;\n default:\n return value = value.slice(1), getOutlinedModel(response, value, parentObject, key, createModel);\n }\n }\n return value;\n }\n function missingCall() {\n throw Error('Trying to call a function from \"use server\" but the callServer option was not implemented in your router runtime.');\n }\n function ResponseInstance(bundlerConfig, serverReferenceConfig, moduleLoading, callServer, encodeFormAction, nonce, temporaryReferences, findSourceMapURL, replayConsole, environmentName) {\n var chunks = new Map();\n this._bundlerConfig = bundlerConfig;\n this._serverReferenceConfig = serverReferenceConfig;\n this._moduleLoading = moduleLoading;\n this._callServer = void 0 !== callServer ? callServer : missingCall;\n this._encodeFormAction = encodeFormAction;\n this._nonce = nonce;\n this._chunks = chunks;\n this._stringDecoder = new TextDecoder();\n this._fromJSON = null;\n this._rowLength = this._rowTag = this._rowID = this._rowState = 0;\n this._buffer = [];\n this._tempRefs = temporaryReferences;\n this._debugRootOwner = bundlerConfig = void 0 === ReactSharedInteralsServer || null === ReactSharedInteralsServer.A ? null : ReactSharedInteralsServer.A.getOwner();\n this._debugRootStack = null !== bundlerConfig ? Error(\"react-stack-top-frame\") : null;\n this._debugFindSourceMapURL = findSourceMapURL;\n this._replayConsole = replayConsole;\n this._rootEnvironmentName = void 0 === environmentName ? \"Server\" : environmentName;\n this._fromJSON = createFromJSONCallback(this);\n }\n function resolveModel(response, id, model) {\n var chunks = response._chunks, chunk = chunks.get(id);\n chunk ? resolveModelChunk(chunk, model) : chunks.set(id, new ReactPromise(\"resolved_model\", model, null, response));\n }\n function resolveText(response, id, text) {\n var chunks = response._chunks, chunk = chunks.get(id);\n chunk && \"pending\" !== chunk.status ? chunk.reason.enqueueValue(text) : chunks.set(id, new ReactPromise(\"fulfilled\", text, null, response));\n }\n function resolveBuffer(response, id, buffer) {\n var chunks = response._chunks, chunk = chunks.get(id);\n chunk && \"pending\" !== chunk.status ? chunk.reason.enqueueValue(buffer) : chunks.set(id, new ReactPromise(\"fulfilled\", buffer, null, response));\n }\n function resolveModule(response, id, model) {\n var chunks = response._chunks, chunk = chunks.get(id);\n model = JSON.parse(model, response._fromJSON);\n var clientReference = resolveClientReference(response._bundlerConfig, model);\n prepareDestinationWithChunks(response._moduleLoading, model[1], response._nonce);\n if (model = preloadModule(clientReference)) {\n if (chunk) {\n var blockedChunk = chunk;\n blockedChunk.status = \"blocked\";\n } else blockedChunk = new ReactPromise(\"blocked\", null, null, response), chunks.set(id, blockedChunk);\n model.then(function() {\n return resolveModuleChunk(blockedChunk, clientReference);\n }, function(error) {\n return triggerErrorOnChunk(blockedChunk, error);\n });\n } else chunk ? resolveModuleChunk(chunk, clientReference) : chunks.set(id, new ReactPromise(\"resolved_module\", clientReference, null, response));\n }\n function resolveStream(response, id, stream, controller) {\n var chunks = response._chunks, chunk = chunks.get(id);\n chunk ? \"pending\" === chunk.status && (response = chunk.value, chunk.status = \"fulfilled\", chunk.value = stream, chunk.reason = controller, null !== response && wakeChunk(response, chunk.value)) : chunks.set(id, new ReactPromise(\"fulfilled\", stream, controller, response));\n }\n function startReadableStream(response, id, type) {\n var controller = null;\n type = new ReadableStream({\n type: type,\n start: function(c) {\n controller = c;\n }\n });\n var previousBlockedChunk = null;\n resolveStream(response, id, type, {\n enqueueValue: function(value) {\n null === previousBlockedChunk ? controller.enqueue(value) : previousBlockedChunk.then(function() {\n controller.enqueue(value);\n });\n },\n enqueueModel: function(json) {\n if (null === previousBlockedChunk) {\n var chunk = new ReactPromise(\"resolved_model\", json, null, response);\n initializeModelChunk(chunk);\n \"fulfilled\" === chunk.status ? controller.enqueue(chunk.value) : (chunk.then(function(v) {\n return controller.enqueue(v);\n }, function(e) {\n return controller.error(e);\n }), previousBlockedChunk = chunk);\n } else {\n chunk = previousBlockedChunk;\n var _chunk3 = createPendingChunk(response);\n _chunk3.then(function(v) {\n return controller.enqueue(v);\n }, function(e) {\n return controller.error(e);\n });\n previousBlockedChunk = _chunk3;\n chunk.then(function() {\n previousBlockedChunk === _chunk3 && (previousBlockedChunk = null);\n resolveModelChunk(_chunk3, json);\n });\n }\n },\n close: function() {\n if (null === previousBlockedChunk) controller.close();\n else {\n var blockedChunk = previousBlockedChunk;\n previousBlockedChunk = null;\n blockedChunk.then(function() {\n return controller.close();\n });\n }\n },\n error: function(error) {\n if (null === previousBlockedChunk) controller.error(error);\n else {\n var blockedChunk = previousBlockedChunk;\n previousBlockedChunk = null;\n blockedChunk.then(function() {\n return controller.error(error);\n });\n }\n }\n });\n }\n function asyncIterator() {\n return this;\n }\n function createIterator(next) {\n next = {\n next: next\n };\n next[ASYNC_ITERATOR] = asyncIterator;\n return next;\n }\n function startAsyncIterable(response, id, iterator) {\n var buffer = [], closed = !1, nextWriteIndex = 0, iterable = _defineProperty({}, ASYNC_ITERATOR, function() {\n var nextReadIndex = 0;\n return createIterator(function(arg) {\n if (void 0 !== arg) throw Error(\"Values cannot be passed to next() of AsyncIterables passed to Client Components.\");\n if (nextReadIndex === buffer.length) {\n if (closed) return new ReactPromise(\"fulfilled\", {\n done: !0,\n value: void 0\n }, null, response);\n buffer[nextReadIndex] = createPendingChunk(response);\n }\n return buffer[nextReadIndex++];\n });\n });\n resolveStream(response, id, iterator ? iterable[ASYNC_ITERATOR]() : iterable, {\n enqueueValue: function(value) {\n if (nextWriteIndex === buffer.length) buffer[nextWriteIndex] = new ReactPromise(\"fulfilled\", {\n done: !1,\n value: value\n }, null, response);\n else {\n var chunk = buffer[nextWriteIndex], resolveListeners = chunk.value, rejectListeners = chunk.reason;\n chunk.status = \"fulfilled\";\n chunk.value = {\n done: !1,\n value: value\n };\n null !== resolveListeners && wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners);\n }\n nextWriteIndex++;\n },\n enqueueModel: function(value) {\n nextWriteIndex === buffer.length ? buffer[nextWriteIndex] = createResolvedIteratorResultChunk(response, value, !1) : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !1);\n nextWriteIndex++;\n },\n close: function(value) {\n closed = !0;\n nextWriteIndex === buffer.length ? buffer[nextWriteIndex] = createResolvedIteratorResultChunk(response, value, !0) : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !0);\n for(nextWriteIndex++; nextWriteIndex < buffer.length;)resolveIteratorResultChunk(buffer[nextWriteIndex++], '\"$undefined\"', !0);\n },\n error: function(error) {\n closed = !0;\n for(nextWriteIndex === buffer.length && (buffer[nextWriteIndex] = createPendingChunk(response)); nextWriteIndex < buffer.length;)triggerErrorOnChunk(buffer[nextWriteIndex++], error);\n }\n });\n }\n function stopStream(response, id, row) {\n (response = response._chunks.get(id)) && \"fulfilled\" === response.status && response.reason.close(\"\" === row ? '\"$undefined\"' : row);\n }\n function resolveErrorDev(response, errorInfo) {\n var env = errorInfo.env;\n errorInfo = buildFakeCallStack(response, errorInfo.stack, env, Error.bind(null, errorInfo.message || \"An error occurred in the Server Components render but no message was provided\"));\n response = getRootTask(response, env);\n response = null != response ? response.run(errorInfo) : errorInfo();\n response.environmentName = env;\n return response;\n }\n function resolveHint(response, code, model) {\n response = JSON.parse(model, response._fromJSON);\n model = ReactDOMSharedInternals.d;\n switch(code){\n case \"D\":\n model.D(response);\n break;\n case \"C\":\n \"string\" === typeof response ? model.C(response) : model.C(response[0], response[1]);\n break;\n case \"L\":\n code = response[0];\n var as = response[1];\n 3 === response.length ? model.L(code, as, response[2]) : model.L(code, as);\n break;\n case \"m\":\n \"string\" === typeof response ? model.m(response) : model.m(response[0], response[1]);\n break;\n case \"X\":\n \"string\" === typeof response ? model.X(response) : model.X(response[0], response[1]);\n break;\n case \"S\":\n \"string\" === typeof response ? model.S(response) : model.S(response[0], 0 === response[1] ? void 0 : response[1], 3 === response.length ? response[2] : void 0);\n break;\n case \"M\":\n \"string\" === typeof response ? model.M(response) : model.M(response[0], response[1]);\n }\n }\n function createFakeFunction(name, filename, sourceMap, line, col, environmentName) {\n name || (name = \"\");\n var encodedName = JSON.stringify(name);\n 1 >= line ? (line = encodedName.length + 7, col = \"({\" + encodedName + \":_=>\" + \" \".repeat(col < line ? 0 : col - line) + \"_()})\\n/* This module was rendered by a Server Component. Turn on Source Maps to see the server source. */\") : col = \"/* This module was rendered by a Server Component. Turn on Source Maps to see the server source. */\" + \"\\n\".repeat(line - 2) + \"({\" + encodedName + \":_=>\\n\" + \" \".repeat(1 > col ? 0 : col - 1) + \"_()})\";\n filename.startsWith(\"/\") && (filename = \"file://\" + filename);\n sourceMap ? (col += \"\\n//# sourceURL=rsc://React/\" + encodeURIComponent(environmentName) + \"/\" + encodeURI(filename) + \"?\" + fakeFunctionIdx++, col += \"\\n//# sourceMappingURL=\" + sourceMap) : col = filename ? col + (\"\\n//# sourceURL=\" + encodeURI(filename)) : col + \"\\n//# sourceURL=\";\n try {\n var fn = (0, eval)(col)[name];\n } catch (x) {\n fn = function(_) {\n return _();\n };\n }\n return fn;\n }\n function buildFakeCallStack(response, stack, environmentName, innerCall) {\n for(var i = 0; i < stack.length; i++){\n var frame = stack[i], frameKey = frame.join(\"-\") + \"-\" + environmentName, fn = fakeFunctionCache.get(frameKey);\n if (void 0 === fn) {\n fn = frame[0];\n var filename = frame[1], line = frame[2];\n frame = frame[3];\n var findSourceMapURL = response._debugFindSourceMapURL;\n findSourceMapURL = findSourceMapURL ? findSourceMapURL(filename, environmentName) : null;\n fn = createFakeFunction(fn, filename, findSourceMapURL, line, frame, environmentName);\n fakeFunctionCache.set(frameKey, fn);\n }\n innerCall = fn.bind(null, innerCall);\n }\n return innerCall;\n }\n function getRootTask(response, childEnvironmentName) {\n var rootTask = response._debugRootTask;\n return rootTask ? response._rootEnvironmentName !== childEnvironmentName ? (response = console.createTask.bind(console, '\"use ' + childEnvironmentName.toLowerCase() + '\"'), rootTask.run(response)) : rootTask : null;\n }\n function fakeJSXCallSite() {\n return Error(\"react-stack-top-frame\");\n }\n function initializeFakeStack(response, debugInfo) {\n void 0 === debugInfo.debugStack && (null != debugInfo.stack && (debugInfo.debugStack = createFakeJSXCallStackInDEV(response, debugInfo.stack, null == debugInfo.env ? \"\" : debugInfo.env)), null != debugInfo.owner && initializeFakeStack(response, debugInfo.owner));\n }\n function resolveDebugInfo(response, id, debugInfo) {\n null === debugInfo.owner && null != response._debugRootOwner ? (debugInfo.owner = response._debugRootOwner, debugInfo.debugStack = response._debugRootStack) : initializeFakeStack(response, debugInfo);\n response = getChunk(response, id);\n (response._debugInfo || (response._debugInfo = [])).push(debugInfo);\n }\n function getCurrentStackInDEV() {\n return \"\";\n }\n function resolveConsoleEntry(response, value) {\n if (response._replayConsole) {\n var payload = JSON.parse(value, response._fromJSON);\n value = payload[0];\n var stackTrace = payload[1], owner = payload[2], env = payload[3];\n payload = payload.slice(4);\n replayConsoleWithCallStackInDEV(response, value, stackTrace, owner, env, payload);\n }\n }\n function mergeBuffer(buffer, lastChunk) {\n for(var l = buffer.length, byteLength = lastChunk.length, i = 0; i < l; i++)byteLength += buffer[i].byteLength;\n byteLength = new Uint8Array(byteLength);\n for(var _i2 = i = 0; _i2 < l; _i2++){\n var chunk = buffer[_i2];\n byteLength.set(chunk, i);\n i += chunk.byteLength;\n }\n byteLength.set(lastChunk, i);\n return byteLength;\n }\n function resolveTypedArray(response, id, buffer, lastChunk, constructor, bytesPerElement) {\n buffer = 0 === buffer.length && 0 === lastChunk.byteOffset % bytesPerElement ? lastChunk : mergeBuffer(buffer, lastChunk);\n constructor = new constructor(buffer.buffer, buffer.byteOffset, buffer.byteLength / bytesPerElement);\n resolveBuffer(response, id, constructor);\n }\n function processFullBinaryRow(response, id, tag, buffer, chunk) {\n switch(tag){\n case 65:\n resolveBuffer(response, id, mergeBuffer(buffer, chunk).buffer);\n return;\n case 79:\n resolveTypedArray(response, id, buffer, chunk, Int8Array, 1);\n return;\n case 111:\n resolveBuffer(response, id, 0 === buffer.length ? chunk : mergeBuffer(buffer, chunk));\n return;\n case 85:\n resolveTypedArray(response, id, buffer, chunk, Uint8ClampedArray, 1);\n return;\n case 83:\n resolveTypedArray(response, id, buffer, chunk, Int16Array, 2);\n return;\n case 115:\n resolveTypedArray(response, id, buffer, chunk, Uint16Array, 2);\n return;\n case 76:\n resolveTypedArray(response, id, buffer, chunk, Int32Array, 4);\n return;\n case 108:\n resolveTypedArray(response, id, buffer, chunk, Uint32Array, 4);\n return;\n case 71:\n resolveTypedArray(response, id, buffer, chunk, Float32Array, 4);\n return;\n case 103:\n resolveTypedArray(response, id, buffer, chunk, Float64Array, 8);\n return;\n case 77:\n resolveTypedArray(response, id, buffer, chunk, BigInt64Array, 8);\n return;\n case 109:\n resolveTypedArray(response, id, buffer, chunk, BigUint64Array, 8);\n return;\n case 86:\n resolveTypedArray(response, id, buffer, chunk, DataView, 1);\n return;\n }\n for(var stringDecoder = response._stringDecoder, row = \"\", i = 0; i < buffer.length; i++)row += stringDecoder.decode(buffer[i], decoderOptions);\n row += stringDecoder.decode(chunk);\n processFullStringRow(response, id, tag, row);\n }\n function processFullStringRow(response, id, tag, row) {\n switch(tag){\n case 73:\n resolveModule(response, id, row);\n break;\n case 72:\n resolveHint(response, row[0], row.slice(1));\n break;\n case 69:\n row = JSON.parse(row);\n tag = resolveErrorDev(response, row);\n tag.digest = row.digest;\n row = response._chunks;\n var chunk = row.get(id);\n chunk ? triggerErrorOnChunk(chunk, tag) : row.set(id, new ReactPromise(\"rejected\", null, tag, response));\n break;\n case 84:\n resolveText(response, id, row);\n break;\n case 68:\n tag = new ReactPromise(\"resolved_model\", row, null, response);\n initializeModelChunk(tag);\n \"fulfilled\" === tag.status ? resolveDebugInfo(response, id, tag.value) : tag.then(function(v) {\n return resolveDebugInfo(response, id, v);\n }, function() {});\n break;\n case 87:\n resolveConsoleEntry(response, row);\n break;\n case 82:\n startReadableStream(response, id, void 0);\n break;\n case 114:\n startReadableStream(response, id, \"bytes\");\n break;\n case 88:\n startAsyncIterable(response, id, !1);\n break;\n case 120:\n startAsyncIterable(response, id, !0);\n break;\n case 67:\n stopStream(response, id, row);\n break;\n default:\n resolveModel(response, id, row);\n }\n }\n function createFromJSONCallback(response) {\n return function(key, value) {\n if (\"string\" === typeof value) return parseModelString(response, this, key, value);\n if (\"object\" === typeof value && null !== value) {\n if (value[0] === REACT_ELEMENT_TYPE) if (key = value[4], value = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: value[1],\n key: value[2],\n props: value[3],\n _owner: null === key ? response._debugRootOwner : key\n }, Object.defineProperty(value, \"ref\", {\n enumerable: !1,\n get: nullRefGetter\n }), value._store = {}, Object.defineProperty(value._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 1\n }), Object.defineProperty(value, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n }), null !== initializingHandler) {\n var handler = initializingHandler;\n initializingHandler = handler.parent;\n handler.errored ? (key = new ReactPromise(\"rejected\", null, handler.value, response), value = {\n name: getComponentNameFromType(value.type) || \"\",\n owner: value._owner\n }, key._debugInfo = [\n value\n ], value = createLazyChunkWrapper(key)) : 0 < handler.deps && (key = new ReactPromise(\"blocked\", null, null, response), handler.value = value, handler.chunk = key, value = Object.freeze.bind(Object, value.props), key.then(value, value), value = createLazyChunkWrapper(key));\n } else Object.freeze(value.props);\n return value;\n }\n return value;\n };\n }\n function noServerCall() {\n throw Error(\"Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.\");\n }\n function createResponseFromOptions(options) {\n return new ResponseInstance(options.serverConsumerManifest.moduleMap, options.serverConsumerManifest.serverModuleMap, options.serverConsumerManifest.moduleLoading, noServerCall, options.encodeFormAction, \"string\" === typeof options.nonce ? options.nonce : void 0, options && options.temporaryReferences ? options.temporaryReferences : void 0, options && options.findSourceMapURL ? options.findSourceMapURL : void 0, options ? !0 === options.replayConsoleLogs : !1, options && options.environmentName ? options.environmentName : void 0);\n }\n function startReadingFromStream(response, stream) {\n function progress(_ref) {\n var value = _ref.value;\n if (_ref.done) reportGlobalError(response, Error(\"Connection closed.\"));\n else {\n var i = 0, rowState = response._rowState;\n _ref = response._rowID;\n for(var rowTag = response._rowTag, rowLength = response._rowLength, buffer = response._buffer, chunkLength = value.length; i < chunkLength;){\n var lastIdx = -1;\n switch(rowState){\n case 0:\n lastIdx = value[i++];\n 58 === lastIdx ? rowState = 1 : _ref = _ref << 4 | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48);\n continue;\n case 1:\n rowState = value[i];\n 84 === rowState || 65 === rowState || 79 === rowState || 111 === rowState || 85 === rowState || 83 === rowState || 115 === rowState || 76 === rowState || 108 === rowState || 71 === rowState || 103 === rowState || 77 === rowState || 109 === rowState || 86 === rowState ? (rowTag = rowState, rowState = 2, i++) : 64 < rowState && 91 > rowState || 35 === rowState || 114 === rowState || 120 === rowState ? (rowTag = rowState, rowState = 3, i++) : (rowTag = 0, rowState = 3);\n continue;\n case 2:\n lastIdx = value[i++];\n 44 === lastIdx ? rowState = 4 : rowLength = rowLength << 4 | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48);\n continue;\n case 3:\n lastIdx = value.indexOf(10, i);\n break;\n case 4:\n lastIdx = i + rowLength, lastIdx > value.length && (lastIdx = -1);\n }\n var offset = value.byteOffset + i;\n if (-1 < lastIdx) rowLength = new Uint8Array(value.buffer, offset, lastIdx - i), processFullBinaryRow(response, _ref, rowTag, buffer, rowLength), i = lastIdx, 3 === rowState && i++, rowLength = _ref = rowTag = rowState = 0, buffer.length = 0;\n else {\n value = new Uint8Array(value.buffer, offset, value.byteLength - i);\n buffer.push(value);\n rowLength -= value.byteLength;\n break;\n }\n }\n response._rowState = rowState;\n response._rowID = _ref;\n response._rowTag = rowTag;\n response._rowLength = rowLength;\n return reader.read().then(progress).catch(error);\n }\n }\n function error(e) {\n reportGlobalError(response, e);\n }\n var reader = stream.getReader();\n reader.read().then(progress).catch(error);\n }\n var ReactDOM = __webpack_require__(/*! react-dom */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js\"), React = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js\"), decoderOptions = {\n stream: !0\n }, bind$1 = Function.prototype.bind, chunkCache = new Map(), ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"), REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"), REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"), REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"), REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"), REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"), REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"), REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"), REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"), REACT_MEMO_TYPE = Symbol.for(\"react.memo\"), REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, ASYNC_ITERATOR = Symbol.asyncIterator, isArrayImpl = Array.isArray, getPrototypeOf = Object.getPrototypeOf, jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for(\"react.client.reference\"), ObjectPrototype = Object.prototype, knownServerReferences = new WeakMap(), boundCache = new WeakMap(), fakeServerFunctionIdx = 0, FunctionBind = Function.prototype.bind, ArraySlice = Array.prototype.slice, v8FrameRegExp = /^ {3} at (?:(.+) \\((.+):(\\d+):(\\d+)\\)|(?:async )?(.+):(\\d+):(\\d+))$/, jscSpiderMonkeyFrameRegExp = /(?:(.*)@)?(.*):(\\d+):(\\d+)/, REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\n new (\"function\" === typeof WeakMap ? WeakMap : Map)();\n var ReactSharedInteralsServer = React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE || ReactSharedInteralsServer;\n ReactPromise.prototype = Object.create(Promise.prototype);\n ReactPromise.prototype.then = function(resolve, reject) {\n switch(this.status){\n case \"resolved_model\":\n initializeModelChunk(this);\n break;\n case \"resolved_module\":\n initializeModuleChunk(this);\n }\n switch(this.status){\n case \"fulfilled\":\n resolve(this.value);\n break;\n case \"pending\":\n case \"blocked\":\n resolve && (null === this.value && (this.value = []), this.value.push(resolve));\n reject && (null === this.reason && (this.reason = []), this.reason.push(reject));\n break;\n default:\n reject && reject(this.reason);\n }\n };\n var initializingHandler = null, fakeFunctionCache = new Map(), fakeFunctionIdx = 0, createFakeJSXCallStack = {\n \"react-stack-bottom-frame\": function(response, stack, environmentName) {\n return buildFakeCallStack(response, stack, environmentName, fakeJSXCallSite)();\n }\n }, createFakeJSXCallStackInDEV = createFakeJSXCallStack[\"react-stack-bottom-frame\"].bind(createFakeJSXCallStack), replayConsoleWithCallStack = {\n \"react-stack-bottom-frame\": function(response, methodName, stackTrace, owner, env, args) {\n var prevStack = ReactSharedInternals.getCurrentStack;\n ReactSharedInternals.getCurrentStack = getCurrentStackInDEV;\n try {\n a: {\n var offset = 0;\n switch(methodName){\n case \"dir\":\n case \"dirxml\":\n case \"groupEnd\":\n case \"table\":\n var JSCompiler_inline_result = bind$1.apply(console[methodName], [\n console\n ].concat(args));\n break a;\n case \"assert\":\n offset = 1;\n }\n var newArgs = args.slice(0);\n \"string\" === typeof newArgs[offset] ? newArgs.splice(offset, 1, \"\\u001b[0m\\u001b[7m%c%s\\u001b[0m%c \" + newArgs[offset], \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\", \" \" + env + \" \", \"\") : newArgs.splice(offset, 0, \"\\u001b[0m\\u001b[7m%c%s\\u001b[0m%c \", \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\", \" \" + env + \" \", \"\");\n newArgs.unshift(console);\n JSCompiler_inline_result = bind$1.apply(console[methodName], newArgs);\n }\n var callStack = buildFakeCallStack(response, stackTrace, env, JSCompiler_inline_result);\n null != owner && initializeFakeStack(response, owner);\n var rootTask = getRootTask(response, env);\n null != rootTask ? rootTask.run(callStack) : callStack();\n } finally{\n ReactSharedInternals.getCurrentStack = prevStack;\n }\n }\n }, replayConsoleWithCallStackInDEV = replayConsoleWithCallStack[\"react-stack-bottom-frame\"].bind(replayConsoleWithCallStack);\n exports.createFromFetch = function(promiseForResponse, options) {\n var response = createResponseFromOptions(options);\n promiseForResponse.then(function(r) {\n startReadingFromStream(response, r.body);\n }, function(e) {\n reportGlobalError(response, e);\n });\n return getChunk(response, 0);\n };\n exports.createFromReadableStream = function(stream, options) {\n options = createResponseFromOptions(options);\n startReadingFromStream(options, stream);\n return getChunk(options, 0);\n };\n exports.createServerReference = function(id) {\n return createServerReference$1(id, noServerCall);\n };\n exports.createTemporaryReferenceSet = function() {\n return new Map();\n };\n exports.encodeReply = function(value, options) {\n return new Promise(function(resolve, reject) {\n var abort = processReply(value, \"\", options && options.temporaryReferences ? options.temporaryReferences : void 0, resolve, reject);\n if (options && options.signal) {\n var signal = options.signal;\n if (signal.aborted) abort(signal.reason);\n else {\n var listener = function() {\n abort(signal.reason);\n signal.removeEventListener(\"abort\", listener);\n };\n signal.addEventListener(\"abort\", listener);\n }\n }\n });\n };\n}();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXNlcnZlci1kb20td2VicGFjay9janMvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC5lZGdlLmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztDQVFDLEdBRVk7QUFDYixLQTJGSyxJQTFGSDtJQUNFLFNBQVNBLGdCQUFnQkMsR0FBRyxFQUFFQyxHQUFHLEVBQUVDLEtBQUs7UUFDdENELE9BQU9ELE1BQ0hHLE9BQU9DLGNBQWMsQ0FBQ0osS0FBS0MsS0FBSztZQUM5QkMsT0FBT0E7WUFDUEcsWUFBWSxDQUFDO1lBQ2JDLGNBQWMsQ0FBQztZQUNmQyxVQUFVLENBQUM7UUFDYixLQUNDUCxHQUFHLENBQUNDLElBQUksR0FBR0M7UUFDaEIsT0FBT0Y7SUFDVDtJQUNBLFNBQVNRLHVCQUF1QkMsYUFBYSxFQUFFQyxRQUFRO1FBQ3JELElBQUlELGVBQWU7WUFDakIsSUFBSUUsZ0JBQWdCRixhQUFhLENBQUNDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDOUMsSUFBS0QsZ0JBQWdCRSxpQkFBaUJBLGFBQWEsQ0FBQ0QsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUM5REMsZ0JBQWdCRixjQUFjRyxJQUFJO2lCQUMvQjtnQkFDSEgsZ0JBQWdCRSxpQkFBaUJBLGFBQWEsQ0FBQyxJQUFJO2dCQUNuRCxJQUFJLENBQUNGLGVBQ0gsTUFBTUksTUFDSixnQ0FDRUgsUUFBUSxDQUFDLEVBQUUsR0FDWDtnQkFFTkMsZ0JBQWdCRCxRQUFRLENBQUMsRUFBRTtZQUM3QjtZQUNBLE9BQU8sTUFBTUEsU0FBU0ksTUFBTSxHQUN4QjtnQkFBQ0wsY0FBY00sRUFBRTtnQkFBRU4sY0FBY08sTUFBTTtnQkFBRUw7Z0JBQWU7YUFBRSxHQUMxRDtnQkFBQ0YsY0FBY00sRUFBRTtnQkFBRU4sY0FBY08sTUFBTTtnQkFBRUw7YUFBYztRQUM3RDtRQUNBLE9BQU9EO0lBQ1Q7SUFDQSxTQUFT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SUEsT0FBT0MsT0FBTyxFQUFFRixNQUFNQyxPQUFPN2MsTUFBTTtxQkFDbEM7b0JBQ0gsSUFBSStjLFdBQVc7d0JBQ2JILE1BQU1DLE9BQU83YyxNQUFNO3dCQUNuQjZjLE9BQU9HLG1CQUFtQixDQUFDLFNBQVNEO29CQUN0QztvQkFDQUYsT0FBT0ksZ0JBQWdCLENBQUMsU0FBU0Y7Z0JBQ25DO1lBQ0Y7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXG5leHRcXGRpc3RcXGNvbXBpbGVkXFxyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2tcXGNqc1xccmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC5lZGdlLmRldmVsb3BtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LXNlcnZlci1kb20td2VicGFjay1jbGllbnQuZWRnZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuXCJ1c2Ugc3RyaWN0XCI7XG5cInByb2R1Y3Rpb25cIiAhPT0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgJiZcbiAgKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gICAgICBrZXkgaW4gb2JqXG4gICAgICAgID8gT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogITAsXG4gICAgICAgICAgICB3cml0YWJsZTogITBcbiAgICAgICAgICB9KVxuICAgICAgICA6IChvYmpba2V5XSA9IHZhbHVlKTtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVDbGllbnRSZWZlcmVuY2UoYnVuZGxlckNvbmZpZywgbWV0YWRhdGEpIHtcbiAgICAgIGlmIChidW5kbGVyQ29uZmlnKSB7XG4gICAgICAgIHZhciBtb2R1bGVFeHBvcnRzID0gYnVuZGxlckNvbmZpZ1ttZXRhZGF0YVswXV07XG4gICAgICAgIGlmICgoYnVuZGxlckNvbmZpZyA9IG1vZHVsZUV4cG9ydHMgJiYgbW9kdWxlRXhwb3J0c1ttZXRhZGF0YVsyXV0pKVxuICAgICAgICAgIG1vZHVsZUV4cG9ydHMgPSBidW5kbGVyQ29uZmlnLm5hbWU7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGJ1bmRsZXJDb25maWcgPSBtb2R1bGVFeHBvcnRzICYmIG1vZHVsZUV4cG9ydHNbXCIqXCJdO1xuICAgICAgICAgIGlmICghYnVuZGxlckNvbmZpZylcbiAgICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgICAnQ291bGQgbm90IGZpbmQgdGhlIG1vZHVsZSBcIicgK1xuICAgICAgICAgICAgICAgIG1ldGFkYXRhWzBdICtcbiAgICAgICAgICAgICAgICAnXCIgaW4gdGhlIFJlYWN0IFNlcnZlciBDb25zdW1lciBNYW5pZmVzdC4gVGhpcyBpcyBwcm9iYWJseSBhIGJ1ZyBpbiB0aGUgUmVhY3QgU2VydmVyIENvbXBvbmVudHMgYnVuZGxlci4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgIG1vZHVsZUV4cG9ydHMgPSBtZXRhZGF0YVsyXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gNCA9PT0gbWV0YWRhdGEubGVuZ3RoXG4gICAgICAgICAgPyBbYnVuZGxlckNvbmZpZy5pZCwgYnVuZGxlckNvbmZpZy5jaHVua3MsIG1vZHVsZUV4cG9ydHMsIDFdXG4gICAgICAgICAgOiBbYnVuZGxlckNvbmZpZy5pZCwgYnVuZGxlckNvbmZpZy5jaHVua3MsIG1vZHVsZUV4cG9ydHNdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1ldGFkYXRhO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZXNvbHZlU2VydmVyUmVmZXJlbmNlKGJ1bmRsZXJDb25maWcsIGlkKSB7XG4gICAgICB2YXIgbmFtZSA9IFwiXCIsXG4gICAgICAgIHJlc29sdmVkTW9kdWxlRGF0YSA9IGJ1bmRsZXJDb25maWdbaWRdO1xuICAgICAgaWYgKHJlc29sdmVkTW9kdWxlRGF0YSkgbmFtZSA9IHJlc29sdmVkTW9kdWxlRGF0YS5uYW1lO1xuICAgICAgZWxzZSB7XG4gICAgICAgIHZhciBpZHggPSBpZC5sYXN0SW5kZXhPZihcIiNcIik7XG4gICAgICAgIC0xICE9PSBpZHggJiZcbiAgICAgICAgICAoKG5hbWUgPSBpZC5zbGljZShpZHggKyAxKSksXG4gICAgICAgICAgKHJlc29sdmVkTW9kdWxlRGF0YSA9IGJ1bmRsZXJDb25maWdbaWQuc2xpY2UoMCwgaWR4KV0pKTtcbiAgICAgICAgaWYgKCFyZXNvbHZlZE1vZHVsZURhdGEpXG4gICAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgICAnQ291bGQgbm90IGZpbmQgdGhlIG1vZHVsZSBcIicgK1xuICAgICAgICAgICAgICBpZCArXG4gICAgICAgICAgICAgICdcIiBpbiB0aGUgUmVhY3QgU2VydmVyIE1hbmlmZXN0LiBUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyBidW5kbGVyLidcbiAgICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmVkTW9kdWxlRGF0YS5hc3luY1xuICAgICAgICA/IFtyZXNvbHZlZE1vZHVsZURhdGEuaWQsIHJlc29sdmVkTW9kdWxlRGF0YS5jaHVua3MsIG5hbWUsIDFdXG4gICAgICAgIDogW3Jlc29sdmVkTW9kdWxlRGF0YS5pZCwgcmVzb2x2ZWRNb2R1bGVEYXRhLmNodW5rcywgbmFtZV07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlcXVpcmVBc3luY01vZHVsZShpZCkge1xuICAgICAgdmFyIHByb21pc2UgPSBnbG9iYWxUaGlzLl9fbmV4dF9yZXF1aXJlX18oaWQpO1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiAhPT0gdHlwZW9mIHByb21pc2UudGhlbiB8fCBcImZ1bGZpbGxlZFwiID09PSBwcm9taXNlLnN0YXR1cylcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBwcm9taXNlLnRoZW4oXG4gICAgICAgIGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgIHByb21pc2Uuc3RhdHVzID0gXCJmdWxmaWxsZWRcIjtcbiAgICAgICAgICBwcm9taXNlLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIGZ1bmN0aW9uIChyZWFzb24pIHtcbiAgICAgICAgICBwcm9taXNlLnN0YXR1cyA9IFwicmVqZWN0ZWRcIjtcbiAgICAgICAgICBwcm9taXNlLnJlYXNvbiA9IHJlYXNvbjtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiBwcm9taXNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpZ25vcmVSZWplY3QoKSB7fVxuICAgIGZ1bmN0aW9uIHByZWxvYWRNb2R1bGUobWV0YWRhdGEpIHtcbiAgICAgIGZvciAoXG4gICAgICAgIHZhciBjaHVua3MgPSBtZXRhZGF0YVsxXSwgcHJvbWlzZXMgPSBbXSwgaSA9IDA7XG4gICAgICAgIGkgPCBjaHVua3MubGVuZ3RoO1xuXG4gICAgICApIHtcbiAgICAgICAgdmFyIGNodW5rSWQgPSBjaHVua3NbaSsrXTtcbiAgICAgICAgY2h1bmtzW2krK107XG4gICAgICAgIHZhciBlbnRyeSA9IGNodW5rQ2FjaGUuZ2V0KGNodW5rSWQpO1xuICAgICAgICBpZiAodm9pZCAwID09PSBlbnRyeSkge1xuICAgICAgICAgIGVudHJ5ID0gX193ZWJwYWNrX2NodW5rX2xvYWRfXyhjaHVua0lkKTtcbiAgICAgICAgICBwcm9taXNlcy5wdXNoKGVudHJ5KTtcbiAgICAgICAgICB2YXIgcmVzb2x2ZSA9IGNodW5rQ2FjaGUuc2V0LmJpbmQoY2h1bmtDYWNoZSwgY2h1bmtJZCwgbnVsbCk7XG4gICAgICAgICAgZW50cnkudGhlbihyZXNvbHZlLCBpZ25vcmVSZWplY3QpO1xuICAgICAgICAgIGNodW5rQ2FjaGUuc2V0KGNodW5rSWQsIGVudHJ5KTtcbiAgICAgICAgfSBlbHNlIG51bGwgIT09IGVudHJ5ICYmIHByb21pc2VzLnB1c2goZW50cnkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDQgPT09IG1ldGFkYXRhLmxlbmd0aFxuICAgICAgICA/IDAgPT09IHByb21pc2VzLmxlbmd0aFxuICAgICAgICAgID8gcmVxdWlyZUFzeW5jTW9kdWxlKG1ldGFkYXRhWzBdKVxuICAgICAgICAgIDogUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICByZXR1cm4gcmVxdWlyZUFzeW5jTW9kdWxlKG1ldGFkYXRhWzBdKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIDogMCA8IHByb21pc2VzLmxlbmd0aFxuICAgICAgICAgID8gUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gICAgICAgICAgOiBudWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZXF1aXJlTW9kdWxlKG1ldGFkYXRhKSB7XG4gICAgICB2YXIgbW9kdWxlRXhwb3J0cyA9IGdsb2JhbFRoaXMuX19uZXh0X3JlcXVpcmVfXyhtZXRhZGF0YVswXSk7XG4gICAgICBpZiAoNCA9PT0gbWV0YWRhdGEubGVuZ3RoICYmIFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIG1vZHVsZUV4cG9ydHMudGhlbilcbiAgICAgICAgaWYgKFwiZnVsZmlsbGVkXCIgPT09IG1vZHVsZUV4cG9ydHMuc3RhdHVzKVxuICAgICAgICAgIG1vZHVsZUV4cG9ydHMgPSBtb2R1bGVFeHBvcnRzLnZhbHVlO1xuICAgICAgICBlbHNlIHRocm93IG1vZHVsZUV4cG9ydHMucmVhc29uO1xuICAgICAgcmV0dXJuIFwiKlwiID09PSBtZXRhZGF0YVsyXVxuICAgICAgICA/IG1vZHVsZUV4cG9ydHNcbiAgICAgICAgOiBcIlwiID09PSBtZXRhZGF0YVsyXVxuICAgICAgICAgID8gbW9kdWxlRXhwb3J0cy5fX2VzTW9kdWxlXG4gICAgICAgICAgICA/IG1vZHVsZUV4cG9ydHMuZGVmYXVsdFxuICAgICAgICAgICAgOiBtb2R1bGVFeHBvcnRzXG4gICAgICAgICAgOiBtb2R1bGVFeHBvcnRzW21ldGFkYXRhWzJdXTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcHJlcGFyZURlc3RpbmF0aW9uV2l0aENodW5rcyhcbiAgICAgIG1vZHVsZUxvYWRpbmcsXG4gICAgICBjaHVua3MsXG4gICAgICBub25jZSRqc2NvbXAkMFxuICAgICkge1xuICAgICAgaWYgKG51bGwgIT09IG1vZHVsZUxvYWRpbmcpXG4gICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgY2h1bmtzLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICAgICAgdmFyIG5vbmNlID0gbm9uY2UkanNjb21wJDAsXG4gICAgICAgICAgICBKU0NvbXBpbGVyX3RlbXBfY29uc3QgPSBSZWFjdERPTVNoYXJlZEludGVybmFscy5kLFxuICAgICAgICAgICAgSlNDb21waWxlcl90ZW1wX2NvbnN0JGpzY29tcCQwID0gSlNDb21waWxlcl90ZW1wX2NvbnN0LlgsXG4gICAgICAgICAgICBKU0NvbXBpbGVyX3RlbXBfY29uc3QkanNjb21wJDEgPSBtb2R1bGVMb2FkaW5nLnByZWZpeCArIGNodW5rc1tpXTtcbiAgICAgICAgICB2YXIgSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0ID0gbW9kdWxlTG9hZGluZy5jcm9zc09yaWdpbjtcbiAgICAgICAgICBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQgPVxuICAgICAgICAgICAgXCJzdHJpbmdcIiA9PT0gdHlwZW9mIEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdFxuICAgICAgICAgICAgICA/IFwidXNlLWNyZWRlbnRpYWxzXCIgPT09IEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdFxuICAgICAgICAgICAgICAgID8gSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0XG4gICAgICAgICAgICAgICAgOiBcIlwiXG4gICAgICAgICAgICAgIDogdm9pZCAwO1xuICAgICAgICAgIEpTQ29tcGlsZXJfdGVtcF9jb25zdCRqc2NvbXAkMC5jYWxsKFxuICAgICAgICAgICAgSlNDb21waWxlcl90ZW1wX2NvbnN0LFxuICAgICAgICAgICAgSlNDb21waWxlcl90ZW1wX2NvbnN0JGpzY29tcCQxLFxuICAgICAgICAgICAgeyBjcm9zc09yaWdpbjogSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0LCBub25jZTogbm9uY2UgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gICAgICBpZiAobnVsbCA9PT0gbWF5YmVJdGVyYWJsZSB8fCBcIm9iamVjdFwiICE9PSB0eXBlb2YgbWF5YmVJdGVyYWJsZSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBtYXliZUl0ZXJhYmxlID1cbiAgICAgICAgKE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0pIHx8XG4gICAgICAgIG1heWJlSXRlcmFibGVbXCJAQGl0ZXJhdG9yXCJdO1xuICAgICAgcmV0dXJuIFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIG1heWJlSXRlcmFibGUgPyBtYXliZUl0ZXJhYmxlIDogbnVsbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNPYmplY3RQcm90b3R5cGUob2JqZWN0KSB7XG4gICAgICBpZiAoIW9iamVjdCkgcmV0dXJuICExO1xuICAgICAgdmFyIE9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7XG4gICAgICBpZiAob2JqZWN0ID09PSBPYmplY3RQcm90b3R5cGUpIHJldHVybiAhMDtcbiAgICAgIGlmIChnZXRQcm90b3R5cGVPZihvYmplY3QpKSByZXR1cm4gITE7XG4gICAgICBvYmplY3QgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmplY3QpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvYmplY3QubGVuZ3RoOyBpKyspXG4gICAgICAgIGlmICghKG9iamVjdFtpXSBpbiBPYmplY3RQcm90b3R5cGUpKSByZXR1cm4gITE7XG4gICAgICByZXR1cm4gITA7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzU2ltcGxlT2JqZWN0KG9iamVjdCkge1xuICAgICAgaWYgKCFpc09iamVjdFByb3RvdHlwZShnZXRQcm90b3R5cGVPZihvYmplY3QpKSkgcmV0dXJuICExO1xuICAgICAgZm9yIChcbiAgICAgICAgdmFyIG5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqZWN0KSwgaSA9IDA7XG4gICAgICAgIGkgPCBuYW1lcy5sZW5ndGg7XG4gICAgICAgIGkrK1xuICAgICAgKSB7XG4gICAgICAgIHZhciBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIG5hbWVzW2ldKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFkZXNjcmlwdG9yIHx8XG4gICAgICAgICAgKCFkZXNjcmlwdG9yLmVudW1lcmFibGUgJiZcbiAgICAgICAgICAgICgoXCJrZXlcIiAhPT0gbmFtZXNbaV0gJiYgXCJyZWZcIiAhPT0gbmFtZXNbaV0pIHx8XG4gICAgICAgICAgICAgIFwiZnVuY3Rpb25cIiAhPT0gdHlwZW9mIGRlc2NyaXB0b3IuZ2V0KSlcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybiAhMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhMDtcbiAgICB9XG4gICAgZnVuY3Rpb24gb2JqZWN0TmFtZShvYmplY3QpIHtcbiAgICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nXG4gICAgICAgIC5jYWxsKG9iamVjdClcbiAgICAgICAgLnJlcGxhY2UoL15cXFtvYmplY3QgKC4qKVxcXSQvLCBmdW5jdGlvbiAobSwgcDApIHtcbiAgICAgICAgICByZXR1cm4gcDA7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZXNjcmliZUtleUZvckVycm9yTWVzc2FnZShrZXkpIHtcbiAgICAgIHZhciBlbmNvZGVkS2V5ID0gSlNPTi5zdHJpbmdpZnkoa2V5KTtcbiAgICAgIHJldHVybiAnXCInICsga2V5ICsgJ1wiJyA9PT0gZW5jb2RlZEtleSA/IGtleSA6IGVuY29kZWRLZXk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGRlc2NyaWJlVmFsdWVGb3JFcnJvck1lc3NhZ2UodmFsdWUpIHtcbiAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICAxMCA+PSB2YWx1ZS5sZW5ndGggPyB2YWx1ZSA6IHZhbHVlLnNsaWNlKDAsIDEwKSArIFwiLi4uXCJcbiAgICAgICAgICApO1xuICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgaWYgKGlzQXJyYXlJbXBsKHZhbHVlKSkgcmV0dXJuIFwiWy4uLl1cIjtcbiAgICAgICAgICBpZiAobnVsbCAhPT0gdmFsdWUgJiYgdmFsdWUuJCR0eXBlb2YgPT09IENMSUVOVF9SRUZFUkVOQ0VfVEFHKVxuICAgICAgICAgICAgcmV0dXJuIFwiY2xpZW50XCI7XG4gICAgICAgICAgdmFsdWUgPSBvYmplY3ROYW1lKHZhbHVlKTtcbiAgICAgICAgICByZXR1cm4gXCJPYmplY3RcIiA9PT0gdmFsdWUgPyBcInsuLi59XCIgOiB2YWx1ZTtcbiAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICAgICAgcmV0dXJuIHZhbHVlLiQkdHlwZW9mID09PSBDTElFTlRfUkVGRVJFTkNFX1RBR1xuICAgICAgICAgICAgPyBcImNsaWVudFwiXG4gICAgICAgICAgICA6ICh2YWx1ZSA9IHZhbHVlLmRpc3BsYXlOYW1lIHx8IHZhbHVlLm5hbWUpXG4gICAgICAgICAgICAgID8gXCJmdW5jdGlvbiBcIiArIHZhbHVlXG4gICAgICAgICAgICAgIDogXCJmdW5jdGlvblwiO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBkZXNjcmliZUVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgICAgIGlmIChcInN0cmluZ1wiID09PSB0eXBlb2YgdHlwZSkgcmV0dXJuIHR5cGU7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlN1c3BlbnNlXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlN1c3BlbnNlTGlzdFwiO1xuICAgICAgfVxuICAgICAgaWYgKFwib2JqZWN0XCIgPT09IHR5cGVvZiB0eXBlKVxuICAgICAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVFbGVtZW50VHlwZSh0eXBlLnJlbmRlcik7XG4gICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVFbGVtZW50VHlwZSh0eXBlLnR5cGUpO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgICAgdmFyIHBheWxvYWQgPSB0eXBlLl9wYXlsb2FkO1xuICAgICAgICAgICAgdHlwZSA9IHR5cGUuX2luaXQ7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVFbGVtZW50VHlwZSh0eXBlKHBheWxvYWQpKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShvYmplY3RPckFycmF5LCBleHBhbmRlZE5hbWUpIHtcbiAgICAgIHZhciBvYmpLaW5kID0gb2JqZWN0TmFtZShvYmplY3RPckFycmF5KTtcbiAgICAgIGlmIChcIk9iamVjdFwiICE9PSBvYmpLaW5kICYmIFwiQXJyYXlcIiAhPT0gb2JqS2luZCkgcmV0dXJuIG9iaktpbmQ7XG4gICAgICB2YXIgc3RhcnQgPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gMDtcbiAgICAgIGlmIChpc0FycmF5SW1wbChvYmplY3RPckFycmF5KSlcbiAgICAgICAgaWYgKGpzeENoaWxkcmVuUGFyZW50cy5oYXMob2JqZWN0T3JBcnJheSkpIHtcbiAgICAgICAgICB2YXIgdHlwZSA9IGpzeENoaWxkcmVuUGFyZW50cy5nZXQob2JqZWN0T3JBcnJheSk7XG4gICAgICAgICAgb2JqS2luZCA9IFwiPFwiICsgZGVzY3JpYmVFbGVtZW50VHlwZSh0eXBlKSArIFwiPlwiO1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqZWN0T3JBcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gb2JqZWN0T3JBcnJheVtpXTtcbiAgICAgICAgICAgIHZhbHVlID1cbiAgICAgICAgICAgICAgXCJzdHJpbmdcIiA9PT0gdHlwZW9mIHZhbHVlXG4gICAgICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgICAgIDogXCJvYmplY3RcIiA9PT0gdHlwZW9mIHZhbHVlICYmIG51bGwgIT09IHZhbHVlXG4gICAgICAgICAgICAgICAgICA/IFwie1wiICsgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UodmFsdWUpICsgXCJ9XCJcbiAgICAgICAgICAgICAgICAgIDogXCJ7XCIgKyBkZXNjcmliZVZhbHVlRm9yRXJyb3JNZXNzYWdlKHZhbHVlKSArIFwifVwiO1xuICAgICAgICAgICAgXCJcIiArIGkgPT09IGV4cGFuZGVkTmFtZVxuICAgICAgICAgICAgICA/ICgoc3RhcnQgPSBvYmpLaW5kLmxlbmd0aCksXG4gICAgICAgICAgICAgICAgKGxlbmd0aCA9IHZhbHVlLmxlbmd0aCksXG4gICAgICAgICAgICAgICAgKG9iaktpbmQgKz0gdmFsdWUpKVxuICAgICAgICAgICAgICA6IChvYmpLaW5kID1cbiAgICAgICAgICAgICAgICAgIDE1ID4gdmFsdWUubGVuZ3RoICYmIDQwID4gb2JqS2luZC5sZW5ndGggKyB2YWx1ZS5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgPyBvYmpLaW5kICsgdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgOiBvYmpLaW5kICsgXCJ7Li4ufVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgb2JqS2luZCArPSBcIjwvXCIgKyBkZXNjcmliZUVsZW1lbnRUeXBlKHR5cGUpICsgXCI+XCI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JqS2luZCA9IFwiW1wiO1xuICAgICAgICAgIGZvciAodHlwZSA9IDA7IHR5cGUgPCBvYmplY3RPckFycmF5Lmxlbmd0aDsgdHlwZSsrKVxuICAgICAgICAgICAgMCA8IHR5cGUgJiYgKG9iaktpbmQgKz0gXCIsIFwiKSxcbiAgICAgICAgICAgICAgKGkgPSBvYmplY3RPckFycmF5W3R5cGVdKSxcbiAgICAgICAgICAgICAgKGkgPVxuICAgICAgICAgICAgICAgIFwib2JqZWN0XCIgPT09IHR5cGVvZiBpICYmIG51bGwgIT09IGlcbiAgICAgICAgICAgICAgICAgID8gZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UoaSlcbiAgICAgICAgICAgICAgICAgIDogZGVzY3JpYmVWYWx1ZUZvckVycm9yTWVzc2FnZShpKSksXG4gICAgICAgICAgICAgIFwiXCIgKyB0eXBlID09PSBleHBhbmRlZE5hbWVcbiAgICAgICAgICAgICAgICA/ICgoc3RhcnQgPSBvYmpLaW5kLmxlbmd0aCksXG4gICAgICAgICAgICAgICAgICAobGVuZ3RoID0gaS5sZW5ndGgpLFxuICAgICAgICAgICAgICAgICAgKG9iaktpbmQgKz0gaSkpXG4gICAgICAgICAgICAgICAgOiAob2JqS2luZCA9XG4gICAgICAgICAgICAgICAgICAgIDEwID4gaS5sZW5ndGggJiYgNDAgPiBvYmpLaW5kLmxlbmd0aCArIGkubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgPyBvYmpLaW5kICsgaVxuICAgICAgICAgICAgICAgICAgICAgIDogb2JqS2luZCArIFwiLi4uXCIpO1xuICAgICAgICAgIG9iaktpbmQgKz0gXCJdXCI7XG4gICAgICAgIH1cbiAgICAgIGVsc2UgaWYgKG9iamVjdE9yQXJyYXkuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSlcbiAgICAgICAgb2JqS2luZCA9IFwiPFwiICsgZGVzY3JpYmVFbGVtZW50VHlwZShvYmplY3RPckFycmF5LnR5cGUpICsgXCIvPlwiO1xuICAgICAgZWxzZSB7XG4gICAgICAgIGlmIChvYmplY3RPckFycmF5LiQkdHlwZW9mID09PSBDTElFTlRfUkVGRVJFTkNFX1RBRykgcmV0dXJuIFwiY2xpZW50XCI7XG4gICAgICAgIGlmIChqc3hQcm9wc1BhcmVudHMuaGFzKG9iamVjdE9yQXJyYXkpKSB7XG4gICAgICAgICAgb2JqS2luZCA9IGpzeFByb3BzUGFyZW50cy5nZXQob2JqZWN0T3JBcnJheSk7XG4gICAgICAgICAgb2JqS2luZCA9IFwiPFwiICsgKGRlc2NyaWJlRWxlbWVudFR5cGUob2JqS2luZCkgfHwgXCIuLi5cIik7XG4gICAgICAgICAgdHlwZSA9IE9iamVjdC5rZXlzKG9iamVjdE9yQXJyYXkpO1xuICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB0eXBlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBvYmpLaW5kICs9IFwiIFwiO1xuICAgICAgICAgICAgdmFsdWUgPSB0eXBlW2ldO1xuICAgICAgICAgICAgb2JqS2luZCArPSBkZXNjcmliZUtleUZvckVycm9yTWVzc2FnZSh2YWx1ZSkgKyBcIj1cIjtcbiAgICAgICAgICAgIHZhciBfdmFsdWUyID0gb2JqZWN0T3JBcnJheVt2YWx1ZV07XG4gICAgICAgICAgICB2YXIgX3N1YnN0cjIgPVxuICAgICAgICAgICAgICB2YWx1ZSA9PT0gZXhwYW5kZWROYW1lICYmXG4gICAgICAgICAgICAgIFwib2JqZWN0XCIgPT09IHR5cGVvZiBfdmFsdWUyICYmXG4gICAgICAgICAgICAgIG51bGwgIT09IF92YWx1ZTJcbiAgICAgICAgICAgICAgICA/IGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKF92YWx1ZTIpXG4gICAgICAgICAgICAgICAgOiBkZXNjcmliZVZhbHVlRm9yRXJyb3JNZXNzYWdlKF92YWx1ZTIpO1xuICAgICAgICAgICAgXCJzdHJpbmdcIiAhPT0gdHlwZW9mIF92YWx1ZTIgJiYgKF9zdWJzdHIyID0gXCJ7XCIgKyBfc3Vic3RyMiArIFwifVwiKTtcbiAgICAgICAgICAgIHZhbHVlID09PSBleHBhbmRlZE5hbWVcbiAgICAgICAgICAgICAgPyAoKHN0YXJ0ID0gb2JqS2luZC5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIChsZW5ndGggPSBfc3Vic3RyMi5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIChvYmpLaW5kICs9IF9zdWJzdHIyKSlcbiAgICAgICAgICAgICAgOiAob2JqS2luZCA9XG4gICAgICAgICAgICAgICAgICAxMCA+IF9zdWJzdHIyLmxlbmd0aCAmJiA0MCA+IG9iaktpbmQubGVuZ3RoICsgX3N1YnN0cjIubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgID8gb2JqS2luZCArIF9zdWJzdHIyXG4gICAgICAgICAgICAgICAgICAgIDogb2JqS2luZCArIFwiLi4uXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvYmpLaW5kICs9IFwiPlwiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9iaktpbmQgPSBcIntcIjtcbiAgICAgICAgICB0eXBlID0gT2JqZWN0LmtleXMob2JqZWN0T3JBcnJheSk7XG4gICAgICAgICAgZm9yIChpID0gMDsgaSA8IHR5cGUubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICAwIDwgaSAmJiAob2JqS2luZCArPSBcIiwgXCIpLFxuICAgICAgICAgICAgICAodmFsdWUgPSB0eXBlW2ldKSxcbiAgICAgICAgICAgICAgKG9iaktpbmQgKz0gZGVzY3JpYmVLZXlGb3JFcnJvck1lc3NhZ2UodmFsdWUpICsgXCI6IFwiKSxcbiAgICAgICAgICAgICAgKF92YWx1ZTIgPSBvYmplY3RPckFycmF5W3ZhbHVlXSksXG4gICAgICAgICAgICAgIChfdmFsdWUyID1cbiAgICAgICAgICAgICAgICBcIm9iamVjdFwiID09PSB0eXBlb2YgX3ZhbHVlMiAmJiBudWxsICE9PSBfdmFsdWUyXG4gICAgICAgICAgICAgICAgICA/IGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKF92YWx1ZTIpXG4gICAgICAgICAgICAgICAgICA6IGRlc2NyaWJlVmFsdWVGb3JFcnJvck1lc3NhZ2UoX3ZhbHVlMikpLFxuICAgICAgICAgICAgICB2YWx1ZSA9PT0gZXhwYW5kZWROYW1lXG4gICAgICAgICAgICAgICAgPyAoKHN0YXJ0ID0gb2JqS2luZC5sZW5ndGgpLFxuICAgICAgICAgICAgICAgICAgKGxlbmd0aCA9IF92YWx1ZTIubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICAgIChvYmpLaW5kICs9IF92YWx1ZTIpKVxuICAgICAgICAgICAgICAgIDogKG9iaktpbmQgPVxuICAgICAgICAgICAgICAgICAgICAxMCA+IF92YWx1ZTIubGVuZ3RoICYmIDQwID4gb2JqS2luZC5sZW5ndGggKyBfdmFsdWUyLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgID8gb2JqS2luZCArIF92YWx1ZTJcbiAgICAgICAgICAgICAgICAgICAgICA6IG9iaktpbmQgKyBcIi4uLlwiKTtcbiAgICAgICAgICBvYmpLaW5kICs9IFwifVwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdm9pZCAwID09PSBleHBhbmRlZE5hbWVcbiAgICAgICAgPyBvYmpLaW5kXG4gICAgICAgIDogLTEgPCBzdGFydCAmJiAwIDwgbGVuZ3RoXG4gICAgICAgICAgPyAoKG9iamVjdE9yQXJyYXkgPSBcIiBcIi5yZXBlYXQoc3RhcnQpICsgXCJeXCIucmVwZWF0KGxlbmd0aCkpLFxuICAgICAgICAgICAgXCJcXG4gIFwiICsgb2JqS2luZCArIFwiXFxuICBcIiArIG9iamVjdE9yQXJyYXkpXG4gICAgICAgICAgOiBcIlxcbiAgXCIgKyBvYmpLaW5kO1xuICAgIH1cbiAgICBmdW5jdGlvbiBzZXJpYWxpemVOdW1iZXIobnVtYmVyKSB7XG4gICAgICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKG51bWJlcilcbiAgICAgICAgPyAwID09PSBudW1iZXIgJiYgLUluZmluaXR5ID09PSAxIC8gbnVtYmVyXG4gICAgICAgICAgPyBcIiQtMFwiXG4gICAgICAgICAgOiBudW1iZXJcbiAgICAgICAgOiBJbmZpbml0eSA9PT0gbnVtYmVyXG4gICAgICAgICAgPyBcIiRJbmZpbml0eVwiXG4gICAgICAgICAgOiAtSW5maW5pdHkgPT09IG51bWJlclxuICAgICAgICAgICAgPyBcIiQtSW5maW5pdHlcIlxuICAgICAgICAgICAgOiBcIiROYU5cIjtcbiAgICB9XG4gICAgZnVuY3Rpb24gcHJvY2Vzc1JlcGx5KFxuICAgICAgcm9vdCxcbiAgICAgIGZvcm1GaWVsZFByZWZpeCxcbiAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXMsXG4gICAgICByZXNvbHZlLFxuICAgICAgcmVqZWN0XG4gICAgKSB7XG4gICAgICBmdW5jdGlvbiBzZXJpYWxpemVUeXBlZEFycmF5KHRhZywgdHlwZWRBcnJheSkge1xuICAgICAgICB0eXBlZEFycmF5ID0gbmV3IEJsb2IoW1xuICAgICAgICAgIG5ldyBVaW50OEFycmF5KFxuICAgICAgICAgICAgdHlwZWRBcnJheS5idWZmZXIsXG4gICAgICAgICAgICB0eXBlZEFycmF5LmJ5dGVPZmZzZXQsXG4gICAgICAgICAgICB0eXBlZEFycmF5LmJ5dGVMZW5ndGhcbiAgICAgICAgICApXG4gICAgICAgIF0pO1xuICAgICAgICB2YXIgYmxvYklkID0gbmV4dFBhcnRJZCsrO1xuICAgICAgICBudWxsID09PSBmb3JtRGF0YSAmJiAoZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBibG9iSWQsIHR5cGVkQXJyYXkpO1xuICAgICAgICByZXR1cm4gXCIkXCIgKyB0YWcgKyBibG9iSWQudG9TdHJpbmcoMTYpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gc2VyaWFsaXplQmluYXJ5UmVhZGVyKHJlYWRlcikge1xuICAgICAgICBmdW5jdGlvbiBwcm9ncmVzcyhlbnRyeSkge1xuICAgICAgICAgIGVudHJ5LmRvbmVcbiAgICAgICAgICAgID8gKChlbnRyeSA9IG5leHRQYXJ0SWQrKyksXG4gICAgICAgICAgICAgIGRhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIGVudHJ5LCBuZXcgQmxvYihidWZmZXIpKSxcbiAgICAgICAgICAgICAgZGF0YS5hcHBlbmQoXG4gICAgICAgICAgICAgICAgZm9ybUZpZWxkUHJlZml4ICsgc3RyZWFtSWQsXG4gICAgICAgICAgICAgICAgJ1wiJG8nICsgZW50cnkudG9TdHJpbmcoMTYpICsgJ1wiJ1xuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBkYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBzdHJlYW1JZCwgXCJDXCIpLFxuICAgICAgICAgICAgICBwZW5kaW5nUGFydHMtLSxcbiAgICAgICAgICAgICAgMCA9PT0gcGVuZGluZ1BhcnRzICYmIHJlc29sdmUoZGF0YSkpXG4gICAgICAgICAgICA6IChidWZmZXIucHVzaChlbnRyeS52YWx1ZSksXG4gICAgICAgICAgICAgIHJlYWRlci5yZWFkKG5ldyBVaW50OEFycmF5KDEwMjQpKS50aGVuKHByb2dyZXNzLCByZWplY3QpKTtcbiAgICAgICAgfVxuICAgICAgICBudWxsID09PSBmb3JtRGF0YSAmJiAoZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSk7XG4gICAgICAgIHZhciBkYXRhID0gZm9ybURhdGE7XG4gICAgICAgIHBlbmRpbmdQYXJ0cysrO1xuICAgICAgICB2YXIgc3RyZWFtSWQgPSBuZXh0UGFydElkKyssXG4gICAgICAgICAgYnVmZmVyID0gW107XG4gICAgICAgIHJlYWRlci5yZWFkKG5ldyBVaW50OEFycmF5KDEwMjQpKS50aGVuKHByb2dyZXNzLCByZWplY3QpO1xuICAgICAgICByZXR1cm4gXCIkclwiICsgc3RyZWFtSWQudG9TdHJpbmcoMTYpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gc2VyaWFsaXplUmVhZGVyKHJlYWRlcikge1xuICAgICAgICBmdW5jdGlvbiBwcm9ncmVzcyhlbnRyeSkge1xuICAgICAgICAgIGlmIChlbnRyeS5kb25lKVxuICAgICAgICAgICAgZGF0YS5hcHBlbmQoZm9ybUZpZWxkUHJlZml4ICsgc3RyZWFtSWQsIFwiQ1wiKSxcbiAgICAgICAgICAgICAgcGVuZGluZ1BhcnRzLS0sXG4gICAgICAgICAgICAgIDAgPT09IHBlbmRpbmdQYXJ0cyAmJiByZXNvbHZlKGRhdGEpO1xuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHZhciBwYXJ0SlNPTiA9IEpTT04uc3RyaW5naWZ5KGVudHJ5LnZhbHVlLCByZXNvbHZlVG9KU09OKTtcbiAgICAgICAgICAgICAgZGF0YS5hcHBlbmQoZm9ybUZpZWxkUHJlZml4ICsgc3RyZWFtSWQsIHBhcnRKU09OKTtcbiAgICAgICAgICAgICAgcmVhZGVyLnJlYWQoKS50aGVuKHByb2dyZXNzLCByZWplY3QpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICByZWplY3QoeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbnVsbCA9PT0gZm9ybURhdGEgJiYgKGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCkpO1xuICAgICAgICB2YXIgZGF0YSA9IGZvcm1EYXRhO1xuICAgICAgICBwZW5kaW5nUGFydHMrKztcbiAgICAgICAgdmFyIHN0cmVhbUlkID0gbmV4dFBhcnRJZCsrO1xuICAgICAgICByZWFkZXIucmVhZCgpLnRoZW4ocHJvZ3Jlc3MsIHJlamVjdCk7XG4gICAgICAgIHJldHVybiBcIiRSXCIgKyBzdHJlYW1JZC50b1N0cmluZygxNik7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBzZXJpYWxpemVSZWFkYWJsZVN0cmVhbShzdHJlYW0pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB2YXIgYmluYXJ5UmVhZGVyID0gc3RyZWFtLmdldFJlYWRlcih7IG1vZGU6IFwiYnlvYlwiIH0pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVJlYWRlcihzdHJlYW0uZ2V0UmVhZGVyKCkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZXJpYWxpemVCaW5hcnlSZWFkZXIoYmluYXJ5UmVhZGVyKTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHNlcmlhbGl6ZUFzeW5jSXRlcmFibGUoaXRlcmFibGUsIGl0ZXJhdG9yKSB7XG4gICAgICAgIGZ1bmN0aW9uIHByb2dyZXNzKGVudHJ5KSB7XG4gICAgICAgICAgaWYgKGVudHJ5LmRvbmUpIHtcbiAgICAgICAgICAgIGlmICh2b2lkIDAgPT09IGVudHJ5LnZhbHVlKVxuICAgICAgICAgICAgICBkYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBzdHJlYW1JZCwgXCJDXCIpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHZhciBwYXJ0SlNPTiA9IEpTT04uc3RyaW5naWZ5KGVudHJ5LnZhbHVlLCByZXNvbHZlVG9KU09OKTtcbiAgICAgICAgICAgICAgICBkYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBzdHJlYW1JZCwgXCJDXCIgKyBwYXJ0SlNPTik7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoeCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBwZW5kaW5nUGFydHMtLTtcbiAgICAgICAgICAgIDAgPT09IHBlbmRpbmdQYXJ0cyAmJiByZXNvbHZlKGRhdGEpO1xuICAgICAgICAgIH0gZWxzZVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgdmFyIF9wYXJ0SlNPTiA9IEpTT04uc3RyaW5naWZ5KGVudHJ5LnZhbHVlLCByZXNvbHZlVG9KU09OKTtcbiAgICAgICAgICAgICAgZGF0YS5hcHBlbmQoZm9ybUZpZWxkUHJlZml4ICsgc3RyZWFtSWQsIF9wYXJ0SlNPTik7XG4gICAgICAgICAgICAgIGl0ZXJhdG9yLm5leHQoKS50aGVuKHByb2dyZXNzLCByZWplY3QpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCQwKSB7XG4gICAgICAgICAgICAgIHJlamVjdCh4JDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG51bGwgPT09IGZvcm1EYXRhICYmIChmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpKTtcbiAgICAgICAgdmFyIGRhdGEgPSBmb3JtRGF0YTtcbiAgICAgICAgcGVuZGluZ1BhcnRzKys7XG4gICAgICAgIHZhciBzdHJlYW1JZCA9IG5leHRQYXJ0SWQrKztcbiAgICAgICAgaXRlcmFibGUgPSBpdGVyYWJsZSA9PT0gaXRlcmF0b3I7XG4gICAgICAgIGl0ZXJhdG9yLm5leHQoKS50aGVuKHByb2dyZXNzLCByZWplY3QpO1xuICAgICAgICByZXR1cm4gXCIkXCIgKyAoaXRlcmFibGUgPyBcInhcIiA6IFwiWFwiKSArIHN0cmVhbUlkLnRvU3RyaW5nKDE2KTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHJlc29sdmVUb0pTT04oa2V5LCB2YWx1ZSkge1xuICAgICAgICB2YXIgb3JpZ2luYWxWYWx1ZSA9IHRoaXNba2V5XTtcbiAgICAgICAgXCJvYmplY3RcIiAhPT0gdHlwZW9mIG9yaWdpbmFsVmFsdWUgfHxcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID09PSB2YWx1ZSB8fFxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgaW5zdGFuY2VvZiBEYXRlIHx8XG4gICAgICAgICAgKFwiT2JqZWN0XCIgIT09IG9iamVjdE5hbWUob3JpZ2luYWxWYWx1ZSlcbiAgICAgICAgICAgID8gY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICBcIk9ubHkgcGxhaW4gb2JqZWN0cyBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiAlcyBvYmplY3RzIGFyZSBub3Qgc3VwcG9ydGVkLiVzXCIsXG4gICAgICAgICAgICAgICAgb2JqZWN0TmFtZShvcmlnaW5hbFZhbHVlKSxcbiAgICAgICAgICAgICAgICBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSh0aGlzLCBrZXkpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICBcIk9ubHkgcGxhaW4gb2JqZWN0cyBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiBPYmplY3RzIHdpdGggdG9KU09OIG1ldGhvZHMgYXJlIG5vdCBzdXBwb3J0ZWQuIENvbnZlcnQgaXQgbWFudWFsbHkgdG8gYSBzaW1wbGUgdmFsdWUgYmVmb3JlIHBhc3NpbmcgaXQgdG8gcHJvcHMuJXNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSh0aGlzLCBrZXkpXG4gICAgICAgICAgICAgICkpO1xuICAgICAgICBpZiAobnVsbCA9PT0gdmFsdWUpIHJldHVybiBudWxsO1xuICAgICAgICBpZiAoXCJvYmplY3RcIiA9PT0gdHlwZW9mIHZhbHVlKSB7XG4gICAgICAgICAgc3dpdGNoICh2YWx1ZS4kJHR5cGVvZikge1xuICAgICAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgICAgICAgIGlmICh2b2lkIDAgIT09IHRlbXBvcmFyeVJlZmVyZW5jZXMgJiYgLTEgPT09IGtleS5pbmRleE9mKFwiOlwiKSkge1xuICAgICAgICAgICAgICAgIHZhciBwYXJlbnRSZWZlcmVuY2UgPSB3cml0dGVuT2JqZWN0cy5nZXQodGhpcyk7XG4gICAgICAgICAgICAgICAgaWYgKHZvaWQgMCAhPT0gcGFyZW50UmVmZXJlbmNlKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcy5zZXQocGFyZW50UmVmZXJlbmNlICsgXCI6XCIgKyBrZXksIHZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgXCIkVFwiXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgICAgIFwiUmVhY3QgRWxlbWVudCBjYW5ub3QgYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50IHdpdGhvdXQgYSB0ZW1wb3JhcnkgcmVmZXJlbmNlIHNldC4gUGFzcyBhIFRlbXBvcmFyeVJlZmVyZW5jZVNldCB0byB0aGUgb3B0aW9ucy5cIiArXG4gICAgICAgICAgICAgICAgICBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSh0aGlzLCBrZXkpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHZhbHVlLl9wYXlsb2FkO1xuICAgICAgICAgICAgICB2YXIgaW5pdCA9IHZhbHVlLl9pbml0O1xuICAgICAgICAgICAgICBudWxsID09PSBmb3JtRGF0YSAmJiAoZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSk7XG4gICAgICAgICAgICAgIHBlbmRpbmdQYXJ0cysrO1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSA9IGluaXQob3JpZ2luYWxWYWx1ZSk7XG4gICAgICAgICAgICAgICAgdmFyIGxhenlJZCA9IG5leHRQYXJ0SWQrKyxcbiAgICAgICAgICAgICAgICAgIHBhcnRKU09OID0gc2VyaWFsaXplTW9kZWwocGFyZW50UmVmZXJlbmNlLCBsYXp5SWQpO1xuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBsYXp5SWQsIHBhcnRKU09OKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCIkXCIgKyBsYXp5SWQudG9TdHJpbmcoMTYpO1xuICAgICAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgXCJvYmplY3RcIiA9PT0gdHlwZW9mIHggJiZcbiAgICAgICAgICAgICAgICAgIG51bGwgIT09IHggJiZcbiAgICAgICAgICAgICAgICAgIFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIHgudGhlblxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgcGVuZGluZ1BhcnRzKys7XG4gICAgICAgICAgICAgICAgICB2YXIgX2xhenlJZCA9IG5leHRQYXJ0SWQrKztcbiAgICAgICAgICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICB2YXIgX3BhcnRKU09OMiA9IHNlcmlhbGl6ZU1vZGVsKHZhbHVlLCBfbGF6eUlkKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9kYXRhID0gZm9ybURhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgX2RhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIF9sYXp5SWQsIF9wYXJ0SlNPTjIpO1xuICAgICAgICAgICAgICAgICAgICAgIHBlbmRpbmdQYXJ0cy0tO1xuICAgICAgICAgICAgICAgICAgICAgIDAgPT09IHBlbmRpbmdQYXJ0cyAmJiByZXNvbHZlKF9kYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAocmVhc29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHJlYXNvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICB4LnRoZW4ocGFyZW50UmVmZXJlbmNlLCBwYXJlbnRSZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiJFwiICsgX2xhenlJZC50b1N0cmluZygxNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlamVjdCh4KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICBwZW5kaW5nUGFydHMtLTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoXCJmdW5jdGlvblwiID09PSB0eXBlb2YgdmFsdWUudGhlbikge1xuICAgICAgICAgICAgbnVsbCA9PT0gZm9ybURhdGEgJiYgKGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCkpO1xuICAgICAgICAgICAgcGVuZGluZ1BhcnRzKys7XG4gICAgICAgICAgICB2YXIgcHJvbWlzZUlkID0gbmV4dFBhcnRJZCsrO1xuICAgICAgICAgICAgdmFsdWUudGhlbihmdW5jdGlvbiAocGFydFZhbHVlKSB7XG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdmFyIF9wYXJ0SlNPTjMgPSBzZXJpYWxpemVNb2RlbChwYXJ0VmFsdWUsIHByb21pc2VJZCk7XG4gICAgICAgICAgICAgICAgcGFydFZhbHVlID0gZm9ybURhdGE7XG4gICAgICAgICAgICAgICAgcGFydFZhbHVlLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBwcm9taXNlSWQsIF9wYXJ0SlNPTjMpO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdQYXJ0cy0tO1xuICAgICAgICAgICAgICAgIDAgPT09IHBlbmRpbmdQYXJ0cyAmJiByZXNvbHZlKHBhcnRWYWx1ZSk7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKHJlYXNvbikge1xuICAgICAgICAgICAgICAgIHJlamVjdChyZWFzb24pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCByZWplY3QpO1xuICAgICAgICAgICAgcmV0dXJuIFwiJEBcIiArIHByb21pc2VJZC50b1N0cmluZygxNik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSA9IHdyaXR0ZW5PYmplY3RzLmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZvaWQgMCAhPT0gcGFyZW50UmVmZXJlbmNlKVxuICAgICAgICAgICAgaWYgKG1vZGVsUm9vdCA9PT0gdmFsdWUpIG1vZGVsUm9vdCA9IG51bGw7XG4gICAgICAgICAgICBlbHNlIHJldHVybiBwYXJlbnRSZWZlcmVuY2U7XG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgLTEgPT09IGtleS5pbmRleE9mKFwiOlwiKSAmJlxuICAgICAgICAgICAgICAoKHBhcmVudFJlZmVyZW5jZSA9IHdyaXR0ZW5PYmplY3RzLmdldCh0aGlzKSksXG4gICAgICAgICAgICAgIHZvaWQgMCAhPT0gcGFyZW50UmVmZXJlbmNlICYmXG4gICAgICAgICAgICAgICAgKChwYXJlbnRSZWZlcmVuY2UgPSBwYXJlbnRSZWZlcmVuY2UgKyBcIjpcIiArIGtleSksXG4gICAgICAgICAgICAgICAgd3JpdHRlbk9iamVjdHMuc2V0KHZhbHVlLCBwYXJlbnRSZWZlcmVuY2UpLFxuICAgICAgICAgICAgICAgIHZvaWQgMCAhPT0gdGVtcG9yYXJ5UmVmZXJlbmNlcyAmJlxuICAgICAgICAgICAgICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcy5zZXQocGFyZW50UmVmZXJlbmNlLCB2YWx1ZSkpKTtcbiAgICAgICAgICBpZiAoaXNBcnJheUltcGwodmFsdWUpKSByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICAgICAgICAgIG51bGwgPT09IGZvcm1EYXRhICYmIChmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpKTtcbiAgICAgICAgICAgIHZhciBfZGF0YTMgPSBmb3JtRGF0YTtcbiAgICAgICAgICAgIGtleSA9IG5leHRQYXJ0SWQrKztcbiAgICAgICAgICAgIHZhciBwcmVmaXggPSBmb3JtRmllbGRQcmVmaXggKyBrZXkgKyBcIl9cIjtcbiAgICAgICAgICAgIHZhbHVlLmZvckVhY2goZnVuY3Rpb24gKG9yaWdpbmFsVmFsdWUsIG9yaWdpbmFsS2V5KSB7XG4gICAgICAgICAgICAgIF9kYXRhMy5hcHBlbmQocHJlZml4ICsgb3JpZ2luYWxLZXksIG9yaWdpbmFsVmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gXCIkS1wiICsga2V5LnRvU3RyaW5nKDE2KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTWFwKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKGtleSA9IG5leHRQYXJ0SWQrKyksXG4gICAgICAgICAgICAgIChwYXJlbnRSZWZlcmVuY2UgPSBzZXJpYWxpemVNb2RlbChBcnJheS5mcm9tKHZhbHVlKSwga2V5KSksXG4gICAgICAgICAgICAgIG51bGwgPT09IGZvcm1EYXRhICYmIChmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpKSxcbiAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIGtleSwgcGFyZW50UmVmZXJlbmNlKSxcbiAgICAgICAgICAgICAgXCIkUVwiICsga2V5LnRvU3RyaW5nKDE2KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBTZXQpXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAoa2V5ID0gbmV4dFBhcnRJZCsrKSxcbiAgICAgICAgICAgICAgKHBhcmVudFJlZmVyZW5jZSA9IHNlcmlhbGl6ZU1vZGVsKEFycmF5LmZyb20odmFsdWUpLCBrZXkpKSxcbiAgICAgICAgICAgICAgbnVsbCA9PT0gZm9ybURhdGEgJiYgKGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCkpLFxuICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoZm9ybUZpZWxkUHJlZml4ICsga2V5LCBwYXJlbnRSZWZlcmVuY2UpLFxuICAgICAgICAgICAgICBcIiRXXCIgKyBrZXkudG9TdHJpbmcoMTYpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKGtleSA9IG5ldyBCbG9iKFt2YWx1ZV0pKSxcbiAgICAgICAgICAgICAgKHBhcmVudFJlZmVyZW5jZSA9IG5leHRQYXJ0SWQrKyksXG4gICAgICAgICAgICAgIG51bGwgPT09IGZvcm1EYXRhICYmIChmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpKSxcbiAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIHBhcmVudFJlZmVyZW5jZSwga2V5KSxcbiAgICAgICAgICAgICAgXCIkQVwiICsgcGFyZW50UmVmZXJlbmNlLnRvU3RyaW5nKDE2KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBJbnQ4QXJyYXkpXG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplVHlwZWRBcnJheShcIk9cIiwgdmFsdWUpO1xuICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpXG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplVHlwZWRBcnJheShcIm9cIiwgdmFsdWUpO1xuICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5KVxuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVR5cGVkQXJyYXkoXCJVXCIsIHZhbHVlKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBJbnQxNkFycmF5KVxuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVR5cGVkQXJyYXkoXCJTXCIsIHZhbHVlKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBVaW50MTZBcnJheSlcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVUeXBlZEFycmF5KFwic1wiLCB2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgSW50MzJBcnJheSlcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVUeXBlZEFycmF5KFwiTFwiLCB2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVWludDMyQXJyYXkpXG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplVHlwZWRBcnJheShcImxcIiwgdmFsdWUpO1xuICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSlcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVUeXBlZEFycmF5KFwiR1wiLCB2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5KVxuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVR5cGVkQXJyYXkoXCJnXCIsIHZhbHVlKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCaWdJbnQ2NEFycmF5KVxuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVR5cGVkQXJyYXkoXCJNXCIsIHZhbHVlKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCaWdVaW50NjRBcnJheSlcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVUeXBlZEFycmF5KFwibVwiLCB2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0YVZpZXcpIHJldHVybiBzZXJpYWxpemVUeXBlZEFycmF5KFwiVlwiLCB2YWx1ZSk7XG4gICAgICAgICAgaWYgKFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIEJsb2IgJiYgdmFsdWUgaW5zdGFuY2VvZiBCbG9iKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgbnVsbCA9PT0gZm9ybURhdGEgJiYgKGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCkpLFxuICAgICAgICAgICAgICAoa2V5ID0gbmV4dFBhcnRJZCsrKSxcbiAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIGtleSwgdmFsdWUpLFxuICAgICAgICAgICAgICBcIiRCXCIgKyBrZXkudG9TdHJpbmcoMTYpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGlmICgocGFyZW50UmVmZXJlbmNlID0gZ2V0SXRlcmF0b3JGbih2YWx1ZSkpKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKHBhcmVudFJlZmVyZW5jZSA9IHBhcmVudFJlZmVyZW5jZS5jYWxsKHZhbHVlKSksXG4gICAgICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSA9PT0gdmFsdWVcbiAgICAgICAgICAgICAgICA/ICgoa2V5ID0gbmV4dFBhcnRJZCsrKSxcbiAgICAgICAgICAgICAgICAgIChwYXJlbnRSZWZlcmVuY2UgPSBzZXJpYWxpemVNb2RlbChcbiAgICAgICAgICAgICAgICAgICAgQXJyYXkuZnJvbShwYXJlbnRSZWZlcmVuY2UpLFxuICAgICAgICAgICAgICAgICAgICBrZXlcbiAgICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgICAgICAgbnVsbCA9PT0gZm9ybURhdGEgJiYgKGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCkpLFxuICAgICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIGtleSwgcGFyZW50UmVmZXJlbmNlKSxcbiAgICAgICAgICAgICAgICAgIFwiJGlcIiArIGtleS50b1N0cmluZygxNikpXG4gICAgICAgICAgICAgICAgOiBBcnJheS5mcm9tKHBhcmVudFJlZmVyZW5jZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgXCJmdW5jdGlvblwiID09PSB0eXBlb2YgUmVhZGFibGVTdHJlYW0gJiZcbiAgICAgICAgICAgIHZhbHVlIGluc3RhbmNlb2YgUmVhZGFibGVTdHJlYW1cbiAgICAgICAgICApXG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplUmVhZGFibGVTdHJlYW0odmFsdWUpO1xuICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSA9IHZhbHVlW0FTWU5DX0lURVJBVE9SXTtcbiAgICAgICAgICBpZiAoXCJmdW5jdGlvblwiID09PSB0eXBlb2YgcGFyZW50UmVmZXJlbmNlKVxuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZUFzeW5jSXRlcmFibGUodmFsdWUsIHBhcmVudFJlZmVyZW5jZS5jYWxsKHZhbHVlKSk7XG4gICAgICAgICAgcGFyZW50UmVmZXJlbmNlID0gZ2V0UHJvdG90eXBlT2YodmFsdWUpO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSAhPT0gT2JqZWN0UHJvdG90eXBlICYmXG4gICAgICAgICAgICAobnVsbCA9PT0gcGFyZW50UmVmZXJlbmNlIHx8XG4gICAgICAgICAgICAgIG51bGwgIT09IGdldFByb3RvdHlwZU9mKHBhcmVudFJlZmVyZW5jZSkpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAodm9pZCAwID09PSB0ZW1wb3JhcnlSZWZlcmVuY2VzKVxuICAgICAgICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgICAgICBcIk9ubHkgcGxhaW4gb2JqZWN0cywgYW5kIGEgZmV3IGJ1aWx0LWlucywgY2FuIGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zLiBDbGFzc2VzIG9yIG51bGwgcHJvdG90eXBlcyBhcmUgbm90IHN1cHBvcnRlZC5cIiArXG4gICAgICAgICAgICAgICAgICBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSh0aGlzLCBrZXkpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gXCIkVFwiO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YWx1ZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFXG4gICAgICAgICAgICA/IGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgXCJSZWFjdCBDb250ZXh0IFByb3ZpZGVycyBjYW5ub3QgYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiVzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UodGhpcywga2V5KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IFwiT2JqZWN0XCIgIT09IG9iamVjdE5hbWUodmFsdWUpXG4gICAgICAgICAgICAgID8gY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgIFwiT25seSBwbGFpbiBvYmplY3RzIGNhbiBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucyBmcm9tIHRoZSBDbGllbnQuICVzIG9iamVjdHMgYXJlIG5vdCBzdXBwb3J0ZWQuJXNcIixcbiAgICAgICAgICAgICAgICAgIG9iamVjdE5hbWUodmFsdWUpLFxuICAgICAgICAgICAgICAgICAgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UodGhpcywga2V5KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgOiBpc1NpbXBsZU9iamVjdCh2YWx1ZSlcbiAgICAgICAgICAgICAgICA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgJiZcbiAgICAgICAgICAgICAgICAgICgocGFyZW50UmVmZXJlbmNlID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh2YWx1ZSkpLFxuICAgICAgICAgICAgICAgICAgMCA8IHBhcmVudFJlZmVyZW5jZS5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICBcIk9ubHkgcGxhaW4gb2JqZWN0cyBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiBPYmplY3RzIHdpdGggc3ltYm9sIHByb3BlcnRpZXMgbGlrZSAlcyBhcmUgbm90IHN1cHBvcnRlZC4lc1wiLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFJlZmVyZW5jZVswXS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSh0aGlzLCBrZXkpXG4gICAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgOiBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICBcIk9ubHkgcGxhaW4gb2JqZWN0cyBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiBDbGFzc2VzIG9yIG90aGVyIG9iamVjdHMgd2l0aCBtZXRob2RzIGFyZSBub3Qgc3VwcG9ydGVkLiVzXCIsXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKHRoaXMsIGtleSlcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcInN0cmluZ1wiID09PSB0eXBlb2YgdmFsdWUpIHtcbiAgICAgICAgICBpZiAoXCJaXCIgPT09IHZhbHVlW3ZhbHVlLmxlbmd0aCAtIDFdICYmIHRoaXNba2V5XSBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICAgICByZXR1cm4gXCIkRFwiICsgdmFsdWU7XG4gICAgICAgICAga2V5ID0gXCIkXCIgPT09IHZhbHVlWzBdID8gXCIkXCIgKyB2YWx1ZSA6IHZhbHVlO1xuICAgICAgICAgIHJldHVybiBrZXk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFwiYm9vbGVhblwiID09PSB0eXBlb2YgdmFsdWUpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKFwibnVtYmVyXCIgPT09IHR5cGVvZiB2YWx1ZSkgcmV0dXJuIHNlcmlhbGl6ZU51bWJlcih2YWx1ZSk7XG4gICAgICAgIGlmIChcInVuZGVmaW5lZFwiID09PSB0eXBlb2YgdmFsdWUpIHJldHVybiBcIiR1bmRlZmluZWRcIjtcbiAgICAgICAgaWYgKFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIHZhbHVlKSB7XG4gICAgICAgICAgcGFyZW50UmVmZXJlbmNlID0ga25vd25TZXJ2ZXJSZWZlcmVuY2VzLmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZvaWQgMCAhPT0gcGFyZW50UmVmZXJlbmNlKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKGtleSA9IEpTT04uc3RyaW5naWZ5KHBhcmVudFJlZmVyZW5jZSwgcmVzb2x2ZVRvSlNPTikpLFxuICAgICAgICAgICAgICBudWxsID09PSBmb3JtRGF0YSAmJiAoZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSksXG4gICAgICAgICAgICAgIChwYXJlbnRSZWZlcmVuY2UgPSBuZXh0UGFydElkKyspLFxuICAgICAgICAgICAgICBmb3JtRGF0YS5zZXQoZm9ybUZpZWxkUHJlZml4ICsgcGFyZW50UmVmZXJlbmNlLCBrZXkpLFxuICAgICAgICAgICAgICBcIiRGXCIgKyBwYXJlbnRSZWZlcmVuY2UudG9TdHJpbmcoMTYpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHZvaWQgMCAhPT0gdGVtcG9yYXJ5UmVmZXJlbmNlcyAmJlxuICAgICAgICAgICAgLTEgPT09IGtleS5pbmRleE9mKFwiOlwiKSAmJlxuICAgICAgICAgICAgKChwYXJlbnRSZWZlcmVuY2UgPSB3cml0dGVuT2JqZWN0cy5nZXQodGhpcykpLFxuICAgICAgICAgICAgdm9pZCAwICE9PSBwYXJlbnRSZWZlcmVuY2UpXG4gICAgICAgICAgKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcy5zZXQocGFyZW50UmVmZXJlbmNlICsgXCI6XCIgKyBrZXksIHZhbHVlKSwgXCIkVFwiXG4gICAgICAgICAgICApO1xuICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgXCJDbGllbnQgRnVuY3Rpb25zIGNhbm5vdCBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gU2VydmVyIEZ1bmN0aW9ucy4gT25seSBGdW5jdGlvbnMgcGFzc2VkIGZyb20gdGhlIFNlcnZlciBjYW4gYmUgcGFzc2VkIGJhY2sgYWdhaW4uXCJcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcInN5bWJvbFwiID09PSB0eXBlb2YgdmFsdWUpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB2b2lkIDAgIT09IHRlbXBvcmFyeVJlZmVyZW5jZXMgJiZcbiAgICAgICAgICAgIC0xID09PSBrZXkuaW5kZXhPZihcIjpcIikgJiZcbiAgICAgICAgICAgICgocGFyZW50UmVmZXJlbmNlID0gd3JpdHRlbk9iamVjdHMuZ2V0KHRoaXMpKSxcbiAgICAgICAgICAgIHZvaWQgMCAhPT0gcGFyZW50UmVmZXJlbmNlKVxuICAgICAgICAgIClcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXMuc2V0KHBhcmVudFJlZmVyZW5jZSArIFwiOlwiICsga2V5LCB2YWx1ZSksIFwiJFRcIlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgIFwiU3ltYm9scyBjYW5ub3QgYmUgcGFzc2VkIHRvIGEgU2VydmVyIEZ1bmN0aW9uIHdpdGhvdXQgYSB0ZW1wb3JhcnkgcmVmZXJlbmNlIHNldC4gUGFzcyBhIFRlbXBvcmFyeVJlZmVyZW5jZVNldCB0byB0aGUgb3B0aW9ucy5cIiArXG4gICAgICAgICAgICAgIGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKHRoaXMsIGtleSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcImJpZ2ludFwiID09PSB0eXBlb2YgdmFsdWUpIHJldHVybiBcIiRuXCIgKyB2YWx1ZS50b1N0cmluZygxMCk7XG4gICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgIFwiVHlwZSBcIiArXG4gICAgICAgICAgICB0eXBlb2YgdmFsdWUgK1xuICAgICAgICAgICAgXCIgaXMgbm90IHN1cHBvcnRlZCBhcyBhbiBhcmd1bWVudCB0byBhIFNlcnZlciBGdW5jdGlvbi5cIlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gc2VyaWFsaXplTW9kZWwobW9kZWwsIGlkKSB7XG4gICAgICAgIFwib2JqZWN0XCIgPT09IHR5cGVvZiBtb2RlbCAmJlxuICAgICAgICAgIG51bGwgIT09IG1vZGVsICYmXG4gICAgICAgICAgKChpZCA9IFwiJFwiICsgaWQudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgICB3cml0dGVuT2JqZWN0cy5zZXQobW9kZWwsIGlkKSxcbiAgICAgICAgICB2b2lkIDAgIT09IHRlbXBvcmFyeVJlZmVyZW5jZXMgJiYgdGVtcG9yYXJ5UmVmZXJlbmNlcy5zZXQoaWQsIG1vZGVsKSk7XG4gICAgICAgIG1vZGVsUm9vdCA9IG1vZGVsO1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobW9kZWwsIHJlc29sdmVUb0pTT04pO1xuICAgICAgfVxuICAgICAgdmFyIG5leHRQYXJ0SWQgPSAxLFxuICAgICAgICBwZW5kaW5nUGFydHMgPSAwLFxuICAgICAgICBmb3JtRGF0YSA9IG51bGwsXG4gICAgICAgIHdyaXR0ZW5PYmplY3RzID0gbmV3IFdlYWtNYXAoKSxcbiAgICAgICAgbW9kZWxSb290ID0gcm9vdCxcbiAgICAgICAganNvbiA9IHNlcmlhbGl6ZU1vZGVsKHJvb3QsIDApO1xuICAgICAgbnVsbCA9PT0gZm9ybURhdGFcbiAgICAgICAgPyByZXNvbHZlKGpzb24pXG4gICAgICAgIDogKGZvcm1EYXRhLnNldChmb3JtRmllbGRQcmVmaXggKyBcIjBcIiwganNvbiksXG4gICAgICAgICAgMCA9PT0gcGVuZGluZ1BhcnRzICYmIHJlc29sdmUoZm9ybURhdGEpKTtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIDAgPCBwZW5kaW5nUGFydHMgJiZcbiAgICAgICAgICAoKHBlbmRpbmdQYXJ0cyA9IDApLFxuICAgICAgICAgIG51bGwgPT09IGZvcm1EYXRhID8gcmVzb2x2ZShqc29uKSA6IHJlc29sdmUoZm9ybURhdGEpKTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGVuY29kZUZvcm1EYXRhKHJlZmVyZW5jZSkge1xuICAgICAgdmFyIHJlc29sdmUsXG4gICAgICAgIHJlamVjdCxcbiAgICAgICAgdGhlbmFibGUgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzLCByZWopIHtcbiAgICAgICAgICByZXNvbHZlID0gcmVzO1xuICAgICAgICAgIHJlamVjdCA9IHJlajtcbiAgICAgICAgfSk7XG4gICAgICBwcm9jZXNzUmVwbHkoXG4gICAgICAgIHJlZmVyZW5jZSxcbiAgICAgICAgXCJcIixcbiAgICAgICAgdm9pZCAwLFxuICAgICAgICBmdW5jdGlvbiAoYm9keSkge1xuICAgICAgICAgIGlmIChcInN0cmluZ1wiID09PSB0eXBlb2YgYm9keSkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgICAgIGRhdGEuYXBwZW5kKFwiMFwiLCBib2R5KTtcbiAgICAgICAgICAgIGJvZHkgPSBkYXRhO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGVuYWJsZS5zdGF0dXMgPSBcImZ1bGZpbGxlZFwiO1xuICAgICAgICAgIHRoZW5hYmxlLnZhbHVlID0gYm9keTtcbiAgICAgICAgICByZXNvbHZlKGJvZHkpO1xuICAgICAgICB9LFxuICAgICAgICBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgIHRoZW5hYmxlLnN0YXR1cyA9IFwicmVqZWN0ZWRcIjtcbiAgICAgICAgICB0aGVuYWJsZS5yZWFzb24gPSBlO1xuICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiB0aGVuYWJsZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZGVmYXVsdEVuY29kZUZvcm1BY3Rpb24oaWRlbnRpZmllclByZWZpeCkge1xuICAgICAgdmFyIHJlZmVyZW5jZSA9IGtub3duU2VydmVyUmVmZXJlbmNlcy5nZXQodGhpcyk7XG4gICAgICBpZiAoIXJlZmVyZW5jZSlcbiAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgXCJUcmllZCB0byBlbmNvZGUgYSBTZXJ2ZXIgQWN0aW9uIGZyb20gYSBkaWZmZXJlbnQgaW5zdGFuY2UgdGhhbiB0aGUgZW5jb2RlciBpcyBmcm9tLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LlwiXG4gICAgICAgICk7XG4gICAgICB2YXIgZGF0YSA9IG51bGw7XG4gICAgICBpZiAobnVsbCAhPT0gcmVmZXJlbmNlLmJvdW5kKSB7XG4gICAgICAgIGRhdGEgPSBib3VuZENhY2hlLmdldChyZWZlcmVuY2UpO1xuICAgICAgICBkYXRhIHx8XG4gICAgICAgICAgKChkYXRhID0gZW5jb2RlRm9ybURhdGEocmVmZXJlbmNlKSksIGJvdW5kQ2FjaGUuc2V0KHJlZmVyZW5jZSwgZGF0YSkpO1xuICAgICAgICBpZiAoXCJyZWplY3RlZFwiID09PSBkYXRhLnN0YXR1cykgdGhyb3cgZGF0YS5yZWFzb247XG4gICAgICAgIGlmIChcImZ1bGZpbGxlZFwiICE9PSBkYXRhLnN0YXR1cykgdGhyb3cgZGF0YTtcbiAgICAgICAgcmVmZXJlbmNlID0gZGF0YS52YWx1ZTtcbiAgICAgICAgdmFyIHByZWZpeGVkRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICByZWZlcmVuY2UuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUsIGtleSkge1xuICAgICAgICAgIHByZWZpeGVkRGF0YS5hcHBlbmQoXCIkQUNUSU9OX1wiICsgaWRlbnRpZmllclByZWZpeCArIFwiOlwiICsga2V5LCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBkYXRhID0gcHJlZml4ZWREYXRhO1xuICAgICAgICByZWZlcmVuY2UgPSBcIiRBQ1RJT05fUkVGX1wiICsgaWRlbnRpZmllclByZWZpeDtcbiAgICAgIH0gZWxzZSByZWZlcmVuY2UgPSBcIiRBQ1RJT05fSURfXCIgKyByZWZlcmVuY2UuaWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiByZWZlcmVuY2UsXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIGVuY1R5cGU6IFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiLFxuICAgICAgICBkYXRhOiBkYXRhXG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc1NpZ25hdHVyZUVxdWFsKHJlZmVyZW5jZUlkLCBudW1iZXJPZkJvdW5kQXJncykge1xuICAgICAgdmFyIHJlZmVyZW5jZSA9IGtub3duU2VydmVyUmVmZXJlbmNlcy5nZXQodGhpcyk7XG4gICAgICBpZiAoIXJlZmVyZW5jZSlcbiAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgXCJUcmllZCB0byBlbmNvZGUgYSBTZXJ2ZXIgQWN0aW9uIGZyb20gYSBkaWZmZXJlbnQgaW5zdGFuY2UgdGhhbiB0aGUgZW5jb2RlciBpcyBmcm9tLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LlwiXG4gICAgICAgICk7XG4gICAgICBpZiAocmVmZXJlbmNlLmlkICE9PSByZWZlcmVuY2VJZCkgcmV0dXJuICExO1xuICAgICAgdmFyIGJvdW5kUHJvbWlzZSA9IHJlZmVyZW5jZS5ib3VuZDtcbiAgICAgIGlmIChudWxsID09PSBib3VuZFByb21pc2UpIHJldHVybiAwID09PSBudW1iZXJPZkJvdW5kQXJncztcbiAgICAgIHN3aXRjaCAoYm91bmRQcm9taXNlLnN0YXR1cykge1xuICAgICAgICBjYXNlIFwiZnVsZmlsbGVkXCI6XG4gICAgICAgICAgcmV0dXJuIGJvdW5kUHJvbWlzZS52YWx1ZS5sZW5ndGggPT09IG51bWJlck9mQm91bmRBcmdzO1xuICAgICAgICBjYXNlIFwicGVuZGluZ1wiOlxuICAgICAgICAgIHRocm93IGJvdW5kUHJvbWlzZTtcbiAgICAgICAgY2FzZSBcInJlamVjdGVkXCI6XG4gICAgICAgICAgdGhyb3cgYm91bmRQcm9taXNlLnJlYXNvbjtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyAoXG4gICAgICAgICAgICAoXCJzdHJpbmdcIiAhPT0gdHlwZW9mIGJvdW5kUHJvbWlzZS5zdGF0dXMgJiZcbiAgICAgICAgICAgICAgKChib3VuZFByb21pc2Uuc3RhdHVzID0gXCJwZW5kaW5nXCIpLFxuICAgICAgICAgICAgICBib3VuZFByb21pc2UudGhlbihcbiAgICAgICAgICAgICAgICBmdW5jdGlvbiAoYm91bmRBcmdzKSB7XG4gICAgICAgICAgICAgICAgICBib3VuZFByb21pc2Uuc3RhdHVzID0gXCJmdWxmaWxsZWRcIjtcbiAgICAgICAgICAgICAgICAgIGJvdW5kUHJvbWlzZS52YWx1ZSA9IGJvdW5kQXJncztcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgYm91bmRQcm9taXNlLnN0YXR1cyA9IFwicmVqZWN0ZWRcIjtcbiAgICAgICAgICAgICAgICAgIGJvdW5kUHJvbWlzZS5yZWFzb24gPSBlcnJvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgYm91bmRQcm9taXNlKVxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUZha2VTZXJ2ZXJGdW5jdGlvbihcbiAgICAgIG5hbWUsXG4gICAgICBmaWxlbmFtZSxcbiAgICAgIHNvdXJjZU1hcCxcbiAgICAgIGxpbmUsXG4gICAgICBjb2wsXG4gICAgICBlbnZpcm9ubWVudE5hbWUsXG4gICAgICBpbm5lckZ1bmN0aW9uXG4gICAgKSB7XG4gICAgICBuYW1lIHx8IChuYW1lID0gXCI8YW5vbnltb3VzPlwiKTtcbiAgICAgIHZhciBlbmNvZGVkTmFtZSA9IEpTT04uc3RyaW5naWZ5KG5hbWUpO1xuICAgICAgMSA+PSBsaW5lXG4gICAgICAgID8gKChsaW5lID0gZW5jb2RlZE5hbWUubGVuZ3RoICsgNyksXG4gICAgICAgICAgKGNvbCA9XG4gICAgICAgICAgICBcInM9Pih7XCIgK1xuICAgICAgICAgICAgZW5jb2RlZE5hbWUgK1xuICAgICAgICAgICAgXCIgXCIucmVwZWF0KGNvbCA8IGxpbmUgPyAwIDogY29sIC0gbGluZSkgK1xuICAgICAgICAgICAgXCI6KC4uLmFyZ3MpID0+IHMoLi4uYXJncyl9KVxcbi8qIFRoaXMgbW9kdWxlIGlzIGEgcHJveHkgdG8gYSBTZXJ2ZXIgQWN0aW9uLiBUdXJuIG9uIFNvdXJjZSBNYXBzIHRvIHNlZSB0aGUgc2VydmVyIHNvdXJjZS4gKi9cIikpXG4gICAgICAgIDogKGNvbCA9XG4gICAgICAgICAgICBcIi8qIFRoaXMgbW9kdWxlIGlzIGEgcHJveHkgdG8gYSBTZXJ2ZXIgQWN0aW9uLiBUdXJuIG9uIFNvdXJjZSBNYXBzIHRvIHNlZSB0aGUgc2VydmVyIHNvdXJjZS4gKi9cIiArXG4gICAgICAgICAgICBcIlxcblwiLnJlcGVhdChsaW5lIC0gMikgK1xuICAgICAgICAgICAgXCJzZXJ2ZXI9Pih7XCIgK1xuICAgICAgICAgICAgZW5jb2RlZE5hbWUgK1xuICAgICAgICAgICAgXCI6XFxuXCIgK1xuICAgICAgICAgICAgXCIgXCIucmVwZWF0KDEgPiBjb2wgPyAwIDogY29sIC0gMSkgK1xuICAgICAgICAgICAgXCIoLi4uYXJncykgPT4gc2VydmVyKC4uLmFyZ3MpfSlcIik7XG4gICAgICBmaWxlbmFtZS5zdGFydHNXaXRoKFwiL1wiKSAmJiAoZmlsZW5hbWUgPSBcImZpbGU6Ly9cIiArIGZpbGVuYW1lKTtcbiAgICAgIHNvdXJjZU1hcFxuICAgICAgICA/ICgoY29sICs9XG4gICAgICAgICAgICBcIlxcbi8vIyBzb3VyY2VVUkw9cnNjOi8vUmVhY3QvXCIgK1xuICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KGVudmlyb25tZW50TmFtZSkgK1xuICAgICAgICAgICAgXCIvXCIgK1xuICAgICAgICAgICAgZmlsZW5hbWUgK1xuICAgICAgICAgICAgXCI/c1wiICtcbiAgICAgICAgICAgIGZha2VTZXJ2ZXJGdW5jdGlvbklkeCsrKSxcbiAgICAgICAgICAoY29sICs9IFwiXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9XCIgKyBzb3VyY2VNYXApKVxuICAgICAgICA6IGZpbGVuYW1lICYmIChjb2wgKz0gXCJcXG4vLyMgc291cmNlVVJMPVwiICsgZmlsZW5hbWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuICgwLCBldmFsKShjb2wpKGlubmVyRnVuY3Rpb24pW25hbWVdO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICByZXR1cm4gaW5uZXJGdW5jdGlvbjtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gcmVnaXN0ZXJTZXJ2ZXJSZWZlcmVuY2UoXG4gICAgICBwcm94eSxcbiAgICAgIHJlZmVyZW5jZSRqc2NvbXAkMCxcbiAgICAgIGVuY29kZUZvcm1BY3Rpb25cbiAgICApIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHByb3h5LCB7XG4gICAgICAgICQkRk9STV9BQ1RJT046IHtcbiAgICAgICAgICB2YWx1ZTpcbiAgICAgICAgICAgIHZvaWQgMCA9PT0gZW5jb2RlRm9ybUFjdGlvblxuICAgICAgICAgICAgICA/IGRlZmF1bHRFbmNvZGVGb3JtQWN0aW9uXG4gICAgICAgICAgICAgIDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgdmFyIHJlZmVyZW5jZSA9IGtub3duU2VydmVyUmVmZXJlbmNlcy5nZXQodGhpcyk7XG4gICAgICAgICAgICAgICAgICBpZiAoIXJlZmVyZW5jZSlcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgXCJUcmllZCB0byBlbmNvZGUgYSBTZXJ2ZXIgQWN0aW9uIGZyb20gYSBkaWZmZXJlbnQgaW5zdGFuY2UgdGhhbiB0aGUgZW5jb2RlciBpcyBmcm9tLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LlwiXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB2YXIgYm91bmRQcm9taXNlID0gcmVmZXJlbmNlLmJvdW5kO1xuICAgICAgICAgICAgICAgICAgbnVsbCA9PT0gYm91bmRQcm9taXNlICYmIChib3VuZFByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoW10pKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBlbmNvZGVGb3JtQWN0aW9uKHJlZmVyZW5jZS5pZCwgYm91bmRQcm9taXNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICQkSVNfU0lHTkFUVVJFX0VRVUFMOiB7IHZhbHVlOiBpc1NpZ25hdHVyZUVxdWFsIH0sXG4gICAgICAgIGJpbmQ6IHsgdmFsdWU6IGJpbmQgfVxuICAgICAgfSk7XG4gICAgICBrbm93blNlcnZlclJlZmVyZW5jZXMuc2V0KHByb3h5LCByZWZlcmVuY2UkanNjb21wJDApO1xuICAgIH1cbiAgICBmdW5jdGlvbiBiaW5kKCkge1xuICAgICAgdmFyIG5ld0ZuID0gRnVuY3Rpb25CaW5kLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksXG4gICAgICAgIHJlZmVyZW5jZSA9IGtub3duU2VydmVyUmVmZXJlbmNlcy5nZXQodGhpcyk7XG4gICAgICBpZiAocmVmZXJlbmNlKSB7XG4gICAgICAgIG51bGwgIT0gYXJndW1lbnRzWzBdICYmXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICdDYW5ub3QgYmluZCBcInRoaXNcIiBvZiBhIFNlcnZlciBBY3Rpb24uIFBhc3MgbnVsbCBvciB1bmRlZmluZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIC5iaW5kKCkuJ1xuICAgICAgICAgICk7XG4gICAgICAgIHZhciBhcmdzID0gQXJyYXlTbGljZS5jYWxsKGFyZ3VtZW50cywgMSksXG4gICAgICAgICAgYm91bmRQcm9taXNlID0gbnVsbDtcbiAgICAgICAgYm91bmRQcm9taXNlID1cbiAgICAgICAgICBudWxsICE9PSByZWZlcmVuY2UuYm91bmRcbiAgICAgICAgICAgID8gUHJvbWlzZS5yZXNvbHZlKHJlZmVyZW5jZS5ib3VuZCkudGhlbihmdW5jdGlvbiAoYm91bmRBcmdzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGJvdW5kQXJncy5jb25jYXQoYXJncyk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IFByb21pc2UucmVzb2x2ZShhcmdzKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobmV3Rm4sIHtcbiAgICAgICAgICAkJEZPUk1fQUNUSU9OOiB7IHZhbHVlOiB0aGlzLiQkRk9STV9BQ1RJT04gfSxcbiAgICAgICAgICAkJElTX1NJR05BVFVSRV9FUVVBTDogeyB2YWx1ZTogaXNTaWduYXR1cmVFcXVhbCB9LFxuICAgICAgICAgIGJpbmQ6IHsgdmFsdWU6IGJpbmQgfVxuICAgICAgICB9KTtcbiAgICAgICAga25vd25TZXJ2ZXJSZWZlcmVuY2VzLnNldChuZXdGbiwge1xuICAgICAgICAgIGlkOiByZWZlcmVuY2UuaWQsXG4gICAgICAgICAgYm91bmQ6IGJvdW5kUHJvbWlzZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXdGbjtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlQm91bmRTZXJ2ZXJSZWZlcmVuY2UoXG4gICAgICBtZXRhRGF0YSxcbiAgICAgIGNhbGxTZXJ2ZXIsXG4gICAgICBlbmNvZGVGb3JtQWN0aW9uLFxuICAgICAgZmluZFNvdXJjZU1hcFVSTFxuICAgICkge1xuICAgICAgZnVuY3Rpb24gYWN0aW9uKCkge1xuICAgICAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG4gICAgICAgIHJldHVybiBib3VuZFxuICAgICAgICAgID8gXCJmdWxmaWxsZWRcIiA9PT0gYm91bmQuc3RhdHVzXG4gICAgICAgICAgICA/IGNhbGxTZXJ2ZXIoaWQsIGJvdW5kLnZhbHVlLmNvbmNhdChhcmdzKSlcbiAgICAgICAgICAgIDogUHJvbWlzZS5yZXNvbHZlKGJvdW5kKS50aGVuKGZ1bmN0aW9uIChib3VuZEFyZ3MpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2FsbFNlcnZlcihpZCwgYm91bmRBcmdzLmNvbmNhdChhcmdzKSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBjYWxsU2VydmVyKGlkLCBhcmdzKTtcbiAgICAgIH1cbiAgICAgIHZhciBpZCA9IG1ldGFEYXRhLmlkLFxuICAgICAgICBib3VuZCA9IG1ldGFEYXRhLmJvdW5kLFxuICAgICAgICBsb2NhdGlvbiA9IG1ldGFEYXRhLmxvY2F0aW9uO1xuICAgICAgaWYgKGxvY2F0aW9uKSB7XG4gICAgICAgIHZhciBmdW5jdGlvbk5hbWUgPSBtZXRhRGF0YS5uYW1lIHx8IFwiXCIsXG4gICAgICAgICAgZmlsZW5hbWUgPSBsb2NhdGlvblsxXSxcbiAgICAgICAgICBsaW5lID0gbG9jYXRpb25bMl07XG4gICAgICAgIGxvY2F0aW9uID0gbG9jYXRpb25bM107XG4gICAgICAgIG1ldGFEYXRhID0gbWV0YURhdGEuZW52IHx8IFwiU2VydmVyXCI7XG4gICAgICAgIGZpbmRTb3VyY2VNYXBVUkwgPVxuICAgICAgICAgIG51bGwgPT0gZmluZFNvdXJjZU1hcFVSTFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IGZpbmRTb3VyY2VNYXBVUkwoZmlsZW5hbWUsIG1ldGFEYXRhKTtcbiAgICAgICAgYWN0aW9uID0gY3JlYXRlRmFrZVNlcnZlckZ1bmN0aW9uKFxuICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICBmaW5kU291cmNlTWFwVVJMLFxuICAgICAgICAgIGxpbmUsXG4gICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgbWV0YURhdGEsXG4gICAgICAgICAgYWN0aW9uXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZWdpc3RlclNlcnZlclJlZmVyZW5jZShcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICB7IGlkOiBpZCwgYm91bmQ6IGJvdW5kIH0sXG4gICAgICAgIGVuY29kZUZvcm1BY3Rpb25cbiAgICAgICk7XG4gICAgICByZXR1cm4gYWN0aW9uO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwYXJzZVN0YWNrTG9jYXRpb24oZXJyb3IpIHtcbiAgICAgIGVycm9yID0gZXJyb3Iuc3RhY2s7XG4gICAgICBlcnJvci5zdGFydHNXaXRoKFwiRXJyb3I6IHJlYWN0LXN0YWNrLXRvcC1mcmFtZVxcblwiKSAmJlxuICAgICAgICAoZXJyb3IgPSBlcnJvci5zbGljZSgyOSkpO1xuICAgICAgdmFyIGVuZE9mRmlyc3QgPSBlcnJvci5pbmRleE9mKFwiXFxuXCIpO1xuICAgICAgaWYgKC0xICE9PSBlbmRPZkZpcnN0KSB7XG4gICAgICAgIHZhciBlbmRPZlNlY29uZCA9IGVycm9yLmluZGV4T2YoXCJcXG5cIiwgZW5kT2ZGaXJzdCArIDEpO1xuICAgICAgICBlbmRPZkZpcnN0ID1cbiAgICAgICAgICAtMSA9PT0gZW5kT2ZTZWNvbmRcbiAgICAgICAgICAgID8gZXJyb3Iuc2xpY2UoZW5kT2ZGaXJzdCArIDEpXG4gICAgICAgICAgICA6IGVycm9yLnNsaWNlKGVuZE9mRmlyc3QgKyAxLCBlbmRPZlNlY29uZCk7XG4gICAgICB9IGVsc2UgZW5kT2ZGaXJzdCA9IGVycm9yO1xuICAgICAgZXJyb3IgPSB2OEZyYW1lUmVnRXhwLmV4ZWMoZW5kT2ZGaXJzdCk7XG4gICAgICBpZiAoXG4gICAgICAgICFlcnJvciAmJlxuICAgICAgICAoKGVycm9yID0ganNjU3BpZGVyTW9ua2V5RnJhbWVSZWdFeHAuZXhlYyhlbmRPZkZpcnN0KSksICFlcnJvcilcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBlbmRPZkZpcnN0ID0gZXJyb3JbMV0gfHwgXCJcIjtcbiAgICAgIFwiPGFub255bW91cz5cIiA9PT0gZW5kT2ZGaXJzdCAmJiAoZW5kT2ZGaXJzdCA9IFwiXCIpO1xuICAgICAgZW5kT2ZTZWNvbmQgPSBlcnJvclsyXSB8fCBlcnJvcls1XSB8fCBcIlwiO1xuICAgICAgXCI8YW5vbnltb3VzPlwiID09PSBlbmRPZlNlY29uZCAmJiAoZW5kT2ZTZWNvbmQgPSBcIlwiKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIGVuZE9mRmlyc3QsXG4gICAgICAgIGVuZE9mU2Vjb25kLFxuICAgICAgICArKGVycm9yWzNdIHx8IGVycm9yWzZdKSxcbiAgICAgICAgKyhlcnJvcls0XSB8fCBlcnJvcls3XSlcbiAgICAgIF07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZVNlcnZlclJlZmVyZW5jZSQxKFxuICAgICAgaWQsXG4gICAgICBjYWxsU2VydmVyLFxuICAgICAgZW5jb2RlRm9ybUFjdGlvbixcbiAgICAgIGZpbmRTb3VyY2VNYXBVUkwsXG4gICAgICBmdW5jdGlvbk5hbWVcbiAgICApIHtcbiAgICAgIGZ1bmN0aW9uIGFjdGlvbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuICAgICAgICByZXR1cm4gY2FsbFNlcnZlcihpZCwgYXJncyk7XG4gICAgICB9XG4gICAgICB2YXIgbG9jYXRpb24gPSBwYXJzZVN0YWNrTG9jYXRpb24oRXJyb3IoXCJyZWFjdC1zdGFjay10b3AtZnJhbWVcIikpO1xuICAgICAgaWYgKG51bGwgIT09IGxvY2F0aW9uKSB7XG4gICAgICAgIHZhciBmaWxlbmFtZSA9IGxvY2F0aW9uWzFdLFxuICAgICAgICAgIGxpbmUgPSBsb2NhdGlvblsyXTtcbiAgICAgICAgbG9jYXRpb24gPSBsb2NhdGlvblszXTtcbiAgICAgICAgZmluZFNvdXJjZU1hcFVSTCA9XG4gICAgICAgICAgbnVsbCA9PSBmaW5kU291cmNlTWFwVVJMXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogZmluZFNvdXJjZU1hcFVSTChmaWxlbmFtZSwgXCJDbGllbnRcIik7XG4gICAgICAgIGFjdGlvbiA9IGNyZWF0ZUZha2VTZXJ2ZXJGdW5jdGlvbihcbiAgICAgICAgICBmdW5jdGlvbk5hbWUgfHwgXCJcIixcbiAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICBmaW5kU291cmNlTWFwVVJMLFxuICAgICAgICAgIGxpbmUsXG4gICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgXCJDbGllbnRcIixcbiAgICAgICAgICBhY3Rpb25cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJlZ2lzdGVyU2VydmVyUmVmZXJlbmNlKFxuICAgICAgICBhY3Rpb24sXG4gICAgICAgIHsgaWQ6IGlkLCBib3VuZDogbnVsbCB9LFxuICAgICAgICBlbmNvZGVGb3JtQWN0aW9uXG4gICAgICApO1xuICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgICAgIGlmIChudWxsID09IHR5cGUpIHJldHVybiBudWxsO1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIHR5cGUpXG4gICAgICAgIHJldHVybiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DTElFTlRfUkVGRVJFTkNFXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICAgICAgaWYgKFwic3RyaW5nXCIgPT09IHR5cGVvZiB0eXBlKSByZXR1cm4gdHlwZTtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIFwiRnJhZ21lbnRcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJQb3J0YWxcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlByb2ZpbGVyXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1RSSUNUX01PREVfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdHJpY3RNb2RlXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdXNwZW5zZVwiO1xuICAgICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdXNwZW5zZUxpc3RcIjtcbiAgICAgIH1cbiAgICAgIGlmIChcIm9iamVjdFwiID09PSB0eXBlb2YgdHlwZSlcbiAgICAgICAgc3dpdGNoIChcbiAgICAgICAgICAoXCJudW1iZXJcIiA9PT0gdHlwZW9mIHR5cGUudGFnICYmXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICBcIlJlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSgpLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCJcbiAgICAgICAgICAgICksXG4gICAgICAgICAgdHlwZS4kJHR5cGVvZilcbiAgICAgICAgKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gKHR5cGUuZGlzcGxheU5hbWUgfHwgXCJDb250ZXh0XCIpICsgXCIuUHJvdmlkZXJcIjtcbiAgICAgICAgICBjYXNlIFJFQUNUX0NPTlNVTUVSX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gKHR5cGUuX2NvbnRleHQuZGlzcGxheU5hbWUgfHwgXCJDb250ZXh0XCIpICsgXCIuQ29uc3VtZXJcIjtcbiAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICB2YXIgaW5uZXJUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgICAgICB0eXBlID0gdHlwZS5kaXNwbGF5TmFtZTtcbiAgICAgICAgICAgIHR5cGUgfHxcbiAgICAgICAgICAgICAgKCh0eXBlID0gaW5uZXJUeXBlLmRpc3BsYXlOYW1lIHx8IGlubmVyVHlwZS5uYW1lIHx8IFwiXCIpLFxuICAgICAgICAgICAgICAodHlwZSA9IFwiXCIgIT09IHR5cGUgPyBcIkZvcndhcmRSZWYoXCIgKyB0eXBlICsgXCIpXCIgOiBcIkZvcndhcmRSZWZcIikpO1xuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAoaW5uZXJUeXBlID0gdHlwZS5kaXNwbGF5TmFtZSB8fCBudWxsKSxcbiAgICAgICAgICAgICAgbnVsbCAhPT0gaW5uZXJUeXBlXG4gICAgICAgICAgICAgICAgPyBpbm5lclR5cGVcbiAgICAgICAgICAgICAgICA6IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8IFwiTWVtb1wiXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgICAgaW5uZXJUeXBlID0gdHlwZS5fcGF5bG9hZDtcbiAgICAgICAgICAgIHR5cGUgPSB0eXBlLl9pbml0O1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKGlubmVyVHlwZSkpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGZ1bmN0aW9uIFJlYWN0UHJvbWlzZShzdGF0dXMsIHZhbHVlLCByZWFzb24sIHJlc3BvbnNlKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9IHN0YXR1cztcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMucmVhc29uID0gcmVhc29uO1xuICAgICAgdGhpcy5fcmVzcG9uc2UgPSByZXNwb25zZTtcbiAgICAgIHRoaXMuX2RlYnVnSW5mbyA9IG51bGw7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlYWRDaHVuayhjaHVuaykge1xuICAgICAgc3dpdGNoIChjaHVuay5zdGF0dXMpIHtcbiAgICAgICAgY2FzZSBcInJlc29sdmVkX21vZGVsXCI6XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZGVsQ2h1bmsoY2h1bmspO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwicmVzb2x2ZWRfbW9kdWxlXCI6XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZHVsZUNodW5rKGNodW5rKTtcbiAgICAgIH1cbiAgICAgIHN3aXRjaCAoY2h1bmsuc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgXCJmdWxmaWxsZWRcIjpcbiAgICAgICAgICByZXR1cm4gY2h1bmsudmFsdWU7XG4gICAgICAgIGNhc2UgXCJwZW5kaW5nXCI6XG4gICAgICAgIGNhc2UgXCJibG9ja2VkXCI6XG4gICAgICAgICAgdGhyb3cgY2h1bms7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgY2h1bmsucmVhc29uO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVQZW5kaW5nQ2h1bmsocmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiBuZXcgUmVhY3RQcm9taXNlKFwicGVuZGluZ1wiLCBudWxsLCBudWxsLCByZXNwb25zZSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHdha2VDaHVuayhsaXN0ZW5lcnMsIHZhbHVlKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3RlbmVycy5sZW5ndGg7IGkrKykgKDAsIGxpc3RlbmVyc1tpXSkodmFsdWUpO1xuICAgIH1cbiAgICBmdW5jdGlvbiB3YWtlQ2h1bmtJZkluaXRpYWxpemVkKGNodW5rLCByZXNvbHZlTGlzdGVuZXJzLCByZWplY3RMaXN0ZW5lcnMpIHtcbiAgICAgIHN3aXRjaCAoY2h1bmsuc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgXCJmdWxmaWxsZWRcIjpcbiAgICAgICAgICB3YWtlQ2h1bmsocmVzb2x2ZUxpc3RlbmVycywgY2h1bmsudmFsdWUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwicGVuZGluZ1wiOlxuICAgICAgICBjYXNlIFwiYmxvY2tlZFwiOlxuICAgICAgICAgIGlmIChjaHVuay52YWx1ZSlcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzb2x2ZUxpc3RlbmVycy5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgICAgY2h1bmsudmFsdWUucHVzaChyZXNvbHZlTGlzdGVuZXJzW2ldKTtcbiAgICAgICAgICBlbHNlIGNodW5rLnZhbHVlID0gcmVzb2x2ZUxpc3RlbmVycztcbiAgICAgICAgICBpZiAoY2h1bmsucmVhc29uKSB7XG4gICAgICAgICAgICBpZiAocmVqZWN0TGlzdGVuZXJzKVxuICAgICAgICAgICAgICBmb3IgKFxuICAgICAgICAgICAgICAgIHJlc29sdmVMaXN0ZW5lcnMgPSAwO1xuICAgICAgICAgICAgICAgIHJlc29sdmVMaXN0ZW5lcnMgPCByZWplY3RMaXN0ZW5lcnMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHJlc29sdmVMaXN0ZW5lcnMrK1xuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgY2h1bmsucmVhc29uLnB1c2gocmVqZWN0TGlzdGVuZXJzW3Jlc29sdmVMaXN0ZW5lcnNdKTtcbiAgICAgICAgICB9IGVsc2UgY2h1bmsucmVhc29uID0gcmVqZWN0TGlzdGVuZXJzO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwicmVqZWN0ZWRcIjpcbiAgICAgICAgICByZWplY3RMaXN0ZW5lcnMgJiYgd2FrZUNodW5rKHJlamVjdExpc3RlbmVycywgY2h1bmsucmVhc29uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gdHJpZ2dlckVycm9yT25DaHVuayhjaHVuaywgZXJyb3IpIHtcbiAgICAgIGlmIChcInBlbmRpbmdcIiAhPT0gY2h1bmsuc3RhdHVzICYmIFwiYmxvY2tlZFwiICE9PSBjaHVuay5zdGF0dXMpXG4gICAgICAgIGNodW5rLnJlYXNvbi5lcnJvcihlcnJvcik7XG4gICAgICBlbHNlIHtcbiAgICAgICAgdmFyIGxpc3RlbmVycyA9IGNodW5rLnJlYXNvbjtcbiAgICAgICAgY2h1bmsuc3RhdHVzID0gXCJyZWplY3RlZFwiO1xuICAgICAgICBjaHVuay5yZWFzb24gPSBlcnJvcjtcbiAgICAgICAgbnVsbCAhPT0gbGlzdGVuZXJzICYmIHdha2VDaHVuayhsaXN0ZW5lcnMsIGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlUmVzb2x2ZWRJdGVyYXRvclJlc3VsdENodW5rKHJlc3BvbnNlLCB2YWx1ZSwgZG9uZSkge1xuICAgICAgcmV0dXJuIG5ldyBSZWFjdFByb21pc2UoXG4gICAgICAgIFwicmVzb2x2ZWRfbW9kZWxcIixcbiAgICAgICAgKGRvbmUgPyAne1wiZG9uZVwiOnRydWUsXCJ2YWx1ZVwiOicgOiAne1wiZG9uZVwiOmZhbHNlLFwidmFsdWVcIjonKSArXG4gICAgICAgICAgdmFsdWUgK1xuICAgICAgICAgIFwifVwiLFxuICAgICAgICBudWxsLFxuICAgICAgICByZXNwb25zZVxuICAgICAgKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcmVzb2x2ZUl0ZXJhdG9yUmVzdWx0Q2h1bmsoY2h1bmssIHZhbHVlLCBkb25lKSB7XG4gICAgICByZXNvbHZlTW9kZWxDaHVuayhcbiAgICAgICAgY2h1bmssXG4gICAgICAgIChkb25lID8gJ3tcImRvbmVcIjp0cnVlLFwidmFsdWVcIjonIDogJ3tcImRvbmVcIjpmYWxzZSxcInZhbHVlXCI6JykgK1xuICAgICAgICAgIHZhbHVlICtcbiAgICAgICAgICBcIn1cIlxuICAgICAgKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcmVzb2x2ZU1vZGVsQ2h1bmsoY2h1bmssIHZhbHVlKSB7XG4gICAgICBpZiAoXCJwZW5kaW5nXCIgIT09IGNodW5rLnN0YXR1cykgY2h1bmsucmVhc29uLmVucXVldWVNb2RlbCh2YWx1ZSk7XG4gICAgICBlbHNlIHtcbiAgICAgICAgdmFyIHJlc29sdmVMaXN0ZW5lcnMgPSBjaHVuay52YWx1ZSxcbiAgICAgICAgICByZWplY3RMaXN0ZW5lcnMgPSBjaHVuay5yZWFzb247XG4gICAgICAgIGNodW5rLnN0YXR1cyA9IFwicmVzb2x2ZWRfbW9kZWxcIjtcbiAgICAgICAgY2h1bmsudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgbnVsbCAhPT0gcmVzb2x2ZUxpc3RlbmVycyAmJlxuICAgICAgICAgIChpbml0aWFsaXplTW9kZWxDaHVuayhjaHVuayksXG4gICAgICAgICAgd2FrZUNodW5rSWZJbml0aWFsaXplZChjaHVuaywgcmVzb2x2ZUxpc3RlbmVycywgcmVqZWN0TGlzdGVuZXJzKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVNb2R1bGVDaHVuayhjaHVuaywgdmFsdWUpIHtcbiAgICAgIGlmIChcInBlbmRpbmdcIiA9PT0gY2h1bmsuc3RhdHVzIHx8IFwiYmxvY2tlZFwiID09PSBjaHVuay5zdGF0dXMpIHtcbiAgICAgICAgdmFyIHJlc29sdmVMaXN0ZW5lcnMgPSBjaHVuay52YWx1ZSxcbiAgICAgICAgICByZWplY3RMaXN0ZW5lcnMgPSBjaHVuay5yZWFzb247XG4gICAgICAgIGNodW5rLnN0YXR1cyA9IFwicmVzb2x2ZWRfbW9kdWxlXCI7XG4gICAgICAgIGNodW5rLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIG51bGwgIT09IHJlc29sdmVMaXN0ZW5lcnMgJiZcbiAgICAgICAgICAoaW5pdGlhbGl6ZU1vZHVsZUNodW5rKGNodW5rKSxcbiAgICAgICAgICB3YWtlQ2h1bmtJZkluaXRpYWxpemVkKGNodW5rLCByZXNvbHZlTGlzdGVuZXJzLCByZWplY3RMaXN0ZW5lcnMpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gaW5pdGlhbGl6ZU1vZGVsQ2h1bmsoY2h1bmspIHtcbiAgICAgIHZhciBwcmV2SGFuZGxlciA9IGluaXRpYWxpemluZ0hhbmRsZXI7XG4gICAgICBpbml0aWFsaXppbmdIYW5kbGVyID0gbnVsbDtcbiAgICAgIHZhciByZXNvbHZlZE1vZGVsID0gY2h1bmsudmFsdWU7XG4gICAgICBjaHVuay5zdGF0dXMgPSBcImJsb2NrZWRcIjtcbiAgICAgIGNodW5rLnZhbHVlID0gbnVsbDtcbiAgICAgIGNodW5rLnJlYXNvbiA9IG51bGw7XG4gICAgICB0cnkge1xuICAgICAgICB2YXIgdmFsdWUgPSBKU09OLnBhcnNlKHJlc29sdmVkTW9kZWwsIGNodW5rLl9yZXNwb25zZS5fZnJvbUpTT04pLFxuICAgICAgICAgIHJlc29sdmVMaXN0ZW5lcnMgPSBjaHVuay52YWx1ZTtcbiAgICAgICAgbnVsbCAhPT0gcmVzb2x2ZUxpc3RlbmVycyAmJlxuICAgICAgICAgICgoY2h1bmsudmFsdWUgPSBudWxsKSxcbiAgICAgICAgICAoY2h1bmsucmVhc29uID0gbnVsbCksXG4gICAgICAgICAgd2FrZUNodW5rKHJlc29sdmVMaXN0ZW5lcnMsIHZhbHVlKSk7XG4gICAgICAgIGlmIChudWxsICE9PSBpbml0aWFsaXppbmdIYW5kbGVyKSB7XG4gICAgICAgICAgaWYgKGluaXRpYWxpemluZ0hhbmRsZXIuZXJyb3JlZCkgdGhyb3cgaW5pdGlhbGl6aW5nSGFuZGxlci52YWx1ZTtcbiAgICAgICAgICBpZiAoMCA8IGluaXRpYWxpemluZ0hhbmRsZXIuZGVwcykge1xuICAgICAgICAgICAgaW5pdGlhbGl6aW5nSGFuZGxlci52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgaW5pdGlhbGl6aW5nSGFuZGxlci5jaHVuayA9IGNodW5rO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjaHVuay5zdGF0dXMgPSBcImZ1bGZpbGxlZFwiO1xuICAgICAgICBjaHVuay52YWx1ZSA9IHZhbHVlO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgKGNodW5rLnN0YXR1cyA9IFwicmVqZWN0ZWRcIiksIChjaHVuay5yZWFzb24gPSBlcnJvcik7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpbml0aWFsaXppbmdIYW5kbGVyID0gcHJldkhhbmRsZXI7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGluaXRpYWxpemVNb2R1bGVDaHVuayhjaHVuaykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIHZhbHVlID0gcmVxdWlyZU1vZHVsZShjaHVuay52YWx1ZSk7XG4gICAgICAgIGNodW5rLnN0YXR1cyA9IFwiZnVsZmlsbGVkXCI7XG4gICAgICAgIGNodW5rLnZhbHVlID0gdmFsdWU7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAoY2h1bmsuc3RhdHVzID0gXCJyZWplY3RlZFwiKSwgKGNodW5rLnJlYXNvbiA9IGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gcmVwb3J0R2xvYmFsRXJyb3IocmVzcG9uc2UsIGVycm9yKSB7XG4gICAgICByZXNwb25zZS5fY2h1bmtzLmZvckVhY2goZnVuY3Rpb24gKGNodW5rKSB7XG4gICAgICAgIFwicGVuZGluZ1wiID09PSBjaHVuay5zdGF0dXMgJiYgdHJpZ2dlckVycm9yT25DaHVuayhjaHVuaywgZXJyb3IpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG51bGxSZWZHZXR0ZXIoKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlTGF6eUNodW5rV3JhcHBlcihjaHVuaykge1xuICAgICAgdmFyIGxhenlUeXBlID0ge1xuICAgICAgICAkJHR5cGVvZjogUkVBQ1RfTEFaWV9UWVBFLFxuICAgICAgICBfcGF5bG9hZDogY2h1bmssXG4gICAgICAgIF9pbml0OiByZWFkQ2h1bmtcbiAgICAgIH07XG4gICAgICBjaHVuayA9IGNodW5rLl9kZWJ1Z0luZm8gfHwgKGNodW5rLl9kZWJ1Z0luZm8gPSBbXSk7XG4gICAgICBsYXp5VHlwZS5fZGVidWdJbmZvID0gY2h1bms7XG4gICAgICByZXR1cm4gbGF6eVR5cGU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldENodW5rKHJlc3BvbnNlLCBpZCkge1xuICAgICAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3MsXG4gICAgICAgIGNodW5rID0gY2h1bmtzLmdldChpZCk7XG4gICAgICBjaHVuayB8fCAoKGNodW5rID0gY3JlYXRlUGVuZGluZ0NodW5rKHJlc3BvbnNlKSksIGNodW5rcy5zZXQoaWQsIGNodW5rKSk7XG4gICAgICByZXR1cm4gY2h1bms7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHdhaXRGb3JSZWZlcmVuY2UoXG4gICAgICByZWZlcmVuY2VkQ2h1bmssXG4gICAgICBwYXJlbnRPYmplY3QsXG4gICAgICBrZXksXG4gICAgICByZXNwb25zZSxcbiAgICAgIG1hcCxcbiAgICAgIHBhdGhcbiAgICApIHtcbiAgICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBwYXRoLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgZm9yICg7IHZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEU7IClcbiAgICAgICAgICAgIGlmICgoKHZhbHVlID0gdmFsdWUuX3BheWxvYWQpLCB2YWx1ZSA9PT0gaGFuZGxlci5jaHVuaykpXG4gICAgICAgICAgICAgIHZhbHVlID0gaGFuZGxlci52YWx1ZTtcbiAgICAgICAgICAgIGVsc2UgaWYgKFwiZnVsZmlsbGVkXCIgPT09IHZhbHVlLnN0YXR1cykgdmFsdWUgPSB2YWx1ZS52YWx1ZTtcbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICBwYXRoLnNwbGljZSgwLCBpIC0gMSk7XG4gICAgICAgICAgICAgIHZhbHVlLnRoZW4oZnVsZmlsbCwgcmVqZWN0KTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIHZhbHVlID0gdmFsdWVbcGF0aFtpXV07XG4gICAgICAgIH1cbiAgICAgICAgaSA9IG1hcChyZXNwb25zZSwgdmFsdWUsIHBhcmVudE9iamVjdCwga2V5KTtcbiAgICAgICAgcGFyZW50T2JqZWN0W2tleV0gPSBpO1xuICAgICAgICBcIlwiID09PSBrZXkgJiYgbnVsbCA9PT0gaGFuZGxlci52YWx1ZSAmJiAoaGFuZGxlci52YWx1ZSA9IGkpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcGFyZW50T2JqZWN0WzBdID09PSBSRUFDVF9FTEVNRU5UX1RZUEUgJiZcbiAgICAgICAgICBcIm9iamVjdFwiID09PSB0eXBlb2YgaGFuZGxlci52YWx1ZSAmJlxuICAgICAgICAgIG51bGwgIT09IGhhbmRsZXIudmFsdWUgJiZcbiAgICAgICAgICBoYW5kbGVyLnZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEVcbiAgICAgICAgKVxuICAgICAgICAgIHN3aXRjaCAoKCh2YWx1ZSA9IGhhbmRsZXIudmFsdWUpLCBrZXkpKSB7XG4gICAgICAgICAgICBjYXNlIFwiM1wiOlxuICAgICAgICAgICAgICB2YWx1ZS5wcm9wcyA9IGk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIjRcIjpcbiAgICAgICAgICAgICAgdmFsdWUuX293bmVyID0gaTtcbiAgICAgICAgICB9XG4gICAgICAgIGhhbmRsZXIuZGVwcy0tO1xuICAgICAgICAwID09PSBoYW5kbGVyLmRlcHMgJiZcbiAgICAgICAgICAoKGkgPSBoYW5kbGVyLmNodW5rKSxcbiAgICAgICAgICBudWxsICE9PSBpICYmXG4gICAgICAgICAgICBcImJsb2NrZWRcIiA9PT0gaS5zdGF0dXMgJiZcbiAgICAgICAgICAgICgodmFsdWUgPSBpLnZhbHVlKSxcbiAgICAgICAgICAgIChpLnN0YXR1cyA9IFwiZnVsZmlsbGVkXCIpLFxuICAgICAgICAgICAgKGkudmFsdWUgPSBoYW5kbGVyLnZhbHVlKSxcbiAgICAgICAgICAgIG51bGwgIT09IHZhbHVlICYmIHdha2VDaHVuayh2YWx1ZSwgaGFuZGxlci52YWx1ZSkpKTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHJlamVjdChlcnJvcikge1xuICAgICAgICBpZiAoIWhhbmRsZXIuZXJyb3JlZCkge1xuICAgICAgICAgIHZhciBibG9ja2VkVmFsdWUgPSBoYW5kbGVyLnZhbHVlO1xuICAgICAgICAgIGhhbmRsZXIuZXJyb3JlZCA9ICEwO1xuICAgICAgICAgIGhhbmRsZXIudmFsdWUgPSBlcnJvcjtcbiAgICAgICAgICB2YXIgY2h1bmsgPSBoYW5kbGVyLmNodW5rO1xuICAgICAgICAgIG51bGwgIT09IGNodW5rICYmXG4gICAgICAgICAgICBcImJsb2NrZWRcIiA9PT0gY2h1bmsuc3RhdHVzICYmXG4gICAgICAgICAgICAoXCJvYmplY3RcIiA9PT0gdHlwZW9mIGJsb2NrZWRWYWx1ZSAmJlxuICAgICAgICAgICAgICBudWxsICE9PSBibG9ja2VkVmFsdWUgJiZcbiAgICAgICAgICAgICAgYmxvY2tlZFZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUgJiZcbiAgICAgICAgICAgICAgKChibG9ja2VkVmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGJsb2NrZWRWYWx1ZS50eXBlKSB8fCBcIlwiLFxuICAgICAgICAgICAgICAgIG93bmVyOiBibG9ja2VkVmFsdWUuX293bmVyXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAoY2h1bmsuX2RlYnVnSW5mbyB8fCAoY2h1bmsuX2RlYnVnSW5mbyA9IFtdKSkucHVzaChibG9ja2VkVmFsdWUpKSxcbiAgICAgICAgICAgIHRyaWdnZXJFcnJvck9uQ2h1bmsoY2h1bmssIGVycm9yKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChpbml0aWFsaXppbmdIYW5kbGVyKSB7XG4gICAgICAgIHZhciBoYW5kbGVyID0gaW5pdGlhbGl6aW5nSGFuZGxlcjtcbiAgICAgICAgaGFuZGxlci5kZXBzKys7XG4gICAgICB9IGVsc2VcbiAgICAgICAgaGFuZGxlciA9IGluaXRpYWxpemluZ0hhbmRsZXIgPSB7XG4gICAgICAgICAgcGFyZW50OiBudWxsLFxuICAgICAgICAgIGNodW5rOiBudWxsLFxuICAgICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgICAgIGRlcHM6IDEsXG4gICAgICAgICAgZXJyb3JlZDogITFcbiAgICAgICAgfTtcbiAgICAgIHJlZmVyZW5jZWRDaHVuay50aGVuKGZ1bGZpbGwsIHJlamVjdCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gbG9hZFNlcnZlclJlZmVyZW5jZShyZXNwb25zZSwgbWV0YURhdGEsIHBhcmVudE9iamVjdCwga2V5KSB7XG4gICAgICBpZiAoIXJlc3BvbnNlLl9zZXJ2ZXJSZWZlcmVuY2VDb25maWcpXG4gICAgICAgIHJldHVybiBjcmVhdGVCb3VuZFNlcnZlclJlZmVyZW5jZShcbiAgICAgICAgICBtZXRhRGF0YSxcbiAgICAgICAgICByZXNwb25zZS5fY2FsbFNlcnZlcixcbiAgICAgICAgICByZXNwb25zZS5fZW5jb2RlRm9ybUFjdGlvbixcbiAgICAgICAgICByZXNwb25zZS5fZGVidWdGaW5kU291cmNlTWFwVVJMXG4gICAgICAgICk7XG4gICAgICB2YXIgc2VydmVyUmVmZXJlbmNlID0gcmVzb2x2ZVNlcnZlclJlZmVyZW5jZShcbiAgICAgICAgcmVzcG9uc2UuX3NlcnZlclJlZmVyZW5jZUNvbmZpZyxcbiAgICAgICAgbWV0YURhdGEuaWRcbiAgICAgICk7XG4gICAgICBpZiAoKHJlc3BvbnNlID0gcHJlbG9hZE1vZHVsZShzZXJ2ZXJSZWZlcmVuY2UpKSlcbiAgICAgICAgbWV0YURhdGEuYm91bmQgJiYgKHJlc3BvbnNlID0gUHJvbWlzZS5hbGwoW3Jlc3BvbnNlLCBtZXRhRGF0YS5ib3VuZF0pKTtcbiAgICAgIGVsc2UgaWYgKG1ldGFEYXRhLmJvdW5kKSByZXNwb25zZSA9IFByb21pc2UucmVzb2x2ZShtZXRhRGF0YS5ib3VuZCk7XG4gICAgICBlbHNlIHJldHVybiByZXF1aXJlTW9kdWxlKHNlcnZlclJlZmVyZW5jZSk7XG4gICAgICBpZiAoaW5pdGlhbGl6aW5nSGFuZGxlcikge1xuICAgICAgICB2YXIgaGFuZGxlciA9IGluaXRpYWxpemluZ0hhbmRsZXI7XG4gICAgICAgIGhhbmRsZXIuZGVwcysrO1xuICAgICAgfSBlbHNlXG4gICAgICAgIGhhbmRsZXIgPSBpbml0aWFsaXppbmdIYW5kbGVyID0ge1xuICAgICAgICAgIHBhcmVudDogbnVsbCxcbiAgICAgICAgICBjaHVuazogbnVsbCxcbiAgICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgICBkZXBzOiAxLFxuICAgICAgICAgIGVycm9yZWQ6ICExXG4gICAgICAgIH07XG4gICAgICByZXNwb25zZS50aGVuKFxuICAgICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdmFyIHJlc29sdmVkVmFsdWUgPSByZXF1aXJlTW9kdWxlKHNlcnZlclJlZmVyZW5jZSk7XG4gICAgICAgICAgaWYgKG1ldGFEYXRhLmJvdW5kKSB7XG4gICAgICAgICAgICB2YXIgYm91bmRBcmdzID0gbWV0YURhdGEuYm91bmQudmFsdWUuc2xpY2UoMCk7XG4gICAgICAgICAgICBib3VuZEFyZ3MudW5zaGlmdChudWxsKTtcbiAgICAgICAgICAgIHJlc29sdmVkVmFsdWUgPSByZXNvbHZlZFZhbHVlLmJpbmQuYXBwbHkocmVzb2x2ZWRWYWx1ZSwgYm91bmRBcmdzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcGFyZW50T2JqZWN0W2tleV0gPSByZXNvbHZlZFZhbHVlO1xuICAgICAgICAgIFwiXCIgPT09IGtleSAmJlxuICAgICAgICAgICAgbnVsbCA9PT0gaGFuZGxlci52YWx1ZSAmJlxuICAgICAgICAgICAgKGhhbmRsZXIudmFsdWUgPSByZXNvbHZlZFZhbHVlKTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBwYXJlbnRPYmplY3RbMF0gPT09IFJFQUNUX0VMRU1FTlRfVFlQRSAmJlxuICAgICAgICAgICAgXCJvYmplY3RcIiA9PT0gdHlwZW9mIGhhbmRsZXIudmFsdWUgJiZcbiAgICAgICAgICAgIG51bGwgIT09IGhhbmRsZXIudmFsdWUgJiZcbiAgICAgICAgICAgIGhhbmRsZXIudmFsdWUuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRVxuICAgICAgICAgIClcbiAgICAgICAgICAgIHN3aXRjaCAoKChib3VuZEFyZ3MgPSBoYW5kbGVyLnZhbHVlKSwga2V5KSkge1xuICAgICAgICAgICAgICBjYXNlIFwiM1wiOlxuICAgICAgICAgICAgICAgIGJvdW5kQXJncy5wcm9wcyA9IHJlc29sdmVkVmFsdWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgXCI0XCI6XG4gICAgICAgICAgICAgICAgYm91bmRBcmdzLl9vd25lciA9IHJlc29sdmVkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgaGFuZGxlci5kZXBzLS07XG4gICAgICAgICAgMCA9PT0gaGFuZGxlci5kZXBzICYmXG4gICAgICAgICAgICAoKHJlc29sdmVkVmFsdWUgPSBoYW5kbGVyLmNodW5rKSxcbiAgICAgICAgICAgIG51bGwgIT09IHJlc29sdmVkVmFsdWUgJiZcbiAgICAgICAgICAgICAgXCJibG9ja2VkXCIgPT09IHJlc29sdmVkVmFsdWUuc3RhdHVzICYmXG4gICAgICAgICAgICAgICgoYm91bmRBcmdzID0gcmVzb2x2ZWRWYWx1ZS52YWx1ZSksXG4gICAgICAgICAgICAgIChyZXNvbHZlZFZhbHVlLnN0YXR1cyA9IFwiZnVsZmlsbGVkXCIpLFxuICAgICAgICAgICAgICAocmVzb2x2ZWRWYWx1ZS52YWx1ZSA9IGhhbmRsZXIudmFsdWUpLFxuICAgICAgICAgICAgICBudWxsICE9PSBib3VuZEFyZ3MgJiYgd2FrZUNodW5rKGJvdW5kQXJncywgaGFuZGxlci52YWx1ZSkpKTtcbiAgICAgICAgfSxcbiAgICAgICAgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgaWYgKCFoYW5kbGVyLmVycm9yZWQpIHtcbiAgICAgICAgICAgIHZhciBibG9ja2VkVmFsdWUgPSBoYW5kbGVyLnZhbHVlO1xuICAgICAgICAgICAgaGFuZGxlci5lcnJvcmVkID0gITA7XG4gICAgICAgICAgICBoYW5kbGVyLnZhbHVlID0gZXJyb3I7XG4gICAgICAgICAgICB2YXIgY2h1bmsgPSBoYW5kbGVyLmNodW5rO1xuICAgICAgICAgICAgbnVsbCAhPT0gY2h1bmsgJiZcbiAgICAgICAgICAgICAgXCJibG9ja2VkXCIgPT09IGNodW5rLnN0YXR1cyAmJlxuICAgICAgICAgICAgICAoXCJvYmplY3RcIiA9PT0gdHlwZW9mIGJsb2NrZWRWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIG51bGwgIT09IGJsb2NrZWRWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIGJsb2NrZWRWYWx1ZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFICYmXG4gICAgICAgICAgICAgICAgKChibG9ja2VkVmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoYmxvY2tlZFZhbHVlLnR5cGUpIHx8IFwiXCIsXG4gICAgICAgICAgICAgICAgICBvd25lcjogYmxvY2tlZFZhbHVlLl9vd25lclxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIChjaHVuay5fZGVidWdJbmZvIHx8IChjaHVuay5fZGVidWdJbmZvID0gW10pKS5wdXNoKFxuICAgICAgICAgICAgICAgICAgYmxvY2tlZFZhbHVlXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAgIHRyaWdnZXJFcnJvck9uQ2h1bmsoY2h1bmssIGVycm9yKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldE91dGxpbmVkTW9kZWwocmVzcG9uc2UsIHJlZmVyZW5jZSwgcGFyZW50T2JqZWN0LCBrZXksIG1hcCkge1xuICAgICAgcmVmZXJlbmNlID0gcmVmZXJlbmNlLnNwbGl0KFwiOlwiKTtcbiAgICAgIHZhciBpZCA9IHBhcnNlSW50KHJlZmVyZW5jZVswXSwgMTYpO1xuICAgICAgaWQgPSBnZXRDaHVuayhyZXNwb25zZSwgaWQpO1xuICAgICAgc3dpdGNoIChpZC5zdGF0dXMpIHtcbiAgICAgICAgY2FzZSBcInJlc29sdmVkX21vZGVsXCI6XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZGVsQ2h1bmsoaWQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwicmVzb2x2ZWRfbW9kdWxlXCI6XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZHVsZUNodW5rKGlkKTtcbiAgICAgIH1cbiAgICAgIHN3aXRjaCAoaWQuc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgXCJmdWxmaWxsZWRcIjpcbiAgICAgICAgICBmb3IgKHZhciB2YWx1ZSA9IGlkLnZhbHVlLCBpID0gMTsgaSA8IHJlZmVyZW5jZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZm9yICg7IHZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEU7IClcbiAgICAgICAgICAgICAgaWYgKCgodmFsdWUgPSB2YWx1ZS5fcGF5bG9hZCksIFwiZnVsZmlsbGVkXCIgPT09IHZhbHVlLnN0YXR1cykpXG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS52YWx1ZTtcbiAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHJldHVybiB3YWl0Rm9yUmVmZXJlbmNlKFxuICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICBwYXJlbnRPYmplY3QsXG4gICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgIG1hcCxcbiAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZS5zbGljZShpIC0gMSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZVtyZWZlcmVuY2VbaV1dO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXNwb25zZSA9IG1hcChyZXNwb25zZSwgdmFsdWUsIHBhcmVudE9iamVjdCwga2V5KTtcbiAgICAgICAgICBpZC5fZGVidWdJbmZvICYmXG4gICAgICAgICAgICAoXCJvYmplY3RcIiAhPT0gdHlwZW9mIHJlc3BvbnNlIHx8XG4gICAgICAgICAgICAgIG51bGwgPT09IHJlc3BvbnNlIHx8XG4gICAgICAgICAgICAgICghaXNBcnJheUltcGwocmVzcG9uc2UpICYmXG4gICAgICAgICAgICAgICAgXCJmdW5jdGlvblwiICE9PSB0eXBlb2YgcmVzcG9uc2VbQVNZTkNfSVRFUkFUT1JdICYmXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UuJCR0eXBlb2YgIT09IFJFQUNUX0VMRU1FTlRfVFlQRSkgfHxcbiAgICAgICAgICAgICAgcmVzcG9uc2UuX2RlYnVnSW5mbyB8fFxuICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzcG9uc2UsIFwiX2RlYnVnSW5mb1wiLCB7XG4gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAhMSxcbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAhMSxcbiAgICAgICAgICAgICAgICB3cml0YWJsZTogITAsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGlkLl9kZWJ1Z0luZm9cbiAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgY2FzZSBcInBlbmRpbmdcIjpcbiAgICAgICAgY2FzZSBcImJsb2NrZWRcIjpcbiAgICAgICAgICByZXR1cm4gd2FpdEZvclJlZmVyZW5jZShcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgcGFyZW50T2JqZWN0LFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICBtYXAsXG4gICAgICAgICAgICByZWZlcmVuY2VcbiAgICAgICAgICApO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpbml0aWFsaXppbmdIYW5kbGVyXG4gICAgICAgICAgICAgID8gKChpbml0aWFsaXppbmdIYW5kbGVyLmVycm9yZWQgPSAhMCksXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemluZ0hhbmRsZXIudmFsdWUgPSBpZC5yZWFzb24pKVxuICAgICAgICAgICAgICA6IChpbml0aWFsaXppbmdIYW5kbGVyID0ge1xuICAgICAgICAgICAgICAgICAgcGFyZW50OiBudWxsLFxuICAgICAgICAgICAgICAgICAgY2h1bms6IG51bGwsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogaWQucmVhc29uLFxuICAgICAgICAgICAgICAgICAgZGVwczogMCxcbiAgICAgICAgICAgICAgICAgIGVycm9yZWQ6ICEwXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBudWxsXG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlTWFwKHJlc3BvbnNlLCBtb2RlbCkge1xuICAgICAgcmV0dXJuIG5ldyBNYXAobW9kZWwpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVTZXQocmVzcG9uc2UsIG1vZGVsKSB7XG4gICAgICByZXR1cm4gbmV3IFNldChtb2RlbCk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUJsb2IocmVzcG9uc2UsIG1vZGVsKSB7XG4gICAgICByZXR1cm4gbmV3IEJsb2IobW9kZWwuc2xpY2UoMSksIHsgdHlwZTogbW9kZWxbMF0gfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUZvcm1EYXRhKHJlc3BvbnNlLCBtb2RlbCkge1xuICAgICAgcmVzcG9uc2UgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbW9kZWwubGVuZ3RoOyBpKyspXG4gICAgICAgIHJlc3BvbnNlLmFwcGVuZChtb2RlbFtpXVswXSwgbW9kZWxbaV1bMV0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBleHRyYWN0SXRlcmF0b3IocmVzcG9uc2UsIG1vZGVsKSB7XG4gICAgICByZXR1cm4gbW9kZWxbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVNb2RlbChyZXNwb25zZSwgbW9kZWwpIHtcbiAgICAgIHJldHVybiBtb2RlbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFyc2VNb2RlbFN0cmluZyhyZXNwb25zZSwgcGFyZW50T2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gICAgICBpZiAoXCIkXCIgPT09IHZhbHVlWzBdKSB7XG4gICAgICAgIGlmIChcIiRcIiA9PT0gdmFsdWUpXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIG51bGwgIT09IGluaXRpYWxpemluZ0hhbmRsZXIgJiZcbiAgICAgICAgICAgICAgXCIwXCIgPT09IGtleSAmJlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6aW5nSGFuZGxlciA9IHtcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IGluaXRpYWxpemluZ0hhbmRsZXIsXG4gICAgICAgICAgICAgICAgY2h1bms6IG51bGwsXG4gICAgICAgICAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICAgICAgICAgICAgZGVwczogMCxcbiAgICAgICAgICAgICAgICBlcnJvcmVkOiAhMVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIFJFQUNUX0VMRU1FTlRfVFlQRVxuICAgICAgICAgICk7XG4gICAgICAgIHN3aXRjaCAodmFsdWVbMV0pIHtcbiAgICAgICAgICBjYXNlIFwiJFwiOlxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnNsaWNlKDEpO1xuICAgICAgICAgIGNhc2UgXCJMXCI6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAocGFyZW50T2JqZWN0ID0gcGFyc2VJbnQodmFsdWUuc2xpY2UoMiksIDE2KSksXG4gICAgICAgICAgICAgIChyZXNwb25zZSA9IGdldENodW5rKHJlc3BvbnNlLCBwYXJlbnRPYmplY3QpKSxcbiAgICAgICAgICAgICAgY3JlYXRlTGF6eUNodW5rV3JhcHBlcihyZXNwb25zZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSBcIkBcIjpcbiAgICAgICAgICAgIGlmICgyID09PSB2YWx1ZS5sZW5ndGgpIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgICBwYXJlbnRPYmplY3QgPSBwYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgMTYpO1xuICAgICAgICAgICAgcmV0dXJuIGdldENodW5rKHJlc3BvbnNlLCBwYXJlbnRPYmplY3QpO1xuICAgICAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgICAgICByZXR1cm4gU3ltYm9sLmZvcih2YWx1ZS5zbGljZSgyKSk7XG4gICAgICAgICAgY2FzZSBcIkZcIjpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHZhbHVlLnNsaWNlKDIpKSxcbiAgICAgICAgICAgICAgZ2V0T3V0bGluZWRNb2RlbChcbiAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBwYXJlbnRPYmplY3QsXG4gICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgIGxvYWRTZXJ2ZXJSZWZlcmVuY2VcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBjYXNlIFwiVFwiOlxuICAgICAgICAgICAgcGFyZW50T2JqZWN0ID0gXCIkXCIgKyB2YWx1ZS5zbGljZSgyKTtcbiAgICAgICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UuX3RlbXBSZWZzO1xuICAgICAgICAgICAgaWYgKG51bGwgPT0gcmVzcG9uc2UpXG4gICAgICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgICAgIFwiTWlzc2luZyBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0IGJ1dCB0aGUgUlNDIHJlc3BvbnNlIHJldHVybmVkIGEgdGVtcG9yYXJ5IHJlZmVyZW5jZS4gUGFzcyBhIHRlbXBvcmFyeVJlZmVyZW5jZSBvcHRpb24gd2l0aCB0aGUgc2V0IHRoYXQgd2FzIHVzZWQgd2l0aCB0aGUgcmVwbHkuXCJcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5nZXQocGFyZW50T2JqZWN0KTtcbiAgICAgICAgICBjYXNlIFwiUVwiOlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKHZhbHVlID0gdmFsdWUuc2xpY2UoMikpLFxuICAgICAgICAgICAgICBnZXRPdXRsaW5lZE1vZGVsKHJlc3BvbnNlLCB2YWx1ZSwgcGFyZW50T2JqZWN0LCBrZXksIGNyZWF0ZU1hcClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSBcIldcIjpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHZhbHVlLnNsaWNlKDIpKSxcbiAgICAgICAgICAgICAgZ2V0T3V0bGluZWRNb2RlbChyZXNwb25zZSwgdmFsdWUsIHBhcmVudE9iamVjdCwga2V5LCBjcmVhdGVTZXQpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgXCJCXCI6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAodmFsdWUgPSB2YWx1ZS5zbGljZSgyKSksXG4gICAgICAgICAgICAgIGdldE91dGxpbmVkTW9kZWwocmVzcG9uc2UsIHZhbHVlLCBwYXJlbnRPYmplY3QsIGtleSwgY3JlYXRlQmxvYilcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSBcIktcIjpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHZhbHVlLnNsaWNlKDIpKSxcbiAgICAgICAgICAgICAgZ2V0T3V0bGluZWRNb2RlbChcbiAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBwYXJlbnRPYmplY3QsXG4gICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgIGNyZWF0ZUZvcm1EYXRhXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSBcIlpcIjpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHZhbHVlLnNsaWNlKDIpKSxcbiAgICAgICAgICAgICAgZ2V0T3V0bGluZWRNb2RlbChcbiAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBwYXJlbnRPYmplY3QsXG4gICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgIHJlc29sdmVFcnJvckRldlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgXCJpXCI6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAodmFsdWUgPSB2YWx1ZS5zbGljZSgyKSksXG4gICAgICAgICAgICAgIGdldE91dGxpbmVkTW9kZWwoXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgcGFyZW50T2JqZWN0LFxuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICBleHRyYWN0SXRlcmF0b3JcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBjYXNlIFwiSVwiOlxuICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5O1xuICAgICAgICAgIGNhc2UgXCItXCI6XG4gICAgICAgICAgICByZXR1cm4gXCIkLTBcIiA9PT0gdmFsdWUgPyAtMCA6IC1JbmZpbml0eTtcbiAgICAgICAgICBjYXNlIFwiTlwiOlxuICAgICAgICAgICAgcmV0dXJuIE5hTjtcbiAgICAgICAgICBjYXNlIFwidVwiOlxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIGNhc2UgXCJEXCI6XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5wYXJzZSh2YWx1ZS5zbGljZSgyKSkpO1xuICAgICAgICAgIGNhc2UgXCJuXCI6XG4gICAgICAgICAgICByZXR1cm4gQmlnSW50KHZhbHVlLnNsaWNlKDIpKTtcbiAgICAgICAgICBjYXNlIFwiRVwiOlxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuICgwLCBldmFsKSh2YWx1ZS5zbGljZSgyKSk7XG4gICAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFwiWVwiOlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHBhcmVudE9iamVjdCwga2V5LCB7XG4gICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gXCJUaGlzIG9iamVjdCBoYXMgYmVlbiBvbWl0dGVkIGJ5IFJlYWN0IGluIHRoZSBjb25zb2xlIGxvZyB0byBhdm9pZCBzZW5kaW5nIHRvbyBtdWNoIGRhdGEgZnJvbSB0aGUgc2VydmVyLiBUcnkgbG9nZ2luZyBzbWFsbGVyIG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0cy5cIjtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogITFcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIG51bGxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHZhbHVlLnNsaWNlKDEpKSxcbiAgICAgICAgICAgICAgZ2V0T3V0bGluZWRNb2RlbChyZXNwb25zZSwgdmFsdWUsIHBhcmVudE9iamVjdCwga2V5LCBjcmVhdGVNb2RlbClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gbWlzc2luZ0NhbGwoKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1RyeWluZyB0byBjYWxsIGEgZnVuY3Rpb24gZnJvbSBcInVzZSBzZXJ2ZXJcIiBidXQgdGhlIGNhbGxTZXJ2ZXIgb3B0aW9uIHdhcyBub3QgaW1wbGVtZW50ZWQgaW4geW91ciByb3V0ZXIgcnVudGltZS4nXG4gICAgICApO1xuICAgIH1cbiAgICBmdW5jdGlvbiBSZXNwb25zZUluc3RhbmNlKFxuICAgICAgYnVuZGxlckNvbmZpZyxcbiAgICAgIHNlcnZlclJlZmVyZW5jZUNvbmZpZyxcbiAgICAgIG1vZHVsZUxvYWRpbmcsXG4gICAgICBjYWxsU2VydmVyLFxuICAgICAgZW5jb2RlRm9ybUFjdGlvbixcbiAgICAgIG5vbmNlLFxuICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcyxcbiAgICAgIGZpbmRTb3VyY2VNYXBVUkwsXG4gICAgICByZXBsYXlDb25zb2xlLFxuICAgICAgZW52aXJvbm1lbnROYW1lXG4gICAgKSB7XG4gICAgICB2YXIgY2h1bmtzID0gbmV3IE1hcCgpO1xuICAgICAgdGhpcy5fYnVuZGxlckNvbmZpZyA9IGJ1bmRsZXJDb25maWc7XG4gICAgICB0aGlzLl9zZXJ2ZXJSZWZlcmVuY2VDb25maWcgPSBzZXJ2ZXJSZWZlcmVuY2VDb25maWc7XG4gICAgICB0aGlzLl9tb2R1bGVMb2FkaW5nID0gbW9kdWxlTG9hZGluZztcbiAgICAgIHRoaXMuX2NhbGxTZXJ2ZXIgPSB2b2lkIDAgIT09IGNhbGxTZXJ2ZXIgPyBjYWxsU2VydmVyIDogbWlzc2luZ0NhbGw7XG4gICAgICB0aGlzLl9lbmNvZGVGb3JtQWN0aW9uID0gZW5jb2RlRm9ybUFjdGlvbjtcbiAgICAgIHRoaXMuX25vbmNlID0gbm9uY2U7XG4gICAgICB0aGlzLl9jaHVua3MgPSBjaHVua3M7XG4gICAgICB0aGlzLl9zdHJpbmdEZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKCk7XG4gICAgICB0aGlzLl9mcm9tSlNPTiA9IG51bGw7XG4gICAgICB0aGlzLl9yb3dMZW5ndGggPSB0aGlzLl9yb3dUYWcgPSB0aGlzLl9yb3dJRCA9IHRoaXMuX3Jvd1N0YXRlID0gMDtcbiAgICAgIHRoaXMuX2J1ZmZlciA9IFtdO1xuICAgICAgdGhpcy5fdGVtcFJlZnMgPSB0ZW1wb3JhcnlSZWZlcmVuY2VzO1xuICAgICAgdGhpcy5fZGVidWdSb290T3duZXIgPSBidW5kbGVyQ29uZmlnID1cbiAgICAgICAgdm9pZCAwID09PSBSZWFjdFNoYXJlZEludGVyYWxzU2VydmVyIHx8XG4gICAgICAgIG51bGwgPT09IFJlYWN0U2hhcmVkSW50ZXJhbHNTZXJ2ZXIuQVxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogUmVhY3RTaGFyZWRJbnRlcmFsc1NlcnZlci5BLmdldE93bmVyKCk7XG4gICAgICB0aGlzLl9kZWJ1Z1Jvb3RTdGFjayA9XG4gICAgICAgIG51bGwgIT09IGJ1bmRsZXJDb25maWcgPyBFcnJvcihcInJlYWN0LXN0YWNrLXRvcC1mcmFtZVwiKSA6IG51bGw7XG4gICAgICB0aGlzLl9kZWJ1Z0ZpbmRTb3VyY2VNYXBVUkwgPSBmaW5kU291cmNlTWFwVVJMO1xuICAgICAgdGhpcy5fcmVwbGF5Q29uc29sZSA9IHJlcGxheUNvbnNvbGU7XG4gICAgICB0aGlzLl9yb290RW52aXJvbm1lbnROYW1lID1cbiAgICAgICAgdm9pZCAwID09PSBlbnZpcm9ubWVudE5hbWUgPyBcIlNlcnZlclwiIDogZW52aXJvbm1lbnROYW1lO1xuICAgICAgdGhpcy5fZnJvbUpTT04gPSBjcmVhdGVGcm9tSlNPTkNhbGxiYWNrKHRoaXMpO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZXNvbHZlTW9kZWwocmVzcG9uc2UsIGlkLCBtb2RlbCkge1xuICAgICAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3MsXG4gICAgICAgIGNodW5rID0gY2h1bmtzLmdldChpZCk7XG4gICAgICBjaHVua1xuICAgICAgICA/IHJlc29sdmVNb2RlbENodW5rKGNodW5rLCBtb2RlbClcbiAgICAgICAgOiBjaHVua3Muc2V0KFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBuZXcgUmVhY3RQcm9taXNlKFwicmVzb2x2ZWRfbW9kZWxcIiwgbW9kZWwsIG51bGwsIHJlc3BvbnNlKVxuICAgICAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVUZXh0KHJlc3BvbnNlLCBpZCwgdGV4dCkge1xuICAgICAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3MsXG4gICAgICAgIGNodW5rID0gY2h1bmtzLmdldChpZCk7XG4gICAgICBjaHVuayAmJiBcInBlbmRpbmdcIiAhPT0gY2h1bmsuc3RhdHVzXG4gICAgICAgID8gY2h1bmsucmVhc29uLmVucXVldWVWYWx1ZSh0ZXh0KVxuICAgICAgICA6IGNodW5rcy5zZXQoaWQsIG5ldyBSZWFjdFByb21pc2UoXCJmdWxmaWxsZWRcIiwgdGV4dCwgbnVsbCwgcmVzcG9uc2UpKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcmVzb2x2ZUJ1ZmZlcihyZXNwb25zZSwgaWQsIGJ1ZmZlcikge1xuICAgICAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3MsXG4gICAgICAgIGNodW5rID0gY2h1bmtzLmdldChpZCk7XG4gICAgICBjaHVuayAmJiBcInBlbmRpbmdcIiAhPT0gY2h1bmsuc3RhdHVzXG4gICAgICAgID8gY2h1bmsucmVhc29uLmVucXVldWVWYWx1ZShidWZmZXIpXG4gICAgICAgIDogY2h1bmtzLnNldChpZCwgbmV3IFJlYWN0UHJvbWlzZShcImZ1bGZpbGxlZFwiLCBidWZmZXIsIG51bGwsIHJlc3BvbnNlKSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVNb2R1bGUocmVzcG9uc2UsIGlkLCBtb2RlbCkge1xuICAgICAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3MsXG4gICAgICAgIGNodW5rID0gY2h1bmtzLmdldChpZCk7XG4gICAgICBtb2RlbCA9IEpTT04ucGFyc2UobW9kZWwsIHJlc3BvbnNlLl9mcm9tSlNPTik7XG4gICAgICB2YXIgY2xpZW50UmVmZXJlbmNlID0gcmVzb2x2ZUNsaWVudFJlZmVyZW5jZShcbiAgICAgICAgcmVzcG9uc2UuX2J1bmRsZXJDb25maWcsXG4gICAgICAgIG1vZGVsXG4gICAgICApO1xuICAgICAgcHJlcGFyZURlc3RpbmF0aW9uV2l0aENodW5rcyhcbiAgICAgICAgcmVzcG9uc2UuX21vZHVsZUxvYWRpbmcsXG4gICAgICAgIG1vZGVsWzFdLFxuICAgICAgICByZXNwb25zZS5fbm9uY2VcbiAgICAgICk7XG4gICAgICBpZiAoKG1vZGVsID0gcHJlbG9hZE1vZHVsZShjbGllbnRSZWZlcmVuY2UpKSkge1xuICAgICAgICBpZiAoY2h1bmspIHtcbiAgICAgICAgICB2YXIgYmxvY2tlZENodW5rID0gY2h1bms7XG4gICAgICAgICAgYmxvY2tlZENodW5rLnN0YXR1cyA9IFwiYmxvY2tlZFwiO1xuICAgICAgICB9IGVsc2VcbiAgICAgICAgICAoYmxvY2tlZENodW5rID0gbmV3IFJlYWN0UHJvbWlzZShcImJsb2NrZWRcIiwgbnVsbCwgbnVsbCwgcmVzcG9uc2UpKSxcbiAgICAgICAgICAgIGNodW5rcy5zZXQoaWQsIGJsb2NrZWRDaHVuayk7XG4gICAgICAgIG1vZGVsLnRoZW4oXG4gICAgICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVNb2R1bGVDaHVuayhibG9ja2VkQ2h1bmssIGNsaWVudFJlZmVyZW5jZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0cmlnZ2VyRXJyb3JPbkNodW5rKGJsb2NrZWRDaHVuaywgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZVxuICAgICAgICBjaHVua1xuICAgICAgICAgID8gcmVzb2x2ZU1vZHVsZUNodW5rKGNodW5rLCBjbGllbnRSZWZlcmVuY2UpXG4gICAgICAgICAgOiBjaHVua3Muc2V0KFxuICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgbmV3IFJlYWN0UHJvbWlzZShcbiAgICAgICAgICAgICAgICBcInJlc29sdmVkX21vZHVsZVwiLFxuICAgICAgICAgICAgICAgIGNsaWVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVTdHJlYW0ocmVzcG9uc2UsIGlkLCBzdHJlYW0sIGNvbnRyb2xsZXIpIHtcbiAgICAgIHZhciBjaHVua3MgPSByZXNwb25zZS5fY2h1bmtzLFxuICAgICAgICBjaHVuayA9IGNodW5rcy5nZXQoaWQpO1xuICAgICAgY2h1bmtcbiAgICAgICAgPyBcInBlbmRpbmdcIiA9PT0gY2h1bmsuc3RhdHVzICYmXG4gICAgICAgICAgKChyZXNwb25zZSA9IGNodW5rLnZhbHVlKSxcbiAgICAgICAgICAoY2h1bmsuc3RhdHVzID0gXCJmdWxmaWxsZWRcIiksXG4gICAgICAgICAgKGNodW5rLnZhbHVlID0gc3RyZWFtKSxcbiAgICAgICAgICAoY2h1bmsucmVhc29uID0gY29udHJvbGxlciksXG4gICAgICAgICAgbnVsbCAhPT0gcmVzcG9uc2UgJiYgd2FrZUNodW5rKHJlc3BvbnNlLCBjaHVuay52YWx1ZSkpXG4gICAgICAgIDogY2h1bmtzLnNldChcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgbmV3IFJlYWN0UHJvbWlzZShcImZ1bGZpbGxlZFwiLCBzdHJlYW0sIGNvbnRyb2xsZXIsIHJlc3BvbnNlKVxuICAgICAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHN0YXJ0UmVhZGFibGVTdHJlYW0ocmVzcG9uc2UsIGlkLCB0eXBlKSB7XG4gICAgICB2YXIgY29udHJvbGxlciA9IG51bGw7XG4gICAgICB0eXBlID0gbmV3IFJlYWRhYmxlU3RyZWFtKHtcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uIChjKSB7XG4gICAgICAgICAgY29udHJvbGxlciA9IGM7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdmFyIHByZXZpb3VzQmxvY2tlZENodW5rID0gbnVsbDtcbiAgICAgIHJlc29sdmVTdHJlYW0ocmVzcG9uc2UsIGlkLCB0eXBlLCB7XG4gICAgICAgIGVucXVldWVWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgbnVsbCA9PT0gcHJldmlvdXNCbG9ja2VkQ2h1bmtcbiAgICAgICAgICAgID8gY29udHJvbGxlci5lbnF1ZXVlKHZhbHVlKVxuICAgICAgICAgICAgOiBwcmV2aW91c0Jsb2NrZWRDaHVuay50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUodmFsdWUpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgZW5xdWV1ZU1vZGVsOiBmdW5jdGlvbiAoanNvbikge1xuICAgICAgICAgIGlmIChudWxsID09PSBwcmV2aW91c0Jsb2NrZWRDaHVuaykge1xuICAgICAgICAgICAgdmFyIGNodW5rID0gbmV3IFJlYWN0UHJvbWlzZShcbiAgICAgICAgICAgICAgXCJyZXNvbHZlZF9tb2RlbFwiLFxuICAgICAgICAgICAgICBqc29uLFxuICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICByZXNwb25zZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGluaXRpYWxpemVNb2RlbENodW5rKGNodW5rKTtcbiAgICAgICAgICAgIFwiZnVsZmlsbGVkXCIgPT09IGNodW5rLnN0YXR1c1xuICAgICAgICAgICAgICA/IGNvbnRyb2xsZXIuZW5xdWV1ZShjaHVuay52YWx1ZSlcbiAgICAgICAgICAgICAgOiAoY2h1bmsudGhlbihcbiAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICh2KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250cm9sbGVyLmVucXVldWUodik7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXIuZXJyb3IoZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAocHJldmlvdXNCbG9ja2VkQ2h1bmsgPSBjaHVuaykpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjaHVuayA9IHByZXZpb3VzQmxvY2tlZENodW5rO1xuICAgICAgICAgICAgdmFyIF9jaHVuazMgPSBjcmVhdGVQZW5kaW5nQ2h1bmsocmVzcG9uc2UpO1xuICAgICAgICAgICAgX2NodW5rMy50aGVuKFxuICAgICAgICAgICAgICBmdW5jdGlvbiAodikge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb250cm9sbGVyLmVucXVldWUodik7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXIuZXJyb3IoZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwcmV2aW91c0Jsb2NrZWRDaHVuayA9IF9jaHVuazM7XG4gICAgICAgICAgICBjaHVuay50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgcHJldmlvdXNCbG9ja2VkQ2h1bmsgPT09IF9jaHVuazMgJiYgKHByZXZpb3VzQmxvY2tlZENodW5rID0gbnVsbCk7XG4gICAgICAgICAgICAgIHJlc29sdmVNb2RlbENodW5rKF9jaHVuazMsIGpzb24pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjbG9zZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmIChudWxsID09PSBwcmV2aW91c0Jsb2NrZWRDaHVuaykgY29udHJvbGxlci5jbG9zZSgpO1xuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIGJsb2NrZWRDaHVuayA9IHByZXZpb3VzQmxvY2tlZENodW5rO1xuICAgICAgICAgICAgcHJldmlvdXNCbG9ja2VkQ2h1bmsgPSBudWxsO1xuICAgICAgICAgICAgYmxvY2tlZENodW5rLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICByZXR1cm4gY29udHJvbGxlci5jbG9zZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgaWYgKG51bGwgPT09IHByZXZpb3VzQmxvY2tlZENodW5rKSBjb250cm9sbGVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBibG9ja2VkQ2h1bmsgPSBwcmV2aW91c0Jsb2NrZWRDaHVuaztcbiAgICAgICAgICAgIHByZXZpb3VzQmxvY2tlZENodW5rID0gbnVsbDtcbiAgICAgICAgICAgIGJsb2NrZWRDaHVuay50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gYXN5bmNJdGVyYXRvcigpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVJdGVyYXRvcihuZXh0KSB7XG4gICAgICBuZXh0ID0geyBuZXh0OiBuZXh0IH07XG4gICAgICBuZXh0W0FTWU5DX0lURVJBVE9SXSA9IGFzeW5jSXRlcmF0b3I7XG4gICAgICByZXR1cm4gbmV4dDtcbiAgICB9XG4gICAgZnVuY3Rpb24gc3RhcnRBc3luY0l0ZXJhYmxlKHJlc3BvbnNlLCBpZCwgaXRlcmF0b3IpIHtcbiAgICAgIHZhciBidWZmZXIgPSBbXSxcbiAgICAgICAgY2xvc2VkID0gITEsXG4gICAgICAgIG5leHRXcml0ZUluZGV4ID0gMCxcbiAgICAgICAgaXRlcmFibGUgPSBfZGVmaW5lUHJvcGVydHkoe30sIEFTWU5DX0lURVJBVE9SLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdmFyIG5leHRSZWFkSW5kZXggPSAwO1xuICAgICAgICAgIHJldHVybiBjcmVhdGVJdGVyYXRvcihmdW5jdGlvbiAoYXJnKSB7XG4gICAgICAgICAgICBpZiAodm9pZCAwICE9PSBhcmcpXG4gICAgICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgICAgIFwiVmFsdWVzIGNhbm5vdCBiZSBwYXNzZWQgdG8gbmV4dCgpIG9mIEFzeW5jSXRlcmFibGVzIHBhc3NlZCB0byBDbGllbnQgQ29tcG9uZW50cy5cIlxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKG5leHRSZWFkSW5kZXggPT09IGJ1ZmZlci5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgaWYgKGNsb3NlZClcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFJlYWN0UHJvbWlzZShcbiAgICAgICAgICAgICAgICAgIFwiZnVsZmlsbGVkXCIsXG4gICAgICAgICAgICAgICAgICB7IGRvbmU6ICEwLCB2YWx1ZTogdm9pZCAwIH0sXG4gICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICAgcmVzcG9uc2VcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBidWZmZXJbbmV4dFJlYWRJbmRleF0gPSBjcmVhdGVQZW5kaW5nQ2h1bmsocmVzcG9uc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGJ1ZmZlcltuZXh0UmVhZEluZGV4KytdO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIHJlc29sdmVTdHJlYW0oXG4gICAgICAgIHJlc3BvbnNlLFxuICAgICAgICBpZCxcbiAgICAgICAgaXRlcmF0b3IgPyBpdGVyYWJsZVtBU1lOQ19JVEVSQVRPUl0oKSA6IGl0ZXJhYmxlLFxuICAgICAgICB7XG4gICAgICAgICAgZW5xdWV1ZVZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChuZXh0V3JpdGVJbmRleCA9PT0gYnVmZmVyLmxlbmd0aClcbiAgICAgICAgICAgICAgYnVmZmVyW25leHRXcml0ZUluZGV4XSA9IG5ldyBSZWFjdFByb21pc2UoXG4gICAgICAgICAgICAgICAgXCJmdWxmaWxsZWRcIixcbiAgICAgICAgICAgICAgICB7IGRvbmU6ICExLCB2YWx1ZTogdmFsdWUgfSxcbiAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgdmFyIGNodW5rID0gYnVmZmVyW25leHRXcml0ZUluZGV4XSxcbiAgICAgICAgICAgICAgICByZXNvbHZlTGlzdGVuZXJzID0gY2h1bmsudmFsdWUsXG4gICAgICAgICAgICAgICAgcmVqZWN0TGlzdGVuZXJzID0gY2h1bmsucmVhc29uO1xuICAgICAgICAgICAgICBjaHVuay5zdGF0dXMgPSBcImZ1bGZpbGxlZFwiO1xuICAgICAgICAgICAgICBjaHVuay52YWx1ZSA9IHsgZG9uZTogITEsIHZhbHVlOiB2YWx1ZSB9O1xuICAgICAgICAgICAgICBudWxsICE9PSByZXNvbHZlTGlzdGVuZXJzICYmXG4gICAgICAgICAgICAgICAgd2FrZUNodW5rSWZJbml0aWFsaXplZChcbiAgICAgICAgICAgICAgICAgIGNodW5rLFxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZUxpc3RlbmVycyxcbiAgICAgICAgICAgICAgICAgIHJlamVjdExpc3RlbmVyc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0V3JpdGVJbmRleCsrO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZW5xdWV1ZU1vZGVsOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIG5leHRXcml0ZUluZGV4ID09PSBidWZmZXIubGVuZ3RoXG4gICAgICAgICAgICAgID8gKGJ1ZmZlcltuZXh0V3JpdGVJbmRleF0gPSBjcmVhdGVSZXNvbHZlZEl0ZXJhdG9yUmVzdWx0Q2h1bmsoXG4gICAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgITFcbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICA6IHJlc29sdmVJdGVyYXRvclJlc3VsdENodW5rKGJ1ZmZlcltuZXh0V3JpdGVJbmRleF0sIHZhbHVlLCAhMSk7XG4gICAgICAgICAgICBuZXh0V3JpdGVJbmRleCsrO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgY2xvc2U6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgY2xvc2VkID0gITA7XG4gICAgICAgICAgICBuZXh0V3JpdGVJbmRleCA9PT0gYnVmZmVyLmxlbmd0aFxuICAgICAgICAgICAgICA/IChidWZmZXJbbmV4dFdyaXRlSW5kZXhdID0gY3JlYXRlUmVzb2x2ZWRJdGVyYXRvclJlc3VsdENodW5rKFxuICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICEwXG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgOiByZXNvbHZlSXRlcmF0b3JSZXN1bHRDaHVuayhidWZmZXJbbmV4dFdyaXRlSW5kZXhdLCB2YWx1ZSwgITApO1xuICAgICAgICAgICAgZm9yIChuZXh0V3JpdGVJbmRleCsrOyBuZXh0V3JpdGVJbmRleCA8IGJ1ZmZlci5sZW5ndGg7IClcbiAgICAgICAgICAgICAgcmVzb2x2ZUl0ZXJhdG9yUmVzdWx0Q2h1bmsoXG4gICAgICAgICAgICAgICAgYnVmZmVyW25leHRXcml0ZUluZGV4KytdLFxuICAgICAgICAgICAgICAgICdcIiR1bmRlZmluZWRcIicsXG4gICAgICAgICAgICAgICAgITBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNsb3NlZCA9ICEwO1xuICAgICAgICAgICAgZm9yIChcbiAgICAgICAgICAgICAgbmV4dFdyaXRlSW5kZXggPT09IGJ1ZmZlci5sZW5ndGggJiZcbiAgICAgICAgICAgICAgKGJ1ZmZlcltuZXh0V3JpdGVJbmRleF0gPSBjcmVhdGVQZW5kaW5nQ2h1bmsocmVzcG9uc2UpKTtcbiAgICAgICAgICAgICAgbmV4dFdyaXRlSW5kZXggPCBidWZmZXIubGVuZ3RoO1xuXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgIHRyaWdnZXJFcnJvck9uQ2h1bmsoYnVmZmVyW25leHRXcml0ZUluZGV4KytdLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgICBmdW5jdGlvbiBzdG9wU3RyZWFtKHJlc3BvbnNlLCBpZCwgcm93KSB7XG4gICAgICAocmVzcG9uc2UgPSByZXNwb25zZS5fY2h1bmtzLmdldChpZCkpICYmXG4gICAgICAgIFwiZnVsZmlsbGVkXCIgPT09IHJlc3BvbnNlLnN0YXR1cyAmJlxuICAgICAgICByZXNwb25zZS5yZWFzb24uY2xvc2UoXCJcIiA9PT0gcm93ID8gJ1wiJHVuZGVmaW5lZFwiJyA6IHJvdyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVFcnJvckRldihyZXNwb25zZSwgZXJyb3JJbmZvKSB7XG4gICAgICB2YXIgZW52ID0gZXJyb3JJbmZvLmVudjtcbiAgICAgIGVycm9ySW5mbyA9IGJ1aWxkRmFrZUNhbGxTdGFjayhcbiAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgIGVycm9ySW5mby5zdGFjayxcbiAgICAgICAgZW52LFxuICAgICAgICBFcnJvci5iaW5kKFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgZXJyb3JJbmZvLm1lc3NhZ2UgfHxcbiAgICAgICAgICAgIFwiQW4gZXJyb3Igb2NjdXJyZWQgaW4gdGhlIFNlcnZlciBDb21wb25lbnRzIHJlbmRlciBidXQgbm8gbWVzc2FnZSB3YXMgcHJvdmlkZWRcIlxuICAgICAgICApXG4gICAgICApO1xuICAgICAgcmVzcG9uc2UgPSBnZXRSb290VGFzayhyZXNwb25zZSwgZW52KTtcbiAgICAgIHJlc3BvbnNlID0gbnVsbCAhPSByZXNwb25zZSA/IHJlc3BvbnNlLnJ1bihlcnJvckluZm8pIDogZXJyb3JJbmZvKCk7XG4gICAgICByZXNwb25zZS5lbnZpcm9ubWVudE5hbWUgPSBlbnY7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVIaW50KHJlc3BvbnNlLCBjb2RlLCBtb2RlbCkge1xuICAgICAgcmVzcG9uc2UgPSBKU09OLnBhcnNlKG1vZGVsLCByZXNwb25zZS5fZnJvbUpTT04pO1xuICAgICAgbW9kZWwgPSBSZWFjdERPTVNoYXJlZEludGVybmFscy5kO1xuICAgICAgc3dpdGNoIChjb2RlKSB7XG4gICAgICAgIGNhc2UgXCJEXCI6XG4gICAgICAgICAgbW9kZWwuRChyZXNwb25zZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJDXCI6XG4gICAgICAgICAgXCJzdHJpbmdcIiA9PT0gdHlwZW9mIHJlc3BvbnNlXG4gICAgICAgICAgICA/IG1vZGVsLkMocmVzcG9uc2UpXG4gICAgICAgICAgICA6IG1vZGVsLkMocmVzcG9uc2VbMF0sIHJlc3BvbnNlWzFdKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIkxcIjpcbiAgICAgICAgICBjb2RlID0gcmVzcG9uc2VbMF07XG4gICAgICAgICAgdmFyIGFzID0gcmVzcG9uc2VbMV07XG4gICAgICAgICAgMyA9PT0gcmVzcG9uc2UubGVuZ3RoXG4gICAgICAgICAgICA/IG1vZGVsLkwoY29kZSwgYXMsIHJlc3BvbnNlWzJdKVxuICAgICAgICAgICAgOiBtb2RlbC5MKGNvZGUsIGFzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIm1cIjpcbiAgICAgICAgICBcInN0cmluZ1wiID09PSB0eXBlb2YgcmVzcG9uc2VcbiAgICAgICAgICAgID8gbW9kZWwubShyZXNwb25zZSlcbiAgICAgICAgICAgIDogbW9kZWwubShyZXNwb25zZVswXSwgcmVzcG9uc2VbMV0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiWFwiOlxuICAgICAgICAgIFwic3RyaW5nXCIgPT09IHR5cGVvZiByZXNwb25zZVxuICAgICAgICAgICAgPyBtb2RlbC5YKHJlc3BvbnNlKVxuICAgICAgICAgICAgOiBtb2RlbC5YKHJlc3BvbnNlWzBdLCByZXNwb25zZVsxXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgICAgXCJzdHJpbmdcIiA9PT0gdHlwZW9mIHJlc3BvbnNlXG4gICAgICAgICAgICA/IG1vZGVsLlMocmVzcG9uc2UpXG4gICAgICAgICAgICA6IG1vZGVsLlMoXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VbMF0sXG4gICAgICAgICAgICAgICAgMCA9PT0gcmVzcG9uc2VbMV0gPyB2b2lkIDAgOiByZXNwb25zZVsxXSxcbiAgICAgICAgICAgICAgICAzID09PSByZXNwb25zZS5sZW5ndGggPyByZXNwb25zZVsyXSA6IHZvaWQgMFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiTVwiOlxuICAgICAgICAgIFwic3RyaW5nXCIgPT09IHR5cGVvZiByZXNwb25zZVxuICAgICAgICAgICAgPyBtb2RlbC5NKHJlc3BvbnNlKVxuICAgICAgICAgICAgOiBtb2RlbC5NKHJlc3BvbnNlWzBdLCByZXNwb25zZVsxXSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUZha2VGdW5jdGlvbihcbiAgICAgIG5hbWUsXG4gICAgICBmaWxlbmFtZSxcbiAgICAgIHNvdXJjZU1hcCxcbiAgICAgIGxpbmUsXG4gICAgICBjb2wsXG4gICAgICBlbnZpcm9ubWVudE5hbWVcbiAgICApIHtcbiAgICAgIG5hbWUgfHwgKG5hbWUgPSBcIjxhbm9ueW1vdXM+XCIpO1xuICAgICAgdmFyIGVuY29kZWROYW1lID0gSlNPTi5zdHJpbmdpZnkobmFtZSk7XG4gICAgICAxID49IGxpbmVcbiAgICAgICAgPyAoKGxpbmUgPSBlbmNvZGVkTmFtZS5sZW5ndGggKyA3KSxcbiAgICAgICAgICAoY29sID1cbiAgICAgICAgICAgIFwiKHtcIiArXG4gICAgICAgICAgICBlbmNvZGVkTmFtZSArXG4gICAgICAgICAgICBcIjpfPT5cIiArXG4gICAgICAgICAgICBcIiBcIi5yZXBlYXQoY29sIDwgbGluZSA/IDAgOiBjb2wgLSBsaW5lKSArXG4gICAgICAgICAgICBcIl8oKX0pXFxuLyogVGhpcyBtb2R1bGUgd2FzIHJlbmRlcmVkIGJ5IGEgU2VydmVyIENvbXBvbmVudC4gVHVybiBvbiBTb3VyY2UgTWFwcyB0byBzZWUgdGhlIHNlcnZlciBzb3VyY2UuICovXCIpKVxuICAgICAgICA6IChjb2wgPVxuICAgICAgICAgICAgXCIvKiBUaGlzIG1vZHVsZSB3YXMgcmVuZGVyZWQgYnkgYSBTZXJ2ZXIgQ29tcG9uZW50LiBUdXJuIG9uIFNvdXJjZSBNYXBzIHRvIHNlZSB0aGUgc2VydmVyIHNvdXJjZS4gKi9cIiArXG4gICAgICAgICAgICBcIlxcblwiLnJlcGVhdChsaW5lIC0gMikgK1xuICAgICAgICAgICAgXCIoe1wiICtcbiAgICAgICAgICAgIGVuY29kZWROYW1lICtcbiAgICAgICAgICAgIFwiOl89PlxcblwiICtcbiAgICAgICAgICAgIFwiIFwiLnJlcGVhdCgxID4gY29sID8gMCA6IGNvbCAtIDEpICtcbiAgICAgICAgICAgIFwiXygpfSlcIik7XG4gICAgICBmaWxlbmFtZS5zdGFydHNXaXRoKFwiL1wiKSAmJiAoZmlsZW5hbWUgPSBcImZpbGU6Ly9cIiArIGZpbGVuYW1lKTtcbiAgICAgIHNvdXJjZU1hcFxuICAgICAgICA/ICgoY29sICs9XG4gICAgICAgICAgICBcIlxcbi8vIyBzb3VyY2VVUkw9cnNjOi8vUmVhY3QvXCIgK1xuICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KGVudmlyb25tZW50TmFtZSkgK1xuICAgICAgICAgICAgXCIvXCIgK1xuICAgICAgICAgICAgZW5jb2RlVVJJKGZpbGVuYW1lKSArXG4gICAgICAgICAgICBcIj9cIiArXG4gICAgICAgICAgICBmYWtlRnVuY3Rpb25JZHgrKyksXG4gICAgICAgICAgKGNvbCArPSBcIlxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVwiICsgc291cmNlTWFwKSlcbiAgICAgICAgOiAoY29sID0gZmlsZW5hbWVcbiAgICAgICAgICAgID8gY29sICsgKFwiXFxuLy8jIHNvdXJjZVVSTD1cIiArIGVuY29kZVVSSShmaWxlbmFtZSkpXG4gICAgICAgICAgICA6IGNvbCArIFwiXFxuLy8jIHNvdXJjZVVSTD08YW5vbnltb3VzPlwiKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHZhciBmbiA9ICgwLCBldmFsKShjb2wpW25hbWVdO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBmbiA9IGZ1bmN0aW9uIChfKSB7XG4gICAgICAgICAgcmV0dXJuIF8oKTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmbjtcbiAgICB9XG4gICAgZnVuY3Rpb24gYnVpbGRGYWtlQ2FsbFN0YWNrKHJlc3BvbnNlLCBzdGFjaywgZW52aXJvbm1lbnROYW1lLCBpbm5lckNhbGwpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhY2subGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGZyYW1lID0gc3RhY2tbaV0sXG4gICAgICAgICAgZnJhbWVLZXkgPSBmcmFtZS5qb2luKFwiLVwiKSArIFwiLVwiICsgZW52aXJvbm1lbnROYW1lLFxuICAgICAgICAgIGZuID0gZmFrZUZ1bmN0aW9uQ2FjaGUuZ2V0KGZyYW1lS2V5KTtcbiAgICAgICAgaWYgKHZvaWQgMCA9PT0gZm4pIHtcbiAgICAgICAgICBmbiA9IGZyYW1lWzBdO1xuICAgICAgICAgIHZhciBmaWxlbmFtZSA9IGZyYW1lWzFdLFxuICAgICAgICAgICAgbGluZSA9IGZyYW1lWzJdO1xuICAgICAgICAgIGZyYW1lID0gZnJhbWVbM107XG4gICAgICAgICAgdmFyIGZpbmRTb3VyY2VNYXBVUkwgPSByZXNwb25zZS5fZGVidWdGaW5kU291cmNlTWFwVVJMO1xuICAgICAgICAgIGZpbmRTb3VyY2VNYXBVUkwgPSBmaW5kU291cmNlTWFwVVJMXG4gICAgICAgICAgICA/IGZpbmRTb3VyY2VNYXBVUkwoZmlsZW5hbWUsIGVudmlyb25tZW50TmFtZSlcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgICBmbiA9IGNyZWF0ZUZha2VGdW5jdGlvbihcbiAgICAgICAgICAgIGZuLFxuICAgICAgICAgICAgZmlsZW5hbWUsXG4gICAgICAgICAgICBmaW5kU291cmNlTWFwVVJMLFxuICAgICAgICAgICAgbGluZSxcbiAgICAgICAgICAgIGZyYW1lLFxuICAgICAgICAgICAgZW52aXJvbm1lbnROYW1lXG4gICAgICAgICAgKTtcbiAgICAgICAgICBmYWtlRnVuY3Rpb25DYWNoZS5zZXQoZnJhbWVLZXksIGZuKTtcbiAgICAgICAgfVxuICAgICAgICBpbm5lckNhbGwgPSBmbi5iaW5kKG51bGwsIGlubmVyQ2FsbCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaW5uZXJDYWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRSb290VGFzayhyZXNwb25zZSwgY2hpbGRFbnZpcm9ubWVudE5hbWUpIHtcbiAgICAgIHZhciByb290VGFzayA9IHJlc3BvbnNlLl9kZWJ1Z1Jvb3RUYXNrO1xuICAgICAgcmV0dXJuIHJvb3RUYXNrXG4gICAgICAgID8gcmVzcG9uc2UuX3Jvb3RFbnZpcm9ubWVudE5hbWUgIT09IGNoaWxkRW52aXJvbm1lbnROYW1lXG4gICAgICAgICAgPyAoKHJlc3BvbnNlID0gY29uc29sZS5jcmVhdGVUYXNrLmJpbmQoXG4gICAgICAgICAgICAgIGNvbnNvbGUsXG4gICAgICAgICAgICAgICdcInVzZSAnICsgY2hpbGRFbnZpcm9ubWVudE5hbWUudG9Mb3dlckNhc2UoKSArICdcIidcbiAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgcm9vdFRhc2sucnVuKHJlc3BvbnNlKSlcbiAgICAgICAgICA6IHJvb3RUYXNrXG4gICAgICAgIDogbnVsbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gZmFrZUpTWENhbGxTaXRlKCkge1xuICAgICAgcmV0dXJuIEVycm9yKFwicmVhY3Qtc3RhY2stdG9wLWZyYW1lXCIpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpbml0aWFsaXplRmFrZVN0YWNrKHJlc3BvbnNlLCBkZWJ1Z0luZm8pIHtcbiAgICAgIHZvaWQgMCA9PT0gZGVidWdJbmZvLmRlYnVnU3RhY2sgJiZcbiAgICAgICAgKG51bGwgIT0gZGVidWdJbmZvLnN0YWNrICYmXG4gICAgICAgICAgKGRlYnVnSW5mby5kZWJ1Z1N0YWNrID0gY3JlYXRlRmFrZUpTWENhbGxTdGFja0luREVWKFxuICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICBkZWJ1Z0luZm8uc3RhY2ssXG4gICAgICAgICAgICBudWxsID09IGRlYnVnSW5mby5lbnYgPyBcIlwiIDogZGVidWdJbmZvLmVudlxuICAgICAgICAgICkpLFxuICAgICAgICBudWxsICE9IGRlYnVnSW5mby5vd25lciAmJlxuICAgICAgICAgIGluaXRpYWxpemVGYWtlU3RhY2socmVzcG9uc2UsIGRlYnVnSW5mby5vd25lcikpO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZXNvbHZlRGVidWdJbmZvKHJlc3BvbnNlLCBpZCwgZGVidWdJbmZvKSB7XG4gICAgICBudWxsID09PSBkZWJ1Z0luZm8ub3duZXIgJiYgbnVsbCAhPSByZXNwb25zZS5fZGVidWdSb290T3duZXJcbiAgICAgICAgPyAoKGRlYnVnSW5mby5vd25lciA9IHJlc3BvbnNlLl9kZWJ1Z1Jvb3RPd25lciksXG4gICAgICAgICAgKGRlYnVnSW5mby5kZWJ1Z1N0YWNrID0gcmVzcG9uc2UuX2RlYnVnUm9vdFN0YWNrKSlcbiAgICAgICAgOiBpbml0aWFsaXplRmFrZVN0YWNrKHJlc3BvbnNlLCBkZWJ1Z0luZm8pO1xuICAgICAgcmVzcG9uc2UgPSBnZXRDaHVuayhyZXNwb25zZSwgaWQpO1xuICAgICAgKHJlc3BvbnNlLl9kZWJ1Z0luZm8gfHwgKHJlc3BvbnNlLl9kZWJ1Z0luZm8gPSBbXSkpLnB1c2goZGVidWdJbmZvKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0Q3VycmVudFN0YWNrSW5ERVYoKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgZnVuY3Rpb24gcmVzb2x2ZUNvbnNvbGVFbnRyeShyZXNwb25zZSwgdmFsdWUpIHtcbiAgICAgIGlmIChyZXNwb25zZS5fcmVwbGF5Q29uc29sZSkge1xuICAgICAgICB2YXIgcGF5bG9hZCA9IEpTT04ucGFyc2UodmFsdWUsIHJlc3BvbnNlLl9mcm9tSlNPTik7XG4gICAgICAgIHZhbHVlID0gcGF5bG9hZFswXTtcbiAgICAgICAgdmFyIHN0YWNrVHJhY2UgPSBwYXlsb2FkWzFdLFxuICAgICAgICAgIG93bmVyID0gcGF5bG9hZFsyXSxcbiAgICAgICAgICBlbnYgPSBwYXlsb2FkWzNdO1xuICAgICAgICBwYXlsb2FkID0gcGF5bG9hZC5zbGljZSg0KTtcbiAgICAgICAgcmVwbGF5Q29uc29sZVdpdGhDYWxsU3RhY2tJbkRFVihcbiAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBzdGFja1RyYWNlLFxuICAgICAgICAgIG93bmVyLFxuICAgICAgICAgIGVudixcbiAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1lcmdlQnVmZmVyKGJ1ZmZlciwgbGFzdENodW5rKSB7XG4gICAgICBmb3IgKFxuICAgICAgICB2YXIgbCA9IGJ1ZmZlci5sZW5ndGgsIGJ5dGVMZW5ndGggPSBsYXN0Q2h1bmsubGVuZ3RoLCBpID0gMDtcbiAgICAgICAgaSA8IGw7XG4gICAgICAgIGkrK1xuICAgICAgKVxuICAgICAgICBieXRlTGVuZ3RoICs9IGJ1ZmZlcltpXS5ieXRlTGVuZ3RoO1xuICAgICAgYnl0ZUxlbmd0aCA9IG5ldyBVaW50OEFycmF5KGJ5dGVMZW5ndGgpO1xuICAgICAgZm9yICh2YXIgX2kyID0gKGkgPSAwKTsgX2kyIDwgbDsgX2kyKyspIHtcbiAgICAgICAgdmFyIGNodW5rID0gYnVmZmVyW19pMl07XG4gICAgICAgIGJ5dGVMZW5ndGguc2V0KGNodW5rLCBpKTtcbiAgICAgICAgaSArPSBjaHVuay5ieXRlTGVuZ3RoO1xuICAgICAgfVxuICAgICAgYnl0ZUxlbmd0aC5zZXQobGFzdENodW5rLCBpKTtcbiAgICAgIHJldHVybiBieXRlTGVuZ3RoO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZXNvbHZlVHlwZWRBcnJheShcbiAgICAgIHJlc3BvbnNlLFxuICAgICAgaWQsXG4gICAgICBidWZmZXIsXG4gICAgICBsYXN0Q2h1bmssXG4gICAgICBjb25zdHJ1Y3RvcixcbiAgICAgIGJ5dGVzUGVyRWxlbWVudFxuICAgICkge1xuICAgICAgYnVmZmVyID1cbiAgICAgICAgMCA9PT0gYnVmZmVyLmxlbmd0aCAmJiAwID09PSBsYXN0Q2h1bmsuYnl0ZU9mZnNldCAlIGJ5dGVzUGVyRWxlbWVudFxuICAgICAgICAgID8gbGFzdENodW5rXG4gICAgICAgICAgOiBtZXJnZUJ1ZmZlcihidWZmZXIsIGxhc3RDaHVuayk7XG4gICAgICBjb25zdHJ1Y3RvciA9IG5ldyBjb25zdHJ1Y3RvcihcbiAgICAgICAgYnVmZmVyLmJ1ZmZlcixcbiAgICAgICAgYnVmZmVyLmJ5dGVPZmZzZXQsXG4gICAgICAgIGJ1ZmZlci5ieXRlTGVuZ3RoIC8gYnl0ZXNQZXJFbGVtZW50XG4gICAgICApO1xuICAgICAgcmVzb2x2ZUJ1ZmZlcihyZXNwb25zZSwgaWQsIGNvbnN0cnVjdG9yKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcHJvY2Vzc0Z1bGxCaW5hcnlSb3cocmVzcG9uc2UsIGlkLCB0YWcsIGJ1ZmZlciwgY2h1bmspIHtcbiAgICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICAgIGNhc2UgNjU6XG4gICAgICAgICAgcmVzb2x2ZUJ1ZmZlcihyZXNwb25zZSwgaWQsIG1lcmdlQnVmZmVyKGJ1ZmZlciwgY2h1bmspLmJ1ZmZlcik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjYXNlIDc5OlxuICAgICAgICAgIHJlc29sdmVUeXBlZEFycmF5KHJlc3BvbnNlLCBpZCwgYnVmZmVyLCBjaHVuaywgSW50OEFycmF5LCAxKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgMTExOlxuICAgICAgICAgIHJlc29sdmVCdWZmZXIoXG4gICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgMCA9PT0gYnVmZmVyLmxlbmd0aCA/IGNodW5rIDogbWVyZ2VCdWZmZXIoYnVmZmVyLCBjaHVuaylcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSA4NTpcbiAgICAgICAgICByZXNvbHZlVHlwZWRBcnJheShyZXNwb25zZSwgaWQsIGJ1ZmZlciwgY2h1bmssIFVpbnQ4Q2xhbXBlZEFycmF5LCAxKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgODM6XG4gICAgICAgICAgcmVzb2x2ZVR5cGVkQXJyYXkocmVzcG9uc2UsIGlkLCBidWZmZXIsIGNodW5rLCBJbnQxNkFycmF5LCAyKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgMTE1OlxuICAgICAgICAgIHJlc29sdmVUeXBlZEFycmF5KHJlc3BvbnNlLCBpZCwgYnVmZmVyLCBjaHVuaywgVWludDE2QXJyYXksIDIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSA3NjpcbiAgICAgICAgICByZXNvbHZlVHlwZWRBcnJheShyZXNwb25zZSwgaWQsIGJ1ZmZlciwgY2h1bmssIEludDMyQXJyYXksIDQpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSAxMDg6XG4gICAgICAgICAgcmVzb2x2ZVR5cGVkQXJyYXkocmVzcG9uc2UsIGlkLCBidWZmZXIsIGNodW5rLCBVaW50MzJBcnJheSwgNCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjYXNlIDcxOlxuICAgICAgICAgIHJlc29sdmVUeXBlZEFycmF5KHJlc3BvbnNlLCBpZCwgYnVmZmVyLCBjaHVuaywgRmxvYXQzMkFycmF5LCA0KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgMTAzOlxuICAgICAgICAgIHJlc29sdmVUeXBlZEFycmF5KHJlc3BvbnNlLCBpZCwgYnVmZmVyLCBjaHVuaywgRmxvYXQ2NEFycmF5LCA4KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgNzc6XG4gICAgICAgICAgcmVzb2x2ZVR5cGVkQXJyYXkocmVzcG9uc2UsIGlkLCBidWZmZXIsIGNodW5rLCBCaWdJbnQ2NEFycmF5LCA4KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgMTA5OlxuICAgICAgICAgIHJlc29sdmVUeXBlZEFycmF5KHJlc3BvbnNlLCBpZCwgYnVmZmVyLCBjaHVuaywgQmlnVWludDY0QXJyYXksIDgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSA4NjpcbiAgICAgICAgICByZXNvbHZlVHlwZWRBcnJheShyZXNwb25zZSwgaWQsIGJ1ZmZlciwgY2h1bmssIERhdGFWaWV3LCAxKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBmb3IgKFxuICAgICAgICB2YXIgc3RyaW5nRGVjb2RlciA9IHJlc3BvbnNlLl9zdHJpbmdEZWNvZGVyLCByb3cgPSBcIlwiLCBpID0gMDtcbiAgICAgICAgaSA8IGJ1ZmZlci5sZW5ndGg7XG4gICAgICAgIGkrK1xuICAgICAgKVxuICAgICAgICByb3cgKz0gc3RyaW5nRGVjb2Rlci5kZWNvZGUoYnVmZmVyW2ldLCBkZWNvZGVyT3B0aW9ucyk7XG4gICAgICByb3cgKz0gc3RyaW5nRGVjb2Rlci5kZWNvZGUoY2h1bmspO1xuICAgICAgcHJvY2Vzc0Z1bGxTdHJpbmdSb3cocmVzcG9uc2UsIGlkLCB0YWcsIHJvdyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHByb2Nlc3NGdWxsU3RyaW5nUm93KHJlc3BvbnNlLCBpZCwgdGFnLCByb3cpIHtcbiAgICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICAgIGNhc2UgNzM6XG4gICAgICAgICAgcmVzb2x2ZU1vZHVsZShyZXNwb25zZSwgaWQsIHJvdyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNzI6XG4gICAgICAgICAgcmVzb2x2ZUhpbnQocmVzcG9uc2UsIHJvd1swXSwgcm93LnNsaWNlKDEpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA2OTpcbiAgICAgICAgICByb3cgPSBKU09OLnBhcnNlKHJvdyk7XG4gICAgICAgICAgdGFnID0gcmVzb2x2ZUVycm9yRGV2KHJlc3BvbnNlLCByb3cpO1xuICAgICAgICAgIHRhZy5kaWdlc3QgPSByb3cuZGlnZXN0O1xuICAgICAgICAgIHJvdyA9IHJlc3BvbnNlLl9jaHVua3M7XG4gICAgICAgICAgdmFyIGNodW5rID0gcm93LmdldChpZCk7XG4gICAgICAgICAgY2h1bmtcbiAgICAgICAgICAgID8gdHJpZ2dlckVycm9yT25DaHVuayhjaHVuaywgdGFnKVxuICAgICAgICAgICAgOiByb3cuc2V0KGlkLCBuZXcgUmVhY3RQcm9taXNlKFwicmVqZWN0ZWRcIiwgbnVsbCwgdGFnLCByZXNwb25zZSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDg0OlxuICAgICAgICAgIHJlc29sdmVUZXh0KHJlc3BvbnNlLCBpZCwgcm93KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA2ODpcbiAgICAgICAgICB0YWcgPSBuZXcgUmVhY3RQcm9taXNlKFwicmVzb2x2ZWRfbW9kZWxcIiwgcm93LCBudWxsLCByZXNwb25zZSk7XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZGVsQ2h1bmsodGFnKTtcbiAgICAgICAgICBcImZ1bGZpbGxlZFwiID09PSB0YWcuc3RhdHVzXG4gICAgICAgICAgICA/IHJlc29sdmVEZWJ1Z0luZm8ocmVzcG9uc2UsIGlkLCB0YWcudmFsdWUpXG4gICAgICAgICAgICA6IHRhZy50aGVuKFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uICh2KSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZURlYnVnSW5mbyhyZXNwb25zZSwgaWQsIHYpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkge31cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA4NzpcbiAgICAgICAgICByZXNvbHZlQ29uc29sZUVudHJ5KHJlc3BvbnNlLCByb3cpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDgyOlxuICAgICAgICAgIHN0YXJ0UmVhZGFibGVTdHJlYW0ocmVzcG9uc2UsIGlkLCB2b2lkIDApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDExNDpcbiAgICAgICAgICBzdGFydFJlYWRhYmxlU3RyZWFtKHJlc3BvbnNlLCBpZCwgXCJieXRlc1wiKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA4ODpcbiAgICAgICAgICBzdGFydEFzeW5jSXRlcmFibGUocmVzcG9uc2UsIGlkLCAhMSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMTIwOlxuICAgICAgICAgIHN0YXJ0QXN5bmNJdGVyYWJsZShyZXNwb25zZSwgaWQsICEwKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA2NzpcbiAgICAgICAgICBzdG9wU3RyZWFtKHJlc3BvbnNlLCBpZCwgcm93KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXNvbHZlTW9kZWwocmVzcG9uc2UsIGlkLCByb3cpO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVGcm9tSlNPTkNhbGxiYWNrKHJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgICAgICAgaWYgKFwic3RyaW5nXCIgPT09IHR5cGVvZiB2YWx1ZSlcbiAgICAgICAgICByZXR1cm4gcGFyc2VNb2RlbFN0cmluZyhyZXNwb25zZSwgdGhpcywga2V5LCB2YWx1ZSk7XG4gICAgICAgIGlmIChcIm9iamVjdFwiID09PSB0eXBlb2YgdmFsdWUgJiYgbnVsbCAhPT0gdmFsdWUpIHtcbiAgICAgICAgICBpZiAodmFsdWVbMF0gPT09IFJFQUNUX0VMRU1FTlRfVFlQRSlcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgKChrZXkgPSB2YWx1ZVs0XSksXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAkJHR5cGVvZjogUkVBQ1RfRUxFTUVOVF9UWVBFLFxuICAgICAgICAgICAgICAgIHR5cGU6IHZhbHVlWzFdLFxuICAgICAgICAgICAgICAgIGtleTogdmFsdWVbMl0sXG4gICAgICAgICAgICAgICAgcHJvcHM6IHZhbHVlWzNdLFxuICAgICAgICAgICAgICAgIF9vd25lcjogbnVsbCA9PT0ga2V5ID8gcmVzcG9uc2UuX2RlYnVnUm9vdE93bmVyIDoga2V5XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsdWUsIFwicmVmXCIsIHtcbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAhMSxcbiAgICAgICAgICAgICAgICBnZXQ6IG51bGxSZWZHZXR0ZXJcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICh2YWx1ZS5fc3RvcmUgPSB7fSksXG4gICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWx1ZS5fc3RvcmUsIFwidmFsaWRhdGVkXCIsIHtcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICExLFxuICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICExLFxuICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAhMCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogMVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZhbHVlLCBcIl9kZWJ1Z0luZm9cIiwge1xuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogITEsXG4gICAgICAgICAgICAgICAgZW51bWVyYWJsZTogITEsXG4gICAgICAgICAgICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBudWxsICE9PSBpbml0aWFsaXppbmdIYW5kbGVyKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gaW5pdGlhbGl6aW5nSGFuZGxlcjtcbiAgICAgICAgICAgICAgaW5pdGlhbGl6aW5nSGFuZGxlciA9IGhhbmRsZXIucGFyZW50O1xuICAgICAgICAgICAgICBoYW5kbGVyLmVycm9yZWRcbiAgICAgICAgICAgICAgICA/ICgoa2V5ID0gbmV3IFJlYWN0UHJvbWlzZShcbiAgICAgICAgICAgICAgICAgICAgXCJyZWplY3RlZFwiLFxuICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVyLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVxuICAgICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAgICAgICAodmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh2YWx1ZS50eXBlKSB8fCBcIlwiLFxuICAgICAgICAgICAgICAgICAgICBvd25lcjogdmFsdWUuX293bmVyXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIChrZXkuX2RlYnVnSW5mbyA9IFt2YWx1ZV0pLFxuICAgICAgICAgICAgICAgICAgKHZhbHVlID0gY3JlYXRlTGF6eUNodW5rV3JhcHBlcihrZXkpKSlcbiAgICAgICAgICAgICAgICA6IDAgPCBoYW5kbGVyLmRlcHMgJiZcbiAgICAgICAgICAgICAgICAgICgoa2V5ID0gbmV3IFJlYWN0UHJvbWlzZShcImJsb2NrZWRcIiwgbnVsbCwgbnVsbCwgcmVzcG9uc2UpKSxcbiAgICAgICAgICAgICAgICAgIChoYW5kbGVyLnZhbHVlID0gdmFsdWUpLFxuICAgICAgICAgICAgICAgICAgKGhhbmRsZXIuY2h1bmsgPSBrZXkpLFxuICAgICAgICAgICAgICAgICAgKHZhbHVlID0gT2JqZWN0LmZyZWV6ZS5iaW5kKE9iamVjdCwgdmFsdWUucHJvcHMpKSxcbiAgICAgICAgICAgICAgICAgIGtleS50aGVuKHZhbHVlLCB2YWx1ZSksXG4gICAgICAgICAgICAgICAgICAodmFsdWUgPSBjcmVhdGVMYXp5Q2h1bmtXcmFwcGVyKGtleSkpKTtcbiAgICAgICAgICAgIH0gZWxzZSBPYmplY3QuZnJlZXplKHZhbHVlLnByb3BzKTtcbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gbm9TZXJ2ZXJDYWxsKCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgIFwiU2VydmVyIEZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGR1cmluZyBpbml0aWFsIHJlbmRlci4gVGhpcyB3b3VsZCBjcmVhdGUgYSBmZXRjaCB3YXRlcmZhbGwuIFRyeSB0byB1c2UgYSBTZXJ2ZXIgQ29tcG9uZW50IHRvIHBhc3MgZGF0YSB0byBDbGllbnQgQ29tcG9uZW50cyBpbnN0ZWFkLlwiXG4gICAgICApO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVSZXNwb25zZUZyb21PcHRpb25zKG9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBuZXcgUmVzcG9uc2VJbnN0YW5jZShcbiAgICAgICAgb3B0aW9ucy5zZXJ2ZXJDb25zdW1lck1hbmlmZXN0Lm1vZHVsZU1hcCxcbiAgICAgICAgb3B0aW9ucy5zZXJ2ZXJDb25zdW1lck1hbmlmZXN0LnNlcnZlck1vZHVsZU1hcCxcbiAgICAgICAgb3B0aW9ucy5zZXJ2ZXJDb25zdW1lck1hbmlmZXN0Lm1vZHVsZUxvYWRpbmcsXG4gICAgICAgIG5vU2VydmVyQ2FsbCxcbiAgICAgICAgb3B0aW9ucy5lbmNvZGVGb3JtQWN0aW9uLFxuICAgICAgICBcInN0cmluZ1wiID09PSB0eXBlb2Ygb3B0aW9ucy5ub25jZSA/IG9wdGlvbnMubm9uY2UgOiB2b2lkIDAsXG4gICAgICAgIG9wdGlvbnMgJiYgb3B0aW9ucy50ZW1wb3JhcnlSZWZlcmVuY2VzXG4gICAgICAgICAgPyBvcHRpb25zLnRlbXBvcmFyeVJlZmVyZW5jZXNcbiAgICAgICAgICA6IHZvaWQgMCxcbiAgICAgICAgb3B0aW9ucyAmJiBvcHRpb25zLmZpbmRTb3VyY2VNYXBVUkwgPyBvcHRpb25zLmZpbmRTb3VyY2VNYXBVUkwgOiB2b2lkIDAsXG4gICAgICAgIG9wdGlvbnMgPyAhMCA9PT0gb3B0aW9ucy5yZXBsYXlDb25zb2xlTG9ncyA6ICExLFxuICAgICAgICBvcHRpb25zICYmIG9wdGlvbnMuZW52aXJvbm1lbnROYW1lID8gb3B0aW9ucy5lbnZpcm9ubWVudE5hbWUgOiB2b2lkIDBcbiAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHN0YXJ0UmVhZGluZ0Zyb21TdHJlYW0ocmVzcG9uc2UsIHN0cmVhbSkge1xuICAgICAgZnVuY3Rpb24gcHJvZ3Jlc3MoX3JlZikge1xuICAgICAgICB2YXIgdmFsdWUgPSBfcmVmLnZhbHVlO1xuICAgICAgICBpZiAoX3JlZi5kb25lKSByZXBvcnRHbG9iYWxFcnJvcihyZXNwb25zZSwgRXJyb3IoXCJDb25uZWN0aW9uIGNsb3NlZC5cIikpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB2YXIgaSA9IDAsXG4gICAgICAgICAgICByb3dTdGF0ZSA9IHJlc3BvbnNlLl9yb3dTdGF0ZTtcbiAgICAgICAgICBfcmVmID0gcmVzcG9uc2UuX3Jvd0lEO1xuICAgICAgICAgIGZvciAoXG4gICAgICAgICAgICB2YXIgcm93VGFnID0gcmVzcG9uc2UuX3Jvd1RhZyxcbiAgICAgICAgICAgICAgcm93TGVuZ3RoID0gcmVzcG9uc2UuX3Jvd0xlbmd0aCxcbiAgICAgICAgICAgICAgYnVmZmVyID0gcmVzcG9uc2UuX2J1ZmZlcixcbiAgICAgICAgICAgICAgY2h1bmtMZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gICAgICAgICAgICBpIDwgY2h1bmtMZW5ndGg7XG5cbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHZhciBsYXN0SWR4ID0gLTE7XG4gICAgICAgICAgICBzd2l0Y2ggKHJvd1N0YXRlKSB7XG4gICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICBsYXN0SWR4ID0gdmFsdWVbaSsrXTtcbiAgICAgICAgICAgICAgICA1OCA9PT0gbGFzdElkeFxuICAgICAgICAgICAgICAgICAgPyAocm93U3RhdGUgPSAxKVxuICAgICAgICAgICAgICAgICAgOiAoX3JlZiA9XG4gICAgICAgICAgICAgICAgICAgICAgKF9yZWYgPDwgNCkgfFxuICAgICAgICAgICAgICAgICAgICAgICg5NiA8IGxhc3RJZHggPyBsYXN0SWR4IC0gODcgOiBsYXN0SWR4IC0gNDgpKTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIHJvd1N0YXRlID0gdmFsdWVbaV07XG4gICAgICAgICAgICAgICAgODQgPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgNjUgPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgNzkgPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgMTExID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgIDg1ID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgIDgzID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgIDExNSA9PT0gcm93U3RhdGUgfHxcbiAgICAgICAgICAgICAgICA3NiA9PT0gcm93U3RhdGUgfHxcbiAgICAgICAgICAgICAgICAxMDggPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgNzEgPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgMTAzID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgIDc3ID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgIDEwOSA9PT0gcm93U3RhdGUgfHxcbiAgICAgICAgICAgICAgICA4NiA9PT0gcm93U3RhdGVcbiAgICAgICAgICAgICAgICAgID8gKChyb3dUYWcgPSByb3dTdGF0ZSksIChyb3dTdGF0ZSA9IDIpLCBpKyspXG4gICAgICAgICAgICAgICAgICA6ICg2NCA8IHJvd1N0YXRlICYmIDkxID4gcm93U3RhdGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgMzUgPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgMTE0ID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgICAgICAgIDEyMCA9PT0gcm93U3RhdGVcbiAgICAgICAgICAgICAgICAgICAgPyAoKHJvd1RhZyA9IHJvd1N0YXRlKSwgKHJvd1N0YXRlID0gMyksIGkrKylcbiAgICAgICAgICAgICAgICAgICAgOiAoKHJvd1RhZyA9IDApLCAocm93U3RhdGUgPSAzKSk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICBsYXN0SWR4ID0gdmFsdWVbaSsrXTtcbiAgICAgICAgICAgICAgICA0NCA9PT0gbGFzdElkeFxuICAgICAgICAgICAgICAgICAgPyAocm93U3RhdGUgPSA0KVxuICAgICAgICAgICAgICAgICAgOiAocm93TGVuZ3RoID1cbiAgICAgICAgICAgICAgICAgICAgICAocm93TGVuZ3RoIDw8IDQpIHxcbiAgICAgICAgICAgICAgICAgICAgICAoOTYgPCBsYXN0SWR4ID8gbGFzdElkeCAtIDg3IDogbGFzdElkeCAtIDQ4KSk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICBsYXN0SWR4ID0gdmFsdWUuaW5kZXhPZigxMCwgaSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICAobGFzdElkeCA9IGkgKyByb3dMZW5ndGgpLFxuICAgICAgICAgICAgICAgICAgbGFzdElkeCA+IHZhbHVlLmxlbmd0aCAmJiAobGFzdElkeCA9IC0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBvZmZzZXQgPSB2YWx1ZS5ieXRlT2Zmc2V0ICsgaTtcbiAgICAgICAgICAgIGlmICgtMSA8IGxhc3RJZHgpXG4gICAgICAgICAgICAgIChyb3dMZW5ndGggPSBuZXcgVWludDhBcnJheSh2YWx1ZS5idWZmZXIsIG9mZnNldCwgbGFzdElkeCAtIGkpKSxcbiAgICAgICAgICAgICAgICBwcm9jZXNzRnVsbEJpbmFyeVJvdyhyZXNwb25zZSwgX3JlZiwgcm93VGFnLCBidWZmZXIsIHJvd0xlbmd0aCksXG4gICAgICAgICAgICAgICAgKGkgPSBsYXN0SWR4KSxcbiAgICAgICAgICAgICAgICAzID09PSByb3dTdGF0ZSAmJiBpKyssXG4gICAgICAgICAgICAgICAgKHJvd0xlbmd0aCA9IF9yZWYgPSByb3dUYWcgPSByb3dTdGF0ZSA9IDApLFxuICAgICAgICAgICAgICAgIChidWZmZXIubGVuZ3RoID0gMCk7XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgdmFsdWUgPSBuZXcgVWludDhBcnJheShcbiAgICAgICAgICAgICAgICB2YWx1ZS5idWZmZXIsXG4gICAgICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgICAgIHZhbHVlLmJ5dGVMZW5ndGggLSBpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGJ1ZmZlci5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgICAgcm93TGVuZ3RoIC09IHZhbHVlLmJ5dGVMZW5ndGg7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXNwb25zZS5fcm93U3RhdGUgPSByb3dTdGF0ZTtcbiAgICAgICAgICByZXNwb25zZS5fcm93SUQgPSBfcmVmO1xuICAgICAgICAgIHJlc3BvbnNlLl9yb3dUYWcgPSByb3dUYWc7XG4gICAgICAgICAgcmVzcG9uc2UuX3Jvd0xlbmd0aCA9IHJvd0xlbmd0aDtcbiAgICAgICAgICByZXR1cm4gcmVhZGVyLnJlYWQoKS50aGVuKHByb2dyZXNzKS5jYXRjaChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGVycm9yKGUpIHtcbiAgICAgICAgcmVwb3J0R2xvYmFsRXJyb3IocmVzcG9uc2UsIGUpO1xuICAgICAgfVxuICAgICAgdmFyIHJlYWRlciA9IHN0cmVhbS5nZXRSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5yZWFkKCkudGhlbihwcm9ncmVzcykuY2F0Y2goZXJyb3IpO1xuICAgIH1cbiAgICB2YXIgUmVhY3RET00gPSByZXF1aXJlKFwicmVhY3QtZG9tXCIpLFxuICAgICAgUmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIiksXG4gICAgICBkZWNvZGVyT3B0aW9ucyA9IHsgc3RyZWFtOiAhMCB9LFxuICAgICAgYmluZCQxID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsXG4gICAgICBjaHVua0NhY2hlID0gbmV3IE1hcCgpLFxuICAgICAgUmVhY3RET01TaGFyZWRJbnRlcm5hbHMgPVxuICAgICAgICBSZWFjdERPTS5fX0RPTV9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsXG4gICAgICBSRUFDVF9FTEVNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnRcIiksXG4gICAgICBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5wb3J0YWxcIiksXG4gICAgICBSRUFDVF9GUkFHTUVOVF9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmZyYWdtZW50XCIpLFxuICAgICAgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5zdHJpY3RfbW9kZVwiKSxcbiAgICAgIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QucHJvZmlsZXJcIik7XG4gICAgU3ltYm9sLmZvcihcInJlYWN0LnByb3ZpZGVyXCIpO1xuICAgIHZhciBSRUFDVF9DT05TVU1FUl9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmNvbnN1bWVyXCIpLFxuICAgICAgUkVBQ1RfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmNvbnRleHRcIiksXG4gICAgICBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmZvcndhcmRfcmVmXCIpLFxuICAgICAgUkVBQ1RfU1VTUEVOU0VfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZVwiKSxcbiAgICAgIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZV9saXN0XCIpLFxuICAgICAgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0Lm1lbW9cIiksXG4gICAgICBSRUFDVF9MQVpZX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QubGF6eVwiKSxcbiAgICAgIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcixcbiAgICAgIEFTWU5DX0lURVJBVE9SID0gU3ltYm9sLmFzeW5jSXRlcmF0b3IsXG4gICAgICBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXksXG4gICAgICBnZXRQcm90b3R5cGVPZiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZixcbiAgICAgIGpzeFByb3BzUGFyZW50cyA9IG5ldyBXZWFrTWFwKCksXG4gICAgICBqc3hDaGlsZHJlblBhcmVudHMgPSBuZXcgV2Vha01hcCgpLFxuICAgICAgQ0xJRU5UX1JFRkVSRU5DRV9UQUcgPSBTeW1ib2wuZm9yKFwicmVhY3QuY2xpZW50LnJlZmVyZW5jZVwiKSxcbiAgICAgIE9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGUsXG4gICAgICBrbm93blNlcnZlclJlZmVyZW5jZXMgPSBuZXcgV2Vha01hcCgpLFxuICAgICAgYm91bmRDYWNoZSA9IG5ldyBXZWFrTWFwKCksXG4gICAgICBmYWtlU2VydmVyRnVuY3Rpb25JZHggPSAwLFxuICAgICAgRnVuY3Rpb25CaW5kID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsXG4gICAgICBBcnJheVNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLFxuICAgICAgdjhGcmFtZVJlZ0V4cCA9XG4gICAgICAgIC9eIHszfSBhdCAoPzooLispIFxcKCguKyk6KFxcZCspOihcXGQrKVxcKXwoPzphc3luYyApPyguKyk6KFxcZCspOihcXGQrKSkkLyxcbiAgICAgIGpzY1NwaWRlck1vbmtleUZyYW1lUmVnRXhwID0gLyg/OiguKilAKT8oLiopOihcXGQrKTooXFxkKykvLFxuICAgICAgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5jbGllbnQucmVmZXJlbmNlXCIpO1xuICAgIG5ldyAoXCJmdW5jdGlvblwiID09PSB0eXBlb2YgV2Vha01hcCA/IFdlYWtNYXAgOiBNYXApKCk7XG4gICAgdmFyIFJlYWN0U2hhcmVkSW50ZXJhbHNTZXJ2ZXIgPVxuICAgICAgICBSZWFjdC5fX1NFUlZFUl9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsXG4gICAgICBSZWFjdFNoYXJlZEludGVybmFscyA9XG4gICAgICAgIFJlYWN0Ll9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSB8fFxuICAgICAgICBSZWFjdFNoYXJlZEludGVyYWxzU2VydmVyO1xuICAgIFJlYWN0UHJvbWlzZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFByb21pc2UucHJvdG90eXBlKTtcbiAgICBSZWFjdFByb21pc2UucHJvdG90eXBlLnRoZW4gPSBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgXCJyZXNvbHZlZF9tb2RlbFwiOlxuICAgICAgICAgIGluaXRpYWxpemVNb2RlbENodW5rKHRoaXMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwicmVzb2x2ZWRfbW9kdWxlXCI6XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZHVsZUNodW5rKHRoaXMpO1xuICAgICAgfVxuICAgICAgc3dpdGNoICh0aGlzLnN0YXR1cykge1xuICAgICAgICBjYXNlIFwiZnVsZmlsbGVkXCI6XG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInBlbmRpbmdcIjpcbiAgICAgICAgY2FzZSBcImJsb2NrZWRcIjpcbiAgICAgICAgICByZXNvbHZlICYmXG4gICAgICAgICAgICAobnVsbCA9PT0gdGhpcy52YWx1ZSAmJiAodGhpcy52YWx1ZSA9IFtdKSxcbiAgICAgICAgICAgIHRoaXMudmFsdWUucHVzaChyZXNvbHZlKSk7XG4gICAgICAgICAgcmVqZWN0ICYmXG4gICAgICAgICAgICAobnVsbCA9PT0gdGhpcy5yZWFzb24gJiYgKHRoaXMucmVhc29uID0gW10pLFxuICAgICAgICAgICAgdGhpcy5yZWFzb24ucHVzaChyZWplY3QpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZWplY3QgJiYgcmVqZWN0KHRoaXMucmVhc29uKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZhciBpbml0aWFsaXppbmdIYW5kbGVyID0gbnVsbCxcbiAgICAgIGZha2VGdW5jdGlvbkNhY2hlID0gbmV3IE1hcCgpLFxuICAgICAgZmFrZUZ1bmN0aW9uSWR4ID0gMCxcbiAgICAgIGNyZWF0ZUZha2VKU1hDYWxsU3RhY2sgPSB7XG4gICAgICAgIFwicmVhY3Qtc3RhY2stYm90dG9tLWZyYW1lXCI6IGZ1bmN0aW9uIChcbiAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICBzdGFjayxcbiAgICAgICAgICBlbnZpcm9ubWVudE5hbWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIGJ1aWxkRmFrZUNhbGxTdGFjayhcbiAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgc3RhY2ssXG4gICAgICAgICAgICBlbnZpcm9ubWVudE5hbWUsXG4gICAgICAgICAgICBmYWtlSlNYQ2FsbFNpdGVcbiAgICAgICAgICApKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjcmVhdGVGYWtlSlNYQ2FsbFN0YWNrSW5ERVYgPSBjcmVhdGVGYWtlSlNYQ2FsbFN0YWNrW1xuICAgICAgICBcInJlYWN0LXN0YWNrLWJvdHRvbS1mcmFtZVwiXG4gICAgICBdLmJpbmQoY3JlYXRlRmFrZUpTWENhbGxTdGFjayksXG4gICAgICByZXBsYXlDb25zb2xlV2l0aENhbGxTdGFjayA9IHtcbiAgICAgICAgXCJyZWFjdC1zdGFjay1ib3R0b20tZnJhbWVcIjogZnVuY3Rpb24gKFxuICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgIG1ldGhvZE5hbWUsXG4gICAgICAgICAgc3RhY2tUcmFjZSxcbiAgICAgICAgICBvd25lcixcbiAgICAgICAgICBlbnYsXG4gICAgICAgICAgYXJnc1xuICAgICAgICApIHtcbiAgICAgICAgICB2YXIgcHJldlN0YWNrID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuZ2V0Q3VycmVudFN0YWNrO1xuICAgICAgICAgIFJlYWN0U2hhcmVkSW50ZXJuYWxzLmdldEN1cnJlbnRTdGFjayA9IGdldEN1cnJlbnRTdGFja0luREVWO1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhOiB7XG4gICAgICAgICAgICAgIHZhciBvZmZzZXQgPSAwO1xuICAgICAgICAgICAgICBzd2l0Y2ggKG1ldGhvZE5hbWUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwiZGlyXCI6XG4gICAgICAgICAgICAgICAgY2FzZSBcImRpcnhtbFwiOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJncm91cEVuZFwiOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJ0YWJsZVwiOlxuICAgICAgICAgICAgICAgICAgdmFyIEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdCA9IGJpbmQkMS5hcHBseShcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZVttZXRob2ROYW1lXSxcbiAgICAgICAgICAgICAgICAgICAgW2NvbnNvbGVdLmNvbmNhdChhcmdzKVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGJyZWFrIGE7XG4gICAgICAgICAgICAgICAgY2FzZSBcImFzc2VydFwiOlxuICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB2YXIgbmV3QXJncyA9IGFyZ3Muc2xpY2UoMCk7XG4gICAgICAgICAgICAgIFwic3RyaW5nXCIgPT09IHR5cGVvZiBuZXdBcmdzW29mZnNldF1cbiAgICAgICAgICAgICAgICA/IG5ld0FyZ3Muc3BsaWNlKFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIDEsXG4gICAgICAgICAgICAgICAgICAgIFwiXFx1MDAxYlswbVxcdTAwMWJbN20lYyVzXFx1MDAxYlswbSVjIFwiICsgbmV3QXJnc1tvZmZzZXRdLFxuICAgICAgICAgICAgICAgICAgICBcImJhY2tncm91bmQ6ICNlNmU2ZTY7YmFja2dyb3VuZDogbGlnaHQtZGFyayhyZ2JhKDAsMCwwLDAuMSksIHJnYmEoMjU1LDI1NSwyNTUsMC4yNSkpO2NvbG9yOiAjMDAwMDAwO2NvbG9yOiBsaWdodC1kYXJrKCMwMDAwMDAsICNmZmZmZmYpO2JvcmRlci1yYWRpdXM6IDJweFwiLFxuICAgICAgICAgICAgICAgICAgICBcIiBcIiArIGVudiArIFwiIFwiLFxuICAgICAgICAgICAgICAgICAgICBcIlwiXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBuZXdBcmdzLnNwbGljZShcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgICBcIlxcdTAwMWJbMG1cXHUwMDFiWzdtJWMlc1xcdTAwMWJbMG0lYyBcIixcbiAgICAgICAgICAgICAgICAgICAgXCJiYWNrZ3JvdW5kOiAjZTZlNmU2O2JhY2tncm91bmQ6IGxpZ2h0LWRhcmsocmdiYSgwLDAsMCwwLjEpLCByZ2JhKDI1NSwyNTUsMjU1LDAuMjUpKTtjb2xvcjogIzAwMDAwMDtjb2xvcjogbGlnaHQtZGFyaygjMDAwMDAwLCAjZmZmZmZmKTtib3JkZXItcmFkaXVzOiAycHhcIixcbiAgICAgICAgICAgICAgICAgICAgXCIgXCIgKyBlbnYgKyBcIiBcIixcbiAgICAgICAgICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgbmV3QXJncy51bnNoaWZ0KGNvbnNvbGUpO1xuICAgICAgICAgICAgICBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQgPSBiaW5kJDEuYXBwbHkoXG4gICAgICAgICAgICAgICAgY29uc29sZVttZXRob2ROYW1lXSxcbiAgICAgICAgICAgICAgICBuZXdBcmdzXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgY2FsbFN0YWNrID0gYnVpbGRGYWtlQ2FsbFN0YWNrKFxuICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgc3RhY2tUcmFjZSxcbiAgICAgICAgICAgICAgZW52LFxuICAgICAgICAgICAgICBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBudWxsICE9IG93bmVyICYmIGluaXRpYWxpemVGYWtlU3RhY2socmVzcG9uc2UsIG93bmVyKTtcbiAgICAgICAgICAgIHZhciByb290VGFzayA9IGdldFJvb3RUYXNrKHJlc3BvbnNlLCBlbnYpO1xuICAgICAgICAgICAgbnVsbCAhPSByb290VGFzayA/IHJvb3RUYXNrLnJ1bihjYWxsU3RhY2spIDogY2FsbFN0YWNrKCk7XG4gICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIFJlYWN0U2hhcmVkSW50ZXJuYWxzLmdldEN1cnJlbnRTdGFjayA9IHByZXZTdGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByZXBsYXlDb25zb2xlV2l0aENhbGxTdGFja0luREVWID0gcmVwbGF5Q29uc29sZVdpdGhDYWxsU3RhY2tbXG4gICAgICAgIFwicmVhY3Qtc3RhY2stYm90dG9tLWZyYW1lXCJcbiAgICAgIF0uYmluZChyZXBsYXlDb25zb2xlV2l0aENhbGxTdGFjayk7XG4gICAgZXhwb3J0cy5jcmVhdGVGcm9tRmV0Y2ggPSBmdW5jdGlvbiAocHJvbWlzZUZvclJlc3BvbnNlLCBvcHRpb25zKSB7XG4gICAgICB2YXIgcmVzcG9uc2UgPSBjcmVhdGVSZXNwb25zZUZyb21PcHRpb25zKG9wdGlvbnMpO1xuICAgICAgcHJvbWlzZUZvclJlc3BvbnNlLnRoZW4oXG4gICAgICAgIGZ1bmN0aW9uIChyKSB7XG4gICAgICAgICAgc3RhcnRSZWFkaW5nRnJvbVN0cmVhbShyZXNwb25zZSwgci5ib2R5KTtcbiAgICAgICAgfSxcbiAgICAgICAgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICByZXBvcnRHbG9iYWxFcnJvcihyZXNwb25zZSwgZSk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICByZXR1cm4gZ2V0Q2h1bmsocmVzcG9uc2UsIDApO1xuICAgIH07XG4gICAgZXhwb3J0cy5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0gPSBmdW5jdGlvbiAoc3RyZWFtLCBvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0gY3JlYXRlUmVzcG9uc2VGcm9tT3B0aW9ucyhvcHRpb25zKTtcbiAgICAgIHN0YXJ0UmVhZGluZ0Zyb21TdHJlYW0ob3B0aW9ucywgc3RyZWFtKTtcbiAgICAgIHJldHVybiBnZXRDaHVuayhvcHRpb25zLCAwKTtcbiAgICB9O1xuICAgIGV4cG9ydHMuY3JlYXRlU2VydmVyUmVmZXJlbmNlID0gZnVuY3Rpb24gKGlkKSB7XG4gICAgICByZXR1cm4gY3JlYXRlU2VydmVyUmVmZXJlbmNlJDEoaWQsIG5vU2VydmVyQ2FsbCk7XG4gICAgfTtcbiAgICBleHBvcnRzLmNyZWF0ZVRlbXBvcmFyeVJlZmVyZW5jZVNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBuZXcgTWFwKCk7XG4gICAgfTtcbiAgICBleHBvcnRzLmVuY29kZVJlcGx5ID0gZnVuY3Rpb24gKHZhbHVlLCBvcHRpb25zKSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICB2YXIgYWJvcnQgPSBwcm9jZXNzUmVwbHkoXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICBvcHRpb25zICYmIG9wdGlvbnMudGVtcG9yYXJ5UmVmZXJlbmNlc1xuICAgICAgICAgICAgPyBvcHRpb25zLnRlbXBvcmFyeVJlZmVyZW5jZXNcbiAgICAgICAgICAgIDogdm9pZCAwLFxuICAgICAgICAgIHJlc29sdmUsXG4gICAgICAgICAgcmVqZWN0XG4gICAgICAgICk7XG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuc2lnbmFsKSB7XG4gICAgICAgICAgdmFyIHNpZ25hbCA9IG9wdGlvbnMuc2lnbmFsO1xuICAgICAgICAgIGlmIChzaWduYWwuYWJvcnRlZCkgYWJvcnQoc2lnbmFsLnJlYXNvbik7XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgbGlzdGVuZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIGFib3J0KHNpZ25hbC5yZWFzb24pO1xuICAgICAgICAgICAgICBzaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIGxpc3RlbmVyKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBzaWduYWwuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIGxpc3RlbmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG4gIH0pKCk7XG4iXSwibmFtZXMiOlsiX2RlZmluZVByb3BlcnR5Iiwib2JqIiwia2V5IiwidmFsdWUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsInJlc29sdmVDbGllbnRSZWZlcmVuY2UiLCJidW5kbGVyQ29uZmlnIiwibWV0YWRhdGEiLCJtb2R1bGVFeHBvcnRzIiwibmFtZSIsIkVycm9yIiwibGVuZ3RoIiwiaWQiLCJjaHVua3MiLCJyZXNvbHZlU2VydmVyUmVmZXJlbmNlIiwicmVzb2x2ZWRNb2R1bGVEYXRhIiwiaWR4IiwibGFzdEluZGV4T2YiLCJzbGljZSIsImFzeW5jIiwicmVxdWlyZUFzeW5jTW9kdWxlIiwicHJvbWlzZSIsImdsb2JhbFRoaXMiLCJfX25leHRfcmVxdWlyZV9fIiwidGhlbiIsInN0YXR1cyIsInJlYXNvbiIsImlnbm9yZVJlamVjdCIsInByZWxvYWRNb2R1bGUiLCJwcm9taXNlcyIsImkiLCJjaHVua0lkIiwiZW50cnkiLCJjaHVua0NhY2hlIiwiZ2V0IiwiX193ZWJwYWNrX2NodW5rX2xvYWRfXyIsInB1c2giLCJyZXNvbHZlIiwic2V0IiwiYmluZCIsIlByb21pc2UiLCJhbGwiLCJyZXF1aXJlTW9kdWxlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJwcmVwYXJlRGVzdGluYXRpb25XaXRoQ2h1bmtzIiwibW9kdWxlTG9hZGluZyIsIm5vbmNlJGpzY29tcCQwIiwibm9uY2UiLCJKU0NvbXBpbGVyX3RlbXBfY29uc3QiLCJSZWFjdERPTVNoYXJlZEludGVybmFscyIsImQiLCJKU0NvbXBpbGVyX3RlbXBfY29uc3QkanNjb21wJDAiLCJYIiwiSlNDb21waWxlcl90ZW1wX2NvbnN0JGpzY29tcCQxIiwicHJlZml4IiwiSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0IiwiY3Jvc3NPcmlnaW4iLCJjYWxsIiwiZ2V0SXRlcmF0b3JGbiIsIm1heWJlSXRlcmFibGUiLCJNQVlCRV9JVEVSQVRPUl9TWU1CT0wiLCJpc09iamVjdFByb3RvdHlwZSIsIm9iamVjdCIsIk9iamVjdFByb3RvdHlwZSIsInByb3RvdHlwZSIsImdldFByb3RvdHlwZU9mIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImlzU2ltcGxlT2JqZWN0IiwibmFtZXMiLCJkZXNjcmlwdG9yIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwib2JqZWN0TmFtZSIsInRvU3RyaW5nIiwicmVwbGFjZSIsIm0iLCJwMCIsImRlc2NyaWJlS2V5Rm9yRXJyb3JNZXNzYWdlIiwiZW5jb2RlZEtleSIsIkpTT04iLCJzdHJpbmdpZnkiLCJkZXNjcmliZVZhbHVlRm9yRXJyb3JNZXNzYWdlIiwiaXNBcnJheUltcGwiLCIkJHR5cGVvZiIsIkNMSUVOVF9SRUZFUkVOQ0VfVEFHIiwiZGlzcGxheU5hbWUiLCJTdHJpbmciLCJkZXNjcmliZUVsZW1lbnRUeXBlIiwidHlwZSIsIlJFQUNUX1NVU1BFTlNFX1RZUEUiLCJSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUiLCJSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIiwicmVuZGVyIiwiUkVBQ1RfTUVNT19UWVBFIiwiUkVBQ1RfTEFaWV9UWVBFIiwicGF5bG9hZCIsIl9wYXlsb2FkIiwiX2luaXQiLCJ4IiwiZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UiLCJvYmplY3RPckFycmF5IiwiZXhwYW5kZWROYW1lIiwib2JqS2luZCIsInN0YXJ0IiwianN4Q2hpbGRyZW5QYXJlbnRzIiwiaGFzIiwiUkVBQ1RfRUxFTUVOVF9UWVBFIiwianN4UHJvcHNQYXJlbnRzIiwia2V5cyIsIl92YWx1ZTIiLCJfc3Vic3RyMiIsInJlcGVhdCIsInNlcmlhbGl6ZU51bWJlciIsIm51bWJlciIsIk51bWJlciIsImlzRmluaXRlIiwiSW5maW5pdHkiLCJwcm9jZXNzUmVwbHkiLCJyb290IiwiZm9ybUZpZWxkUHJlZml4IiwidGVtcG9yYXJ5UmVmZXJlbmNlcyIsInJlamVjdCIsInNlcmlhbGl6ZVR5cGVkQXJyYXkiLCJ0YWciLCJ0eXBlZEFycmF5IiwiQmxvYiIsIlVpbnQ4QXJyYXkiLCJidWZmZXIiLCJieXRlT2Zmc2V0IiwiYnl0ZUxlbmd0aCIsImJsb2JJZCIsIm5leHRQYXJ0SWQiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwic2VyaWFsaXplQmluYXJ5UmVhZGVyIiwicmVhZGVyIiwicHJvZ3Jlc3MiLCJkb25lIiwiZGF0YSIsInN0cmVhbUlkIiwicGVuZGluZ1BhcnRzIiwicmVhZCIsInNlcmlhbGl6ZVJlYWRlciIsInBhcnRKU09OIiwicmVzb2x2ZVRvSlNPTiIsInNlcmlhbGl6ZVJlYWRhYmxlU3RyZWFtIiwic3RyZWFtIiwiYmluYXJ5UmVhZGVyIiwiZ2V0UmVhZGVyIiwibW9kZSIsInNlcmlhbGl6ZUFzeW5jSXRlcmFibGUiLCJpdGVyYWJsZSIsIml0ZXJhdG9yIiwiX3BhcnRKU09OIiwibmV4dCIsIngkMCIsIm9yaWdpbmFsVmFsdWUiLCJEYXRlIiwiY29uc29sZSIsImVycm9yIiwiaW5kZXhPZiIsInBhcmVudFJlZmVyZW5jZSIsIndyaXR0ZW5PYmplY3RzIiwiaW5pdCIsImxhenlJZCIsInNlcmlhbGl6ZU1vZGVsIiwiX2xhenlJZCIsIl9wYXJ0SlNPTjIiLCJfZGF0YSIsInByb21pc2VJZCIsInBhcnRWYWx1ZSIsIl9wYXJ0SlNPTjMiLCJtb2RlbFJvb3QiLCJfZGF0YTMiLCJmb3JFYWNoIiwib3JpZ2luYWxLZXkiLCJNYXAiLCJBcnJheSIsImZyb20iLCJTZXQiLCJBcnJheUJ1ZmZlciIsIkludDhBcnJheSIsIlVpbnQ4Q2xhbXBlZEFycmF5IiwiSW50MTZBcnJheSIsIlVpbnQxNkFycmF5IiwiSW50MzJBcnJheSIsIlVpbnQzMkFycmF5IiwiRmxvYXQzMkFycmF5IiwiRmxvYXQ2NEFycmF5IiwiQmlnSW50NjRBcnJheSIsIkJpZ1VpbnQ2NEFycmF5IiwiRGF0YVZpZXciLCJSZWFkYWJsZVN0cmVhbSIsIkFTWU5DX0lURVJBVE9SIiwiUkVBQ1RfQ09OVEVYVF9UWVBFIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZGVzY3JpcHRpb24iLCJrbm93blNlcnZlclJlZmVyZW5jZXMiLCJtb2RlbCIsIldlYWtNYXAiLCJqc29uIiwiZW5jb2RlRm9ybURhdGEiLCJyZWZlcmVuY2UiLCJ0aGVuYWJsZSIsInJlcyIsInJlaiIsImJvZHkiLCJlIiwiZGVmYXVsdEVuY29kZUZvcm1BY3Rpb24iLCJpZGVudGlmaWVyUHJlZml4IiwiYm91bmQiLCJib3VuZENhY2hlIiwicHJlZml4ZWREYXRhIiwibWV0aG9kIiwiZW5jVHlwZSIsImlzU2lnbmF0dXJlRXF1YWwiLCJyZWZlcmVuY2VJZCIsIm51bWJlck9mQm91bmRBcmdzIiwiYm91bmRQcm9taXNlIiwiYm91bmRBcmdzIiwiY3JlYXRlRmFrZVNlcnZlckZ1bmN0aW9uIiwiZmlsZW5hbWUiLCJzb3VyY2VNYXAiLCJsaW5lIiwiY29sIiwiZW52aXJvbm1lbnROYW1lIiwiaW5uZXJGdW5jdGlvbiIsImVuY29kZWROYW1lIiwic3RhcnRzV2l0aCIsImVuY29kZVVSSUNvbXBvbmVudCIsImZha2VTZXJ2ZXJGdW5jdGlvbklkeCIsImV2YWwiLCJyZWdpc3RlclNlcnZlclJlZmVyZW5jZSIsInByb3h5IiwicmVmZXJlbmNlJGpzY29tcCQwIiwiZW5jb2RlRm9ybUFjdGlvbiIsImRlZmluZVByb3BlcnRpZXMiLCIkJEZPUk1fQUNUSU9OIiwiJCRJU19TSUdOQVRVUkVfRVFVQUwiLCJuZXdGbiIsIkZ1bmN0aW9uQmluZCIsImFwcGx5IiwiYXJndW1lbnRzIiwiYXJncyIsIkFycmF5U2xpY2UiLCJjb25jYXQiLCJjcmVhdGVCb3VuZFNlcnZlclJlZmVyZW5jZSIsIm1ldGFEYXRhIiwiY2FsbFNlcnZlciIsImZpbmRTb3VyY2VNYXBVUkwiLCJhY3Rpb24iLCJsb2NhdGlvbiIsImZ1bmN0aW9uTmFtZSIsImVudiIsInBhcnNlU3RhY2tMb2NhdGlvbiIsInN0YWNrIiwiZW5kT2ZGaXJzdCIsImVuZE9mU2Vjb25kIiwidjhGcmFtZVJlZ0V4cCIsImV4ZWMiLCJqc2NTcGlkZXJNb25rZXlGcmFtZVJlZ0V4cCIsImNyZWF0ZVNlcnZlclJlZmVyZW5jZSQxIiwiZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlIiwiUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSIsIlJFQUNUX0ZSQUdNRU5UX1RZUEUiLCJSRUFDVF9QT1JUQUxfVFlQRSIsIlJFQUNUX1BST0ZJTEVSX1RZUEUiLCJSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFIiwiUkVBQ1RfQ09OU1VNRVJfVFlQRSIsIl9jb250ZXh0IiwiaW5uZXJUeXBlIiwiUmVhY3RQcm9taXNlIiwicmVzcG9uc2UiLCJfcmVzcG9uc2UiLCJfZGVidWdJbmZvIiwicmVhZENodW5rIiwiY2h1bmsiLCJpbml0aWFsaXplTW9kZWxDaHVuayIsImluaXRpYWxpemVNb2R1bGVDaHVuayIsImNyZWF0ZVBlbmRpbmdDaHVuayIsIndha2VDaHVuayIsImxpc3RlbmVycyIsIndha2VDaHVua0lmSW5pdGlhbGl6ZWQiLCJyZXNvbHZlTGlzdGVuZXJzIiwicmVqZWN0TGlzdGVuZXJzIiwidHJpZ2dlckVycm9yT25DaHVuayIsImNyZWF0ZVJlc29sdmVkSXRlcmF0b3JSZXN1bHRDaHVuayIsInJlc29sdmVJdGVyYXRvclJlc3VsdENodW5rIiwicmVzb2x2ZU1vZGVsQ2h1bmsiLCJlbnF1ZXVlTW9kZWwiLCJyZXNvbHZlTW9kdWxlQ2h1bmsiLCJwcmV2SGFuZGxlciIsImluaXRpYWxpemluZ0hhbmRsZXIiLCJyZXNvbHZlZE1vZGVsIiwicGFyc2UiLCJfZnJvbUpTT04iLCJlcnJvcmVkIiwiZGVwcyIsInJlcG9ydEdsb2JhbEVycm9yIiwiX2NodW5rcyIsIm51bGxSZWZHZXR0ZXIiLCJjcmVhdGVMYXp5Q2h1bmtXcmFwcGVyIiwibGF6eVR5cGUiLCJnZXRDaHVuayIsIndhaXRGb3JSZWZlcmVuY2UiLCJyZWZlcmVuY2VkQ2h1bmsiLCJwYXJlbnRPYmplY3QiLCJtYXAiLCJwYXRoIiwiZnVsZmlsbCIsImhhbmRsZXIiLCJzcGxpY2UiLCJwcm9wcyIsIl9vd25lciIsImJsb2NrZWRWYWx1ZSIsIm93bmVyIiwicGFyZW50IiwibG9hZFNlcnZlclJlZmVyZW5jZSIsIl9zZXJ2ZXJSZWZlcmVuY2VDb25maWciLCJfY2FsbFNlcnZlciIsIl9lbmNvZGVGb3JtQWN0aW9uIiwiX2RlYnVnRmluZFNvdXJjZU1hcFVSTCIsInNlcnZlclJlZmVyZW5jZSIsInJlc29sdmVkVmFsdWUiLCJ1bnNoaWZ0IiwiZ2V0T3V0bGluZWRNb2RlbCIsInNwbGl0IiwicGFyc2VJbnQiLCJjcmVhdGVNYXAiLCJjcmVhdGVTZXQiLCJjcmVhdGVCbG9iIiwiY3JlYXRlRm9ybURhdGEiLCJleHRyYWN0SXRlcmF0b3IiLCJTeW1ib2wiLCJjcmVhdGVNb2RlbCIsInBhcnNlTW9kZWxTdHJpbmciLCJmb3IiLCJfdGVtcFJlZnMiLCJyZXNvbHZlRXJyb3JEZXYiLCJOYU4iLCJCaWdJbnQiLCJtaXNzaW5nQ2FsbCIsIlJlc3BvbnNlSW5zdGFuY2UiLCJzZXJ2ZXJSZWZlcmVuY2VDb25maWciLCJyZXBsYXlDb25zb2xlIiwiX2J1bmRsZXJDb25maWciLCJfbW9kdWxlTG9hZGluZyIsIl9ub25jZSIsIl9zdHJpbmdEZWNvZGVyIiwiVGV4dERlY29kZXIiLCJfcm93TGVuZ3RoIiwiX3Jvd1RhZyIsIl9yb3dJRCIsIl9yb3dTdGF0ZSIsIl9idWZmZXIiLCJfZGVidWdSb290T3duZXIiLCJSZWFjdFNoYXJlZEludGVyYWxzU2VydmVyIiwiQSIsImdldE93bmVyIiwiX2RlYnVnUm9vdFN0YWNrIiwiX3JlcGxheUNvbnNvbGUiLCJfcm9vdEVudmlyb25tZW50TmFtZSIsImNyZWF0ZUZyb21KU09OQ2FsbGJhY2siLCJyZXNvbHZlTW9kZWwiLCJyZXNvbHZlVGV4dCIsInRleHQiLCJlbnF1ZXVlVmFsdWUiLCJyZXNvbHZlQnVmZmVyIiwicmVzb2x2ZU1vZHVsZSIsImNsaWVudFJlZmVyZW5jZSIsImJsb2NrZWRDaHVuayIsInJlc29sdmVTdHJlYW0iLCJjb250cm9sbGVyIiwic3RhcnRSZWFkYWJsZVN0cmVhbSIsImMiLCJwcmV2aW91c0Jsb2NrZWRDaHVuayIsImVucXVldWUiLCJ2IiwiX2NodW5rMyIsImNsb3NlIiwiYXN5bmNJdGVyYXRvciIsImNyZWF0ZUl0ZXJhdG9yIiwic3RhcnRBc3luY0l0ZXJhYmxlIiwiY2xvc2VkIiwibmV4dFdyaXRlSW5kZXgiLCJuZXh0UmVhZEluZGV4IiwiYXJnIiwic3RvcFN0cmVhbSIsInJvdyIsImVycm9ySW5mbyIsImJ1aWxkRmFrZUNhbGxTdGFjayIsIm1lc3NhZ2UiLCJnZXRSb290VGFzayIsInJ1biIsInJlc29sdmVIaW50IiwiY29kZSIsIkQiLCJDIiwiYXMiLCJMIiwiUyIsIk0iLCJjcmVhdGVGYWtlRnVuY3Rpb24iLCJlbmNvZGVVUkkiLCJmYWtlRnVuY3Rpb25JZHgiLCJmbiIsIl8iLCJpbm5lckNhbGwiLCJmcmFtZSIsImZyYW1lS2V5Iiwiam9pbiIsImZha2VGdW5jdGlvbkNhY2hlIiwiY2hpbGRFbnZpcm9ubWVudE5hbWUiLCJyb290VGFzayIsIl9kZWJ1Z1Jvb3RUYXNrIiwiY3JlYXRlVGFzayIsInRvTG93ZXJDYXNlIiwiZmFrZUpTWENhbGxTaXRlIiwiaW5pdGlhbGl6ZUZha2VTdGFjayIsImRlYnVnSW5mbyIsImRlYnVnU3RhY2siLCJjcmVhdGVGYWtlSlNYQ2FsbFN0YWNrSW5ERVYiLCJyZXNvbHZlRGVidWdJbmZvIiwiZ2V0Q3VycmVudFN0YWNrSW5ERVYiLCJyZXNvbHZlQ29uc29sZUVudHJ5Iiwic3RhY2tUcmFjZSIsInJlcGxheUNvbnNvbGVXaXRoQ2FsbFN0YWNrSW5ERVYiLCJtZXJnZUJ1ZmZlciIsImxhc3RDaHVuayIsImwiLCJfaTIiLCJyZXNvbHZlVHlwZWRBcnJheSIsImNvbnN0cnVjdG9yIiwiYnl0ZXNQZXJFbGVtZW50IiwicHJvY2Vzc0Z1bGxCaW5hcnlSb3ciLCJzdHJpbmdEZWNvZGVyIiwiZGVjb2RlIiwiZGVjb2Rlck9wdGlvbnMiLCJwcm9jZXNzRnVsbFN0cmluZ1JvdyIsImRpZ2VzdCIsIl9zdG9yZSIsImZyZWV6ZSIsIm5vU2VydmVyQ2FsbCIsImNyZWF0ZVJlc3BvbnNlRnJvbU9wdGlvbnMiLCJvcHRpb25zIiwic2VydmVyQ29uc3VtZXJNYW5pZmVzdCIsIm1vZHVsZU1hcCIsInNlcnZlck1vZHVsZU1hcCIsInJlcGxheUNvbnNvbGVMb2dzIiwic3RhcnRSZWFkaW5nRnJvbVN0cmVhbSIsIl9yZWYiLCJyb3dTdGF0ZSIsInJvd1RhZyIsInJvd0xlbmd0aCIsImNodW5rTGVuZ3RoIiwibGFzdElkeCIsIm9mZnNldCIsImNhdGNoIiwiUmVhY3RET00iLCJyZXF1aXJlIiwiUmVhY3QiLCJiaW5kJDEiLCJGdW5jdGlvbiIsIl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSIsImlzQXJyYXkiLCJfX1NFUlZFUl9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUiLCJSZWFjdFNoYXJlZEludGVybmFscyIsIl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSIsImNyZWF0ZSIsImNyZWF0ZUZha2VKU1hDYWxsU3RhY2siLCJyZXBsYXlDb25zb2xlV2l0aENhbGxTdGFjayIsIm1ldGhvZE5hbWUiLCJwcmV2U3RhY2siLCJnZXRDdXJyZW50U3RhY2siLCJhIiwibmV3QXJncyIsImNhbGxTdGFjayIsImV4cG9ydHMiLCJjcmVhdGVGcm9tRmV0Y2giLCJwcm9taXNlRm9yUmVzcG9uc2UiLCJyIiwiY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtIiwiY3JlYXRlU2VydmVyUmVmZXJlbmNlIiwiY3JlYXRlVGVtcG9yYXJ5UmVmZXJlbmNlU2V0IiwiZW5jb2RlUmVwbHkiLCJhYm9ydCIsInNpZ25hbCIsImFib3J0ZWQiLCJsaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJhZGRFdmVudExpc3RlbmVyIl0sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js\n"); +eval("/**\n * @license React\n * react-server-dom-webpack-client.edge.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */ \n true && function() {\n function _defineProperty(obj, key, value) {\n key in obj ? Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : obj[key] = value;\n return obj;\n }\n function resolveClientReference(bundlerConfig, metadata) {\n if (bundlerConfig) {\n var moduleExports = bundlerConfig[metadata[0]];\n if (bundlerConfig = moduleExports && moduleExports[metadata[2]]) moduleExports = bundlerConfig.name;\n else {\n bundlerConfig = moduleExports && moduleExports[\"*\"];\n if (!bundlerConfig) throw Error('Could not find the module \"' + metadata[0] + '\" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');\n moduleExports = metadata[2];\n }\n return 4 === metadata.length ? [\n bundlerConfig.id,\n bundlerConfig.chunks,\n moduleExports,\n 1\n ] : [\n bundlerConfig.id,\n bundlerConfig.chunks,\n moduleExports\n ];\n }\n return metadata;\n }\n function resolveServerReference(bundlerConfig, id) {\n var name = \"\", resolvedModuleData = bundlerConfig[id];\n if (resolvedModuleData) name = resolvedModuleData.name;\n else {\n var idx = id.lastIndexOf(\"#\");\n -1 !== idx && (name = id.slice(idx + 1), resolvedModuleData = bundlerConfig[id.slice(0, idx)]);\n if (!resolvedModuleData) throw Error('Could not find the module \"' + id + '\" in the React Server Manifest. This is probably a bug in the React Server Components bundler.');\n }\n return resolvedModuleData.async ? [\n resolvedModuleData.id,\n resolvedModuleData.chunks,\n name,\n 1\n ] : [\n resolvedModuleData.id,\n resolvedModuleData.chunks,\n name\n ];\n }\n function requireAsyncModule(id) {\n var promise = globalThis.__next_require__(id);\n if (\"function\" !== typeof promise.then || \"fulfilled\" === promise.status) return null;\n promise.then(function(value) {\n promise.status = \"fulfilled\";\n promise.value = value;\n }, function(reason) {\n promise.status = \"rejected\";\n promise.reason = reason;\n });\n return promise;\n }\n function ignoreReject() {}\n function preloadModule(metadata) {\n for(var chunks = metadata[1], promises = [], i = 0; i < chunks.length;){\n var chunkId = chunks[i++];\n chunks[i++];\n var entry = chunkCache.get(chunkId);\n if (void 0 === entry) {\n entry = __webpack_require__.e(chunkId);\n promises.push(entry);\n var resolve = chunkCache.set.bind(chunkCache, chunkId, null);\n entry.then(resolve, ignoreReject);\n chunkCache.set(chunkId, entry);\n } else null !== entry && promises.push(entry);\n }\n return 4 === metadata.length ? 0 === promises.length ? requireAsyncModule(metadata[0]) : Promise.all(promises).then(function() {\n return requireAsyncModule(metadata[0]);\n }) : 0 < promises.length ? Promise.all(promises) : null;\n }\n function requireModule(metadata) {\n var moduleExports = globalThis.__next_require__(metadata[0]);\n if (4 === metadata.length && \"function\" === typeof moduleExports.then) if (\"fulfilled\" === moduleExports.status) moduleExports = moduleExports.value;\n else throw moduleExports.reason;\n return \"*\" === metadata[2] ? moduleExports : \"\" === metadata[2] ? moduleExports.__esModule ? moduleExports.default : moduleExports : moduleExports[metadata[2]];\n }\n function prepareDestinationWithChunks(moduleLoading, chunks, nonce$jscomp$0) {\n if (null !== moduleLoading) for(var i = 1; i < chunks.length; i += 2){\n var nonce = nonce$jscomp$0, JSCompiler_temp_const = ReactDOMSharedInternals.d, JSCompiler_temp_const$jscomp$0 = JSCompiler_temp_const.X, JSCompiler_temp_const$jscomp$1 = moduleLoading.prefix + chunks[i];\n var JSCompiler_inline_result = moduleLoading.crossOrigin;\n JSCompiler_inline_result = \"string\" === typeof JSCompiler_inline_result ? \"use-credentials\" === JSCompiler_inline_result ? JSCompiler_inline_result : \"\" : void 0;\n JSCompiler_temp_const$jscomp$0.call(JSCompiler_temp_const, JSCompiler_temp_const$jscomp$1, {\n crossOrigin: JSCompiler_inline_result,\n nonce: nonce\n });\n }\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function isObjectPrototype(object) {\n if (!object) return !1;\n var ObjectPrototype = Object.prototype;\n if (object === ObjectPrototype) return !0;\n if (getPrototypeOf(object)) return !1;\n object = Object.getOwnPropertyNames(object);\n for(var i = 0; i < object.length; i++)if (!(object[i] in ObjectPrototype)) return !1;\n return !0;\n }\n function isSimpleObject(object) {\n if (!isObjectPrototype(getPrototypeOf(object))) return !1;\n for(var names = Object.getOwnPropertyNames(object), i = 0; i < names.length; i++){\n var descriptor = Object.getOwnPropertyDescriptor(object, names[i]);\n if (!descriptor || !descriptor.enumerable && (\"key\" !== names[i] && \"ref\" !== names[i] || \"function\" !== typeof descriptor.get)) return !1;\n }\n return !0;\n }\n function objectName(object) {\n return Object.prototype.toString.call(object).replace(/^\\[object (.*)\\]$/, function(m, p0) {\n return p0;\n });\n }\n function describeKeyForErrorMessage(key) {\n var encodedKey = JSON.stringify(key);\n return '\"' + key + '\"' === encodedKey ? key : encodedKey;\n }\n function describeValueForErrorMessage(value) {\n switch(typeof value){\n case \"string\":\n return JSON.stringify(10 >= value.length ? value : value.slice(0, 10) + \"...\");\n case \"object\":\n if (isArrayImpl(value)) return \"[...]\";\n if (null !== value && value.$$typeof === CLIENT_REFERENCE_TAG) return \"client\";\n value = objectName(value);\n return \"Object\" === value ? \"{...}\" : value;\n case \"function\":\n return value.$$typeof === CLIENT_REFERENCE_TAG ? \"client\" : (value = value.displayName || value.name) ? \"function \" + value : \"function\";\n default:\n return String(value);\n }\n }\n function describeElementType(type) {\n if (\"string\" === typeof type) return type;\n switch(type){\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type) switch(type.$$typeof){\n case REACT_FORWARD_REF_TYPE:\n return describeElementType(type.render);\n case REACT_MEMO_TYPE:\n return describeElementType(type.type);\n case REACT_LAZY_TYPE:\n var payload = type._payload;\n type = type._init;\n try {\n return describeElementType(type(payload));\n } catch (x) {}\n }\n return \"\";\n }\n function describeObjectForErrorMessage(objectOrArray, expandedName) {\n var objKind = objectName(objectOrArray);\n if (\"Object\" !== objKind && \"Array\" !== objKind) return objKind;\n var start = -1, length = 0;\n if (isArrayImpl(objectOrArray)) if (jsxChildrenParents.has(objectOrArray)) {\n var type = jsxChildrenParents.get(objectOrArray);\n objKind = \"<\" + describeElementType(type) + \">\";\n for(var i = 0; i < objectOrArray.length; i++){\n var value = objectOrArray[i];\n value = \"string\" === typeof value ? value : \"object\" === typeof value && null !== value ? \"{\" + describeObjectForErrorMessage(value) + \"}\" : \"{\" + describeValueForErrorMessage(value) + \"}\";\n \"\" + i === expandedName ? (start = objKind.length, length = value.length, objKind += value) : objKind = 15 > value.length && 40 > objKind.length + value.length ? objKind + value : objKind + \"{...}\";\n }\n objKind += \"\";\n } else {\n objKind = \"[\";\n for(type = 0; type < objectOrArray.length; type++)0 < type && (objKind += \", \"), i = objectOrArray[type], i = \"object\" === typeof i && null !== i ? describeObjectForErrorMessage(i) : describeValueForErrorMessage(i), \"\" + type === expandedName ? (start = objKind.length, length = i.length, objKind += i) : objKind = 10 > i.length && 40 > objKind.length + i.length ? objKind + i : objKind + \"...\";\n objKind += \"]\";\n }\n else if (objectOrArray.$$typeof === REACT_ELEMENT_TYPE) objKind = \"<\" + describeElementType(objectOrArray.type) + \"/>\";\n else {\n if (objectOrArray.$$typeof === CLIENT_REFERENCE_TAG) return \"client\";\n if (jsxPropsParents.has(objectOrArray)) {\n objKind = jsxPropsParents.get(objectOrArray);\n objKind = \"<\" + (describeElementType(objKind) || \"...\");\n type = Object.keys(objectOrArray);\n for(i = 0; i < type.length; i++){\n objKind += \" \";\n value = type[i];\n objKind += describeKeyForErrorMessage(value) + \"=\";\n var _value2 = objectOrArray[value];\n var _substr2 = value === expandedName && \"object\" === typeof _value2 && null !== _value2 ? describeObjectForErrorMessage(_value2) : describeValueForErrorMessage(_value2);\n \"string\" !== typeof _value2 && (_substr2 = \"{\" + _substr2 + \"}\");\n value === expandedName ? (start = objKind.length, length = _substr2.length, objKind += _substr2) : objKind = 10 > _substr2.length && 40 > objKind.length + _substr2.length ? objKind + _substr2 : objKind + \"...\";\n }\n objKind += \">\";\n } else {\n objKind = \"{\";\n type = Object.keys(objectOrArray);\n for(i = 0; i < type.length; i++)0 < i && (objKind += \", \"), value = type[i], objKind += describeKeyForErrorMessage(value) + \": \", _value2 = objectOrArray[value], _value2 = \"object\" === typeof _value2 && null !== _value2 ? describeObjectForErrorMessage(_value2) : describeValueForErrorMessage(_value2), value === expandedName ? (start = objKind.length, length = _value2.length, objKind += _value2) : objKind = 10 > _value2.length && 40 > objKind.length + _value2.length ? objKind + _value2 : objKind + \"...\";\n objKind += \"}\";\n }\n }\n return void 0 === expandedName ? objKind : -1 < start && 0 < length ? (objectOrArray = \" \".repeat(start) + \"^\".repeat(length), \"\\n \" + objKind + \"\\n \" + objectOrArray) : \"\\n \" + objKind;\n }\n function serializeNumber(number) {\n return Number.isFinite(number) ? 0 === number && -Infinity === 1 / number ? \"$-0\" : number : Infinity === number ? \"$Infinity\" : -Infinity === number ? \"$-Infinity\" : \"$NaN\";\n }\n function processReply(root, formFieldPrefix, temporaryReferences, resolve, reject) {\n function serializeTypedArray(tag, typedArray) {\n typedArray = new Blob([\n new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength)\n ]);\n var blobId = nextPartId++;\n null === formData && (formData = new FormData());\n formData.append(formFieldPrefix + blobId, typedArray);\n return \"$\" + tag + blobId.toString(16);\n }\n function serializeBinaryReader(reader) {\n function progress(entry) {\n entry.done ? (entry = nextPartId++, data.append(formFieldPrefix + entry, new Blob(buffer)), data.append(formFieldPrefix + streamId, '\"$o' + entry.toString(16) + '\"'), data.append(formFieldPrefix + streamId, \"C\"), pendingParts--, 0 === pendingParts && resolve(data)) : (buffer.push(entry.value), reader.read(new Uint8Array(1024)).then(progress, reject));\n }\n null === formData && (formData = new FormData());\n var data = formData;\n pendingParts++;\n var streamId = nextPartId++, buffer = [];\n reader.read(new Uint8Array(1024)).then(progress, reject);\n return \"$r\" + streamId.toString(16);\n }\n function serializeReader(reader) {\n function progress(entry) {\n if (entry.done) data.append(formFieldPrefix + streamId, \"C\"), pendingParts--, 0 === pendingParts && resolve(data);\n else try {\n var partJSON = JSON.stringify(entry.value, resolveToJSON);\n data.append(formFieldPrefix + streamId, partJSON);\n reader.read().then(progress, reject);\n } catch (x) {\n reject(x);\n }\n }\n null === formData && (formData = new FormData());\n var data = formData;\n pendingParts++;\n var streamId = nextPartId++;\n reader.read().then(progress, reject);\n return \"$R\" + streamId.toString(16);\n }\n function serializeReadableStream(stream) {\n try {\n var binaryReader = stream.getReader({\n mode: \"byob\"\n });\n } catch (x) {\n return serializeReader(stream.getReader());\n }\n return serializeBinaryReader(binaryReader);\n }\n function serializeAsyncIterable(iterable, iterator) {\n function progress(entry) {\n if (entry.done) {\n if (void 0 === entry.value) data.append(formFieldPrefix + streamId, \"C\");\n else try {\n var partJSON = JSON.stringify(entry.value, resolveToJSON);\n data.append(formFieldPrefix + streamId, \"C\" + partJSON);\n } catch (x) {\n reject(x);\n return;\n }\n pendingParts--;\n 0 === pendingParts && resolve(data);\n } else try {\n var _partJSON = JSON.stringify(entry.value, resolveToJSON);\n data.append(formFieldPrefix + streamId, _partJSON);\n iterator.next().then(progress, reject);\n } catch (x$0) {\n reject(x$0);\n }\n }\n null === formData && (formData = new FormData());\n var data = formData;\n pendingParts++;\n var streamId = nextPartId++;\n iterable = iterable === iterator;\n iterator.next().then(progress, reject);\n return \"$\" + (iterable ? \"x\" : \"X\") + streamId.toString(16);\n }\n function resolveToJSON(key, value) {\n var originalValue = this[key];\n \"object\" !== typeof originalValue || originalValue === value || originalValue instanceof Date || (\"Object\" !== objectName(originalValue) ? console.error(\"Only plain objects can be passed to Server Functions from the Client. %s objects are not supported.%s\", objectName(originalValue), describeObjectForErrorMessage(this, key)) : console.error(\"Only plain objects can be passed to Server Functions from the Client. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.%s\", describeObjectForErrorMessage(this, key)));\n if (null === value) return null;\n if (\"object\" === typeof value) {\n switch(value.$$typeof){\n case REACT_ELEMENT_TYPE:\n if (void 0 !== temporaryReferences && -1 === key.indexOf(\":\")) {\n var parentReference = writtenObjects.get(this);\n if (void 0 !== parentReference) return temporaryReferences.set(parentReference + \":\" + key, value), \"$T\";\n }\n throw Error(\"React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.\" + describeObjectForErrorMessage(this, key));\n case REACT_LAZY_TYPE:\n originalValue = value._payload;\n var init = value._init;\n null === formData && (formData = new FormData());\n pendingParts++;\n try {\n parentReference = init(originalValue);\n var lazyId = nextPartId++, partJSON = serializeModel(parentReference, lazyId);\n formData.append(formFieldPrefix + lazyId, partJSON);\n return \"$\" + lazyId.toString(16);\n } catch (x) {\n if (\"object\" === typeof x && null !== x && \"function\" === typeof x.then) {\n pendingParts++;\n var _lazyId = nextPartId++;\n parentReference = function() {\n try {\n var _partJSON2 = serializeModel(value, _lazyId), _data = formData;\n _data.append(formFieldPrefix + _lazyId, _partJSON2);\n pendingParts--;\n 0 === pendingParts && resolve(_data);\n } catch (reason) {\n reject(reason);\n }\n };\n x.then(parentReference, parentReference);\n return \"$\" + _lazyId.toString(16);\n }\n reject(x);\n return null;\n } finally{\n pendingParts--;\n }\n }\n if (\"function\" === typeof value.then) {\n null === formData && (formData = new FormData());\n pendingParts++;\n var promiseId = nextPartId++;\n value.then(function(partValue) {\n try {\n var _partJSON3 = serializeModel(partValue, promiseId);\n partValue = formData;\n partValue.append(formFieldPrefix + promiseId, _partJSON3);\n pendingParts--;\n 0 === pendingParts && resolve(partValue);\n } catch (reason) {\n reject(reason);\n }\n }, reject);\n return \"$@\" + promiseId.toString(16);\n }\n parentReference = writtenObjects.get(value);\n if (void 0 !== parentReference) if (modelRoot === value) modelRoot = null;\n else return parentReference;\n else -1 === key.indexOf(\":\") && (parentReference = writtenObjects.get(this), void 0 !== parentReference && (parentReference = parentReference + \":\" + key, writtenObjects.set(value, parentReference), void 0 !== temporaryReferences && temporaryReferences.set(parentReference, value)));\n if (isArrayImpl(value)) return value;\n if (value instanceof FormData) {\n null === formData && (formData = new FormData());\n var _data3 = formData;\n key = nextPartId++;\n var prefix = formFieldPrefix + key + \"_\";\n value.forEach(function(originalValue, originalKey) {\n _data3.append(prefix + originalKey, originalValue);\n });\n return \"$K\" + key.toString(16);\n }\n if (value instanceof Map) return key = nextPartId++, parentReference = serializeModel(Array.from(value), key), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), \"$Q\" + key.toString(16);\n if (value instanceof Set) return key = nextPartId++, parentReference = serializeModel(Array.from(value), key), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), \"$W\" + key.toString(16);\n if (value instanceof ArrayBuffer) return key = new Blob([\n value\n ]), parentReference = nextPartId++, null === formData && (formData = new FormData()), formData.append(formFieldPrefix + parentReference, key), \"$A\" + parentReference.toString(16);\n if (value instanceof Int8Array) return serializeTypedArray(\"O\", value);\n if (value instanceof Uint8Array) return serializeTypedArray(\"o\", value);\n if (value instanceof Uint8ClampedArray) return serializeTypedArray(\"U\", value);\n if (value instanceof Int16Array) return serializeTypedArray(\"S\", value);\n if (value instanceof Uint16Array) return serializeTypedArray(\"s\", value);\n if (value instanceof Int32Array) return serializeTypedArray(\"L\", value);\n if (value instanceof Uint32Array) return serializeTypedArray(\"l\", value);\n if (value instanceof Float32Array) return serializeTypedArray(\"G\", value);\n if (value instanceof Float64Array) return serializeTypedArray(\"g\", value);\n if (value instanceof BigInt64Array) return serializeTypedArray(\"M\", value);\n if (value instanceof BigUint64Array) return serializeTypedArray(\"m\", value);\n if (value instanceof DataView) return serializeTypedArray(\"V\", value);\n if (\"function\" === typeof Blob && value instanceof Blob) return null === formData && (formData = new FormData()), key = nextPartId++, formData.append(formFieldPrefix + key, value), \"$B\" + key.toString(16);\n if (parentReference = getIteratorFn(value)) return parentReference = parentReference.call(value), parentReference === value ? (key = nextPartId++, parentReference = serializeModel(Array.from(parentReference), key), null === formData && (formData = new FormData()), formData.append(formFieldPrefix + key, parentReference), \"$i\" + key.toString(16)) : Array.from(parentReference);\n if (\"function\" === typeof ReadableStream && value instanceof ReadableStream) return serializeReadableStream(value);\n parentReference = value[ASYNC_ITERATOR];\n if (\"function\" === typeof parentReference) return serializeAsyncIterable(value, parentReference.call(value));\n parentReference = getPrototypeOf(value);\n if (parentReference !== ObjectPrototype && (null === parentReference || null !== getPrototypeOf(parentReference))) {\n if (void 0 === temporaryReferences) throw Error(\"Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.\" + describeObjectForErrorMessage(this, key));\n return \"$T\";\n }\n value.$$typeof === REACT_CONTEXT_TYPE ? console.error(\"React Context Providers cannot be passed to Server Functions from the Client.%s\", describeObjectForErrorMessage(this, key)) : \"Object\" !== objectName(value) ? console.error(\"Only plain objects can be passed to Server Functions from the Client. %s objects are not supported.%s\", objectName(value), describeObjectForErrorMessage(this, key)) : isSimpleObject(value) ? Object.getOwnPropertySymbols && (parentReference = Object.getOwnPropertySymbols(value), 0 < parentReference.length && console.error(\"Only plain objects can be passed to Server Functions from the Client. Objects with symbol properties like %s are not supported.%s\", parentReference[0].description, describeObjectForErrorMessage(this, key))) : console.error(\"Only plain objects can be passed to Server Functions from the Client. Classes or other objects with methods are not supported.%s\", describeObjectForErrorMessage(this, key));\n return value;\n }\n if (\"string\" === typeof value) {\n if (\"Z\" === value[value.length - 1] && this[key] instanceof Date) return \"$D\" + value;\n key = \"$\" === value[0] ? \"$\" + value : value;\n return key;\n }\n if (\"boolean\" === typeof value) return value;\n if (\"number\" === typeof value) return serializeNumber(value);\n if (\"undefined\" === typeof value) return \"$undefined\";\n if (\"function\" === typeof value) {\n parentReference = knownServerReferences.get(value);\n if (void 0 !== parentReference) return key = JSON.stringify(parentReference, resolveToJSON), null === formData && (formData = new FormData()), parentReference = nextPartId++, formData.set(formFieldPrefix + parentReference, key), \"$F\" + parentReference.toString(16);\n if (void 0 !== temporaryReferences && -1 === key.indexOf(\":\") && (parentReference = writtenObjects.get(this), void 0 !== parentReference)) return temporaryReferences.set(parentReference + \":\" + key, value), \"$T\";\n throw Error(\"Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.\");\n }\n if (\"symbol\" === typeof value) {\n if (void 0 !== temporaryReferences && -1 === key.indexOf(\":\") && (parentReference = writtenObjects.get(this), void 0 !== parentReference)) return temporaryReferences.set(parentReference + \":\" + key, value), \"$T\";\n throw Error(\"Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.\" + describeObjectForErrorMessage(this, key));\n }\n if (\"bigint\" === typeof value) return \"$n\" + value.toString(10);\n throw Error(\"Type \" + typeof value + \" is not supported as an argument to a Server Function.\");\n }\n function serializeModel(model, id) {\n \"object\" === typeof model && null !== model && (id = \"$\" + id.toString(16), writtenObjects.set(model, id), void 0 !== temporaryReferences && temporaryReferences.set(id, model));\n modelRoot = model;\n return JSON.stringify(model, resolveToJSON);\n }\n var nextPartId = 1, pendingParts = 0, formData = null, writtenObjects = new WeakMap(), modelRoot = root, json = serializeModel(root, 0);\n null === formData ? resolve(json) : (formData.set(formFieldPrefix + \"0\", json), 0 === pendingParts && resolve(formData));\n return function() {\n 0 < pendingParts && (pendingParts = 0, null === formData ? resolve(json) : resolve(formData));\n };\n }\n function encodeFormData(reference) {\n var resolve, reject, thenable = new Promise(function(res, rej) {\n resolve = res;\n reject = rej;\n });\n processReply(reference, \"\", void 0, function(body) {\n if (\"string\" === typeof body) {\n var data = new FormData();\n data.append(\"0\", body);\n body = data;\n }\n thenable.status = \"fulfilled\";\n thenable.value = body;\n resolve(body);\n }, function(e) {\n thenable.status = \"rejected\";\n thenable.reason = e;\n reject(e);\n });\n return thenable;\n }\n function defaultEncodeFormAction(identifierPrefix) {\n var reference = knownServerReferences.get(this);\n if (!reference) throw Error(\"Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.\");\n var data = null;\n if (null !== reference.bound) {\n data = boundCache.get(reference);\n data || (data = encodeFormData(reference), boundCache.set(reference, data));\n if (\"rejected\" === data.status) throw data.reason;\n if (\"fulfilled\" !== data.status) throw data;\n reference = data.value;\n var prefixedData = new FormData();\n reference.forEach(function(value, key) {\n prefixedData.append(\"$ACTION_\" + identifierPrefix + \":\" + key, value);\n });\n data = prefixedData;\n reference = \"$ACTION_REF_\" + identifierPrefix;\n } else reference = \"$ACTION_ID_\" + reference.id;\n return {\n name: reference,\n method: \"POST\",\n encType: \"multipart/form-data\",\n data: data\n };\n }\n function isSignatureEqual(referenceId, numberOfBoundArgs) {\n var reference = knownServerReferences.get(this);\n if (!reference) throw Error(\"Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.\");\n if (reference.id !== referenceId) return !1;\n var boundPromise = reference.bound;\n if (null === boundPromise) return 0 === numberOfBoundArgs;\n switch(boundPromise.status){\n case \"fulfilled\":\n return boundPromise.value.length === numberOfBoundArgs;\n case \"pending\":\n throw boundPromise;\n case \"rejected\":\n throw boundPromise.reason;\n default:\n throw \"string\" !== typeof boundPromise.status && (boundPromise.status = \"pending\", boundPromise.then(function(boundArgs) {\n boundPromise.status = \"fulfilled\";\n boundPromise.value = boundArgs;\n }, function(error) {\n boundPromise.status = \"rejected\";\n boundPromise.reason = error;\n })), boundPromise;\n }\n }\n function createFakeServerFunction(name, filename, sourceMap, line, col, environmentName, innerFunction) {\n name || (name = \"\");\n var encodedName = JSON.stringify(name);\n 1 >= line ? (line = encodedName.length + 7, col = \"s=>({\" + encodedName + \" \".repeat(col < line ? 0 : col - line) + \":(...args) => s(...args)})\\n/* This module is a proxy to a Server Action. Turn on Source Maps to see the server source. */\") : col = \"/* This module is a proxy to a Server Action. Turn on Source Maps to see the server source. */\" + \"\\n\".repeat(line - 2) + \"server=>({\" + encodedName + \":\\n\" + \" \".repeat(1 > col ? 0 : col - 1) + \"(...args) => server(...args)})\";\n filename.startsWith(\"/\") && (filename = \"file://\" + filename);\n sourceMap ? (col += \"\\n//# sourceURL=rsc://React/\" + encodeURIComponent(environmentName) + \"/\" + filename + \"?s\" + fakeServerFunctionIdx++, col += \"\\n//# sourceMappingURL=\" + sourceMap) : filename && (col += \"\\n//# sourceURL=\" + filename);\n try {\n return (0, eval)(col)(innerFunction)[name];\n } catch (x) {\n return innerFunction;\n }\n }\n function registerServerReference(proxy, reference$jscomp$0, encodeFormAction) {\n Object.defineProperties(proxy, {\n $$FORM_ACTION: {\n value: void 0 === encodeFormAction ? defaultEncodeFormAction : function() {\n var reference = knownServerReferences.get(this);\n if (!reference) throw Error(\"Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.\");\n var boundPromise = reference.bound;\n null === boundPromise && (boundPromise = Promise.resolve([]));\n return encodeFormAction(reference.id, boundPromise);\n }\n },\n $$IS_SIGNATURE_EQUAL: {\n value: isSignatureEqual\n },\n bind: {\n value: bind\n }\n });\n knownServerReferences.set(proxy, reference$jscomp$0);\n }\n function bind() {\n var newFn = FunctionBind.apply(this, arguments), reference = knownServerReferences.get(this);\n if (reference) {\n null != arguments[0] && console.error('Cannot bind \"this\" of a Server Action. Pass null or undefined as the first argument to .bind().');\n var args = ArraySlice.call(arguments, 1), boundPromise = null;\n boundPromise = null !== reference.bound ? Promise.resolve(reference.bound).then(function(boundArgs) {\n return boundArgs.concat(args);\n }) : Promise.resolve(args);\n Object.defineProperties(newFn, {\n $$FORM_ACTION: {\n value: this.$$FORM_ACTION\n },\n $$IS_SIGNATURE_EQUAL: {\n value: isSignatureEqual\n },\n bind: {\n value: bind\n }\n });\n knownServerReferences.set(newFn, {\n id: reference.id,\n bound: boundPromise\n });\n }\n return newFn;\n }\n function createBoundServerReference(metaData, callServer, encodeFormAction, findSourceMapURL) {\n function action() {\n var args = Array.prototype.slice.call(arguments);\n return bound ? \"fulfilled\" === bound.status ? callServer(id, bound.value.concat(args)) : Promise.resolve(bound).then(function(boundArgs) {\n return callServer(id, boundArgs.concat(args));\n }) : callServer(id, args);\n }\n var id = metaData.id, bound = metaData.bound, location = metaData.location;\n if (location) {\n var functionName = metaData.name || \"\", filename = location[1], line = location[2];\n location = location[3];\n metaData = metaData.env || \"Server\";\n findSourceMapURL = null == findSourceMapURL ? null : findSourceMapURL(filename, metaData);\n action = createFakeServerFunction(functionName, filename, findSourceMapURL, line, location, metaData, action);\n }\n registerServerReference(action, {\n id: id,\n bound: bound\n }, encodeFormAction);\n return action;\n }\n function parseStackLocation(error) {\n error = error.stack;\n error.startsWith(\"Error: react-stack-top-frame\\n\") && (error = error.slice(29));\n var endOfFirst = error.indexOf(\"\\n\");\n if (-1 !== endOfFirst) {\n var endOfSecond = error.indexOf(\"\\n\", endOfFirst + 1);\n endOfFirst = -1 === endOfSecond ? error.slice(endOfFirst + 1) : error.slice(endOfFirst + 1, endOfSecond);\n } else endOfFirst = error;\n error = v8FrameRegExp.exec(endOfFirst);\n if (!error && (error = jscSpiderMonkeyFrameRegExp.exec(endOfFirst), !error)) return null;\n endOfFirst = error[1] || \"\";\n \"\" === endOfFirst && (endOfFirst = \"\");\n endOfSecond = error[2] || error[5] || \"\";\n \"\" === endOfSecond && (endOfSecond = \"\");\n return [\n endOfFirst,\n endOfSecond,\n +(error[3] || error[6]),\n +(error[4] || error[7])\n ];\n }\n function createServerReference$1(id, callServer, encodeFormAction, findSourceMapURL, functionName) {\n function action() {\n var args = Array.prototype.slice.call(arguments);\n return callServer(id, args);\n }\n var location = parseStackLocation(Error(\"react-stack-top-frame\"));\n if (null !== location) {\n var filename = location[1], line = location[2];\n location = location[3];\n findSourceMapURL = null == findSourceMapURL ? null : findSourceMapURL(filename, \"Client\");\n action = createFakeServerFunction(functionName || \"\", filename, findSourceMapURL, line, location, \"Client\", action);\n }\n registerServerReference(action, {\n id: id,\n bound: null\n }, encodeFormAction);\n return action;\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch(type){\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type) switch(\"number\" === typeof type.tag && console.error(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), type.$$typeof){\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type || (type = innerType.displayName || innerType.name || \"\", type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\");\n return type;\n case REACT_MEMO_TYPE:\n return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || \"Memo\";\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function ReactPromise(status, value, reason, response) {\n this.status = status;\n this.value = value;\n this.reason = reason;\n this._response = response;\n this._debugInfo = null;\n }\n function readChunk(chunk) {\n switch(chunk.status){\n case \"resolved_model\":\n initializeModelChunk(chunk);\n break;\n case \"resolved_module\":\n initializeModuleChunk(chunk);\n }\n switch(chunk.status){\n case \"fulfilled\":\n return chunk.value;\n case \"pending\":\n case \"blocked\":\n throw chunk;\n default:\n throw chunk.reason;\n }\n }\n function createPendingChunk(response) {\n return new ReactPromise(\"pending\", null, null, response);\n }\n function wakeChunk(listeners, value) {\n for(var i = 0; i < listeners.length; i++)(0, listeners[i])(value);\n }\n function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {\n switch(chunk.status){\n case \"fulfilled\":\n wakeChunk(resolveListeners, chunk.value);\n break;\n case \"pending\":\n case \"blocked\":\n if (chunk.value) for(var i = 0; i < resolveListeners.length; i++)chunk.value.push(resolveListeners[i]);\n else chunk.value = resolveListeners;\n if (chunk.reason) {\n if (rejectListeners) for(resolveListeners = 0; resolveListeners < rejectListeners.length; resolveListeners++)chunk.reason.push(rejectListeners[resolveListeners]);\n } else chunk.reason = rejectListeners;\n break;\n case \"rejected\":\n rejectListeners && wakeChunk(rejectListeners, chunk.reason);\n }\n }\n function triggerErrorOnChunk(chunk, error) {\n if (\"pending\" !== chunk.status && \"blocked\" !== chunk.status) chunk.reason.error(error);\n else {\n var listeners = chunk.reason;\n chunk.status = \"rejected\";\n chunk.reason = error;\n null !== listeners && wakeChunk(listeners, error);\n }\n }\n function createResolvedIteratorResultChunk(response, value, done) {\n return new ReactPromise(\"resolved_model\", (done ? '{\"done\":true,\"value\":' : '{\"done\":false,\"value\":') + value + \"}\", null, response);\n }\n function resolveIteratorResultChunk(chunk, value, done) {\n resolveModelChunk(chunk, (done ? '{\"done\":true,\"value\":' : '{\"done\":false,\"value\":') + value + \"}\");\n }\n function resolveModelChunk(chunk, value) {\n if (\"pending\" !== chunk.status) chunk.reason.enqueueModel(value);\n else {\n var resolveListeners = chunk.value, rejectListeners = chunk.reason;\n chunk.status = \"resolved_model\";\n chunk.value = value;\n null !== resolveListeners && (initializeModelChunk(chunk), wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));\n }\n }\n function resolveModuleChunk(chunk, value) {\n if (\"pending\" === chunk.status || \"blocked\" === chunk.status) {\n var resolveListeners = chunk.value, rejectListeners = chunk.reason;\n chunk.status = \"resolved_module\";\n chunk.value = value;\n null !== resolveListeners && (initializeModuleChunk(chunk), wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners));\n }\n }\n function initializeModelChunk(chunk) {\n var prevHandler = initializingHandler;\n initializingHandler = null;\n var resolvedModel = chunk.value;\n chunk.status = \"blocked\";\n chunk.value = null;\n chunk.reason = null;\n try {\n var value = JSON.parse(resolvedModel, chunk._response._fromJSON), resolveListeners = chunk.value;\n null !== resolveListeners && (chunk.value = null, chunk.reason = null, wakeChunk(resolveListeners, value));\n if (null !== initializingHandler) {\n if (initializingHandler.errored) throw initializingHandler.value;\n if (0 < initializingHandler.deps) {\n initializingHandler.value = value;\n initializingHandler.chunk = chunk;\n return;\n }\n }\n chunk.status = \"fulfilled\";\n chunk.value = value;\n } catch (error) {\n chunk.status = \"rejected\", chunk.reason = error;\n } finally{\n initializingHandler = prevHandler;\n }\n }\n function initializeModuleChunk(chunk) {\n try {\n var value = requireModule(chunk.value);\n chunk.status = \"fulfilled\";\n chunk.value = value;\n } catch (error) {\n chunk.status = \"rejected\", chunk.reason = error;\n }\n }\n function reportGlobalError(response, error) {\n response._chunks.forEach(function(chunk) {\n \"pending\" === chunk.status && triggerErrorOnChunk(chunk, error);\n });\n }\n function nullRefGetter() {\n return null;\n }\n function createLazyChunkWrapper(chunk) {\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: chunk,\n _init: readChunk\n };\n chunk = chunk._debugInfo || (chunk._debugInfo = []);\n lazyType._debugInfo = chunk;\n return lazyType;\n }\n function getChunk(response, id) {\n var chunks = response._chunks, chunk = chunks.get(id);\n chunk || (chunk = createPendingChunk(response), chunks.set(id, chunk));\n return chunk;\n }\n function waitForReference(referencedChunk, parentObject, key, response, map, path) {\n function fulfill(value) {\n for(var i = 1; i < path.length; i++){\n for(; value.$$typeof === REACT_LAZY_TYPE;)if (value = value._payload, value === handler.chunk) value = handler.value;\n else if (\"fulfilled\" === value.status) value = value.value;\n else {\n path.splice(0, i - 1);\n value.then(fulfill, reject);\n return;\n }\n value = value[path[i]];\n }\n i = map(response, value, parentObject, key);\n parentObject[key] = i;\n \"\" === key && null === handler.value && (handler.value = i);\n if (parentObject[0] === REACT_ELEMENT_TYPE && \"object\" === typeof handler.value && null !== handler.value && handler.value.$$typeof === REACT_ELEMENT_TYPE) switch(value = handler.value, key){\n case \"3\":\n value.props = i;\n break;\n case \"4\":\n value._owner = i;\n }\n handler.deps--;\n 0 === handler.deps && (i = handler.chunk, null !== i && \"blocked\" === i.status && (value = i.value, i.status = \"fulfilled\", i.value = handler.value, null !== value && wakeChunk(value, handler.value)));\n }\n function reject(error) {\n if (!handler.errored) {\n var blockedValue = handler.value;\n handler.errored = !0;\n handler.value = error;\n var chunk = handler.chunk;\n null !== chunk && \"blocked\" === chunk.status && (\"object\" === typeof blockedValue && null !== blockedValue && blockedValue.$$typeof === REACT_ELEMENT_TYPE && (blockedValue = {\n name: getComponentNameFromType(blockedValue.type) || \"\",\n owner: blockedValue._owner\n }, (chunk._debugInfo || (chunk._debugInfo = [])).push(blockedValue)), triggerErrorOnChunk(chunk, error));\n }\n }\n if (initializingHandler) {\n var handler = initializingHandler;\n handler.deps++;\n } else handler = initializingHandler = {\n parent: null,\n chunk: null,\n value: null,\n deps: 1,\n errored: !1\n };\n referencedChunk.then(fulfill, reject);\n return null;\n }\n function loadServerReference(response, metaData, parentObject, key) {\n if (!response._serverReferenceConfig) return createBoundServerReference(metaData, response._callServer, response._encodeFormAction, response._debugFindSourceMapURL);\n var serverReference = resolveServerReference(response._serverReferenceConfig, metaData.id);\n if (response = preloadModule(serverReference)) metaData.bound && (response = Promise.all([\n response,\n metaData.bound\n ]));\n else if (metaData.bound) response = Promise.resolve(metaData.bound);\n else return requireModule(serverReference);\n if (initializingHandler) {\n var handler = initializingHandler;\n handler.deps++;\n } else handler = initializingHandler = {\n parent: null,\n chunk: null,\n value: null,\n deps: 1,\n errored: !1\n };\n response.then(function() {\n var resolvedValue = requireModule(serverReference);\n if (metaData.bound) {\n var boundArgs = metaData.bound.value.slice(0);\n boundArgs.unshift(null);\n resolvedValue = resolvedValue.bind.apply(resolvedValue, boundArgs);\n }\n parentObject[key] = resolvedValue;\n \"\" === key && null === handler.value && (handler.value = resolvedValue);\n if (parentObject[0] === REACT_ELEMENT_TYPE && \"object\" === typeof handler.value && null !== handler.value && handler.value.$$typeof === REACT_ELEMENT_TYPE) switch(boundArgs = handler.value, key){\n case \"3\":\n boundArgs.props = resolvedValue;\n break;\n case \"4\":\n boundArgs._owner = resolvedValue;\n }\n handler.deps--;\n 0 === handler.deps && (resolvedValue = handler.chunk, null !== resolvedValue && \"blocked\" === resolvedValue.status && (boundArgs = resolvedValue.value, resolvedValue.status = \"fulfilled\", resolvedValue.value = handler.value, null !== boundArgs && wakeChunk(boundArgs, handler.value)));\n }, function(error) {\n if (!handler.errored) {\n var blockedValue = handler.value;\n handler.errored = !0;\n handler.value = error;\n var chunk = handler.chunk;\n null !== chunk && \"blocked\" === chunk.status && (\"object\" === typeof blockedValue && null !== blockedValue && blockedValue.$$typeof === REACT_ELEMENT_TYPE && (blockedValue = {\n name: getComponentNameFromType(blockedValue.type) || \"\",\n owner: blockedValue._owner\n }, (chunk._debugInfo || (chunk._debugInfo = [])).push(blockedValue)), triggerErrorOnChunk(chunk, error));\n }\n });\n return null;\n }\n function getOutlinedModel(response, reference, parentObject, key, map) {\n reference = reference.split(\":\");\n var id = parseInt(reference[0], 16);\n id = getChunk(response, id);\n switch(id.status){\n case \"resolved_model\":\n initializeModelChunk(id);\n break;\n case \"resolved_module\":\n initializeModuleChunk(id);\n }\n switch(id.status){\n case \"fulfilled\":\n for(var value = id.value, i = 1; i < reference.length; i++){\n for(; value.$$typeof === REACT_LAZY_TYPE;)if (value = value._payload, \"fulfilled\" === value.status) value = value.value;\n else return waitForReference(value, parentObject, key, response, map, reference.slice(i - 1));\n value = value[reference[i]];\n }\n response = map(response, value, parentObject, key);\n id._debugInfo && (\"object\" !== typeof response || null === response || !isArrayImpl(response) && \"function\" !== typeof response[ASYNC_ITERATOR] && response.$$typeof !== REACT_ELEMENT_TYPE || response._debugInfo || Object.defineProperty(response, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: id._debugInfo\n }));\n return response;\n case \"pending\":\n case \"blocked\":\n return waitForReference(id, parentObject, key, response, map, reference);\n default:\n return initializingHandler ? (initializingHandler.errored = !0, initializingHandler.value = id.reason) : initializingHandler = {\n parent: null,\n chunk: null,\n value: id.reason,\n deps: 0,\n errored: !0\n }, null;\n }\n }\n function createMap(response, model) {\n return new Map(model);\n }\n function createSet(response, model) {\n return new Set(model);\n }\n function createBlob(response, model) {\n return new Blob(model.slice(1), {\n type: model[0]\n });\n }\n function createFormData(response, model) {\n response = new FormData();\n for(var i = 0; i < model.length; i++)response.append(model[i][0], model[i][1]);\n return response;\n }\n function extractIterator(response, model) {\n return model[Symbol.iterator]();\n }\n function createModel(response, model) {\n return model;\n }\n function parseModelString(response, parentObject, key, value) {\n if (\"$\" === value[0]) {\n if (\"$\" === value) return null !== initializingHandler && \"0\" === key && (initializingHandler = {\n parent: initializingHandler,\n chunk: null,\n value: null,\n deps: 0,\n errored: !1\n }), REACT_ELEMENT_TYPE;\n switch(value[1]){\n case \"$\":\n return value.slice(1);\n case \"L\":\n return parentObject = parseInt(value.slice(2), 16), response = getChunk(response, parentObject), createLazyChunkWrapper(response);\n case \"@\":\n if (2 === value.length) return new Promise(function() {});\n parentObject = parseInt(value.slice(2), 16);\n return getChunk(response, parentObject);\n case \"S\":\n return Symbol.for(value.slice(2));\n case \"F\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, loadServerReference);\n case \"T\":\n parentObject = \"$\" + value.slice(2);\n response = response._tempRefs;\n if (null == response) throw Error(\"Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.\");\n return response.get(parentObject);\n case \"Q\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createMap);\n case \"W\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createSet);\n case \"B\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createBlob);\n case \"K\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, createFormData);\n case \"Z\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, resolveErrorDev);\n case \"i\":\n return value = value.slice(2), getOutlinedModel(response, value, parentObject, key, extractIterator);\n case \"I\":\n return Infinity;\n case \"-\":\n return \"$-0\" === value ? -0 : -Infinity;\n case \"N\":\n return NaN;\n case \"u\":\n return;\n case \"D\":\n return new Date(Date.parse(value.slice(2)));\n case \"n\":\n return BigInt(value.slice(2));\n case \"E\":\n try {\n return (0, eval)(value.slice(2));\n } catch (x) {\n return function() {};\n }\n case \"Y\":\n return Object.defineProperty(parentObject, key, {\n get: function() {\n return \"This object has been omitted by React in the console log to avoid sending too much data from the server. Try logging smaller or more specific objects.\";\n },\n enumerable: !0,\n configurable: !1\n }), null;\n default:\n return value = value.slice(1), getOutlinedModel(response, value, parentObject, key, createModel);\n }\n }\n return value;\n }\n function missingCall() {\n throw Error('Trying to call a function from \"use server\" but the callServer option was not implemented in your router runtime.');\n }\n function ResponseInstance(bundlerConfig, serverReferenceConfig, moduleLoading, callServer, encodeFormAction, nonce, temporaryReferences, findSourceMapURL, replayConsole, environmentName) {\n var chunks = new Map();\n this._bundlerConfig = bundlerConfig;\n this._serverReferenceConfig = serverReferenceConfig;\n this._moduleLoading = moduleLoading;\n this._callServer = void 0 !== callServer ? callServer : missingCall;\n this._encodeFormAction = encodeFormAction;\n this._nonce = nonce;\n this._chunks = chunks;\n this._stringDecoder = new TextDecoder();\n this._fromJSON = null;\n this._rowLength = this._rowTag = this._rowID = this._rowState = 0;\n this._buffer = [];\n this._tempRefs = temporaryReferences;\n this._debugRootOwner = bundlerConfig = void 0 === ReactSharedInteralsServer || null === ReactSharedInteralsServer.A ? null : ReactSharedInteralsServer.A.getOwner();\n this._debugRootStack = null !== bundlerConfig ? Error(\"react-stack-top-frame\") : null;\n this._debugFindSourceMapURL = findSourceMapURL;\n this._replayConsole = replayConsole;\n this._rootEnvironmentName = void 0 === environmentName ? \"Server\" : environmentName;\n this._fromJSON = createFromJSONCallback(this);\n }\n function resolveModel(response, id, model) {\n var chunks = response._chunks, chunk = chunks.get(id);\n chunk ? resolveModelChunk(chunk, model) : chunks.set(id, new ReactPromise(\"resolved_model\", model, null, response));\n }\n function resolveText(response, id, text) {\n var chunks = response._chunks, chunk = chunks.get(id);\n chunk && \"pending\" !== chunk.status ? chunk.reason.enqueueValue(text) : chunks.set(id, new ReactPromise(\"fulfilled\", text, null, response));\n }\n function resolveBuffer(response, id, buffer) {\n var chunks = response._chunks, chunk = chunks.get(id);\n chunk && \"pending\" !== chunk.status ? chunk.reason.enqueueValue(buffer) : chunks.set(id, new ReactPromise(\"fulfilled\", buffer, null, response));\n }\n function resolveModule(response, id, model) {\n var chunks = response._chunks, chunk = chunks.get(id);\n model = JSON.parse(model, response._fromJSON);\n var clientReference = resolveClientReference(response._bundlerConfig, model);\n prepareDestinationWithChunks(response._moduleLoading, model[1], response._nonce);\n if (model = preloadModule(clientReference)) {\n if (chunk) {\n var blockedChunk = chunk;\n blockedChunk.status = \"blocked\";\n } else blockedChunk = new ReactPromise(\"blocked\", null, null, response), chunks.set(id, blockedChunk);\n model.then(function() {\n return resolveModuleChunk(blockedChunk, clientReference);\n }, function(error) {\n return triggerErrorOnChunk(blockedChunk, error);\n });\n } else chunk ? resolveModuleChunk(chunk, clientReference) : chunks.set(id, new ReactPromise(\"resolved_module\", clientReference, null, response));\n }\n function resolveStream(response, id, stream, controller) {\n var chunks = response._chunks, chunk = chunks.get(id);\n chunk ? \"pending\" === chunk.status && (response = chunk.value, chunk.status = \"fulfilled\", chunk.value = stream, chunk.reason = controller, null !== response && wakeChunk(response, chunk.value)) : chunks.set(id, new ReactPromise(\"fulfilled\", stream, controller, response));\n }\n function startReadableStream(response, id, type) {\n var controller = null;\n type = new ReadableStream({\n type: type,\n start: function(c) {\n controller = c;\n }\n });\n var previousBlockedChunk = null;\n resolveStream(response, id, type, {\n enqueueValue: function(value) {\n null === previousBlockedChunk ? controller.enqueue(value) : previousBlockedChunk.then(function() {\n controller.enqueue(value);\n });\n },\n enqueueModel: function(json) {\n if (null === previousBlockedChunk) {\n var chunk = new ReactPromise(\"resolved_model\", json, null, response);\n initializeModelChunk(chunk);\n \"fulfilled\" === chunk.status ? controller.enqueue(chunk.value) : (chunk.then(function(v) {\n return controller.enqueue(v);\n }, function(e) {\n return controller.error(e);\n }), previousBlockedChunk = chunk);\n } else {\n chunk = previousBlockedChunk;\n var _chunk3 = createPendingChunk(response);\n _chunk3.then(function(v) {\n return controller.enqueue(v);\n }, function(e) {\n return controller.error(e);\n });\n previousBlockedChunk = _chunk3;\n chunk.then(function() {\n previousBlockedChunk === _chunk3 && (previousBlockedChunk = null);\n resolveModelChunk(_chunk3, json);\n });\n }\n },\n close: function() {\n if (null === previousBlockedChunk) controller.close();\n else {\n var blockedChunk = previousBlockedChunk;\n previousBlockedChunk = null;\n blockedChunk.then(function() {\n return controller.close();\n });\n }\n },\n error: function(error) {\n if (null === previousBlockedChunk) controller.error(error);\n else {\n var blockedChunk = previousBlockedChunk;\n previousBlockedChunk = null;\n blockedChunk.then(function() {\n return controller.error(error);\n });\n }\n }\n });\n }\n function asyncIterator() {\n return this;\n }\n function createIterator(next) {\n next = {\n next: next\n };\n next[ASYNC_ITERATOR] = asyncIterator;\n return next;\n }\n function startAsyncIterable(response, id, iterator) {\n var buffer = [], closed = !1, nextWriteIndex = 0, iterable = _defineProperty({}, ASYNC_ITERATOR, function() {\n var nextReadIndex = 0;\n return createIterator(function(arg) {\n if (void 0 !== arg) throw Error(\"Values cannot be passed to next() of AsyncIterables passed to Client Components.\");\n if (nextReadIndex === buffer.length) {\n if (closed) return new ReactPromise(\"fulfilled\", {\n done: !0,\n value: void 0\n }, null, response);\n buffer[nextReadIndex] = createPendingChunk(response);\n }\n return buffer[nextReadIndex++];\n });\n });\n resolveStream(response, id, iterator ? iterable[ASYNC_ITERATOR]() : iterable, {\n enqueueValue: function(value) {\n if (nextWriteIndex === buffer.length) buffer[nextWriteIndex] = new ReactPromise(\"fulfilled\", {\n done: !1,\n value: value\n }, null, response);\n else {\n var chunk = buffer[nextWriteIndex], resolveListeners = chunk.value, rejectListeners = chunk.reason;\n chunk.status = \"fulfilled\";\n chunk.value = {\n done: !1,\n value: value\n };\n null !== resolveListeners && wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners);\n }\n nextWriteIndex++;\n },\n enqueueModel: function(value) {\n nextWriteIndex === buffer.length ? buffer[nextWriteIndex] = createResolvedIteratorResultChunk(response, value, !1) : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !1);\n nextWriteIndex++;\n },\n close: function(value) {\n closed = !0;\n nextWriteIndex === buffer.length ? buffer[nextWriteIndex] = createResolvedIteratorResultChunk(response, value, !0) : resolveIteratorResultChunk(buffer[nextWriteIndex], value, !0);\n for(nextWriteIndex++; nextWriteIndex < buffer.length;)resolveIteratorResultChunk(buffer[nextWriteIndex++], '\"$undefined\"', !0);\n },\n error: function(error) {\n closed = !0;\n for(nextWriteIndex === buffer.length && (buffer[nextWriteIndex] = createPendingChunk(response)); nextWriteIndex < buffer.length;)triggerErrorOnChunk(buffer[nextWriteIndex++], error);\n }\n });\n }\n function stopStream(response, id, row) {\n (response = response._chunks.get(id)) && \"fulfilled\" === response.status && response.reason.close(\"\" === row ? '\"$undefined\"' : row);\n }\n function resolveErrorDev(response, errorInfo) {\n var env = errorInfo.env;\n errorInfo = buildFakeCallStack(response, errorInfo.stack, env, Error.bind(null, errorInfo.message || \"An error occurred in the Server Components render but no message was provided\"));\n response = getRootTask(response, env);\n response = null != response ? response.run(errorInfo) : errorInfo();\n response.environmentName = env;\n return response;\n }\n function resolveHint(response, code, model) {\n response = JSON.parse(model, response._fromJSON);\n model = ReactDOMSharedInternals.d;\n switch(code){\n case \"D\":\n model.D(response);\n break;\n case \"C\":\n \"string\" === typeof response ? model.C(response) : model.C(response[0], response[1]);\n break;\n case \"L\":\n code = response[0];\n var as = response[1];\n 3 === response.length ? model.L(code, as, response[2]) : model.L(code, as);\n break;\n case \"m\":\n \"string\" === typeof response ? model.m(response) : model.m(response[0], response[1]);\n break;\n case \"X\":\n \"string\" === typeof response ? model.X(response) : model.X(response[0], response[1]);\n break;\n case \"S\":\n \"string\" === typeof response ? model.S(response) : model.S(response[0], 0 === response[1] ? void 0 : response[1], 3 === response.length ? response[2] : void 0);\n break;\n case \"M\":\n \"string\" === typeof response ? model.M(response) : model.M(response[0], response[1]);\n }\n }\n function createFakeFunction(name, filename, sourceMap, line, col, environmentName) {\n name || (name = \"\");\n var encodedName = JSON.stringify(name);\n 1 >= line ? (line = encodedName.length + 7, col = \"({\" + encodedName + \":_=>\" + \" \".repeat(col < line ? 0 : col - line) + \"_()})\\n/* This module was rendered by a Server Component. Turn on Source Maps to see the server source. */\") : col = \"/* This module was rendered by a Server Component. Turn on Source Maps to see the server source. */\" + \"\\n\".repeat(line - 2) + \"({\" + encodedName + \":_=>\\n\" + \" \".repeat(1 > col ? 0 : col - 1) + \"_()})\";\n filename.startsWith(\"/\") && (filename = \"file://\" + filename);\n sourceMap ? (col += \"\\n//# sourceURL=rsc://React/\" + encodeURIComponent(environmentName) + \"/\" + encodeURI(filename) + \"?\" + fakeFunctionIdx++, col += \"\\n//# sourceMappingURL=\" + sourceMap) : col = filename ? col + (\"\\n//# sourceURL=\" + encodeURI(filename)) : col + \"\\n//# sourceURL=\";\n try {\n var fn = (0, eval)(col)[name];\n } catch (x) {\n fn = function(_) {\n return _();\n };\n }\n return fn;\n }\n function buildFakeCallStack(response, stack, environmentName, innerCall) {\n for(var i = 0; i < stack.length; i++){\n var frame = stack[i], frameKey = frame.join(\"-\") + \"-\" + environmentName, fn = fakeFunctionCache.get(frameKey);\n if (void 0 === fn) {\n fn = frame[0];\n var filename = frame[1], line = frame[2];\n frame = frame[3];\n var findSourceMapURL = response._debugFindSourceMapURL;\n findSourceMapURL = findSourceMapURL ? findSourceMapURL(filename, environmentName) : null;\n fn = createFakeFunction(fn, filename, findSourceMapURL, line, frame, environmentName);\n fakeFunctionCache.set(frameKey, fn);\n }\n innerCall = fn.bind(null, innerCall);\n }\n return innerCall;\n }\n function getRootTask(response, childEnvironmentName) {\n var rootTask = response._debugRootTask;\n return rootTask ? response._rootEnvironmentName !== childEnvironmentName ? (response = console.createTask.bind(console, '\"use ' + childEnvironmentName.toLowerCase() + '\"'), rootTask.run(response)) : rootTask : null;\n }\n function fakeJSXCallSite() {\n return Error(\"react-stack-top-frame\");\n }\n function initializeFakeStack(response, debugInfo) {\n void 0 === debugInfo.debugStack && (null != debugInfo.stack && (debugInfo.debugStack = createFakeJSXCallStackInDEV(response, debugInfo.stack, null == debugInfo.env ? \"\" : debugInfo.env)), null != debugInfo.owner && initializeFakeStack(response, debugInfo.owner));\n }\n function resolveDebugInfo(response, id, debugInfo) {\n null === debugInfo.owner && null != response._debugRootOwner ? (debugInfo.owner = response._debugRootOwner, debugInfo.debugStack = response._debugRootStack) : initializeFakeStack(response, debugInfo);\n response = getChunk(response, id);\n (response._debugInfo || (response._debugInfo = [])).push(debugInfo);\n }\n function getCurrentStackInDEV() {\n return \"\";\n }\n function resolveConsoleEntry(response, value) {\n if (response._replayConsole) {\n var payload = JSON.parse(value, response._fromJSON);\n value = payload[0];\n var stackTrace = payload[1], owner = payload[2], env = payload[3];\n payload = payload.slice(4);\n replayConsoleWithCallStackInDEV(response, value, stackTrace, owner, env, payload);\n }\n }\n function mergeBuffer(buffer, lastChunk) {\n for(var l = buffer.length, byteLength = lastChunk.length, i = 0; i < l; i++)byteLength += buffer[i].byteLength;\n byteLength = new Uint8Array(byteLength);\n for(var _i2 = i = 0; _i2 < l; _i2++){\n var chunk = buffer[_i2];\n byteLength.set(chunk, i);\n i += chunk.byteLength;\n }\n byteLength.set(lastChunk, i);\n return byteLength;\n }\n function resolveTypedArray(response, id, buffer, lastChunk, constructor, bytesPerElement) {\n buffer = 0 === buffer.length && 0 === lastChunk.byteOffset % bytesPerElement ? lastChunk : mergeBuffer(buffer, lastChunk);\n constructor = new constructor(buffer.buffer, buffer.byteOffset, buffer.byteLength / bytesPerElement);\n resolveBuffer(response, id, constructor);\n }\n function processFullBinaryRow(response, id, tag, buffer, chunk) {\n switch(tag){\n case 65:\n resolveBuffer(response, id, mergeBuffer(buffer, chunk).buffer);\n return;\n case 79:\n resolveTypedArray(response, id, buffer, chunk, Int8Array, 1);\n return;\n case 111:\n resolveBuffer(response, id, 0 === buffer.length ? chunk : mergeBuffer(buffer, chunk));\n return;\n case 85:\n resolveTypedArray(response, id, buffer, chunk, Uint8ClampedArray, 1);\n return;\n case 83:\n resolveTypedArray(response, id, buffer, chunk, Int16Array, 2);\n return;\n case 115:\n resolveTypedArray(response, id, buffer, chunk, Uint16Array, 2);\n return;\n case 76:\n resolveTypedArray(response, id, buffer, chunk, Int32Array, 4);\n return;\n case 108:\n resolveTypedArray(response, id, buffer, chunk, Uint32Array, 4);\n return;\n case 71:\n resolveTypedArray(response, id, buffer, chunk, Float32Array, 4);\n return;\n case 103:\n resolveTypedArray(response, id, buffer, chunk, Float64Array, 8);\n return;\n case 77:\n resolveTypedArray(response, id, buffer, chunk, BigInt64Array, 8);\n return;\n case 109:\n resolveTypedArray(response, id, buffer, chunk, BigUint64Array, 8);\n return;\n case 86:\n resolveTypedArray(response, id, buffer, chunk, DataView, 1);\n return;\n }\n for(var stringDecoder = response._stringDecoder, row = \"\", i = 0; i < buffer.length; i++)row += stringDecoder.decode(buffer[i], decoderOptions);\n row += stringDecoder.decode(chunk);\n processFullStringRow(response, id, tag, row);\n }\n function processFullStringRow(response, id, tag, row) {\n switch(tag){\n case 73:\n resolveModule(response, id, row);\n break;\n case 72:\n resolveHint(response, row[0], row.slice(1));\n break;\n case 69:\n row = JSON.parse(row);\n tag = resolveErrorDev(response, row);\n tag.digest = row.digest;\n row = response._chunks;\n var chunk = row.get(id);\n chunk ? triggerErrorOnChunk(chunk, tag) : row.set(id, new ReactPromise(\"rejected\", null, tag, response));\n break;\n case 84:\n resolveText(response, id, row);\n break;\n case 68:\n tag = new ReactPromise(\"resolved_model\", row, null, response);\n initializeModelChunk(tag);\n \"fulfilled\" === tag.status ? resolveDebugInfo(response, id, tag.value) : tag.then(function(v) {\n return resolveDebugInfo(response, id, v);\n }, function() {});\n break;\n case 87:\n resolveConsoleEntry(response, row);\n break;\n case 82:\n startReadableStream(response, id, void 0);\n break;\n case 114:\n startReadableStream(response, id, \"bytes\");\n break;\n case 88:\n startAsyncIterable(response, id, !1);\n break;\n case 120:\n startAsyncIterable(response, id, !0);\n break;\n case 67:\n stopStream(response, id, row);\n break;\n default:\n resolveModel(response, id, row);\n }\n }\n function createFromJSONCallback(response) {\n return function(key, value) {\n if (\"string\" === typeof value) return parseModelString(response, this, key, value);\n if (\"object\" === typeof value && null !== value) {\n if (value[0] === REACT_ELEMENT_TYPE) if (key = value[4], value = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: value[1],\n key: value[2],\n props: value[3],\n _owner: null === key ? response._debugRootOwner : key\n }, Object.defineProperty(value, \"ref\", {\n enumerable: !1,\n get: nullRefGetter\n }), value._store = {}, Object.defineProperty(value._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 1\n }), Object.defineProperty(value, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n }), null !== initializingHandler) {\n var handler = initializingHandler;\n initializingHandler = handler.parent;\n handler.errored ? (key = new ReactPromise(\"rejected\", null, handler.value, response), value = {\n name: getComponentNameFromType(value.type) || \"\",\n owner: value._owner\n }, key._debugInfo = [\n value\n ], value = createLazyChunkWrapper(key)) : 0 < handler.deps && (key = new ReactPromise(\"blocked\", null, null, response), handler.value = value, handler.chunk = key, value = Object.freeze.bind(Object, value.props), key.then(value, value), value = createLazyChunkWrapper(key));\n } else Object.freeze(value.props);\n return value;\n }\n return value;\n };\n }\n function noServerCall() {\n throw Error(\"Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.\");\n }\n function createResponseFromOptions(options) {\n return new ResponseInstance(options.serverConsumerManifest.moduleMap, options.serverConsumerManifest.serverModuleMap, options.serverConsumerManifest.moduleLoading, noServerCall, options.encodeFormAction, \"string\" === typeof options.nonce ? options.nonce : void 0, options && options.temporaryReferences ? options.temporaryReferences : void 0, options && options.findSourceMapURL ? options.findSourceMapURL : void 0, options ? !0 === options.replayConsoleLogs : !1, options && options.environmentName ? options.environmentName : void 0);\n }\n function startReadingFromStream(response, stream) {\n function progress(_ref) {\n var value = _ref.value;\n if (_ref.done) reportGlobalError(response, Error(\"Connection closed.\"));\n else {\n var i = 0, rowState = response._rowState;\n _ref = response._rowID;\n for(var rowTag = response._rowTag, rowLength = response._rowLength, buffer = response._buffer, chunkLength = value.length; i < chunkLength;){\n var lastIdx = -1;\n switch(rowState){\n case 0:\n lastIdx = value[i++];\n 58 === lastIdx ? rowState = 1 : _ref = _ref << 4 | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48);\n continue;\n case 1:\n rowState = value[i];\n 84 === rowState || 65 === rowState || 79 === rowState || 111 === rowState || 85 === rowState || 83 === rowState || 115 === rowState || 76 === rowState || 108 === rowState || 71 === rowState || 103 === rowState || 77 === rowState || 109 === rowState || 86 === rowState ? (rowTag = rowState, rowState = 2, i++) : 64 < rowState && 91 > rowState || 35 === rowState || 114 === rowState || 120 === rowState ? (rowTag = rowState, rowState = 3, i++) : (rowTag = 0, rowState = 3);\n continue;\n case 2:\n lastIdx = value[i++];\n 44 === lastIdx ? rowState = 4 : rowLength = rowLength << 4 | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48);\n continue;\n case 3:\n lastIdx = value.indexOf(10, i);\n break;\n case 4:\n lastIdx = i + rowLength, lastIdx > value.length && (lastIdx = -1);\n }\n var offset = value.byteOffset + i;\n if (-1 < lastIdx) rowLength = new Uint8Array(value.buffer, offset, lastIdx - i), processFullBinaryRow(response, _ref, rowTag, buffer, rowLength), i = lastIdx, 3 === rowState && i++, rowLength = _ref = rowTag = rowState = 0, buffer.length = 0;\n else {\n value = new Uint8Array(value.buffer, offset, value.byteLength - i);\n buffer.push(value);\n rowLength -= value.byteLength;\n break;\n }\n }\n response._rowState = rowState;\n response._rowID = _ref;\n response._rowTag = rowTag;\n response._rowLength = rowLength;\n return reader.read().then(progress).catch(error);\n }\n }\n function error(e) {\n reportGlobalError(response, e);\n }\n var reader = stream.getReader();\n reader.read().then(progress).catch(error);\n }\n var ReactDOM = __webpack_require__(/*! react-dom */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js\"), React = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js\"), decoderOptions = {\n stream: !0\n }, bind$1 = Function.prototype.bind, chunkCache = new Map(), ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"), REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"), REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"), REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"), REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"), REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"), REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"), REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"), REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"), REACT_MEMO_TYPE = Symbol.for(\"react.memo\"), REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, ASYNC_ITERATOR = Symbol.asyncIterator, isArrayImpl = Array.isArray, getPrototypeOf = Object.getPrototypeOf, jsxPropsParents = new WeakMap(), jsxChildrenParents = new WeakMap(), CLIENT_REFERENCE_TAG = Symbol.for(\"react.client.reference\"), ObjectPrototype = Object.prototype, knownServerReferences = new WeakMap(), boundCache = new WeakMap(), fakeServerFunctionIdx = 0, FunctionBind = Function.prototype.bind, ArraySlice = Array.prototype.slice, v8FrameRegExp = /^ {3} at (?:(.+) \\((.+):(\\d+):(\\d+)\\)|(?:async )?(.+):(\\d+):(\\d+))$/, jscSpiderMonkeyFrameRegExp = /(?:(.*)@)?(.*):(\\d+):(\\d+)/, REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\n new (\"function\" === typeof WeakMap ? WeakMap : Map)();\n var ReactSharedInteralsServer = React.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE || ReactSharedInteralsServer;\n ReactPromise.prototype = Object.create(Promise.prototype);\n ReactPromise.prototype.then = function(resolve, reject) {\n switch(this.status){\n case \"resolved_model\":\n initializeModelChunk(this);\n break;\n case \"resolved_module\":\n initializeModuleChunk(this);\n }\n switch(this.status){\n case \"fulfilled\":\n resolve(this.value);\n break;\n case \"pending\":\n case \"blocked\":\n resolve && (null === this.value && (this.value = []), this.value.push(resolve));\n reject && (null === this.reason && (this.reason = []), this.reason.push(reject));\n break;\n default:\n reject && reject(this.reason);\n }\n };\n var initializingHandler = null, fakeFunctionCache = new Map(), fakeFunctionIdx = 0, createFakeJSXCallStack = {\n \"react-stack-bottom-frame\": function(response, stack, environmentName) {\n return buildFakeCallStack(response, stack, environmentName, fakeJSXCallSite)();\n }\n }, createFakeJSXCallStackInDEV = createFakeJSXCallStack[\"react-stack-bottom-frame\"].bind(createFakeJSXCallStack), replayConsoleWithCallStack = {\n \"react-stack-bottom-frame\": function(response, methodName, stackTrace, owner, env, args) {\n var prevStack = ReactSharedInternals.getCurrentStack;\n ReactSharedInternals.getCurrentStack = getCurrentStackInDEV;\n try {\n a: {\n var offset = 0;\n switch(methodName){\n case \"dir\":\n case \"dirxml\":\n case \"groupEnd\":\n case \"table\":\n var JSCompiler_inline_result = bind$1.apply(console[methodName], [\n console\n ].concat(args));\n break a;\n case \"assert\":\n offset = 1;\n }\n var newArgs = args.slice(0);\n \"string\" === typeof newArgs[offset] ? newArgs.splice(offset, 1, \"\\u001b[0m\\u001b[7m%c%s\\u001b[0m%c \" + newArgs[offset], \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\", \" \" + env + \" \", \"\") : newArgs.splice(offset, 0, \"\\u001b[0m\\u001b[7m%c%s\\u001b[0m%c \", \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\", \" \" + env + \" \", \"\");\n newArgs.unshift(console);\n JSCompiler_inline_result = bind$1.apply(console[methodName], newArgs);\n }\n var callStack = buildFakeCallStack(response, stackTrace, env, JSCompiler_inline_result);\n null != owner && initializeFakeStack(response, owner);\n var rootTask = getRootTask(response, env);\n null != rootTask ? rootTask.run(callStack) : callStack();\n } finally{\n ReactSharedInternals.getCurrentStack = prevStack;\n }\n }\n }, replayConsoleWithCallStackInDEV = replayConsoleWithCallStack[\"react-stack-bottom-frame\"].bind(replayConsoleWithCallStack);\n exports.createFromFetch = function(promiseForResponse, options) {\n var response = createResponseFromOptions(options);\n promiseForResponse.then(function(r) {\n startReadingFromStream(response, r.body);\n }, function(e) {\n reportGlobalError(response, e);\n });\n return getChunk(response, 0);\n };\n exports.createFromReadableStream = function(stream, options) {\n options = createResponseFromOptions(options);\n startReadingFromStream(options, stream);\n return getChunk(options, 0);\n };\n exports.createServerReference = function(id) {\n return createServerReference$1(id, noServerCall);\n };\n exports.createTemporaryReferenceSet = function() {\n return new Map();\n };\n exports.encodeReply = function(value, options) {\n return new Promise(function(resolve, reject) {\n var abort = processReply(value, \"\", options && options.temporaryReferences ? options.temporaryReferences : void 0, resolve, reject);\n if (options && options.signal) {\n var signal = options.signal;\n if (signal.aborted) abort(signal.reason);\n else {\n var listener = function() {\n abort(signal.reason);\n signal.removeEventListener(\"abort\", listener);\n };\n signal.addEventListener(\"abort\", listener);\n }\n }\n });\n };\n}();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXNlcnZlci1kb20td2VicGFjay9janMvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC5lZGdlLmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztDQVFDLEdBRVk7QUFDYixLQWtDUyxJQWpDUDtJQUNFLFNBQVNBLGdCQUFnQkMsR0FBRyxFQUFFQyxHQUFHLEVBQUVDLEtBQUs7UUFDdENELE9BQU9ELE1BQ0hHLE9BQU9DLGNBQWMsQ0FBQ0osS0FBS0MsS0FBSztZQUM5QkMsT0FBT0E7WUFDUEcsWUFBWSxDQUFDO1lBQ2JDLGNBQWMsQ0FBQztZQUNmQyxVQUFVLENBQUM7UUFDYixLQUNDUCxHQUFHLENBQUNDLElBQUksR0FBR0M7UUFDaEIsT0FBT0Y7SUFDVDtJQUNBLFNBQVNRLHVCQUF1QkMsYUFBYSxFQUFFQyxRQUFRO1FBQ3JELElBQUlELGVBQWU7WUFDakIsSUFBSUUsZ0JBQWdCRixhQUFhLENBQUNDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDOUMsSUFBS0QsZ0JBQWdCRSxpQkFBaUJBLGFBQWEsQ0FBQ0QsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUM5REMsZ0JBQWdCRixjQUFjRyxJQUFJO2lCQUMvQjtnQkFDSEgsZ0JBQWdCRSxpQkFBaUJBLGFBQWEsQ0FBQyxJQUFJO2dCQUNuRCxJQUFJLENBQUNGLGVBQ0gsTUFBTUksTUFDSixnQ0FDRUgsUUFBUSxDQUFDLEVBQUUsR0FDWDtnQkFFTkMsZ0JBQWdCRCxRQUFRLENBQUMsRUFBRTtZQUM3QjtZQUNBLE9BQU8sTUFBTUEsU0FBU0ksTUFBTSxHQUN4QjtnQkFBQ0wsY0FBY00sRUFBRTtnQkFBRU4sY0FBY08sTUFBTTtnQkFBRUw7Z0JBQWU7YUFBRSxHQUMxRDtnQkFBQ0YsY0FBY00sRUFBRTtnQkFBRU4sY0FBY08sTUFBTTtnQkFBRUw7YUFBYztRQUM3RDtRQUNBLE9BQU9EO0lBQ1Q7SUFDQSxTQUFT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SUEsT0FBT0MsT0FBTyxFQUFFRixNQUFNQyxPQUFPN2MsTUFBTTtxQkFDbEM7b0JBQ0gsSUFBSStjLFdBQVc7d0JBQ2JILE1BQU1DLE9BQU83YyxNQUFNO3dCQUNuQjZjLE9BQU9HLG1CQUFtQixDQUFDLFNBQVNEO29CQUN0QztvQkFDQUYsT0FBT0ksZ0JBQWdCLENBQUMsU0FBU0Y7Z0JBQ25DO1lBQ0Y7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXG5leHRcXGRpc3RcXGNvbXBpbGVkXFxyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2tcXGNqc1xccmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC5lZGdlLmRldmVsb3BtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgUmVhY3RcbiAqIHJlYWN0LXNlcnZlci1kb20td2VicGFjay1jbGllbnQuZWRnZS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgTWV0YSBQbGF0Zm9ybXMsIEluYy4gYW5kIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuXCJ1c2Ugc3RyaWN0XCI7XG5cInByb2R1Y3Rpb25cIiAhPT0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgJiZcbiAgKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gICAgICBrZXkgaW4gb2JqXG4gICAgICAgID8gT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiAhMCxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogITAsXG4gICAgICAgICAgICB3cml0YWJsZTogITBcbiAgICAgICAgICB9KVxuICAgICAgICA6IChvYmpba2V5XSA9IHZhbHVlKTtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVDbGllbnRSZWZlcmVuY2UoYnVuZGxlckNvbmZpZywgbWV0YWRhdGEpIHtcbiAgICAgIGlmIChidW5kbGVyQ29uZmlnKSB7XG4gICAgICAgIHZhciBtb2R1bGVFeHBvcnRzID0gYnVuZGxlckNvbmZpZ1ttZXRhZGF0YVswXV07XG4gICAgICAgIGlmICgoYnVuZGxlckNvbmZpZyA9IG1vZHVsZUV4cG9ydHMgJiYgbW9kdWxlRXhwb3J0c1ttZXRhZGF0YVsyXV0pKVxuICAgICAgICAgIG1vZHVsZUV4cG9ydHMgPSBidW5kbGVyQ29uZmlnLm5hbWU7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGJ1bmRsZXJDb25maWcgPSBtb2R1bGVFeHBvcnRzICYmIG1vZHVsZUV4cG9ydHNbXCIqXCJdO1xuICAgICAgICAgIGlmICghYnVuZGxlckNvbmZpZylcbiAgICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgICAnQ291bGQgbm90IGZpbmQgdGhlIG1vZHVsZSBcIicgK1xuICAgICAgICAgICAgICAgIG1ldGFkYXRhWzBdICtcbiAgICAgICAgICAgICAgICAnXCIgaW4gdGhlIFJlYWN0IFNlcnZlciBDb25zdW1lciBNYW5pZmVzdC4gVGhpcyBpcyBwcm9iYWJseSBhIGJ1ZyBpbiB0aGUgUmVhY3QgU2VydmVyIENvbXBvbmVudHMgYnVuZGxlci4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgIG1vZHVsZUV4cG9ydHMgPSBtZXRhZGF0YVsyXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gNCA9PT0gbWV0YWRhdGEubGVuZ3RoXG4gICAgICAgICAgPyBbYnVuZGxlckNvbmZpZy5pZCwgYnVuZGxlckNvbmZpZy5jaHVua3MsIG1vZHVsZUV4cG9ydHMsIDFdXG4gICAgICAgICAgOiBbYnVuZGxlckNvbmZpZy5pZCwgYnVuZGxlckNvbmZpZy5jaHVua3MsIG1vZHVsZUV4cG9ydHNdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1ldGFkYXRhO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZXNvbHZlU2VydmVyUmVmZXJlbmNlKGJ1bmRsZXJDb25maWcsIGlkKSB7XG4gICAgICB2YXIgbmFtZSA9IFwiXCIsXG4gICAgICAgIHJlc29sdmVkTW9kdWxlRGF0YSA9IGJ1bmRsZXJDb25maWdbaWRdO1xuICAgICAgaWYgKHJlc29sdmVkTW9kdWxlRGF0YSkgbmFtZSA9IHJlc29sdmVkTW9kdWxlRGF0YS5uYW1lO1xuICAgICAgZWxzZSB7XG4gICAgICAgIHZhciBpZHggPSBpZC5sYXN0SW5kZXhPZihcIiNcIik7XG4gICAgICAgIC0xICE9PSBpZHggJiZcbiAgICAgICAgICAoKG5hbWUgPSBpZC5zbGljZShpZHggKyAxKSksXG4gICAgICAgICAgKHJlc29sdmVkTW9kdWxlRGF0YSA9IGJ1bmRsZXJDb25maWdbaWQuc2xpY2UoMCwgaWR4KV0pKTtcbiAgICAgICAgaWYgKCFyZXNvbHZlZE1vZHVsZURhdGEpXG4gICAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgICAnQ291bGQgbm90IGZpbmQgdGhlIG1vZHVsZSBcIicgK1xuICAgICAgICAgICAgICBpZCArXG4gICAgICAgICAgICAgICdcIiBpbiB0aGUgUmVhY3QgU2VydmVyIE1hbmlmZXN0LiBUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyBidW5kbGVyLidcbiAgICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmVkTW9kdWxlRGF0YS5hc3luY1xuICAgICAgICA/IFtyZXNvbHZlZE1vZHVsZURhdGEuaWQsIHJlc29sdmVkTW9kdWxlRGF0YS5jaHVua3MsIG5hbWUsIDFdXG4gICAgICAgIDogW3Jlc29sdmVkTW9kdWxlRGF0YS5pZCwgcmVzb2x2ZWRNb2R1bGVEYXRhLmNodW5rcywgbmFtZV07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlcXVpcmVBc3luY01vZHVsZShpZCkge1xuICAgICAgdmFyIHByb21pc2UgPSBnbG9iYWxUaGlzLl9fbmV4dF9yZXF1aXJlX18oaWQpO1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiAhPT0gdHlwZW9mIHByb21pc2UudGhlbiB8fCBcImZ1bGZpbGxlZFwiID09PSBwcm9taXNlLnN0YXR1cylcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBwcm9taXNlLnRoZW4oXG4gICAgICAgIGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgIHByb21pc2Uuc3RhdHVzID0gXCJmdWxmaWxsZWRcIjtcbiAgICAgICAgICBwcm9taXNlLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIGZ1bmN0aW9uIChyZWFzb24pIHtcbiAgICAgICAgICBwcm9taXNlLnN0YXR1cyA9IFwicmVqZWN0ZWRcIjtcbiAgICAgICAgICBwcm9taXNlLnJlYXNvbiA9IHJlYXNvbjtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiBwcm9taXNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpZ25vcmVSZWplY3QoKSB7fVxuICAgIGZ1bmN0aW9uIHByZWxvYWRNb2R1bGUobWV0YWRhdGEpIHtcbiAgICAgIGZvciAoXG4gICAgICAgIHZhciBjaHVua3MgPSBtZXRhZGF0YVsxXSwgcHJvbWlzZXMgPSBbXSwgaSA9IDA7XG4gICAgICAgIGkgPCBjaHVua3MubGVuZ3RoO1xuXG4gICAgICApIHtcbiAgICAgICAgdmFyIGNodW5rSWQgPSBjaHVua3NbaSsrXTtcbiAgICAgICAgY2h1bmtzW2krK107XG4gICAgICAgIHZhciBlbnRyeSA9IGNodW5rQ2FjaGUuZ2V0KGNodW5rSWQpO1xuICAgICAgICBpZiAodm9pZCAwID09PSBlbnRyeSkge1xuICAgICAgICAgIGVudHJ5ID0gX193ZWJwYWNrX2NodW5rX2xvYWRfXyhjaHVua0lkKTtcbiAgICAgICAgICBwcm9taXNlcy5wdXNoKGVudHJ5KTtcbiAgICAgICAgICB2YXIgcmVzb2x2ZSA9IGNodW5rQ2FjaGUuc2V0LmJpbmQoY2h1bmtDYWNoZSwgY2h1bmtJZCwgbnVsbCk7XG4gICAgICAgICAgZW50cnkudGhlbihyZXNvbHZlLCBpZ25vcmVSZWplY3QpO1xuICAgICAgICAgIGNodW5rQ2FjaGUuc2V0KGNodW5rSWQsIGVudHJ5KTtcbiAgICAgICAgfSBlbHNlIG51bGwgIT09IGVudHJ5ICYmIHByb21pc2VzLnB1c2goZW50cnkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDQgPT09IG1ldGFkYXRhLmxlbmd0aFxuICAgICAgICA/IDAgPT09IHByb21pc2VzLmxlbmd0aFxuICAgICAgICAgID8gcmVxdWlyZUFzeW5jTW9kdWxlKG1ldGFkYXRhWzBdKVxuICAgICAgICAgIDogUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICByZXR1cm4gcmVxdWlyZUFzeW5jTW9kdWxlKG1ldGFkYXRhWzBdKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIDogMCA8IHByb21pc2VzLmxlbmd0aFxuICAgICAgICAgID8gUHJvbWlzZS5hbGwocHJvbWlzZXMpXG4gICAgICAgICAgOiBudWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZXF1aXJlTW9kdWxlKG1ldGFkYXRhKSB7XG4gICAgICB2YXIgbW9kdWxlRXhwb3J0cyA9IGdsb2JhbFRoaXMuX19uZXh0X3JlcXVpcmVfXyhtZXRhZGF0YVswXSk7XG4gICAgICBpZiAoNCA9PT0gbWV0YWRhdGEubGVuZ3RoICYmIFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIG1vZHVsZUV4cG9ydHMudGhlbilcbiAgICAgICAgaWYgKFwiZnVsZmlsbGVkXCIgPT09IG1vZHVsZUV4cG9ydHMuc3RhdHVzKVxuICAgICAgICAgIG1vZHVsZUV4cG9ydHMgPSBtb2R1bGVFeHBvcnRzLnZhbHVlO1xuICAgICAgICBlbHNlIHRocm93IG1vZHVsZUV4cG9ydHMucmVhc29uO1xuICAgICAgcmV0dXJuIFwiKlwiID09PSBtZXRhZGF0YVsyXVxuICAgICAgICA/IG1vZHVsZUV4cG9ydHNcbiAgICAgICAgOiBcIlwiID09PSBtZXRhZGF0YVsyXVxuICAgICAgICAgID8gbW9kdWxlRXhwb3J0cy5fX2VzTW9kdWxlXG4gICAgICAgICAgICA/IG1vZHVsZUV4cG9ydHMuZGVmYXVsdFxuICAgICAgICAgICAgOiBtb2R1bGVFeHBvcnRzXG4gICAgICAgICAgOiBtb2R1bGVFeHBvcnRzW21ldGFkYXRhWzJdXTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcHJlcGFyZURlc3RpbmF0aW9uV2l0aENodW5rcyhcbiAgICAgIG1vZHVsZUxvYWRpbmcsXG4gICAgICBjaHVua3MsXG4gICAgICBub25jZSRqc2NvbXAkMFxuICAgICkge1xuICAgICAgaWYgKG51bGwgIT09IG1vZHVsZUxvYWRpbmcpXG4gICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgY2h1bmtzLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICAgICAgdmFyIG5vbmNlID0gbm9uY2UkanNjb21wJDAsXG4gICAgICAgICAgICBKU0NvbXBpbGVyX3RlbXBfY29uc3QgPSBSZWFjdERPTVNoYXJlZEludGVybmFscy5kLFxuICAgICAgICAgICAgSlNDb21waWxlcl90ZW1wX2NvbnN0JGpzY29tcCQwID0gSlNDb21waWxlcl90ZW1wX2NvbnN0LlgsXG4gICAgICAgICAgICBKU0NvbXBpbGVyX3RlbXBfY29uc3QkanNjb21wJDEgPSBtb2R1bGVMb2FkaW5nLnByZWZpeCArIGNodW5rc1tpXTtcbiAgICAgICAgICB2YXIgSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0ID0gbW9kdWxlTG9hZGluZy5jcm9zc09yaWdpbjtcbiAgICAgICAgICBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQgPVxuICAgICAgICAgICAgXCJzdHJpbmdcIiA9PT0gdHlwZW9mIEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdFxuICAgICAgICAgICAgICA/IFwidXNlLWNyZWRlbnRpYWxzXCIgPT09IEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdFxuICAgICAgICAgICAgICAgID8gSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0XG4gICAgICAgICAgICAgICAgOiBcIlwiXG4gICAgICAgICAgICAgIDogdm9pZCAwO1xuICAgICAgICAgIEpTQ29tcGlsZXJfdGVtcF9jb25zdCRqc2NvbXAkMC5jYWxsKFxuICAgICAgICAgICAgSlNDb21waWxlcl90ZW1wX2NvbnN0LFxuICAgICAgICAgICAgSlNDb21waWxlcl90ZW1wX2NvbnN0JGpzY29tcCQxLFxuICAgICAgICAgICAgeyBjcm9zc09yaWdpbjogSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0LCBub25jZTogbm9uY2UgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gICAgICBpZiAobnVsbCA9PT0gbWF5YmVJdGVyYWJsZSB8fCBcIm9iamVjdFwiICE9PSB0eXBlb2YgbWF5YmVJdGVyYWJsZSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBtYXliZUl0ZXJhYmxlID1cbiAgICAgICAgKE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0pIHx8XG4gICAgICAgIG1heWJlSXRlcmFibGVbXCJAQGl0ZXJhdG9yXCJdO1xuICAgICAgcmV0dXJuIFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIG1heWJlSXRlcmFibGUgPyBtYXliZUl0ZXJhYmxlIDogbnVsbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNPYmplY3RQcm90b3R5cGUob2JqZWN0KSB7XG4gICAgICBpZiAoIW9iamVjdCkgcmV0dXJuICExO1xuICAgICAgdmFyIE9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7XG4gICAgICBpZiAob2JqZWN0ID09PSBPYmplY3RQcm90b3R5cGUpIHJldHVybiAhMDtcbiAgICAgIGlmIChnZXRQcm90b3R5cGVPZihvYmplY3QpKSByZXR1cm4gITE7XG4gICAgICBvYmplY3QgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmplY3QpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvYmplY3QubGVuZ3RoOyBpKyspXG4gICAgICAgIGlmICghKG9iamVjdFtpXSBpbiBPYmplY3RQcm90b3R5cGUpKSByZXR1cm4gITE7XG4gICAgICByZXR1cm4gITA7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzU2ltcGxlT2JqZWN0KG9iamVjdCkge1xuICAgICAgaWYgKCFpc09iamVjdFByb3RvdHlwZShnZXRQcm90b3R5cGVPZihvYmplY3QpKSkgcmV0dXJuICExO1xuICAgICAgZm9yIChcbiAgICAgICAgdmFyIG5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqZWN0KSwgaSA9IDA7XG4gICAgICAgIGkgPCBuYW1lcy5sZW5ndGg7XG4gICAgICAgIGkrK1xuICAgICAgKSB7XG4gICAgICAgIHZhciBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIG5hbWVzW2ldKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFkZXNjcmlwdG9yIHx8XG4gICAgICAgICAgKCFkZXNjcmlwdG9yLmVudW1lcmFibGUgJiZcbiAgICAgICAgICAgICgoXCJrZXlcIiAhPT0gbmFtZXNbaV0gJiYgXCJyZWZcIiAhPT0gbmFtZXNbaV0pIHx8XG4gICAgICAgICAgICAgIFwiZnVuY3Rpb25cIiAhPT0gdHlwZW9mIGRlc2NyaXB0b3IuZ2V0KSlcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybiAhMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhMDtcbiAgICB9XG4gICAgZnVuY3Rpb24gb2JqZWN0TmFtZShvYmplY3QpIHtcbiAgICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nXG4gICAgICAgIC5jYWxsKG9iamVjdClcbiAgICAgICAgLnJlcGxhY2UoL15cXFtvYmplY3QgKC4qKVxcXSQvLCBmdW5jdGlvbiAobSwgcDApIHtcbiAgICAgICAgICByZXR1cm4gcDA7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZXNjcmliZUtleUZvckVycm9yTWVzc2FnZShrZXkpIHtcbiAgICAgIHZhciBlbmNvZGVkS2V5ID0gSlNPTi5zdHJpbmdpZnkoa2V5KTtcbiAgICAgIHJldHVybiAnXCInICsga2V5ICsgJ1wiJyA9PT0gZW5jb2RlZEtleSA/IGtleSA6IGVuY29kZWRLZXk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGRlc2NyaWJlVmFsdWVGb3JFcnJvck1lc3NhZ2UodmFsdWUpIHtcbiAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICAxMCA+PSB2YWx1ZS5sZW5ndGggPyB2YWx1ZSA6IHZhbHVlLnNsaWNlKDAsIDEwKSArIFwiLi4uXCJcbiAgICAgICAgICApO1xuICAgICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgICAgaWYgKGlzQXJyYXlJbXBsKHZhbHVlKSkgcmV0dXJuIFwiWy4uLl1cIjtcbiAgICAgICAgICBpZiAobnVsbCAhPT0gdmFsdWUgJiYgdmFsdWUuJCR0eXBlb2YgPT09IENMSUVOVF9SRUZFUkVOQ0VfVEFHKVxuICAgICAgICAgICAgcmV0dXJuIFwiY2xpZW50XCI7XG4gICAgICAgICAgdmFsdWUgPSBvYmplY3ROYW1lKHZhbHVlKTtcbiAgICAgICAgICByZXR1cm4gXCJPYmplY3RcIiA9PT0gdmFsdWUgPyBcInsuLi59XCIgOiB2YWx1ZTtcbiAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICAgICAgcmV0dXJuIHZhbHVlLiQkdHlwZW9mID09PSBDTElFTlRfUkVGRVJFTkNFX1RBR1xuICAgICAgICAgICAgPyBcImNsaWVudFwiXG4gICAgICAgICAgICA6ICh2YWx1ZSA9IHZhbHVlLmRpc3BsYXlOYW1lIHx8IHZhbHVlLm5hbWUpXG4gICAgICAgICAgICAgID8gXCJmdW5jdGlvbiBcIiArIHZhbHVlXG4gICAgICAgICAgICAgIDogXCJmdW5jdGlvblwiO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBkZXNjcmliZUVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgICAgIGlmIChcInN0cmluZ1wiID09PSB0eXBlb2YgdHlwZSkgcmV0dXJuIHR5cGU7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlN1c3BlbnNlXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlN1c3BlbnNlTGlzdFwiO1xuICAgICAgfVxuICAgICAgaWYgKFwib2JqZWN0XCIgPT09IHR5cGVvZiB0eXBlKVxuICAgICAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVFbGVtZW50VHlwZSh0eXBlLnJlbmRlcik7XG4gICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVFbGVtZW50VHlwZSh0eXBlLnR5cGUpO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgICAgdmFyIHBheWxvYWQgPSB0eXBlLl9wYXlsb2FkO1xuICAgICAgICAgICAgdHlwZSA9IHR5cGUuX2luaXQ7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICByZXR1cm4gZGVzY3JpYmVFbGVtZW50VHlwZSh0eXBlKHBheWxvYWQpKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShvYmplY3RPckFycmF5LCBleHBhbmRlZE5hbWUpIHtcbiAgICAgIHZhciBvYmpLaW5kID0gb2JqZWN0TmFtZShvYmplY3RPckFycmF5KTtcbiAgICAgIGlmIChcIk9iamVjdFwiICE9PSBvYmpLaW5kICYmIFwiQXJyYXlcIiAhPT0gb2JqS2luZCkgcmV0dXJuIG9iaktpbmQ7XG4gICAgICB2YXIgc3RhcnQgPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gMDtcbiAgICAgIGlmIChpc0FycmF5SW1wbChvYmplY3RPckFycmF5KSlcbiAgICAgICAgaWYgKGpzeENoaWxkcmVuUGFyZW50cy5oYXMob2JqZWN0T3JBcnJheSkpIHtcbiAgICAgICAgICB2YXIgdHlwZSA9IGpzeENoaWxkcmVuUGFyZW50cy5nZXQob2JqZWN0T3JBcnJheSk7XG4gICAgICAgICAgb2JqS2luZCA9IFwiPFwiICsgZGVzY3JpYmVFbGVtZW50VHlwZSh0eXBlKSArIFwiPlwiO1xuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqZWN0T3JBcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gb2JqZWN0T3JBcnJheVtpXTtcbiAgICAgICAgICAgIHZhbHVlID1cbiAgICAgICAgICAgICAgXCJzdHJpbmdcIiA9PT0gdHlwZW9mIHZhbHVlXG4gICAgICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgICAgIDogXCJvYmplY3RcIiA9PT0gdHlwZW9mIHZhbHVlICYmIG51bGwgIT09IHZhbHVlXG4gICAgICAgICAgICAgICAgICA/IFwie1wiICsgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UodmFsdWUpICsgXCJ9XCJcbiAgICAgICAgICAgICAgICAgIDogXCJ7XCIgKyBkZXNjcmliZVZhbHVlRm9yRXJyb3JNZXNzYWdlKHZhbHVlKSArIFwifVwiO1xuICAgICAgICAgICAgXCJcIiArIGkgPT09IGV4cGFuZGVkTmFtZVxuICAgICAgICAgICAgICA/ICgoc3RhcnQgPSBvYmpLaW5kLmxlbmd0aCksXG4gICAgICAgICAgICAgICAgKGxlbmd0aCA9IHZhbHVlLmxlbmd0aCksXG4gICAgICAgICAgICAgICAgKG9iaktpbmQgKz0gdmFsdWUpKVxuICAgICAgICAgICAgICA6IChvYmpLaW5kID1cbiAgICAgICAgICAgICAgICAgIDE1ID4gdmFsdWUubGVuZ3RoICYmIDQwID4gb2JqS2luZC5sZW5ndGggKyB2YWx1ZS5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgPyBvYmpLaW5kICsgdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgOiBvYmpLaW5kICsgXCJ7Li4ufVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgb2JqS2luZCArPSBcIjwvXCIgKyBkZXNjcmliZUVsZW1lbnRUeXBlKHR5cGUpICsgXCI+XCI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JqS2luZCA9IFwiW1wiO1xuICAgICAgICAgIGZvciAodHlwZSA9IDA7IHR5cGUgPCBvYmplY3RPckFycmF5Lmxlbmd0aDsgdHlwZSsrKVxuICAgICAgICAgICAgMCA8IHR5cGUgJiYgKG9iaktpbmQgKz0gXCIsIFwiKSxcbiAgICAgICAgICAgICAgKGkgPSBvYmplY3RPckFycmF5W3R5cGVdKSxcbiAgICAgICAgICAgICAgKGkgPVxuICAgICAgICAgICAgICAgIFwib2JqZWN0XCIgPT09IHR5cGVvZiBpICYmIG51bGwgIT09IGlcbiAgICAgICAgICAgICAgICAgID8gZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UoaSlcbiAgICAgICAgICAgICAgICAgIDogZGVzY3JpYmVWYWx1ZUZvckVycm9yTWVzc2FnZShpKSksXG4gICAgICAgICAgICAgIFwiXCIgKyB0eXBlID09PSBleHBhbmRlZE5hbWVcbiAgICAgICAgICAgICAgICA/ICgoc3RhcnQgPSBvYmpLaW5kLmxlbmd0aCksXG4gICAgICAgICAgICAgICAgICAobGVuZ3RoID0gaS5sZW5ndGgpLFxuICAgICAgICAgICAgICAgICAgKG9iaktpbmQgKz0gaSkpXG4gICAgICAgICAgICAgICAgOiAob2JqS2luZCA9XG4gICAgICAgICAgICAgICAgICAgIDEwID4gaS5sZW5ndGggJiYgNDAgPiBvYmpLaW5kLmxlbmd0aCArIGkubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgPyBvYmpLaW5kICsgaVxuICAgICAgICAgICAgICAgICAgICAgIDogb2JqS2luZCArIFwiLi4uXCIpO1xuICAgICAgICAgIG9iaktpbmQgKz0gXCJdXCI7XG4gICAgICAgIH1cbiAgICAgIGVsc2UgaWYgKG9iamVjdE9yQXJyYXkuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSlcbiAgICAgICAgb2JqS2luZCA9IFwiPFwiICsgZGVzY3JpYmVFbGVtZW50VHlwZShvYmplY3RPckFycmF5LnR5cGUpICsgXCIvPlwiO1xuICAgICAgZWxzZSB7XG4gICAgICAgIGlmIChvYmplY3RPckFycmF5LiQkdHlwZW9mID09PSBDTElFTlRfUkVGRVJFTkNFX1RBRykgcmV0dXJuIFwiY2xpZW50XCI7XG4gICAgICAgIGlmIChqc3hQcm9wc1BhcmVudHMuaGFzKG9iamVjdE9yQXJyYXkpKSB7XG4gICAgICAgICAgb2JqS2luZCA9IGpzeFByb3BzUGFyZW50cy5nZXQob2JqZWN0T3JBcnJheSk7XG4gICAgICAgICAgb2JqS2luZCA9IFwiPFwiICsgKGRlc2NyaWJlRWxlbWVudFR5cGUob2JqS2luZCkgfHwgXCIuLi5cIik7XG4gICAgICAgICAgdHlwZSA9IE9iamVjdC5rZXlzKG9iamVjdE9yQXJyYXkpO1xuICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB0eXBlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBvYmpLaW5kICs9IFwiIFwiO1xuICAgICAgICAgICAgdmFsdWUgPSB0eXBlW2ldO1xuICAgICAgICAgICAgb2JqS2luZCArPSBkZXNjcmliZUtleUZvckVycm9yTWVzc2FnZSh2YWx1ZSkgKyBcIj1cIjtcbiAgICAgICAgICAgIHZhciBfdmFsdWUyID0gb2JqZWN0T3JBcnJheVt2YWx1ZV07XG4gICAgICAgICAgICB2YXIgX3N1YnN0cjIgPVxuICAgICAgICAgICAgICB2YWx1ZSA9PT0gZXhwYW5kZWROYW1lICYmXG4gICAgICAgICAgICAgIFwib2JqZWN0XCIgPT09IHR5cGVvZiBfdmFsdWUyICYmXG4gICAgICAgICAgICAgIG51bGwgIT09IF92YWx1ZTJcbiAgICAgICAgICAgICAgICA/IGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKF92YWx1ZTIpXG4gICAgICAgICAgICAgICAgOiBkZXNjcmliZVZhbHVlRm9yRXJyb3JNZXNzYWdlKF92YWx1ZTIpO1xuICAgICAgICAgICAgXCJzdHJpbmdcIiAhPT0gdHlwZW9mIF92YWx1ZTIgJiYgKF9zdWJzdHIyID0gXCJ7XCIgKyBfc3Vic3RyMiArIFwifVwiKTtcbiAgICAgICAgICAgIHZhbHVlID09PSBleHBhbmRlZE5hbWVcbiAgICAgICAgICAgICAgPyAoKHN0YXJ0ID0gb2JqS2luZC5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIChsZW5ndGggPSBfc3Vic3RyMi5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIChvYmpLaW5kICs9IF9zdWJzdHIyKSlcbiAgICAgICAgICAgICAgOiAob2JqS2luZCA9XG4gICAgICAgICAgICAgICAgICAxMCA+IF9zdWJzdHIyLmxlbmd0aCAmJiA0MCA+IG9iaktpbmQubGVuZ3RoICsgX3N1YnN0cjIubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgID8gb2JqS2luZCArIF9zdWJzdHIyXG4gICAgICAgICAgICAgICAgICAgIDogb2JqS2luZCArIFwiLi4uXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvYmpLaW5kICs9IFwiPlwiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9iaktpbmQgPSBcIntcIjtcbiAgICAgICAgICB0eXBlID0gT2JqZWN0LmtleXMob2JqZWN0T3JBcnJheSk7XG4gICAgICAgICAgZm9yIChpID0gMDsgaSA8IHR5cGUubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICAwIDwgaSAmJiAob2JqS2luZCArPSBcIiwgXCIpLFxuICAgICAgICAgICAgICAodmFsdWUgPSB0eXBlW2ldKSxcbiAgICAgICAgICAgICAgKG9iaktpbmQgKz0gZGVzY3JpYmVLZXlGb3JFcnJvck1lc3NhZ2UodmFsdWUpICsgXCI6IFwiKSxcbiAgICAgICAgICAgICAgKF92YWx1ZTIgPSBvYmplY3RPckFycmF5W3ZhbHVlXSksXG4gICAgICAgICAgICAgIChfdmFsdWUyID1cbiAgICAgICAgICAgICAgICBcIm9iamVjdFwiID09PSB0eXBlb2YgX3ZhbHVlMiAmJiBudWxsICE9PSBfdmFsdWUyXG4gICAgICAgICAgICAgICAgICA/IGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKF92YWx1ZTIpXG4gICAgICAgICAgICAgICAgICA6IGRlc2NyaWJlVmFsdWVGb3JFcnJvck1lc3NhZ2UoX3ZhbHVlMikpLFxuICAgICAgICAgICAgICB2YWx1ZSA9PT0gZXhwYW5kZWROYW1lXG4gICAgICAgICAgICAgICAgPyAoKHN0YXJ0ID0gb2JqS2luZC5sZW5ndGgpLFxuICAgICAgICAgICAgICAgICAgKGxlbmd0aCA9IF92YWx1ZTIubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICAgIChvYmpLaW5kICs9IF92YWx1ZTIpKVxuICAgICAgICAgICAgICAgIDogKG9iaktpbmQgPVxuICAgICAgICAgICAgICAgICAgICAxMCA+IF92YWx1ZTIubGVuZ3RoICYmIDQwID4gb2JqS2luZC5sZW5ndGggKyBfdmFsdWUyLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgID8gb2JqS2luZCArIF92YWx1ZTJcbiAgICAgICAgICAgICAgICAgICAgICA6IG9iaktpbmQgKyBcIi4uLlwiKTtcbiAgICAgICAgICBvYmpLaW5kICs9IFwifVwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdm9pZCAwID09PSBleHBhbmRlZE5hbWVcbiAgICAgICAgPyBvYmpLaW5kXG4gICAgICAgIDogLTEgPCBzdGFydCAmJiAwIDwgbGVuZ3RoXG4gICAgICAgICAgPyAoKG9iamVjdE9yQXJyYXkgPSBcIiBcIi5yZXBlYXQoc3RhcnQpICsgXCJeXCIucmVwZWF0KGxlbmd0aCkpLFxuICAgICAgICAgICAgXCJcXG4gIFwiICsgb2JqS2luZCArIFwiXFxuICBcIiArIG9iamVjdE9yQXJyYXkpXG4gICAgICAgICAgOiBcIlxcbiAgXCIgKyBvYmpLaW5kO1xuICAgIH1cbiAgICBmdW5jdGlvbiBzZXJpYWxpemVOdW1iZXIobnVtYmVyKSB7XG4gICAgICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKG51bWJlcilcbiAgICAgICAgPyAwID09PSBudW1iZXIgJiYgLUluZmluaXR5ID09PSAxIC8gbnVtYmVyXG4gICAgICAgICAgPyBcIiQtMFwiXG4gICAgICAgICAgOiBudW1iZXJcbiAgICAgICAgOiBJbmZpbml0eSA9PT0gbnVtYmVyXG4gICAgICAgICAgPyBcIiRJbmZpbml0eVwiXG4gICAgICAgICAgOiAtSW5maW5pdHkgPT09IG51bWJlclxuICAgICAgICAgICAgPyBcIiQtSW5maW5pdHlcIlxuICAgICAgICAgICAgOiBcIiROYU5cIjtcbiAgICB9XG4gICAgZnVuY3Rpb24gcHJvY2Vzc1JlcGx5KFxuICAgICAgcm9vdCxcbiAgICAgIGZvcm1GaWVsZFByZWZpeCxcbiAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXMsXG4gICAgICByZXNvbHZlLFxuICAgICAgcmVqZWN0XG4gICAgKSB7XG4gICAgICBmdW5jdGlvbiBzZXJpYWxpemVUeXBlZEFycmF5KHRhZywgdHlwZWRBcnJheSkge1xuICAgICAgICB0eXBlZEFycmF5ID0gbmV3IEJsb2IoW1xuICAgICAgICAgIG5ldyBVaW50OEFycmF5KFxuICAgICAgICAgICAgdHlwZWRBcnJheS5idWZmZXIsXG4gICAgICAgICAgICB0eXBlZEFycmF5LmJ5dGVPZmZzZXQsXG4gICAgICAgICAgICB0eXBlZEFycmF5LmJ5dGVMZW5ndGhcbiAgICAgICAgICApXG4gICAgICAgIF0pO1xuICAgICAgICB2YXIgYmxvYklkID0gbmV4dFBhcnRJZCsrO1xuICAgICAgICBudWxsID09PSBmb3JtRGF0YSAmJiAoZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBibG9iSWQsIHR5cGVkQXJyYXkpO1xuICAgICAgICByZXR1cm4gXCIkXCIgKyB0YWcgKyBibG9iSWQudG9TdHJpbmcoMTYpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gc2VyaWFsaXplQmluYXJ5UmVhZGVyKHJlYWRlcikge1xuICAgICAgICBmdW5jdGlvbiBwcm9ncmVzcyhlbnRyeSkge1xuICAgICAgICAgIGVudHJ5LmRvbmVcbiAgICAgICAgICAgID8gKChlbnRyeSA9IG5leHRQYXJ0SWQrKyksXG4gICAgICAgICAgICAgIGRhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIGVudHJ5LCBuZXcgQmxvYihidWZmZXIpKSxcbiAgICAgICAgICAgICAgZGF0YS5hcHBlbmQoXG4gICAgICAgICAgICAgICAgZm9ybUZpZWxkUHJlZml4ICsgc3RyZWFtSWQsXG4gICAgICAgICAgICAgICAgJ1wiJG8nICsgZW50cnkudG9TdHJpbmcoMTYpICsgJ1wiJ1xuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBkYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBzdHJlYW1JZCwgXCJDXCIpLFxuICAgICAgICAgICAgICBwZW5kaW5nUGFydHMtLSxcbiAgICAgICAgICAgICAgMCA9PT0gcGVuZGluZ1BhcnRzICYmIHJlc29sdmUoZGF0YSkpXG4gICAgICAgICAgICA6IChidWZmZXIucHVzaChlbnRyeS52YWx1ZSksXG4gICAgICAgICAgICAgIHJlYWRlci5yZWFkKG5ldyBVaW50OEFycmF5KDEwMjQpKS50aGVuKHByb2dyZXNzLCByZWplY3QpKTtcbiAgICAgICAgfVxuICAgICAgICBudWxsID09PSBmb3JtRGF0YSAmJiAoZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSk7XG4gICAgICAgIHZhciBkYXRhID0gZm9ybURhdGE7XG4gICAgICAgIHBlbmRpbmdQYXJ0cysrO1xuICAgICAgICB2YXIgc3RyZWFtSWQgPSBuZXh0UGFydElkKyssXG4gICAgICAgICAgYnVmZmVyID0gW107XG4gICAgICAgIHJlYWRlci5yZWFkKG5ldyBVaW50OEFycmF5KDEwMjQpKS50aGVuKHByb2dyZXNzLCByZWplY3QpO1xuICAgICAgICByZXR1cm4gXCIkclwiICsgc3RyZWFtSWQudG9TdHJpbmcoMTYpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gc2VyaWFsaXplUmVhZGVyKHJlYWRlcikge1xuICAgICAgICBmdW5jdGlvbiBwcm9ncmVzcyhlbnRyeSkge1xuICAgICAgICAgIGlmIChlbnRyeS5kb25lKVxuICAgICAgICAgICAgZGF0YS5hcHBlbmQoZm9ybUZpZWxkUHJlZml4ICsgc3RyZWFtSWQsIFwiQ1wiKSxcbiAgICAgICAgICAgICAgcGVuZGluZ1BhcnRzLS0sXG4gICAgICAgICAgICAgIDAgPT09IHBlbmRpbmdQYXJ0cyAmJiByZXNvbHZlKGRhdGEpO1xuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHZhciBwYXJ0SlNPTiA9IEpTT04uc3RyaW5naWZ5KGVudHJ5LnZhbHVlLCByZXNvbHZlVG9KU09OKTtcbiAgICAgICAgICAgICAgZGF0YS5hcHBlbmQoZm9ybUZpZWxkUHJlZml4ICsgc3RyZWFtSWQsIHBhcnRKU09OKTtcbiAgICAgICAgICAgICAgcmVhZGVyLnJlYWQoKS50aGVuKHByb2dyZXNzLCByZWplY3QpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgICAgICByZWplY3QoeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbnVsbCA9PT0gZm9ybURhdGEgJiYgKGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCkpO1xuICAgICAgICB2YXIgZGF0YSA9IGZvcm1EYXRhO1xuICAgICAgICBwZW5kaW5nUGFydHMrKztcbiAgICAgICAgdmFyIHN0cmVhbUlkID0gbmV4dFBhcnRJZCsrO1xuICAgICAgICByZWFkZXIucmVhZCgpLnRoZW4ocHJvZ3Jlc3MsIHJlamVjdCk7XG4gICAgICAgIHJldHVybiBcIiRSXCIgKyBzdHJlYW1JZC50b1N0cmluZygxNik7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBzZXJpYWxpemVSZWFkYWJsZVN0cmVhbShzdHJlYW0pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB2YXIgYmluYXJ5UmVhZGVyID0gc3RyZWFtLmdldFJlYWRlcih7IG1vZGU6IFwiYnlvYlwiIH0pO1xuICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVJlYWRlcihzdHJlYW0uZ2V0UmVhZGVyKCkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZXJpYWxpemVCaW5hcnlSZWFkZXIoYmluYXJ5UmVhZGVyKTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHNlcmlhbGl6ZUFzeW5jSXRlcmFibGUoaXRlcmFibGUsIGl0ZXJhdG9yKSB7XG4gICAgICAgIGZ1bmN0aW9uIHByb2dyZXNzKGVudHJ5KSB7XG4gICAgICAgICAgaWYgKGVudHJ5LmRvbmUpIHtcbiAgICAgICAgICAgIGlmICh2b2lkIDAgPT09IGVudHJ5LnZhbHVlKVxuICAgICAgICAgICAgICBkYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBzdHJlYW1JZCwgXCJDXCIpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHZhciBwYXJ0SlNPTiA9IEpTT04uc3RyaW5naWZ5KGVudHJ5LnZhbHVlLCByZXNvbHZlVG9KU09OKTtcbiAgICAgICAgICAgICAgICBkYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBzdHJlYW1JZCwgXCJDXCIgKyBwYXJ0SlNPTik7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoeCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBwZW5kaW5nUGFydHMtLTtcbiAgICAgICAgICAgIDAgPT09IHBlbmRpbmdQYXJ0cyAmJiByZXNvbHZlKGRhdGEpO1xuICAgICAgICAgIH0gZWxzZVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgdmFyIF9wYXJ0SlNPTiA9IEpTT04uc3RyaW5naWZ5KGVudHJ5LnZhbHVlLCByZXNvbHZlVG9KU09OKTtcbiAgICAgICAgICAgICAgZGF0YS5hcHBlbmQoZm9ybUZpZWxkUHJlZml4ICsgc3RyZWFtSWQsIF9wYXJ0SlNPTik7XG4gICAgICAgICAgICAgIGl0ZXJhdG9yLm5leHQoKS50aGVuKHByb2dyZXNzLCByZWplY3QpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCQwKSB7XG4gICAgICAgICAgICAgIHJlamVjdCh4JDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG51bGwgPT09IGZvcm1EYXRhICYmIChmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpKTtcbiAgICAgICAgdmFyIGRhdGEgPSBmb3JtRGF0YTtcbiAgICAgICAgcGVuZGluZ1BhcnRzKys7XG4gICAgICAgIHZhciBzdHJlYW1JZCA9IG5leHRQYXJ0SWQrKztcbiAgICAgICAgaXRlcmFibGUgPSBpdGVyYWJsZSA9PT0gaXRlcmF0b3I7XG4gICAgICAgIGl0ZXJhdG9yLm5leHQoKS50aGVuKHByb2dyZXNzLCByZWplY3QpO1xuICAgICAgICByZXR1cm4gXCIkXCIgKyAoaXRlcmFibGUgPyBcInhcIiA6IFwiWFwiKSArIHN0cmVhbUlkLnRvU3RyaW5nKDE2KTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHJlc29sdmVUb0pTT04oa2V5LCB2YWx1ZSkge1xuICAgICAgICB2YXIgb3JpZ2luYWxWYWx1ZSA9IHRoaXNba2V5XTtcbiAgICAgICAgXCJvYmplY3RcIiAhPT0gdHlwZW9mIG9yaWdpbmFsVmFsdWUgfHxcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID09PSB2YWx1ZSB8fFxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgaW5zdGFuY2VvZiBEYXRlIHx8XG4gICAgICAgICAgKFwiT2JqZWN0XCIgIT09IG9iamVjdE5hbWUob3JpZ2luYWxWYWx1ZSlcbiAgICAgICAgICAgID8gY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICBcIk9ubHkgcGxhaW4gb2JqZWN0cyBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiAlcyBvYmplY3RzIGFyZSBub3Qgc3VwcG9ydGVkLiVzXCIsXG4gICAgICAgICAgICAgICAgb2JqZWN0TmFtZShvcmlnaW5hbFZhbHVlKSxcbiAgICAgICAgICAgICAgICBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSh0aGlzLCBrZXkpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICBcIk9ubHkgcGxhaW4gb2JqZWN0cyBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiBPYmplY3RzIHdpdGggdG9KU09OIG1ldGhvZHMgYXJlIG5vdCBzdXBwb3J0ZWQuIENvbnZlcnQgaXQgbWFudWFsbHkgdG8gYSBzaW1wbGUgdmFsdWUgYmVmb3JlIHBhc3NpbmcgaXQgdG8gcHJvcHMuJXNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSh0aGlzLCBrZXkpXG4gICAgICAgICAgICAgICkpO1xuICAgICAgICBpZiAobnVsbCA9PT0gdmFsdWUpIHJldHVybiBudWxsO1xuICAgICAgICBpZiAoXCJvYmplY3RcIiA9PT0gdHlwZW9mIHZhbHVlKSB7XG4gICAgICAgICAgc3dpdGNoICh2YWx1ZS4kJHR5cGVvZikge1xuICAgICAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XG4gICAgICAgICAgICAgIGlmICh2b2lkIDAgIT09IHRlbXBvcmFyeVJlZmVyZW5jZXMgJiYgLTEgPT09IGtleS5pbmRleE9mKFwiOlwiKSkge1xuICAgICAgICAgICAgICAgIHZhciBwYXJlbnRSZWZlcmVuY2UgPSB3cml0dGVuT2JqZWN0cy5nZXQodGhpcyk7XG4gICAgICAgICAgICAgICAgaWYgKHZvaWQgMCAhPT0gcGFyZW50UmVmZXJlbmNlKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcy5zZXQocGFyZW50UmVmZXJlbmNlICsgXCI6XCIgKyBrZXksIHZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgXCIkVFwiXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgICAgIFwiUmVhY3QgRWxlbWVudCBjYW5ub3QgYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50IHdpdGhvdXQgYSB0ZW1wb3JhcnkgcmVmZXJlbmNlIHNldC4gUGFzcyBhIFRlbXBvcmFyeVJlZmVyZW5jZVNldCB0byB0aGUgb3B0aW9ucy5cIiArXG4gICAgICAgICAgICAgICAgICBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSh0aGlzLCBrZXkpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHZhbHVlLl9wYXlsb2FkO1xuICAgICAgICAgICAgICB2YXIgaW5pdCA9IHZhbHVlLl9pbml0O1xuICAgICAgICAgICAgICBudWxsID09PSBmb3JtRGF0YSAmJiAoZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSk7XG4gICAgICAgICAgICAgIHBlbmRpbmdQYXJ0cysrO1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSA9IGluaXQob3JpZ2luYWxWYWx1ZSk7XG4gICAgICAgICAgICAgICAgdmFyIGxhenlJZCA9IG5leHRQYXJ0SWQrKyxcbiAgICAgICAgICAgICAgICAgIHBhcnRKU09OID0gc2VyaWFsaXplTW9kZWwocGFyZW50UmVmZXJlbmNlLCBsYXp5SWQpO1xuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBsYXp5SWQsIHBhcnRKU09OKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCIkXCIgKyBsYXp5SWQudG9TdHJpbmcoMTYpO1xuICAgICAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgXCJvYmplY3RcIiA9PT0gdHlwZW9mIHggJiZcbiAgICAgICAgICAgICAgICAgIG51bGwgIT09IHggJiZcbiAgICAgICAgICAgICAgICAgIFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIHgudGhlblxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgcGVuZGluZ1BhcnRzKys7XG4gICAgICAgICAgICAgICAgICB2YXIgX2xhenlJZCA9IG5leHRQYXJ0SWQrKztcbiAgICAgICAgICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICB2YXIgX3BhcnRKU09OMiA9IHNlcmlhbGl6ZU1vZGVsKHZhbHVlLCBfbGF6eUlkKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9kYXRhID0gZm9ybURhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgX2RhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIF9sYXp5SWQsIF9wYXJ0SlNPTjIpO1xuICAgICAgICAgICAgICAgICAgICAgIHBlbmRpbmdQYXJ0cy0tO1xuICAgICAgICAgICAgICAgICAgICAgIDAgPT09IHBlbmRpbmdQYXJ0cyAmJiByZXNvbHZlKF9kYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAocmVhc29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KHJlYXNvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICB4LnRoZW4ocGFyZW50UmVmZXJlbmNlLCBwYXJlbnRSZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiJFwiICsgX2xhenlJZC50b1N0cmluZygxNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlamVjdCh4KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICBwZW5kaW5nUGFydHMtLTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoXCJmdW5jdGlvblwiID09PSB0eXBlb2YgdmFsdWUudGhlbikge1xuICAgICAgICAgICAgbnVsbCA9PT0gZm9ybURhdGEgJiYgKGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCkpO1xuICAgICAgICAgICAgcGVuZGluZ1BhcnRzKys7XG4gICAgICAgICAgICB2YXIgcHJvbWlzZUlkID0gbmV4dFBhcnRJZCsrO1xuICAgICAgICAgICAgdmFsdWUudGhlbihmdW5jdGlvbiAocGFydFZhbHVlKSB7XG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdmFyIF9wYXJ0SlNPTjMgPSBzZXJpYWxpemVNb2RlbChwYXJ0VmFsdWUsIHByb21pc2VJZCk7XG4gICAgICAgICAgICAgICAgcGFydFZhbHVlID0gZm9ybURhdGE7XG4gICAgICAgICAgICAgICAgcGFydFZhbHVlLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBwcm9taXNlSWQsIF9wYXJ0SlNPTjMpO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdQYXJ0cy0tO1xuICAgICAgICAgICAgICAgIDAgPT09IHBlbmRpbmdQYXJ0cyAmJiByZXNvbHZlKHBhcnRWYWx1ZSk7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKHJlYXNvbikge1xuICAgICAgICAgICAgICAgIHJlamVjdChyZWFzb24pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCByZWplY3QpO1xuICAgICAgICAgICAgcmV0dXJuIFwiJEBcIiArIHByb21pc2VJZC50b1N0cmluZygxNik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSA9IHdyaXR0ZW5PYmplY3RzLmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZvaWQgMCAhPT0gcGFyZW50UmVmZXJlbmNlKVxuICAgICAgICAgICAgaWYgKG1vZGVsUm9vdCA9PT0gdmFsdWUpIG1vZGVsUm9vdCA9IG51bGw7XG4gICAgICAgICAgICBlbHNlIHJldHVybiBwYXJlbnRSZWZlcmVuY2U7XG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgLTEgPT09IGtleS5pbmRleE9mKFwiOlwiKSAmJlxuICAgICAgICAgICAgICAoKHBhcmVudFJlZmVyZW5jZSA9IHdyaXR0ZW5PYmplY3RzLmdldCh0aGlzKSksXG4gICAgICAgICAgICAgIHZvaWQgMCAhPT0gcGFyZW50UmVmZXJlbmNlICYmXG4gICAgICAgICAgICAgICAgKChwYXJlbnRSZWZlcmVuY2UgPSBwYXJlbnRSZWZlcmVuY2UgKyBcIjpcIiArIGtleSksXG4gICAgICAgICAgICAgICAgd3JpdHRlbk9iamVjdHMuc2V0KHZhbHVlLCBwYXJlbnRSZWZlcmVuY2UpLFxuICAgICAgICAgICAgICAgIHZvaWQgMCAhPT0gdGVtcG9yYXJ5UmVmZXJlbmNlcyAmJlxuICAgICAgICAgICAgICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcy5zZXQocGFyZW50UmVmZXJlbmNlLCB2YWx1ZSkpKTtcbiAgICAgICAgICBpZiAoaXNBcnJheUltcGwodmFsdWUpKSByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICAgICAgICAgIG51bGwgPT09IGZvcm1EYXRhICYmIChmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpKTtcbiAgICAgICAgICAgIHZhciBfZGF0YTMgPSBmb3JtRGF0YTtcbiAgICAgICAgICAgIGtleSA9IG5leHRQYXJ0SWQrKztcbiAgICAgICAgICAgIHZhciBwcmVmaXggPSBmb3JtRmllbGRQcmVmaXggKyBrZXkgKyBcIl9cIjtcbiAgICAgICAgICAgIHZhbHVlLmZvckVhY2goZnVuY3Rpb24gKG9yaWdpbmFsVmFsdWUsIG9yaWdpbmFsS2V5KSB7XG4gICAgICAgICAgICAgIF9kYXRhMy5hcHBlbmQocHJlZml4ICsgb3JpZ2luYWxLZXksIG9yaWdpbmFsVmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gXCIkS1wiICsga2V5LnRvU3RyaW5nKDE2KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTWFwKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKGtleSA9IG5leHRQYXJ0SWQrKyksXG4gICAgICAgICAgICAgIChwYXJlbnRSZWZlcmVuY2UgPSBzZXJpYWxpemVNb2RlbChBcnJheS5mcm9tKHZhbHVlKSwga2V5KSksXG4gICAgICAgICAgICAgIG51bGwgPT09IGZvcm1EYXRhICYmIChmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpKSxcbiAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIGtleSwgcGFyZW50UmVmZXJlbmNlKSxcbiAgICAgICAgICAgICAgXCIkUVwiICsga2V5LnRvU3RyaW5nKDE2KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBTZXQpXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAoa2V5ID0gbmV4dFBhcnRJZCsrKSxcbiAgICAgICAgICAgICAgKHBhcmVudFJlZmVyZW5jZSA9IHNlcmlhbGl6ZU1vZGVsKEFycmF5LmZyb20odmFsdWUpLCBrZXkpKSxcbiAgICAgICAgICAgICAgbnVsbCA9PT0gZm9ybURhdGEgJiYgKGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCkpLFxuICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoZm9ybUZpZWxkUHJlZml4ICsga2V5LCBwYXJlbnRSZWZlcmVuY2UpLFxuICAgICAgICAgICAgICBcIiRXXCIgKyBrZXkudG9TdHJpbmcoMTYpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKGtleSA9IG5ldyBCbG9iKFt2YWx1ZV0pKSxcbiAgICAgICAgICAgICAgKHBhcmVudFJlZmVyZW5jZSA9IG5leHRQYXJ0SWQrKyksXG4gICAgICAgICAgICAgIG51bGwgPT09IGZvcm1EYXRhICYmIChmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpKSxcbiAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIHBhcmVudFJlZmVyZW5jZSwga2V5KSxcbiAgICAgICAgICAgICAgXCIkQVwiICsgcGFyZW50UmVmZXJlbmNlLnRvU3RyaW5nKDE2KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBJbnQ4QXJyYXkpXG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplVHlwZWRBcnJheShcIk9cIiwgdmFsdWUpO1xuICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpXG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplVHlwZWRBcnJheShcIm9cIiwgdmFsdWUpO1xuICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5KVxuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVR5cGVkQXJyYXkoXCJVXCIsIHZhbHVlKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBJbnQxNkFycmF5KVxuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVR5cGVkQXJyYXkoXCJTXCIsIHZhbHVlKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBVaW50MTZBcnJheSlcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVUeXBlZEFycmF5KFwic1wiLCB2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgSW50MzJBcnJheSlcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVUeXBlZEFycmF5KFwiTFwiLCB2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVWludDMyQXJyYXkpXG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplVHlwZWRBcnJheShcImxcIiwgdmFsdWUpO1xuICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSlcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVUeXBlZEFycmF5KFwiR1wiLCB2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5KVxuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVR5cGVkQXJyYXkoXCJnXCIsIHZhbHVlKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCaWdJbnQ2NEFycmF5KVxuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVR5cGVkQXJyYXkoXCJNXCIsIHZhbHVlKTtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCaWdVaW50NjRBcnJheSlcbiAgICAgICAgICAgIHJldHVybiBzZXJpYWxpemVUeXBlZEFycmF5KFwibVwiLCB2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0YVZpZXcpIHJldHVybiBzZXJpYWxpemVUeXBlZEFycmF5KFwiVlwiLCB2YWx1ZSk7XG4gICAgICAgICAgaWYgKFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIEJsb2IgJiYgdmFsdWUgaW5zdGFuY2VvZiBCbG9iKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgbnVsbCA9PT0gZm9ybURhdGEgJiYgKGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCkpLFxuICAgICAgICAgICAgICAoa2V5ID0gbmV4dFBhcnRJZCsrKSxcbiAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIGtleSwgdmFsdWUpLFxuICAgICAgICAgICAgICBcIiRCXCIgKyBrZXkudG9TdHJpbmcoMTYpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGlmICgocGFyZW50UmVmZXJlbmNlID0gZ2V0SXRlcmF0b3JGbih2YWx1ZSkpKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKHBhcmVudFJlZmVyZW5jZSA9IHBhcmVudFJlZmVyZW5jZS5jYWxsKHZhbHVlKSksXG4gICAgICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSA9PT0gdmFsdWVcbiAgICAgICAgICAgICAgICA/ICgoa2V5ID0gbmV4dFBhcnRJZCsrKSxcbiAgICAgICAgICAgICAgICAgIChwYXJlbnRSZWZlcmVuY2UgPSBzZXJpYWxpemVNb2RlbChcbiAgICAgICAgICAgICAgICAgICAgQXJyYXkuZnJvbShwYXJlbnRSZWZlcmVuY2UpLFxuICAgICAgICAgICAgICAgICAgICBrZXlcbiAgICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgICAgICAgbnVsbCA9PT0gZm9ybURhdGEgJiYgKGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCkpLFxuICAgICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIGtleSwgcGFyZW50UmVmZXJlbmNlKSxcbiAgICAgICAgICAgICAgICAgIFwiJGlcIiArIGtleS50b1N0cmluZygxNikpXG4gICAgICAgICAgICAgICAgOiBBcnJheS5mcm9tKHBhcmVudFJlZmVyZW5jZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgXCJmdW5jdGlvblwiID09PSB0eXBlb2YgUmVhZGFibGVTdHJlYW0gJiZcbiAgICAgICAgICAgIHZhbHVlIGluc3RhbmNlb2YgUmVhZGFibGVTdHJlYW1cbiAgICAgICAgICApXG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplUmVhZGFibGVTdHJlYW0odmFsdWUpO1xuICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSA9IHZhbHVlW0FTWU5DX0lURVJBVE9SXTtcbiAgICAgICAgICBpZiAoXCJmdW5jdGlvblwiID09PSB0eXBlb2YgcGFyZW50UmVmZXJlbmNlKVxuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZUFzeW5jSXRlcmFibGUodmFsdWUsIHBhcmVudFJlZmVyZW5jZS5jYWxsKHZhbHVlKSk7XG4gICAgICAgICAgcGFyZW50UmVmZXJlbmNlID0gZ2V0UHJvdG90eXBlT2YodmFsdWUpO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHBhcmVudFJlZmVyZW5jZSAhPT0gT2JqZWN0UHJvdG90eXBlICYmXG4gICAgICAgICAgICAobnVsbCA9PT0gcGFyZW50UmVmZXJlbmNlIHx8XG4gICAgICAgICAgICAgIG51bGwgIT09IGdldFByb3RvdHlwZU9mKHBhcmVudFJlZmVyZW5jZSkpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAodm9pZCAwID09PSB0ZW1wb3JhcnlSZWZlcmVuY2VzKVxuICAgICAgICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgICAgICBcIk9ubHkgcGxhaW4gb2JqZWN0cywgYW5kIGEgZmV3IGJ1aWx0LWlucywgY2FuIGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zLiBDbGFzc2VzIG9yIG51bGwgcHJvdG90eXBlcyBhcmUgbm90IHN1cHBvcnRlZC5cIiArXG4gICAgICAgICAgICAgICAgICBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSh0aGlzLCBrZXkpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gXCIkVFwiO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YWx1ZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ09OVEVYVF9UWVBFXG4gICAgICAgICAgICA/IGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgXCJSZWFjdCBDb250ZXh0IFByb3ZpZGVycyBjYW5ub3QgYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiVzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UodGhpcywga2V5KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IFwiT2JqZWN0XCIgIT09IG9iamVjdE5hbWUodmFsdWUpXG4gICAgICAgICAgICAgID8gY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgIFwiT25seSBwbGFpbiBvYmplY3RzIGNhbiBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucyBmcm9tIHRoZSBDbGllbnQuICVzIG9iamVjdHMgYXJlIG5vdCBzdXBwb3J0ZWQuJXNcIixcbiAgICAgICAgICAgICAgICAgIG9iamVjdE5hbWUodmFsdWUpLFxuICAgICAgICAgICAgICAgICAgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UodGhpcywga2V5KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgOiBpc1NpbXBsZU9iamVjdCh2YWx1ZSlcbiAgICAgICAgICAgICAgICA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgJiZcbiAgICAgICAgICAgICAgICAgICgocGFyZW50UmVmZXJlbmNlID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh2YWx1ZSkpLFxuICAgICAgICAgICAgICAgICAgMCA8IHBhcmVudFJlZmVyZW5jZS5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICBcIk9ubHkgcGxhaW4gb2JqZWN0cyBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiBPYmplY3RzIHdpdGggc3ltYm9sIHByb3BlcnRpZXMgbGlrZSAlcyBhcmUgbm90IHN1cHBvcnRlZC4lc1wiLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFJlZmVyZW5jZVswXS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSh0aGlzLCBrZXkpXG4gICAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgOiBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICBcIk9ubHkgcGxhaW4gb2JqZWN0cyBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiBDbGFzc2VzIG9yIG90aGVyIG9iamVjdHMgd2l0aCBtZXRob2RzIGFyZSBub3Qgc3VwcG9ydGVkLiVzXCIsXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKHRoaXMsIGtleSlcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcInN0cmluZ1wiID09PSB0eXBlb2YgdmFsdWUpIHtcbiAgICAgICAgICBpZiAoXCJaXCIgPT09IHZhbHVlW3ZhbHVlLmxlbmd0aCAtIDFdICYmIHRoaXNba2V5XSBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICAgICByZXR1cm4gXCIkRFwiICsgdmFsdWU7XG4gICAgICAgICAga2V5ID0gXCIkXCIgPT09IHZhbHVlWzBdID8gXCIkXCIgKyB2YWx1ZSA6IHZhbHVlO1xuICAgICAgICAgIHJldHVybiBrZXk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFwiYm9vbGVhblwiID09PSB0eXBlb2YgdmFsdWUpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKFwibnVtYmVyXCIgPT09IHR5cGVvZiB2YWx1ZSkgcmV0dXJuIHNlcmlhbGl6ZU51bWJlcih2YWx1ZSk7XG4gICAgICAgIGlmIChcInVuZGVmaW5lZFwiID09PSB0eXBlb2YgdmFsdWUpIHJldHVybiBcIiR1bmRlZmluZWRcIjtcbiAgICAgICAgaWYgKFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIHZhbHVlKSB7XG4gICAgICAgICAgcGFyZW50UmVmZXJlbmNlID0ga25vd25TZXJ2ZXJSZWZlcmVuY2VzLmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHZvaWQgMCAhPT0gcGFyZW50UmVmZXJlbmNlKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKGtleSA9IEpTT04uc3RyaW5naWZ5KHBhcmVudFJlZmVyZW5jZSwgcmVzb2x2ZVRvSlNPTikpLFxuICAgICAgICAgICAgICBudWxsID09PSBmb3JtRGF0YSAmJiAoZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSksXG4gICAgICAgICAgICAgIChwYXJlbnRSZWZlcmVuY2UgPSBuZXh0UGFydElkKyspLFxuICAgICAgICAgICAgICBmb3JtRGF0YS5zZXQoZm9ybUZpZWxkUHJlZml4ICsgcGFyZW50UmVmZXJlbmNlLCBrZXkpLFxuICAgICAgICAgICAgICBcIiRGXCIgKyBwYXJlbnRSZWZlcmVuY2UudG9TdHJpbmcoMTYpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHZvaWQgMCAhPT0gdGVtcG9yYXJ5UmVmZXJlbmNlcyAmJlxuICAgICAgICAgICAgLTEgPT09IGtleS5pbmRleE9mKFwiOlwiKSAmJlxuICAgICAgICAgICAgKChwYXJlbnRSZWZlcmVuY2UgPSB3cml0dGVuT2JqZWN0cy5nZXQodGhpcykpLFxuICAgICAgICAgICAgdm9pZCAwICE9PSBwYXJlbnRSZWZlcmVuY2UpXG4gICAgICAgICAgKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcy5zZXQocGFyZW50UmVmZXJlbmNlICsgXCI6XCIgKyBrZXksIHZhbHVlKSwgXCIkVFwiXG4gICAgICAgICAgICApO1xuICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgXCJDbGllbnQgRnVuY3Rpb25zIGNhbm5vdCBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gU2VydmVyIEZ1bmN0aW9ucy4gT25seSBGdW5jdGlvbnMgcGFzc2VkIGZyb20gdGhlIFNlcnZlciBjYW4gYmUgcGFzc2VkIGJhY2sgYWdhaW4uXCJcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcInN5bWJvbFwiID09PSB0eXBlb2YgdmFsdWUpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB2b2lkIDAgIT09IHRlbXBvcmFyeVJlZmVyZW5jZXMgJiZcbiAgICAgICAgICAgIC0xID09PSBrZXkuaW5kZXhPZihcIjpcIikgJiZcbiAgICAgICAgICAgICgocGFyZW50UmVmZXJlbmNlID0gd3JpdHRlbk9iamVjdHMuZ2V0KHRoaXMpKSxcbiAgICAgICAgICAgIHZvaWQgMCAhPT0gcGFyZW50UmVmZXJlbmNlKVxuICAgICAgICAgIClcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXMuc2V0KHBhcmVudFJlZmVyZW5jZSArIFwiOlwiICsga2V5LCB2YWx1ZSksIFwiJFRcIlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgIFwiU3ltYm9scyBjYW5ub3QgYmUgcGFzc2VkIHRvIGEgU2VydmVyIEZ1bmN0aW9uIHdpdGhvdXQgYSB0ZW1wb3JhcnkgcmVmZXJlbmNlIHNldC4gUGFzcyBhIFRlbXBvcmFyeVJlZmVyZW5jZVNldCB0byB0aGUgb3B0aW9ucy5cIiArXG4gICAgICAgICAgICAgIGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKHRoaXMsIGtleSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcImJpZ2ludFwiID09PSB0eXBlb2YgdmFsdWUpIHJldHVybiBcIiRuXCIgKyB2YWx1ZS50b1N0cmluZygxMCk7XG4gICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgIFwiVHlwZSBcIiArXG4gICAgICAgICAgICB0eXBlb2YgdmFsdWUgK1xuICAgICAgICAgICAgXCIgaXMgbm90IHN1cHBvcnRlZCBhcyBhbiBhcmd1bWVudCB0byBhIFNlcnZlciBGdW5jdGlvbi5cIlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gc2VyaWFsaXplTW9kZWwobW9kZWwsIGlkKSB7XG4gICAgICAgIFwib2JqZWN0XCIgPT09IHR5cGVvZiBtb2RlbCAmJlxuICAgICAgICAgIG51bGwgIT09IG1vZGVsICYmXG4gICAgICAgICAgKChpZCA9IFwiJFwiICsgaWQudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgICB3cml0dGVuT2JqZWN0cy5zZXQobW9kZWwsIGlkKSxcbiAgICAgICAgICB2b2lkIDAgIT09IHRlbXBvcmFyeVJlZmVyZW5jZXMgJiYgdGVtcG9yYXJ5UmVmZXJlbmNlcy5zZXQoaWQsIG1vZGVsKSk7XG4gICAgICAgIG1vZGVsUm9vdCA9IG1vZGVsO1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobW9kZWwsIHJlc29sdmVUb0pTT04pO1xuICAgICAgfVxuICAgICAgdmFyIG5leHRQYXJ0SWQgPSAxLFxuICAgICAgICBwZW5kaW5nUGFydHMgPSAwLFxuICAgICAgICBmb3JtRGF0YSA9IG51bGwsXG4gICAgICAgIHdyaXR0ZW5PYmplY3RzID0gbmV3IFdlYWtNYXAoKSxcbiAgICAgICAgbW9kZWxSb290ID0gcm9vdCxcbiAgICAgICAganNvbiA9IHNlcmlhbGl6ZU1vZGVsKHJvb3QsIDApO1xuICAgICAgbnVsbCA9PT0gZm9ybURhdGFcbiAgICAgICAgPyByZXNvbHZlKGpzb24pXG4gICAgICAgIDogKGZvcm1EYXRhLnNldChmb3JtRmllbGRQcmVmaXggKyBcIjBcIiwganNvbiksXG4gICAgICAgICAgMCA9PT0gcGVuZGluZ1BhcnRzICYmIHJlc29sdmUoZm9ybURhdGEpKTtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIDAgPCBwZW5kaW5nUGFydHMgJiZcbiAgICAgICAgICAoKHBlbmRpbmdQYXJ0cyA9IDApLFxuICAgICAgICAgIG51bGwgPT09IGZvcm1EYXRhID8gcmVzb2x2ZShqc29uKSA6IHJlc29sdmUoZm9ybURhdGEpKTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGVuY29kZUZvcm1EYXRhKHJlZmVyZW5jZSkge1xuICAgICAgdmFyIHJlc29sdmUsXG4gICAgICAgIHJlamVjdCxcbiAgICAgICAgdGhlbmFibGUgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzLCByZWopIHtcbiAgICAgICAgICByZXNvbHZlID0gcmVzO1xuICAgICAgICAgIHJlamVjdCA9IHJlajtcbiAgICAgICAgfSk7XG4gICAgICBwcm9jZXNzUmVwbHkoXG4gICAgICAgIHJlZmVyZW5jZSxcbiAgICAgICAgXCJcIixcbiAgICAgICAgdm9pZCAwLFxuICAgICAgICBmdW5jdGlvbiAoYm9keSkge1xuICAgICAgICAgIGlmIChcInN0cmluZ1wiID09PSB0eXBlb2YgYm9keSkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgICAgIGRhdGEuYXBwZW5kKFwiMFwiLCBib2R5KTtcbiAgICAgICAgICAgIGJvZHkgPSBkYXRhO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGVuYWJsZS5zdGF0dXMgPSBcImZ1bGZpbGxlZFwiO1xuICAgICAgICAgIHRoZW5hYmxlLnZhbHVlID0gYm9keTtcbiAgICAgICAgICByZXNvbHZlKGJvZHkpO1xuICAgICAgICB9LFxuICAgICAgICBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgIHRoZW5hYmxlLnN0YXR1cyA9IFwicmVqZWN0ZWRcIjtcbiAgICAgICAgICB0aGVuYWJsZS5yZWFzb24gPSBlO1xuICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiB0aGVuYWJsZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZGVmYXVsdEVuY29kZUZvcm1BY3Rpb24oaWRlbnRpZmllclByZWZpeCkge1xuICAgICAgdmFyIHJlZmVyZW5jZSA9IGtub3duU2VydmVyUmVmZXJlbmNlcy5nZXQodGhpcyk7XG4gICAgICBpZiAoIXJlZmVyZW5jZSlcbiAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgXCJUcmllZCB0byBlbmNvZGUgYSBTZXJ2ZXIgQWN0aW9uIGZyb20gYSBkaWZmZXJlbnQgaW5zdGFuY2UgdGhhbiB0aGUgZW5jb2RlciBpcyBmcm9tLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LlwiXG4gICAgICAgICk7XG4gICAgICB2YXIgZGF0YSA9IG51bGw7XG4gICAgICBpZiAobnVsbCAhPT0gcmVmZXJlbmNlLmJvdW5kKSB7XG4gICAgICAgIGRhdGEgPSBib3VuZENhY2hlLmdldChyZWZlcmVuY2UpO1xuICAgICAgICBkYXRhIHx8XG4gICAgICAgICAgKChkYXRhID0gZW5jb2RlRm9ybURhdGEocmVmZXJlbmNlKSksIGJvdW5kQ2FjaGUuc2V0KHJlZmVyZW5jZSwgZGF0YSkpO1xuICAgICAgICBpZiAoXCJyZWplY3RlZFwiID09PSBkYXRhLnN0YXR1cykgdGhyb3cgZGF0YS5yZWFzb247XG4gICAgICAgIGlmIChcImZ1bGZpbGxlZFwiICE9PSBkYXRhLnN0YXR1cykgdGhyb3cgZGF0YTtcbiAgICAgICAgcmVmZXJlbmNlID0gZGF0YS52YWx1ZTtcbiAgICAgICAgdmFyIHByZWZpeGVkRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICByZWZlcmVuY2UuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUsIGtleSkge1xuICAgICAgICAgIHByZWZpeGVkRGF0YS5hcHBlbmQoXCIkQUNUSU9OX1wiICsgaWRlbnRpZmllclByZWZpeCArIFwiOlwiICsga2V5LCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBkYXRhID0gcHJlZml4ZWREYXRhO1xuICAgICAgICByZWZlcmVuY2UgPSBcIiRBQ1RJT05fUkVGX1wiICsgaWRlbnRpZmllclByZWZpeDtcbiAgICAgIH0gZWxzZSByZWZlcmVuY2UgPSBcIiRBQ1RJT05fSURfXCIgKyByZWZlcmVuY2UuaWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiByZWZlcmVuY2UsXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIGVuY1R5cGU6IFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiLFxuICAgICAgICBkYXRhOiBkYXRhXG4gICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc1NpZ25hdHVyZUVxdWFsKHJlZmVyZW5jZUlkLCBudW1iZXJPZkJvdW5kQXJncykge1xuICAgICAgdmFyIHJlZmVyZW5jZSA9IGtub3duU2VydmVyUmVmZXJlbmNlcy5nZXQodGhpcyk7XG4gICAgICBpZiAoIXJlZmVyZW5jZSlcbiAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgXCJUcmllZCB0byBlbmNvZGUgYSBTZXJ2ZXIgQWN0aW9uIGZyb20gYSBkaWZmZXJlbnQgaW5zdGFuY2UgdGhhbiB0aGUgZW5jb2RlciBpcyBmcm9tLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LlwiXG4gICAgICAgICk7XG4gICAgICBpZiAocmVmZXJlbmNlLmlkICE9PSByZWZlcmVuY2VJZCkgcmV0dXJuICExO1xuICAgICAgdmFyIGJvdW5kUHJvbWlzZSA9IHJlZmVyZW5jZS5ib3VuZDtcbiAgICAgIGlmIChudWxsID09PSBib3VuZFByb21pc2UpIHJldHVybiAwID09PSBudW1iZXJPZkJvdW5kQXJncztcbiAgICAgIHN3aXRjaCAoYm91bmRQcm9taXNlLnN0YXR1cykge1xuICAgICAgICBjYXNlIFwiZnVsZmlsbGVkXCI6XG4gICAgICAgICAgcmV0dXJuIGJvdW5kUHJvbWlzZS52YWx1ZS5sZW5ndGggPT09IG51bWJlck9mQm91bmRBcmdzO1xuICAgICAgICBjYXNlIFwicGVuZGluZ1wiOlxuICAgICAgICAgIHRocm93IGJvdW5kUHJvbWlzZTtcbiAgICAgICAgY2FzZSBcInJlamVjdGVkXCI6XG4gICAgICAgICAgdGhyb3cgYm91bmRQcm9taXNlLnJlYXNvbjtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyAoXG4gICAgICAgICAgICAoXCJzdHJpbmdcIiAhPT0gdHlwZW9mIGJvdW5kUHJvbWlzZS5zdGF0dXMgJiZcbiAgICAgICAgICAgICAgKChib3VuZFByb21pc2Uuc3RhdHVzID0gXCJwZW5kaW5nXCIpLFxuICAgICAgICAgICAgICBib3VuZFByb21pc2UudGhlbihcbiAgICAgICAgICAgICAgICBmdW5jdGlvbiAoYm91bmRBcmdzKSB7XG4gICAgICAgICAgICAgICAgICBib3VuZFByb21pc2Uuc3RhdHVzID0gXCJmdWxmaWxsZWRcIjtcbiAgICAgICAgICAgICAgICAgIGJvdW5kUHJvbWlzZS52YWx1ZSA9IGJvdW5kQXJncztcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgYm91bmRQcm9taXNlLnN0YXR1cyA9IFwicmVqZWN0ZWRcIjtcbiAgICAgICAgICAgICAgICAgIGJvdW5kUHJvbWlzZS5yZWFzb24gPSBlcnJvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgYm91bmRQcm9taXNlKVxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUZha2VTZXJ2ZXJGdW5jdGlvbihcbiAgICAgIG5hbWUsXG4gICAgICBmaWxlbmFtZSxcbiAgICAgIHNvdXJjZU1hcCxcbiAgICAgIGxpbmUsXG4gICAgICBjb2wsXG4gICAgICBlbnZpcm9ubWVudE5hbWUsXG4gICAgICBpbm5lckZ1bmN0aW9uXG4gICAgKSB7XG4gICAgICBuYW1lIHx8IChuYW1lID0gXCI8YW5vbnltb3VzPlwiKTtcbiAgICAgIHZhciBlbmNvZGVkTmFtZSA9IEpTT04uc3RyaW5naWZ5KG5hbWUpO1xuICAgICAgMSA+PSBsaW5lXG4gICAgICAgID8gKChsaW5lID0gZW5jb2RlZE5hbWUubGVuZ3RoICsgNyksXG4gICAgICAgICAgKGNvbCA9XG4gICAgICAgICAgICBcInM9Pih7XCIgK1xuICAgICAgICAgICAgZW5jb2RlZE5hbWUgK1xuICAgICAgICAgICAgXCIgXCIucmVwZWF0KGNvbCA8IGxpbmUgPyAwIDogY29sIC0gbGluZSkgK1xuICAgICAgICAgICAgXCI6KC4uLmFyZ3MpID0+IHMoLi4uYXJncyl9KVxcbi8qIFRoaXMgbW9kdWxlIGlzIGEgcHJveHkgdG8gYSBTZXJ2ZXIgQWN0aW9uLiBUdXJuIG9uIFNvdXJjZSBNYXBzIHRvIHNlZSB0aGUgc2VydmVyIHNvdXJjZS4gKi9cIikpXG4gICAgICAgIDogKGNvbCA9XG4gICAgICAgICAgICBcIi8qIFRoaXMgbW9kdWxlIGlzIGEgcHJveHkgdG8gYSBTZXJ2ZXIgQWN0aW9uLiBUdXJuIG9uIFNvdXJjZSBNYXBzIHRvIHNlZSB0aGUgc2VydmVyIHNvdXJjZS4gKi9cIiArXG4gICAgICAgICAgICBcIlxcblwiLnJlcGVhdChsaW5lIC0gMikgK1xuICAgICAgICAgICAgXCJzZXJ2ZXI9Pih7XCIgK1xuICAgICAgICAgICAgZW5jb2RlZE5hbWUgK1xuICAgICAgICAgICAgXCI6XFxuXCIgK1xuICAgICAgICAgICAgXCIgXCIucmVwZWF0KDEgPiBjb2wgPyAwIDogY29sIC0gMSkgK1xuICAgICAgICAgICAgXCIoLi4uYXJncykgPT4gc2VydmVyKC4uLmFyZ3MpfSlcIik7XG4gICAgICBmaWxlbmFtZS5zdGFydHNXaXRoKFwiL1wiKSAmJiAoZmlsZW5hbWUgPSBcImZpbGU6Ly9cIiArIGZpbGVuYW1lKTtcbiAgICAgIHNvdXJjZU1hcFxuICAgICAgICA/ICgoY29sICs9XG4gICAgICAgICAgICBcIlxcbi8vIyBzb3VyY2VVUkw9cnNjOi8vUmVhY3QvXCIgK1xuICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KGVudmlyb25tZW50TmFtZSkgK1xuICAgICAgICAgICAgXCIvXCIgK1xuICAgICAgICAgICAgZmlsZW5hbWUgK1xuICAgICAgICAgICAgXCI/c1wiICtcbiAgICAgICAgICAgIGZha2VTZXJ2ZXJGdW5jdGlvbklkeCsrKSxcbiAgICAgICAgICAoY29sICs9IFwiXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9XCIgKyBzb3VyY2VNYXApKVxuICAgICAgICA6IGZpbGVuYW1lICYmIChjb2wgKz0gXCJcXG4vLyMgc291cmNlVVJMPVwiICsgZmlsZW5hbWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuICgwLCBldmFsKShjb2wpKGlubmVyRnVuY3Rpb24pW25hbWVdO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICByZXR1cm4gaW5uZXJGdW5jdGlvbjtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gcmVnaXN0ZXJTZXJ2ZXJSZWZlcmVuY2UoXG4gICAgICBwcm94eSxcbiAgICAgIHJlZmVyZW5jZSRqc2NvbXAkMCxcbiAgICAgIGVuY29kZUZvcm1BY3Rpb25cbiAgICApIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHByb3h5LCB7XG4gICAgICAgICQkRk9STV9BQ1RJT046IHtcbiAgICAgICAgICB2YWx1ZTpcbiAgICAgICAgICAgIHZvaWQgMCA9PT0gZW5jb2RlRm9ybUFjdGlvblxuICAgICAgICAgICAgICA/IGRlZmF1bHRFbmNvZGVGb3JtQWN0aW9uXG4gICAgICAgICAgICAgIDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgdmFyIHJlZmVyZW5jZSA9IGtub3duU2VydmVyUmVmZXJlbmNlcy5nZXQodGhpcyk7XG4gICAgICAgICAgICAgICAgICBpZiAoIXJlZmVyZW5jZSlcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgXCJUcmllZCB0byBlbmNvZGUgYSBTZXJ2ZXIgQWN0aW9uIGZyb20gYSBkaWZmZXJlbnQgaW5zdGFuY2UgdGhhbiB0aGUgZW5jb2RlciBpcyBmcm9tLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LlwiXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB2YXIgYm91bmRQcm9taXNlID0gcmVmZXJlbmNlLmJvdW5kO1xuICAgICAgICAgICAgICAgICAgbnVsbCA9PT0gYm91bmRQcm9taXNlICYmIChib3VuZFByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoW10pKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBlbmNvZGVGb3JtQWN0aW9uKHJlZmVyZW5jZS5pZCwgYm91bmRQcm9taXNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICQkSVNfU0lHTkFUVVJFX0VRVUFMOiB7IHZhbHVlOiBpc1NpZ25hdHVyZUVxdWFsIH0sXG4gICAgICAgIGJpbmQ6IHsgdmFsdWU6IGJpbmQgfVxuICAgICAgfSk7XG4gICAgICBrbm93blNlcnZlclJlZmVyZW5jZXMuc2V0KHByb3h5LCByZWZlcmVuY2UkanNjb21wJDApO1xuICAgIH1cbiAgICBmdW5jdGlvbiBiaW5kKCkge1xuICAgICAgdmFyIG5ld0ZuID0gRnVuY3Rpb25CaW5kLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksXG4gICAgICAgIHJlZmVyZW5jZSA9IGtub3duU2VydmVyUmVmZXJlbmNlcy5nZXQodGhpcyk7XG4gICAgICBpZiAocmVmZXJlbmNlKSB7XG4gICAgICAgIG51bGwgIT0gYXJndW1lbnRzWzBdICYmXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICdDYW5ub3QgYmluZCBcInRoaXNcIiBvZiBhIFNlcnZlciBBY3Rpb24uIFBhc3MgbnVsbCBvciB1bmRlZmluZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIC5iaW5kKCkuJ1xuICAgICAgICAgICk7XG4gICAgICAgIHZhciBhcmdzID0gQXJyYXlTbGljZS5jYWxsKGFyZ3VtZW50cywgMSksXG4gICAgICAgICAgYm91bmRQcm9taXNlID0gbnVsbDtcbiAgICAgICAgYm91bmRQcm9taXNlID1cbiAgICAgICAgICBudWxsICE9PSByZWZlcmVuY2UuYm91bmRcbiAgICAgICAgICAgID8gUHJvbWlzZS5yZXNvbHZlKHJlZmVyZW5jZS5ib3VuZCkudGhlbihmdW5jdGlvbiAoYm91bmRBcmdzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGJvdW5kQXJncy5jb25jYXQoYXJncyk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IFByb21pc2UucmVzb2x2ZShhcmdzKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobmV3Rm4sIHtcbiAgICAgICAgICAkJEZPUk1fQUNUSU9OOiB7IHZhbHVlOiB0aGlzLiQkRk9STV9BQ1RJT04gfSxcbiAgICAgICAgICAkJElTX1NJR05BVFVSRV9FUVVBTDogeyB2YWx1ZTogaXNTaWduYXR1cmVFcXVhbCB9LFxuICAgICAgICAgIGJpbmQ6IHsgdmFsdWU6IGJpbmQgfVxuICAgICAgICB9KTtcbiAgICAgICAga25vd25TZXJ2ZXJSZWZlcmVuY2VzLnNldChuZXdGbiwge1xuICAgICAgICAgIGlkOiByZWZlcmVuY2UuaWQsXG4gICAgICAgICAgYm91bmQ6IGJvdW5kUHJvbWlzZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXdGbjtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlQm91bmRTZXJ2ZXJSZWZlcmVuY2UoXG4gICAgICBtZXRhRGF0YSxcbiAgICAgIGNhbGxTZXJ2ZXIsXG4gICAgICBlbmNvZGVGb3JtQWN0aW9uLFxuICAgICAgZmluZFNvdXJjZU1hcFVSTFxuICAgICkge1xuICAgICAgZnVuY3Rpb24gYWN0aW9uKCkge1xuICAgICAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG4gICAgICAgIHJldHVybiBib3VuZFxuICAgICAgICAgID8gXCJmdWxmaWxsZWRcIiA9PT0gYm91bmQuc3RhdHVzXG4gICAgICAgICAgICA/IGNhbGxTZXJ2ZXIoaWQsIGJvdW5kLnZhbHVlLmNvbmNhdChhcmdzKSlcbiAgICAgICAgICAgIDogUHJvbWlzZS5yZXNvbHZlKGJvdW5kKS50aGVuKGZ1bmN0aW9uIChib3VuZEFyZ3MpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2FsbFNlcnZlcihpZCwgYm91bmRBcmdzLmNvbmNhdChhcmdzKSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBjYWxsU2VydmVyKGlkLCBhcmdzKTtcbiAgICAgIH1cbiAgICAgIHZhciBpZCA9IG1ldGFEYXRhLmlkLFxuICAgICAgICBib3VuZCA9IG1ldGFEYXRhLmJvdW5kLFxuICAgICAgICBsb2NhdGlvbiA9IG1ldGFEYXRhLmxvY2F0aW9uO1xuICAgICAgaWYgKGxvY2F0aW9uKSB7XG4gICAgICAgIHZhciBmdW5jdGlvbk5hbWUgPSBtZXRhRGF0YS5uYW1lIHx8IFwiXCIsXG4gICAgICAgICAgZmlsZW5hbWUgPSBsb2NhdGlvblsxXSxcbiAgICAgICAgICBsaW5lID0gbG9jYXRpb25bMl07XG4gICAgICAgIGxvY2F0aW9uID0gbG9jYXRpb25bM107XG4gICAgICAgIG1ldGFEYXRhID0gbWV0YURhdGEuZW52IHx8IFwiU2VydmVyXCI7XG4gICAgICAgIGZpbmRTb3VyY2VNYXBVUkwgPVxuICAgICAgICAgIG51bGwgPT0gZmluZFNvdXJjZU1hcFVSTFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IGZpbmRTb3VyY2VNYXBVUkwoZmlsZW5hbWUsIG1ldGFEYXRhKTtcbiAgICAgICAgYWN0aW9uID0gY3JlYXRlRmFrZVNlcnZlckZ1bmN0aW9uKFxuICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICBmaW5kU291cmNlTWFwVVJMLFxuICAgICAgICAgIGxpbmUsXG4gICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgbWV0YURhdGEsXG4gICAgICAgICAgYWN0aW9uXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZWdpc3RlclNlcnZlclJlZmVyZW5jZShcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICB7IGlkOiBpZCwgYm91bmQ6IGJvdW5kIH0sXG4gICAgICAgIGVuY29kZUZvcm1BY3Rpb25cbiAgICAgICk7XG4gICAgICByZXR1cm4gYWN0aW9uO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwYXJzZVN0YWNrTG9jYXRpb24oZXJyb3IpIHtcbiAgICAgIGVycm9yID0gZXJyb3Iuc3RhY2s7XG4gICAgICBlcnJvci5zdGFydHNXaXRoKFwiRXJyb3I6IHJlYWN0LXN0YWNrLXRvcC1mcmFtZVxcblwiKSAmJlxuICAgICAgICAoZXJyb3IgPSBlcnJvci5zbGljZSgyOSkpO1xuICAgICAgdmFyIGVuZE9mRmlyc3QgPSBlcnJvci5pbmRleE9mKFwiXFxuXCIpO1xuICAgICAgaWYgKC0xICE9PSBlbmRPZkZpcnN0KSB7XG4gICAgICAgIHZhciBlbmRPZlNlY29uZCA9IGVycm9yLmluZGV4T2YoXCJcXG5cIiwgZW5kT2ZGaXJzdCArIDEpO1xuICAgICAgICBlbmRPZkZpcnN0ID1cbiAgICAgICAgICAtMSA9PT0gZW5kT2ZTZWNvbmRcbiAgICAgICAgICAgID8gZXJyb3Iuc2xpY2UoZW5kT2ZGaXJzdCArIDEpXG4gICAgICAgICAgICA6IGVycm9yLnNsaWNlKGVuZE9mRmlyc3QgKyAxLCBlbmRPZlNlY29uZCk7XG4gICAgICB9IGVsc2UgZW5kT2ZGaXJzdCA9IGVycm9yO1xuICAgICAgZXJyb3IgPSB2OEZyYW1lUmVnRXhwLmV4ZWMoZW5kT2ZGaXJzdCk7XG4gICAgICBpZiAoXG4gICAgICAgICFlcnJvciAmJlxuICAgICAgICAoKGVycm9yID0ganNjU3BpZGVyTW9ua2V5RnJhbWVSZWdFeHAuZXhlYyhlbmRPZkZpcnN0KSksICFlcnJvcilcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICBlbmRPZkZpcnN0ID0gZXJyb3JbMV0gfHwgXCJcIjtcbiAgICAgIFwiPGFub255bW91cz5cIiA9PT0gZW5kT2ZGaXJzdCAmJiAoZW5kT2ZGaXJzdCA9IFwiXCIpO1xuICAgICAgZW5kT2ZTZWNvbmQgPSBlcnJvclsyXSB8fCBlcnJvcls1XSB8fCBcIlwiO1xuICAgICAgXCI8YW5vbnltb3VzPlwiID09PSBlbmRPZlNlY29uZCAmJiAoZW5kT2ZTZWNvbmQgPSBcIlwiKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIGVuZE9mRmlyc3QsXG4gICAgICAgIGVuZE9mU2Vjb25kLFxuICAgICAgICArKGVycm9yWzNdIHx8IGVycm9yWzZdKSxcbiAgICAgICAgKyhlcnJvcls0XSB8fCBlcnJvcls3XSlcbiAgICAgIF07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZVNlcnZlclJlZmVyZW5jZSQxKFxuICAgICAgaWQsXG4gICAgICBjYWxsU2VydmVyLFxuICAgICAgZW5jb2RlRm9ybUFjdGlvbixcbiAgICAgIGZpbmRTb3VyY2VNYXBVUkwsXG4gICAgICBmdW5jdGlvbk5hbWVcbiAgICApIHtcbiAgICAgIGZ1bmN0aW9uIGFjdGlvbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuICAgICAgICByZXR1cm4gY2FsbFNlcnZlcihpZCwgYXJncyk7XG4gICAgICB9XG4gICAgICB2YXIgbG9jYXRpb24gPSBwYXJzZVN0YWNrTG9jYXRpb24oRXJyb3IoXCJyZWFjdC1zdGFjay10b3AtZnJhbWVcIikpO1xuICAgICAgaWYgKG51bGwgIT09IGxvY2F0aW9uKSB7XG4gICAgICAgIHZhciBmaWxlbmFtZSA9IGxvY2F0aW9uWzFdLFxuICAgICAgICAgIGxpbmUgPSBsb2NhdGlvblsyXTtcbiAgICAgICAgbG9jYXRpb24gPSBsb2NhdGlvblszXTtcbiAgICAgICAgZmluZFNvdXJjZU1hcFVSTCA9XG4gICAgICAgICAgbnVsbCA9PSBmaW5kU291cmNlTWFwVVJMXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogZmluZFNvdXJjZU1hcFVSTChmaWxlbmFtZSwgXCJDbGllbnRcIik7XG4gICAgICAgIGFjdGlvbiA9IGNyZWF0ZUZha2VTZXJ2ZXJGdW5jdGlvbihcbiAgICAgICAgICBmdW5jdGlvbk5hbWUgfHwgXCJcIixcbiAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICBmaW5kU291cmNlTWFwVVJMLFxuICAgICAgICAgIGxpbmUsXG4gICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgXCJDbGllbnRcIixcbiAgICAgICAgICBhY3Rpb25cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJlZ2lzdGVyU2VydmVyUmVmZXJlbmNlKFxuICAgICAgICBhY3Rpb24sXG4gICAgICAgIHsgaWQ6IGlkLCBib3VuZDogbnVsbCB9LFxuICAgICAgICBlbmNvZGVGb3JtQWN0aW9uXG4gICAgICApO1xuICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgICAgIGlmIChudWxsID09IHR5cGUpIHJldHVybiBudWxsO1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIHR5cGUpXG4gICAgICAgIHJldHVybiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DTElFTlRfUkVGRVJFTkNFXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICAgICAgaWYgKFwic3RyaW5nXCIgPT09IHR5cGVvZiB0eXBlKSByZXR1cm4gdHlwZTtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIFwiRnJhZ21lbnRcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJQb3J0YWxcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlByb2ZpbGVyXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1RSSUNUX01PREVfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdHJpY3RNb2RlXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdXNwZW5zZVwiO1xuICAgICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdXNwZW5zZUxpc3RcIjtcbiAgICAgIH1cbiAgICAgIGlmIChcIm9iamVjdFwiID09PSB0eXBlb2YgdHlwZSlcbiAgICAgICAgc3dpdGNoIChcbiAgICAgICAgICAoXCJudW1iZXJcIiA9PT0gdHlwZW9mIHR5cGUudGFnICYmXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICBcIlJlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSgpLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCJcbiAgICAgICAgICAgICksXG4gICAgICAgICAgdHlwZS4kJHR5cGVvZilcbiAgICAgICAgKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gKHR5cGUuZGlzcGxheU5hbWUgfHwgXCJDb250ZXh0XCIpICsgXCIuUHJvdmlkZXJcIjtcbiAgICAgICAgICBjYXNlIFJFQUNUX0NPTlNVTUVSX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gKHR5cGUuX2NvbnRleHQuZGlzcGxheU5hbWUgfHwgXCJDb250ZXh0XCIpICsgXCIuQ29uc3VtZXJcIjtcbiAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICB2YXIgaW5uZXJUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgICAgICB0eXBlID0gdHlwZS5kaXNwbGF5TmFtZTtcbiAgICAgICAgICAgIHR5cGUgfHxcbiAgICAgICAgICAgICAgKCh0eXBlID0gaW5uZXJUeXBlLmRpc3BsYXlOYW1lIHx8IGlubmVyVHlwZS5uYW1lIHx8IFwiXCIpLFxuICAgICAgICAgICAgICAodHlwZSA9IFwiXCIgIT09IHR5cGUgPyBcIkZvcndhcmRSZWYoXCIgKyB0eXBlICsgXCIpXCIgOiBcIkZvcndhcmRSZWZcIikpO1xuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAoaW5uZXJUeXBlID0gdHlwZS5kaXNwbGF5TmFtZSB8fCBudWxsKSxcbiAgICAgICAgICAgICAgbnVsbCAhPT0gaW5uZXJUeXBlXG4gICAgICAgICAgICAgICAgPyBpbm5lclR5cGVcbiAgICAgICAgICAgICAgICA6IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8IFwiTWVtb1wiXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgICAgaW5uZXJUeXBlID0gdHlwZS5fcGF5bG9hZDtcbiAgICAgICAgICAgIHR5cGUgPSB0eXBlLl9pbml0O1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKGlubmVyVHlwZSkpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGZ1bmN0aW9uIFJlYWN0UHJvbWlzZShzdGF0dXMsIHZhbHVlLCByZWFzb24sIHJlc3BvbnNlKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9IHN0YXR1cztcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMucmVhc29uID0gcmVhc29uO1xuICAgICAgdGhpcy5fcmVzcG9uc2UgPSByZXNwb25zZTtcbiAgICAgIHRoaXMuX2RlYnVnSW5mbyA9IG51bGw7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlYWRDaHVuayhjaHVuaykge1xuICAgICAgc3dpdGNoIChjaHVuay5zdGF0dXMpIHtcbiAgICAgICAgY2FzZSBcInJlc29sdmVkX21vZGVsXCI6XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZGVsQ2h1bmsoY2h1bmspO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwicmVzb2x2ZWRfbW9kdWxlXCI6XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZHVsZUNodW5rKGNodW5rKTtcbiAgICAgIH1cbiAgICAgIHN3aXRjaCAoY2h1bmsuc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgXCJmdWxmaWxsZWRcIjpcbiAgICAgICAgICByZXR1cm4gY2h1bmsudmFsdWU7XG4gICAgICAgIGNhc2UgXCJwZW5kaW5nXCI6XG4gICAgICAgIGNhc2UgXCJibG9ja2VkXCI6XG4gICAgICAgICAgdGhyb3cgY2h1bms7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgY2h1bmsucmVhc29uO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVQZW5kaW5nQ2h1bmsocmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiBuZXcgUmVhY3RQcm9taXNlKFwicGVuZGluZ1wiLCBudWxsLCBudWxsLCByZXNwb25zZSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHdha2VDaHVuayhsaXN0ZW5lcnMsIHZhbHVlKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3RlbmVycy5sZW5ndGg7IGkrKykgKDAsIGxpc3RlbmVyc1tpXSkodmFsdWUpO1xuICAgIH1cbiAgICBmdW5jdGlvbiB3YWtlQ2h1bmtJZkluaXRpYWxpemVkKGNodW5rLCByZXNvbHZlTGlzdGVuZXJzLCByZWplY3RMaXN0ZW5lcnMpIHtcbiAgICAgIHN3aXRjaCAoY2h1bmsuc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgXCJmdWxmaWxsZWRcIjpcbiAgICAgICAgICB3YWtlQ2h1bmsocmVzb2x2ZUxpc3RlbmVycywgY2h1bmsudmFsdWUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwicGVuZGluZ1wiOlxuICAgICAgICBjYXNlIFwiYmxvY2tlZFwiOlxuICAgICAgICAgIGlmIChjaHVuay52YWx1ZSlcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzb2x2ZUxpc3RlbmVycy5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgICAgY2h1bmsudmFsdWUucHVzaChyZXNvbHZlTGlzdGVuZXJzW2ldKTtcbiAgICAgICAgICBlbHNlIGNodW5rLnZhbHVlID0gcmVzb2x2ZUxpc3RlbmVycztcbiAgICAgICAgICBpZiAoY2h1bmsucmVhc29uKSB7XG4gICAgICAgICAgICBpZiAocmVqZWN0TGlzdGVuZXJzKVxuICAgICAgICAgICAgICBmb3IgKFxuICAgICAgICAgICAgICAgIHJlc29sdmVMaXN0ZW5lcnMgPSAwO1xuICAgICAgICAgICAgICAgIHJlc29sdmVMaXN0ZW5lcnMgPCByZWplY3RMaXN0ZW5lcnMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHJlc29sdmVMaXN0ZW5lcnMrK1xuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgY2h1bmsucmVhc29uLnB1c2gocmVqZWN0TGlzdGVuZXJzW3Jlc29sdmVMaXN0ZW5lcnNdKTtcbiAgICAgICAgICB9IGVsc2UgY2h1bmsucmVhc29uID0gcmVqZWN0TGlzdGVuZXJzO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwicmVqZWN0ZWRcIjpcbiAgICAgICAgICByZWplY3RMaXN0ZW5lcnMgJiYgd2FrZUNodW5rKHJlamVjdExpc3RlbmVycywgY2h1bmsucmVhc29uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gdHJpZ2dlckVycm9yT25DaHVuayhjaHVuaywgZXJyb3IpIHtcbiAgICAgIGlmIChcInBlbmRpbmdcIiAhPT0gY2h1bmsuc3RhdHVzICYmIFwiYmxvY2tlZFwiICE9PSBjaHVuay5zdGF0dXMpXG4gICAgICAgIGNodW5rLnJlYXNvbi5lcnJvcihlcnJvcik7XG4gICAgICBlbHNlIHtcbiAgICAgICAgdmFyIGxpc3RlbmVycyA9IGNodW5rLnJlYXNvbjtcbiAgICAgICAgY2h1bmsuc3RhdHVzID0gXCJyZWplY3RlZFwiO1xuICAgICAgICBjaHVuay5yZWFzb24gPSBlcnJvcjtcbiAgICAgICAgbnVsbCAhPT0gbGlzdGVuZXJzICYmIHdha2VDaHVuayhsaXN0ZW5lcnMsIGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlUmVzb2x2ZWRJdGVyYXRvclJlc3VsdENodW5rKHJlc3BvbnNlLCB2YWx1ZSwgZG9uZSkge1xuICAgICAgcmV0dXJuIG5ldyBSZWFjdFByb21pc2UoXG4gICAgICAgIFwicmVzb2x2ZWRfbW9kZWxcIixcbiAgICAgICAgKGRvbmUgPyAne1wiZG9uZVwiOnRydWUsXCJ2YWx1ZVwiOicgOiAne1wiZG9uZVwiOmZhbHNlLFwidmFsdWVcIjonKSArXG4gICAgICAgICAgdmFsdWUgK1xuICAgICAgICAgIFwifVwiLFxuICAgICAgICBudWxsLFxuICAgICAgICByZXNwb25zZVxuICAgICAgKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcmVzb2x2ZUl0ZXJhdG9yUmVzdWx0Q2h1bmsoY2h1bmssIHZhbHVlLCBkb25lKSB7XG4gICAgICByZXNvbHZlTW9kZWxDaHVuayhcbiAgICAgICAgY2h1bmssXG4gICAgICAgIChkb25lID8gJ3tcImRvbmVcIjp0cnVlLFwidmFsdWVcIjonIDogJ3tcImRvbmVcIjpmYWxzZSxcInZhbHVlXCI6JykgK1xuICAgICAgICAgIHZhbHVlICtcbiAgICAgICAgICBcIn1cIlxuICAgICAgKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcmVzb2x2ZU1vZGVsQ2h1bmsoY2h1bmssIHZhbHVlKSB7XG4gICAgICBpZiAoXCJwZW5kaW5nXCIgIT09IGNodW5rLnN0YXR1cykgY2h1bmsucmVhc29uLmVucXVldWVNb2RlbCh2YWx1ZSk7XG4gICAgICBlbHNlIHtcbiAgICAgICAgdmFyIHJlc29sdmVMaXN0ZW5lcnMgPSBjaHVuay52YWx1ZSxcbiAgICAgICAgICByZWplY3RMaXN0ZW5lcnMgPSBjaHVuay5yZWFzb247XG4gICAgICAgIGNodW5rLnN0YXR1cyA9IFwicmVzb2x2ZWRfbW9kZWxcIjtcbiAgICAgICAgY2h1bmsudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgbnVsbCAhPT0gcmVzb2x2ZUxpc3RlbmVycyAmJlxuICAgICAgICAgIChpbml0aWFsaXplTW9kZWxDaHVuayhjaHVuayksXG4gICAgICAgICAgd2FrZUNodW5rSWZJbml0aWFsaXplZChjaHVuaywgcmVzb2x2ZUxpc3RlbmVycywgcmVqZWN0TGlzdGVuZXJzKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVNb2R1bGVDaHVuayhjaHVuaywgdmFsdWUpIHtcbiAgICAgIGlmIChcInBlbmRpbmdcIiA9PT0gY2h1bmsuc3RhdHVzIHx8IFwiYmxvY2tlZFwiID09PSBjaHVuay5zdGF0dXMpIHtcbiAgICAgICAgdmFyIHJlc29sdmVMaXN0ZW5lcnMgPSBjaHVuay52YWx1ZSxcbiAgICAgICAgICByZWplY3RMaXN0ZW5lcnMgPSBjaHVuay5yZWFzb247XG4gICAgICAgIGNodW5rLnN0YXR1cyA9IFwicmVzb2x2ZWRfbW9kdWxlXCI7XG4gICAgICAgIGNodW5rLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIG51bGwgIT09IHJlc29sdmVMaXN0ZW5lcnMgJiZcbiAgICAgICAgICAoaW5pdGlhbGl6ZU1vZHVsZUNodW5rKGNodW5rKSxcbiAgICAgICAgICB3YWtlQ2h1bmtJZkluaXRpYWxpemVkKGNodW5rLCByZXNvbHZlTGlzdGVuZXJzLCByZWplY3RMaXN0ZW5lcnMpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gaW5pdGlhbGl6ZU1vZGVsQ2h1bmsoY2h1bmspIHtcbiAgICAgIHZhciBwcmV2SGFuZGxlciA9IGluaXRpYWxpemluZ0hhbmRsZXI7XG4gICAgICBpbml0aWFsaXppbmdIYW5kbGVyID0gbnVsbDtcbiAgICAgIHZhciByZXNvbHZlZE1vZGVsID0gY2h1bmsudmFsdWU7XG4gICAgICBjaHVuay5zdGF0dXMgPSBcImJsb2NrZWRcIjtcbiAgICAgIGNodW5rLnZhbHVlID0gbnVsbDtcbiAgICAgIGNodW5rLnJlYXNvbiA9IG51bGw7XG4gICAgICB0cnkge1xuICAgICAgICB2YXIgdmFsdWUgPSBKU09OLnBhcnNlKHJlc29sdmVkTW9kZWwsIGNodW5rLl9yZXNwb25zZS5fZnJvbUpTT04pLFxuICAgICAgICAgIHJlc29sdmVMaXN0ZW5lcnMgPSBjaHVuay52YWx1ZTtcbiAgICAgICAgbnVsbCAhPT0gcmVzb2x2ZUxpc3RlbmVycyAmJlxuICAgICAgICAgICgoY2h1bmsudmFsdWUgPSBudWxsKSxcbiAgICAgICAgICAoY2h1bmsucmVhc29uID0gbnVsbCksXG4gICAgICAgICAgd2FrZUNodW5rKHJlc29sdmVMaXN0ZW5lcnMsIHZhbHVlKSk7XG4gICAgICAgIGlmIChudWxsICE9PSBpbml0aWFsaXppbmdIYW5kbGVyKSB7XG4gICAgICAgICAgaWYgKGluaXRpYWxpemluZ0hhbmRsZXIuZXJyb3JlZCkgdGhyb3cgaW5pdGlhbGl6aW5nSGFuZGxlci52YWx1ZTtcbiAgICAgICAgICBpZiAoMCA8IGluaXRpYWxpemluZ0hhbmRsZXIuZGVwcykge1xuICAgICAgICAgICAgaW5pdGlhbGl6aW5nSGFuZGxlci52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgaW5pdGlhbGl6aW5nSGFuZGxlci5jaHVuayA9IGNodW5rO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjaHVuay5zdGF0dXMgPSBcImZ1bGZpbGxlZFwiO1xuICAgICAgICBjaHVuay52YWx1ZSA9IHZhbHVlO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgKGNodW5rLnN0YXR1cyA9IFwicmVqZWN0ZWRcIiksIChjaHVuay5yZWFzb24gPSBlcnJvcik7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpbml0aWFsaXppbmdIYW5kbGVyID0gcHJldkhhbmRsZXI7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGluaXRpYWxpemVNb2R1bGVDaHVuayhjaHVuaykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIHZhbHVlID0gcmVxdWlyZU1vZHVsZShjaHVuay52YWx1ZSk7XG4gICAgICAgIGNodW5rLnN0YXR1cyA9IFwiZnVsZmlsbGVkXCI7XG4gICAgICAgIGNodW5rLnZhbHVlID0gdmFsdWU7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAoY2h1bmsuc3RhdHVzID0gXCJyZWplY3RlZFwiKSwgKGNodW5rLnJlYXNvbiA9IGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gcmVwb3J0R2xvYmFsRXJyb3IocmVzcG9uc2UsIGVycm9yKSB7XG4gICAgICByZXNwb25zZS5fY2h1bmtzLmZvckVhY2goZnVuY3Rpb24gKGNodW5rKSB7XG4gICAgICAgIFwicGVuZGluZ1wiID09PSBjaHVuay5zdGF0dXMgJiYgdHJpZ2dlckVycm9yT25DaHVuayhjaHVuaywgZXJyb3IpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG51bGxSZWZHZXR0ZXIoKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlTGF6eUNodW5rV3JhcHBlcihjaHVuaykge1xuICAgICAgdmFyIGxhenlUeXBlID0ge1xuICAgICAgICAkJHR5cGVvZjogUkVBQ1RfTEFaWV9UWVBFLFxuICAgICAgICBfcGF5bG9hZDogY2h1bmssXG4gICAgICAgIF9pbml0OiByZWFkQ2h1bmtcbiAgICAgIH07XG4gICAgICBjaHVuayA9IGNodW5rLl9kZWJ1Z0luZm8gfHwgKGNodW5rLl9kZWJ1Z0luZm8gPSBbXSk7XG4gICAgICBsYXp5VHlwZS5fZGVidWdJbmZvID0gY2h1bms7XG4gICAgICByZXR1cm4gbGF6eVR5cGU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldENodW5rKHJlc3BvbnNlLCBpZCkge1xuICAgICAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3MsXG4gICAgICAgIGNodW5rID0gY2h1bmtzLmdldChpZCk7XG4gICAgICBjaHVuayB8fCAoKGNodW5rID0gY3JlYXRlUGVuZGluZ0NodW5rKHJlc3BvbnNlKSksIGNodW5rcy5zZXQoaWQsIGNodW5rKSk7XG4gICAgICByZXR1cm4gY2h1bms7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHdhaXRGb3JSZWZlcmVuY2UoXG4gICAgICByZWZlcmVuY2VkQ2h1bmssXG4gICAgICBwYXJlbnRPYmplY3QsXG4gICAgICBrZXksXG4gICAgICByZXNwb25zZSxcbiAgICAgIG1hcCxcbiAgICAgIHBhdGhcbiAgICApIHtcbiAgICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBwYXRoLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgZm9yICg7IHZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEU7IClcbiAgICAgICAgICAgIGlmICgoKHZhbHVlID0gdmFsdWUuX3BheWxvYWQpLCB2YWx1ZSA9PT0gaGFuZGxlci5jaHVuaykpXG4gICAgICAgICAgICAgIHZhbHVlID0gaGFuZGxlci52YWx1ZTtcbiAgICAgICAgICAgIGVsc2UgaWYgKFwiZnVsZmlsbGVkXCIgPT09IHZhbHVlLnN0YXR1cykgdmFsdWUgPSB2YWx1ZS52YWx1ZTtcbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICBwYXRoLnNwbGljZSgwLCBpIC0gMSk7XG4gICAgICAgICAgICAgIHZhbHVlLnRoZW4oZnVsZmlsbCwgcmVqZWN0KTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIHZhbHVlID0gdmFsdWVbcGF0aFtpXV07XG4gICAgICAgIH1cbiAgICAgICAgaSA9IG1hcChyZXNwb25zZSwgdmFsdWUsIHBhcmVudE9iamVjdCwga2V5KTtcbiAgICAgICAgcGFyZW50T2JqZWN0W2tleV0gPSBpO1xuICAgICAgICBcIlwiID09PSBrZXkgJiYgbnVsbCA9PT0gaGFuZGxlci52YWx1ZSAmJiAoaGFuZGxlci52YWx1ZSA9IGkpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcGFyZW50T2JqZWN0WzBdID09PSBSRUFDVF9FTEVNRU5UX1RZUEUgJiZcbiAgICAgICAgICBcIm9iamVjdFwiID09PSB0eXBlb2YgaGFuZGxlci52YWx1ZSAmJlxuICAgICAgICAgIG51bGwgIT09IGhhbmRsZXIudmFsdWUgJiZcbiAgICAgICAgICBoYW5kbGVyLnZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEVcbiAgICAgICAgKVxuICAgICAgICAgIHN3aXRjaCAoKCh2YWx1ZSA9IGhhbmRsZXIudmFsdWUpLCBrZXkpKSB7XG4gICAgICAgICAgICBjYXNlIFwiM1wiOlxuICAgICAgICAgICAgICB2YWx1ZS5wcm9wcyA9IGk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIjRcIjpcbiAgICAgICAgICAgICAgdmFsdWUuX293bmVyID0gaTtcbiAgICAgICAgICB9XG4gICAgICAgIGhhbmRsZXIuZGVwcy0tO1xuICAgICAgICAwID09PSBoYW5kbGVyLmRlcHMgJiZcbiAgICAgICAgICAoKGkgPSBoYW5kbGVyLmNodW5rKSxcbiAgICAgICAgICBudWxsICE9PSBpICYmXG4gICAgICAgICAgICBcImJsb2NrZWRcIiA9PT0gaS5zdGF0dXMgJiZcbiAgICAgICAgICAgICgodmFsdWUgPSBpLnZhbHVlKSxcbiAgICAgICAgICAgIChpLnN0YXR1cyA9IFwiZnVsZmlsbGVkXCIpLFxuICAgICAgICAgICAgKGkudmFsdWUgPSBoYW5kbGVyLnZhbHVlKSxcbiAgICAgICAgICAgIG51bGwgIT09IHZhbHVlICYmIHdha2VDaHVuayh2YWx1ZSwgaGFuZGxlci52YWx1ZSkpKTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHJlamVjdChlcnJvcikge1xuICAgICAgICBpZiAoIWhhbmRsZXIuZXJyb3JlZCkge1xuICAgICAgICAgIHZhciBibG9ja2VkVmFsdWUgPSBoYW5kbGVyLnZhbHVlO1xuICAgICAgICAgIGhhbmRsZXIuZXJyb3JlZCA9ICEwO1xuICAgICAgICAgIGhhbmRsZXIudmFsdWUgPSBlcnJvcjtcbiAgICAgICAgICB2YXIgY2h1bmsgPSBoYW5kbGVyLmNodW5rO1xuICAgICAgICAgIG51bGwgIT09IGNodW5rICYmXG4gICAgICAgICAgICBcImJsb2NrZWRcIiA9PT0gY2h1bmsuc3RhdHVzICYmXG4gICAgICAgICAgICAoXCJvYmplY3RcIiA9PT0gdHlwZW9mIGJsb2NrZWRWYWx1ZSAmJlxuICAgICAgICAgICAgICBudWxsICE9PSBibG9ja2VkVmFsdWUgJiZcbiAgICAgICAgICAgICAgYmxvY2tlZFZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEUgJiZcbiAgICAgICAgICAgICAgKChibG9ja2VkVmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKGJsb2NrZWRWYWx1ZS50eXBlKSB8fCBcIlwiLFxuICAgICAgICAgICAgICAgIG93bmVyOiBibG9ja2VkVmFsdWUuX293bmVyXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAoY2h1bmsuX2RlYnVnSW5mbyB8fCAoY2h1bmsuX2RlYnVnSW5mbyA9IFtdKSkucHVzaChibG9ja2VkVmFsdWUpKSxcbiAgICAgICAgICAgIHRyaWdnZXJFcnJvck9uQ2h1bmsoY2h1bmssIGVycm9yKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChpbml0aWFsaXppbmdIYW5kbGVyKSB7XG4gICAgICAgIHZhciBoYW5kbGVyID0gaW5pdGlhbGl6aW5nSGFuZGxlcjtcbiAgICAgICAgaGFuZGxlci5kZXBzKys7XG4gICAgICB9IGVsc2VcbiAgICAgICAgaGFuZGxlciA9IGluaXRpYWxpemluZ0hhbmRsZXIgPSB7XG4gICAgICAgICAgcGFyZW50OiBudWxsLFxuICAgICAgICAgIGNodW5rOiBudWxsLFxuICAgICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgICAgIGRlcHM6IDEsXG4gICAgICAgICAgZXJyb3JlZDogITFcbiAgICAgICAgfTtcbiAgICAgIHJlZmVyZW5jZWRDaHVuay50aGVuKGZ1bGZpbGwsIHJlamVjdCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gbG9hZFNlcnZlclJlZmVyZW5jZShyZXNwb25zZSwgbWV0YURhdGEsIHBhcmVudE9iamVjdCwga2V5KSB7XG4gICAgICBpZiAoIXJlc3BvbnNlLl9zZXJ2ZXJSZWZlcmVuY2VDb25maWcpXG4gICAgICAgIHJldHVybiBjcmVhdGVCb3VuZFNlcnZlclJlZmVyZW5jZShcbiAgICAgICAgICBtZXRhRGF0YSxcbiAgICAgICAgICByZXNwb25zZS5fY2FsbFNlcnZlcixcbiAgICAgICAgICByZXNwb25zZS5fZW5jb2RlRm9ybUFjdGlvbixcbiAgICAgICAgICByZXNwb25zZS5fZGVidWdGaW5kU291cmNlTWFwVVJMXG4gICAgICAgICk7XG4gICAgICB2YXIgc2VydmVyUmVmZXJlbmNlID0gcmVzb2x2ZVNlcnZlclJlZmVyZW5jZShcbiAgICAgICAgcmVzcG9uc2UuX3NlcnZlclJlZmVyZW5jZUNvbmZpZyxcbiAgICAgICAgbWV0YURhdGEuaWRcbiAgICAgICk7XG4gICAgICBpZiAoKHJlc3BvbnNlID0gcHJlbG9hZE1vZHVsZShzZXJ2ZXJSZWZlcmVuY2UpKSlcbiAgICAgICAgbWV0YURhdGEuYm91bmQgJiYgKHJlc3BvbnNlID0gUHJvbWlzZS5hbGwoW3Jlc3BvbnNlLCBtZXRhRGF0YS5ib3VuZF0pKTtcbiAgICAgIGVsc2UgaWYgKG1ldGFEYXRhLmJvdW5kKSByZXNwb25zZSA9IFByb21pc2UucmVzb2x2ZShtZXRhRGF0YS5ib3VuZCk7XG4gICAgICBlbHNlIHJldHVybiByZXF1aXJlTW9kdWxlKHNlcnZlclJlZmVyZW5jZSk7XG4gICAgICBpZiAoaW5pdGlhbGl6aW5nSGFuZGxlcikge1xuICAgICAgICB2YXIgaGFuZGxlciA9IGluaXRpYWxpemluZ0hhbmRsZXI7XG4gICAgICAgIGhhbmRsZXIuZGVwcysrO1xuICAgICAgfSBlbHNlXG4gICAgICAgIGhhbmRsZXIgPSBpbml0aWFsaXppbmdIYW5kbGVyID0ge1xuICAgICAgICAgIHBhcmVudDogbnVsbCxcbiAgICAgICAgICBjaHVuazogbnVsbCxcbiAgICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgICAgICBkZXBzOiAxLFxuICAgICAgICAgIGVycm9yZWQ6ICExXG4gICAgICAgIH07XG4gICAgICByZXNwb25zZS50aGVuKFxuICAgICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdmFyIHJlc29sdmVkVmFsdWUgPSByZXF1aXJlTW9kdWxlKHNlcnZlclJlZmVyZW5jZSk7XG4gICAgICAgICAgaWYgKG1ldGFEYXRhLmJvdW5kKSB7XG4gICAgICAgICAgICB2YXIgYm91bmRBcmdzID0gbWV0YURhdGEuYm91bmQudmFsdWUuc2xpY2UoMCk7XG4gICAgICAgICAgICBib3VuZEFyZ3MudW5zaGlmdChudWxsKTtcbiAgICAgICAgICAgIHJlc29sdmVkVmFsdWUgPSByZXNvbHZlZFZhbHVlLmJpbmQuYXBwbHkocmVzb2x2ZWRWYWx1ZSwgYm91bmRBcmdzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcGFyZW50T2JqZWN0W2tleV0gPSByZXNvbHZlZFZhbHVlO1xuICAgICAgICAgIFwiXCIgPT09IGtleSAmJlxuICAgICAgICAgICAgbnVsbCA9PT0gaGFuZGxlci52YWx1ZSAmJlxuICAgICAgICAgICAgKGhhbmRsZXIudmFsdWUgPSByZXNvbHZlZFZhbHVlKTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBwYXJlbnRPYmplY3RbMF0gPT09IFJFQUNUX0VMRU1FTlRfVFlQRSAmJlxuICAgICAgICAgICAgXCJvYmplY3RcIiA9PT0gdHlwZW9mIGhhbmRsZXIudmFsdWUgJiZcbiAgICAgICAgICAgIG51bGwgIT09IGhhbmRsZXIudmFsdWUgJiZcbiAgICAgICAgICAgIGhhbmRsZXIudmFsdWUuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRVxuICAgICAgICAgIClcbiAgICAgICAgICAgIHN3aXRjaCAoKChib3VuZEFyZ3MgPSBoYW5kbGVyLnZhbHVlKSwga2V5KSkge1xuICAgICAgICAgICAgICBjYXNlIFwiM1wiOlxuICAgICAgICAgICAgICAgIGJvdW5kQXJncy5wcm9wcyA9IHJlc29sdmVkVmFsdWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgXCI0XCI6XG4gICAgICAgICAgICAgICAgYm91bmRBcmdzLl9vd25lciA9IHJlc29sdmVkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgaGFuZGxlci5kZXBzLS07XG4gICAgICAgICAgMCA9PT0gaGFuZGxlci5kZXBzICYmXG4gICAgICAgICAgICAoKHJlc29sdmVkVmFsdWUgPSBoYW5kbGVyLmNodW5rKSxcbiAgICAgICAgICAgIG51bGwgIT09IHJlc29sdmVkVmFsdWUgJiZcbiAgICAgICAgICAgICAgXCJibG9ja2VkXCIgPT09IHJlc29sdmVkVmFsdWUuc3RhdHVzICYmXG4gICAgICAgICAgICAgICgoYm91bmRBcmdzID0gcmVzb2x2ZWRWYWx1ZS52YWx1ZSksXG4gICAgICAgICAgICAgIChyZXNvbHZlZFZhbHVlLnN0YXR1cyA9IFwiZnVsZmlsbGVkXCIpLFxuICAgICAgICAgICAgICAocmVzb2x2ZWRWYWx1ZS52YWx1ZSA9IGhhbmRsZXIudmFsdWUpLFxuICAgICAgICAgICAgICBudWxsICE9PSBib3VuZEFyZ3MgJiYgd2FrZUNodW5rKGJvdW5kQXJncywgaGFuZGxlci52YWx1ZSkpKTtcbiAgICAgICAgfSxcbiAgICAgICAgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgaWYgKCFoYW5kbGVyLmVycm9yZWQpIHtcbiAgICAgICAgICAgIHZhciBibG9ja2VkVmFsdWUgPSBoYW5kbGVyLnZhbHVlO1xuICAgICAgICAgICAgaGFuZGxlci5lcnJvcmVkID0gITA7XG4gICAgICAgICAgICBoYW5kbGVyLnZhbHVlID0gZXJyb3I7XG4gICAgICAgICAgICB2YXIgY2h1bmsgPSBoYW5kbGVyLmNodW5rO1xuICAgICAgICAgICAgbnVsbCAhPT0gY2h1bmsgJiZcbiAgICAgICAgICAgICAgXCJibG9ja2VkXCIgPT09IGNodW5rLnN0YXR1cyAmJlxuICAgICAgICAgICAgICAoXCJvYmplY3RcIiA9PT0gdHlwZW9mIGJsb2NrZWRWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIG51bGwgIT09IGJsb2NrZWRWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIGJsb2NrZWRWYWx1ZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFICYmXG4gICAgICAgICAgICAgICAgKChibG9ja2VkVmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUoYmxvY2tlZFZhbHVlLnR5cGUpIHx8IFwiXCIsXG4gICAgICAgICAgICAgICAgICBvd25lcjogYmxvY2tlZFZhbHVlLl9vd25lclxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIChjaHVuay5fZGVidWdJbmZvIHx8IChjaHVuay5fZGVidWdJbmZvID0gW10pKS5wdXNoKFxuICAgICAgICAgICAgICAgICAgYmxvY2tlZFZhbHVlXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAgIHRyaWdnZXJFcnJvck9uQ2h1bmsoY2h1bmssIGVycm9yKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldE91dGxpbmVkTW9kZWwocmVzcG9uc2UsIHJlZmVyZW5jZSwgcGFyZW50T2JqZWN0LCBrZXksIG1hcCkge1xuICAgICAgcmVmZXJlbmNlID0gcmVmZXJlbmNlLnNwbGl0KFwiOlwiKTtcbiAgICAgIHZhciBpZCA9IHBhcnNlSW50KHJlZmVyZW5jZVswXSwgMTYpO1xuICAgICAgaWQgPSBnZXRDaHVuayhyZXNwb25zZSwgaWQpO1xuICAgICAgc3dpdGNoIChpZC5zdGF0dXMpIHtcbiAgICAgICAgY2FzZSBcInJlc29sdmVkX21vZGVsXCI6XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZGVsQ2h1bmsoaWQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwicmVzb2x2ZWRfbW9kdWxlXCI6XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZHVsZUNodW5rKGlkKTtcbiAgICAgIH1cbiAgICAgIHN3aXRjaCAoaWQuc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgXCJmdWxmaWxsZWRcIjpcbiAgICAgICAgICBmb3IgKHZhciB2YWx1ZSA9IGlkLnZhbHVlLCBpID0gMTsgaSA8IHJlZmVyZW5jZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZm9yICg7IHZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEU7IClcbiAgICAgICAgICAgICAgaWYgKCgodmFsdWUgPSB2YWx1ZS5fcGF5bG9hZCksIFwiZnVsZmlsbGVkXCIgPT09IHZhbHVlLnN0YXR1cykpXG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS52YWx1ZTtcbiAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHJldHVybiB3YWl0Rm9yUmVmZXJlbmNlKFxuICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICBwYXJlbnRPYmplY3QsXG4gICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgIG1hcCxcbiAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZS5zbGljZShpIC0gMSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZVtyZWZlcmVuY2VbaV1dO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXNwb25zZSA9IG1hcChyZXNwb25zZSwgdmFsdWUsIHBhcmVudE9iamVjdCwga2V5KTtcbiAgICAgICAgICBpZC5fZGVidWdJbmZvICYmXG4gICAgICAgICAgICAoXCJvYmplY3RcIiAhPT0gdHlwZW9mIHJlc3BvbnNlIHx8XG4gICAgICAgICAgICAgIG51bGwgPT09IHJlc3BvbnNlIHx8XG4gICAgICAgICAgICAgICghaXNBcnJheUltcGwocmVzcG9uc2UpICYmXG4gICAgICAgICAgICAgICAgXCJmdW5jdGlvblwiICE9PSB0eXBlb2YgcmVzcG9uc2VbQVNZTkNfSVRFUkFUT1JdICYmXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UuJCR0eXBlb2YgIT09IFJFQUNUX0VMRU1FTlRfVFlQRSkgfHxcbiAgICAgICAgICAgICAgcmVzcG9uc2UuX2RlYnVnSW5mbyB8fFxuICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzcG9uc2UsIFwiX2RlYnVnSW5mb1wiLCB7XG4gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAhMSxcbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAhMSxcbiAgICAgICAgICAgICAgICB3cml0YWJsZTogITAsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGlkLl9kZWJ1Z0luZm9cbiAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgY2FzZSBcInBlbmRpbmdcIjpcbiAgICAgICAgY2FzZSBcImJsb2NrZWRcIjpcbiAgICAgICAgICByZXR1cm4gd2FpdEZvclJlZmVyZW5jZShcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgcGFyZW50T2JqZWN0LFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICBtYXAsXG4gICAgICAgICAgICByZWZlcmVuY2VcbiAgICAgICAgICApO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpbml0aWFsaXppbmdIYW5kbGVyXG4gICAgICAgICAgICAgID8gKChpbml0aWFsaXppbmdIYW5kbGVyLmVycm9yZWQgPSAhMCksXG4gICAgICAgICAgICAgICAgKGluaXRpYWxpemluZ0hhbmRsZXIudmFsdWUgPSBpZC5yZWFzb24pKVxuICAgICAgICAgICAgICA6IChpbml0aWFsaXppbmdIYW5kbGVyID0ge1xuICAgICAgICAgICAgICAgICAgcGFyZW50OiBudWxsLFxuICAgICAgICAgICAgICAgICAgY2h1bms6IG51bGwsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogaWQucmVhc29uLFxuICAgICAgICAgICAgICAgICAgZGVwczogMCxcbiAgICAgICAgICAgICAgICAgIGVycm9yZWQ6ICEwXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBudWxsXG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlTWFwKHJlc3BvbnNlLCBtb2RlbCkge1xuICAgICAgcmV0dXJuIG5ldyBNYXAobW9kZWwpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVTZXQocmVzcG9uc2UsIG1vZGVsKSB7XG4gICAgICByZXR1cm4gbmV3IFNldChtb2RlbCk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUJsb2IocmVzcG9uc2UsIG1vZGVsKSB7XG4gICAgICByZXR1cm4gbmV3IEJsb2IobW9kZWwuc2xpY2UoMSksIHsgdHlwZTogbW9kZWxbMF0gfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUZvcm1EYXRhKHJlc3BvbnNlLCBtb2RlbCkge1xuICAgICAgcmVzcG9uc2UgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbW9kZWwubGVuZ3RoOyBpKyspXG4gICAgICAgIHJlc3BvbnNlLmFwcGVuZChtb2RlbFtpXVswXSwgbW9kZWxbaV1bMV0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBleHRyYWN0SXRlcmF0b3IocmVzcG9uc2UsIG1vZGVsKSB7XG4gICAgICByZXR1cm4gbW9kZWxbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVNb2RlbChyZXNwb25zZSwgbW9kZWwpIHtcbiAgICAgIHJldHVybiBtb2RlbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFyc2VNb2RlbFN0cmluZyhyZXNwb25zZSwgcGFyZW50T2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gICAgICBpZiAoXCIkXCIgPT09IHZhbHVlWzBdKSB7XG4gICAgICAgIGlmIChcIiRcIiA9PT0gdmFsdWUpXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIG51bGwgIT09IGluaXRpYWxpemluZ0hhbmRsZXIgJiZcbiAgICAgICAgICAgICAgXCIwXCIgPT09IGtleSAmJlxuICAgICAgICAgICAgICAoaW5pdGlhbGl6aW5nSGFuZGxlciA9IHtcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IGluaXRpYWxpemluZ0hhbmRsZXIsXG4gICAgICAgICAgICAgICAgY2h1bms6IG51bGwsXG4gICAgICAgICAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICAgICAgICAgICAgZGVwczogMCxcbiAgICAgICAgICAgICAgICBlcnJvcmVkOiAhMVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIFJFQUNUX0VMRU1FTlRfVFlQRVxuICAgICAgICAgICk7XG4gICAgICAgIHN3aXRjaCAodmFsdWVbMV0pIHtcbiAgICAgICAgICBjYXNlIFwiJFwiOlxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnNsaWNlKDEpO1xuICAgICAgICAgIGNhc2UgXCJMXCI6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAocGFyZW50T2JqZWN0ID0gcGFyc2VJbnQodmFsdWUuc2xpY2UoMiksIDE2KSksXG4gICAgICAgICAgICAgIChyZXNwb25zZSA9IGdldENodW5rKHJlc3BvbnNlLCBwYXJlbnRPYmplY3QpKSxcbiAgICAgICAgICAgICAgY3JlYXRlTGF6eUNodW5rV3JhcHBlcihyZXNwb25zZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSBcIkBcIjpcbiAgICAgICAgICAgIGlmICgyID09PSB2YWx1ZS5sZW5ndGgpIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoKSB7fSk7XG4gICAgICAgICAgICBwYXJlbnRPYmplY3QgPSBwYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgMTYpO1xuICAgICAgICAgICAgcmV0dXJuIGdldENodW5rKHJlc3BvbnNlLCBwYXJlbnRPYmplY3QpO1xuICAgICAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgICAgICByZXR1cm4gU3ltYm9sLmZvcih2YWx1ZS5zbGljZSgyKSk7XG4gICAgICAgICAgY2FzZSBcIkZcIjpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHZhbHVlLnNsaWNlKDIpKSxcbiAgICAgICAgICAgICAgZ2V0T3V0bGluZWRNb2RlbChcbiAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBwYXJlbnRPYmplY3QsXG4gICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgIGxvYWRTZXJ2ZXJSZWZlcmVuY2VcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBjYXNlIFwiVFwiOlxuICAgICAgICAgICAgcGFyZW50T2JqZWN0ID0gXCIkXCIgKyB2YWx1ZS5zbGljZSgyKTtcbiAgICAgICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UuX3RlbXBSZWZzO1xuICAgICAgICAgICAgaWYgKG51bGwgPT0gcmVzcG9uc2UpXG4gICAgICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgICAgIFwiTWlzc2luZyBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0IGJ1dCB0aGUgUlNDIHJlc3BvbnNlIHJldHVybmVkIGEgdGVtcG9yYXJ5IHJlZmVyZW5jZS4gUGFzcyBhIHRlbXBvcmFyeVJlZmVyZW5jZSBvcHRpb24gd2l0aCB0aGUgc2V0IHRoYXQgd2FzIHVzZWQgd2l0aCB0aGUgcmVwbHkuXCJcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5nZXQocGFyZW50T2JqZWN0KTtcbiAgICAgICAgICBjYXNlIFwiUVwiOlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKHZhbHVlID0gdmFsdWUuc2xpY2UoMikpLFxuICAgICAgICAgICAgICBnZXRPdXRsaW5lZE1vZGVsKHJlc3BvbnNlLCB2YWx1ZSwgcGFyZW50T2JqZWN0LCBrZXksIGNyZWF0ZU1hcClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSBcIldcIjpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHZhbHVlLnNsaWNlKDIpKSxcbiAgICAgICAgICAgICAgZ2V0T3V0bGluZWRNb2RlbChyZXNwb25zZSwgdmFsdWUsIHBhcmVudE9iamVjdCwga2V5LCBjcmVhdGVTZXQpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgXCJCXCI6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAodmFsdWUgPSB2YWx1ZS5zbGljZSgyKSksXG4gICAgICAgICAgICAgIGdldE91dGxpbmVkTW9kZWwocmVzcG9uc2UsIHZhbHVlLCBwYXJlbnRPYmplY3QsIGtleSwgY3JlYXRlQmxvYilcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSBcIktcIjpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHZhbHVlLnNsaWNlKDIpKSxcbiAgICAgICAgICAgICAgZ2V0T3V0bGluZWRNb2RlbChcbiAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBwYXJlbnRPYmplY3QsXG4gICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgIGNyZWF0ZUZvcm1EYXRhXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSBcIlpcIjpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHZhbHVlLnNsaWNlKDIpKSxcbiAgICAgICAgICAgICAgZ2V0T3V0bGluZWRNb2RlbChcbiAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBwYXJlbnRPYmplY3QsXG4gICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgIHJlc29sdmVFcnJvckRldlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgXCJpXCI6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAodmFsdWUgPSB2YWx1ZS5zbGljZSgyKSksXG4gICAgICAgICAgICAgIGdldE91dGxpbmVkTW9kZWwoXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgcGFyZW50T2JqZWN0LFxuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICBleHRyYWN0SXRlcmF0b3JcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBjYXNlIFwiSVwiOlxuICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5O1xuICAgICAgICAgIGNhc2UgXCItXCI6XG4gICAgICAgICAgICByZXR1cm4gXCIkLTBcIiA9PT0gdmFsdWUgPyAtMCA6IC1JbmZpbml0eTtcbiAgICAgICAgICBjYXNlIFwiTlwiOlxuICAgICAgICAgICAgcmV0dXJuIE5hTjtcbiAgICAgICAgICBjYXNlIFwidVwiOlxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIGNhc2UgXCJEXCI6XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5wYXJzZSh2YWx1ZS5zbGljZSgyKSkpO1xuICAgICAgICAgIGNhc2UgXCJuXCI6XG4gICAgICAgICAgICByZXR1cm4gQmlnSW50KHZhbHVlLnNsaWNlKDIpKTtcbiAgICAgICAgICBjYXNlIFwiRVwiOlxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuICgwLCBldmFsKSh2YWx1ZS5zbGljZSgyKSk7XG4gICAgICAgICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFwiWVwiOlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHBhcmVudE9iamVjdCwga2V5LCB7XG4gICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gXCJUaGlzIG9iamVjdCBoYXMgYmVlbiBvbWl0dGVkIGJ5IFJlYWN0IGluIHRoZSBjb25zb2xlIGxvZyB0byBhdm9pZCBzZW5kaW5nIHRvbyBtdWNoIGRhdGEgZnJvbSB0aGUgc2VydmVyLiBUcnkgbG9nZ2luZyBzbWFsbGVyIG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0cy5cIjtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogITFcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIG51bGxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHZhbHVlLnNsaWNlKDEpKSxcbiAgICAgICAgICAgICAgZ2V0T3V0bGluZWRNb2RlbChyZXNwb25zZSwgdmFsdWUsIHBhcmVudE9iamVjdCwga2V5LCBjcmVhdGVNb2RlbClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gbWlzc2luZ0NhbGwoKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1RyeWluZyB0byBjYWxsIGEgZnVuY3Rpb24gZnJvbSBcInVzZSBzZXJ2ZXJcIiBidXQgdGhlIGNhbGxTZXJ2ZXIgb3B0aW9uIHdhcyBub3QgaW1wbGVtZW50ZWQgaW4geW91ciByb3V0ZXIgcnVudGltZS4nXG4gICAgICApO1xuICAgIH1cbiAgICBmdW5jdGlvbiBSZXNwb25zZUluc3RhbmNlKFxuICAgICAgYnVuZGxlckNvbmZpZyxcbiAgICAgIHNlcnZlclJlZmVyZW5jZUNvbmZpZyxcbiAgICAgIG1vZHVsZUxvYWRpbmcsXG4gICAgICBjYWxsU2VydmVyLFxuICAgICAgZW5jb2RlRm9ybUFjdGlvbixcbiAgICAgIG5vbmNlLFxuICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcyxcbiAgICAgIGZpbmRTb3VyY2VNYXBVUkwsXG4gICAgICByZXBsYXlDb25zb2xlLFxuICAgICAgZW52aXJvbm1lbnROYW1lXG4gICAgKSB7XG4gICAgICB2YXIgY2h1bmtzID0gbmV3IE1hcCgpO1xuICAgICAgdGhpcy5fYnVuZGxlckNvbmZpZyA9IGJ1bmRsZXJDb25maWc7XG4gICAgICB0aGlzLl9zZXJ2ZXJSZWZlcmVuY2VDb25maWcgPSBzZXJ2ZXJSZWZlcmVuY2VDb25maWc7XG4gICAgICB0aGlzLl9tb2R1bGVMb2FkaW5nID0gbW9kdWxlTG9hZGluZztcbiAgICAgIHRoaXMuX2NhbGxTZXJ2ZXIgPSB2b2lkIDAgIT09IGNhbGxTZXJ2ZXIgPyBjYWxsU2VydmVyIDogbWlzc2luZ0NhbGw7XG4gICAgICB0aGlzLl9lbmNvZGVGb3JtQWN0aW9uID0gZW5jb2RlRm9ybUFjdGlvbjtcbiAgICAgIHRoaXMuX25vbmNlID0gbm9uY2U7XG4gICAgICB0aGlzLl9jaHVua3MgPSBjaHVua3M7XG4gICAgICB0aGlzLl9zdHJpbmdEZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKCk7XG4gICAgICB0aGlzLl9mcm9tSlNPTiA9IG51bGw7XG4gICAgICB0aGlzLl9yb3dMZW5ndGggPSB0aGlzLl9yb3dUYWcgPSB0aGlzLl9yb3dJRCA9IHRoaXMuX3Jvd1N0YXRlID0gMDtcbiAgICAgIHRoaXMuX2J1ZmZlciA9IFtdO1xuICAgICAgdGhpcy5fdGVtcFJlZnMgPSB0ZW1wb3JhcnlSZWZlcmVuY2VzO1xuICAgICAgdGhpcy5fZGVidWdSb290T3duZXIgPSBidW5kbGVyQ29uZmlnID1cbiAgICAgICAgdm9pZCAwID09PSBSZWFjdFNoYXJlZEludGVyYWxzU2VydmVyIHx8XG4gICAgICAgIG51bGwgPT09IFJlYWN0U2hhcmVkSW50ZXJhbHNTZXJ2ZXIuQVxuICAgICAgICAgID8gbnVsbFxuICAgICAgICAgIDogUmVhY3RTaGFyZWRJbnRlcmFsc1NlcnZlci5BLmdldE93bmVyKCk7XG4gICAgICB0aGlzLl9kZWJ1Z1Jvb3RTdGFjayA9XG4gICAgICAgIG51bGwgIT09IGJ1bmRsZXJDb25maWcgPyBFcnJvcihcInJlYWN0LXN0YWNrLXRvcC1mcmFtZVwiKSA6IG51bGw7XG4gICAgICB0aGlzLl9kZWJ1Z0ZpbmRTb3VyY2VNYXBVUkwgPSBmaW5kU291cmNlTWFwVVJMO1xuICAgICAgdGhpcy5fcmVwbGF5Q29uc29sZSA9IHJlcGxheUNvbnNvbGU7XG4gICAgICB0aGlzLl9yb290RW52aXJvbm1lbnROYW1lID1cbiAgICAgICAgdm9pZCAwID09PSBlbnZpcm9ubWVudE5hbWUgPyBcIlNlcnZlclwiIDogZW52aXJvbm1lbnROYW1lO1xuICAgICAgdGhpcy5fZnJvbUpTT04gPSBjcmVhdGVGcm9tSlNPTkNhbGxiYWNrKHRoaXMpO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZXNvbHZlTW9kZWwocmVzcG9uc2UsIGlkLCBtb2RlbCkge1xuICAgICAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3MsXG4gICAgICAgIGNodW5rID0gY2h1bmtzLmdldChpZCk7XG4gICAgICBjaHVua1xuICAgICAgICA/IHJlc29sdmVNb2RlbENodW5rKGNodW5rLCBtb2RlbClcbiAgICAgICAgOiBjaHVua3Muc2V0KFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBuZXcgUmVhY3RQcm9taXNlKFwicmVzb2x2ZWRfbW9kZWxcIiwgbW9kZWwsIG51bGwsIHJlc3BvbnNlKVxuICAgICAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVUZXh0KHJlc3BvbnNlLCBpZCwgdGV4dCkge1xuICAgICAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3MsXG4gICAgICAgIGNodW5rID0gY2h1bmtzLmdldChpZCk7XG4gICAgICBjaHVuayAmJiBcInBlbmRpbmdcIiAhPT0gY2h1bmsuc3RhdHVzXG4gICAgICAgID8gY2h1bmsucmVhc29uLmVucXVldWVWYWx1ZSh0ZXh0KVxuICAgICAgICA6IGNodW5rcy5zZXQoaWQsIG5ldyBSZWFjdFByb21pc2UoXCJmdWxmaWxsZWRcIiwgdGV4dCwgbnVsbCwgcmVzcG9uc2UpKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcmVzb2x2ZUJ1ZmZlcihyZXNwb25zZSwgaWQsIGJ1ZmZlcikge1xuICAgICAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3MsXG4gICAgICAgIGNodW5rID0gY2h1bmtzLmdldChpZCk7XG4gICAgICBjaHVuayAmJiBcInBlbmRpbmdcIiAhPT0gY2h1bmsuc3RhdHVzXG4gICAgICAgID8gY2h1bmsucmVhc29uLmVucXVldWVWYWx1ZShidWZmZXIpXG4gICAgICAgIDogY2h1bmtzLnNldChpZCwgbmV3IFJlYWN0UHJvbWlzZShcImZ1bGZpbGxlZFwiLCBidWZmZXIsIG51bGwsIHJlc3BvbnNlKSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVNb2R1bGUocmVzcG9uc2UsIGlkLCBtb2RlbCkge1xuICAgICAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3MsXG4gICAgICAgIGNodW5rID0gY2h1bmtzLmdldChpZCk7XG4gICAgICBtb2RlbCA9IEpTT04ucGFyc2UobW9kZWwsIHJlc3BvbnNlLl9mcm9tSlNPTik7XG4gICAgICB2YXIgY2xpZW50UmVmZXJlbmNlID0gcmVzb2x2ZUNsaWVudFJlZmVyZW5jZShcbiAgICAgICAgcmVzcG9uc2UuX2J1bmRsZXJDb25maWcsXG4gICAgICAgIG1vZGVsXG4gICAgICApO1xuICAgICAgcHJlcGFyZURlc3RpbmF0aW9uV2l0aENodW5rcyhcbiAgICAgICAgcmVzcG9uc2UuX21vZHVsZUxvYWRpbmcsXG4gICAgICAgIG1vZGVsWzFdLFxuICAgICAgICByZXNwb25zZS5fbm9uY2VcbiAgICAgICk7XG4gICAgICBpZiAoKG1vZGVsID0gcHJlbG9hZE1vZHVsZShjbGllbnRSZWZlcmVuY2UpKSkge1xuICAgICAgICBpZiAoY2h1bmspIHtcbiAgICAgICAgICB2YXIgYmxvY2tlZENodW5rID0gY2h1bms7XG4gICAgICAgICAgYmxvY2tlZENodW5rLnN0YXR1cyA9IFwiYmxvY2tlZFwiO1xuICAgICAgICB9IGVsc2VcbiAgICAgICAgICAoYmxvY2tlZENodW5rID0gbmV3IFJlYWN0UHJvbWlzZShcImJsb2NrZWRcIiwgbnVsbCwgbnVsbCwgcmVzcG9uc2UpKSxcbiAgICAgICAgICAgIGNodW5rcy5zZXQoaWQsIGJsb2NrZWRDaHVuayk7XG4gICAgICAgIG1vZGVsLnRoZW4oXG4gICAgICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVNb2R1bGVDaHVuayhibG9ja2VkQ2h1bmssIGNsaWVudFJlZmVyZW5jZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0cmlnZ2VyRXJyb3JPbkNodW5rKGJsb2NrZWRDaHVuaywgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZVxuICAgICAgICBjaHVua1xuICAgICAgICAgID8gcmVzb2x2ZU1vZHVsZUNodW5rKGNodW5rLCBjbGllbnRSZWZlcmVuY2UpXG4gICAgICAgICAgOiBjaHVua3Muc2V0KFxuICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgbmV3IFJlYWN0UHJvbWlzZShcbiAgICAgICAgICAgICAgICBcInJlc29sdmVkX21vZHVsZVwiLFxuICAgICAgICAgICAgICAgIGNsaWVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVTdHJlYW0ocmVzcG9uc2UsIGlkLCBzdHJlYW0sIGNvbnRyb2xsZXIpIHtcbiAgICAgIHZhciBjaHVua3MgPSByZXNwb25zZS5fY2h1bmtzLFxuICAgICAgICBjaHVuayA9IGNodW5rcy5nZXQoaWQpO1xuICAgICAgY2h1bmtcbiAgICAgICAgPyBcInBlbmRpbmdcIiA9PT0gY2h1bmsuc3RhdHVzICYmXG4gICAgICAgICAgKChyZXNwb25zZSA9IGNodW5rLnZhbHVlKSxcbiAgICAgICAgICAoY2h1bmsuc3RhdHVzID0gXCJmdWxmaWxsZWRcIiksXG4gICAgICAgICAgKGNodW5rLnZhbHVlID0gc3RyZWFtKSxcbiAgICAgICAgICAoY2h1bmsucmVhc29uID0gY29udHJvbGxlciksXG4gICAgICAgICAgbnVsbCAhPT0gcmVzcG9uc2UgJiYgd2FrZUNodW5rKHJlc3BvbnNlLCBjaHVuay52YWx1ZSkpXG4gICAgICAgIDogY2h1bmtzLnNldChcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgbmV3IFJlYWN0UHJvbWlzZShcImZ1bGZpbGxlZFwiLCBzdHJlYW0sIGNvbnRyb2xsZXIsIHJlc3BvbnNlKVxuICAgICAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHN0YXJ0UmVhZGFibGVTdHJlYW0ocmVzcG9uc2UsIGlkLCB0eXBlKSB7XG4gICAgICB2YXIgY29udHJvbGxlciA9IG51bGw7XG4gICAgICB0eXBlID0gbmV3IFJlYWRhYmxlU3RyZWFtKHtcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uIChjKSB7XG4gICAgICAgICAgY29udHJvbGxlciA9IGM7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdmFyIHByZXZpb3VzQmxvY2tlZENodW5rID0gbnVsbDtcbiAgICAgIHJlc29sdmVTdHJlYW0ocmVzcG9uc2UsIGlkLCB0eXBlLCB7XG4gICAgICAgIGVucXVldWVWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgbnVsbCA9PT0gcHJldmlvdXNCbG9ja2VkQ2h1bmtcbiAgICAgICAgICAgID8gY29udHJvbGxlci5lbnF1ZXVlKHZhbHVlKVxuICAgICAgICAgICAgOiBwcmV2aW91c0Jsb2NrZWRDaHVuay50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUodmFsdWUpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgZW5xdWV1ZU1vZGVsOiBmdW5jdGlvbiAoanNvbikge1xuICAgICAgICAgIGlmIChudWxsID09PSBwcmV2aW91c0Jsb2NrZWRDaHVuaykge1xuICAgICAgICAgICAgdmFyIGNodW5rID0gbmV3IFJlYWN0UHJvbWlzZShcbiAgICAgICAgICAgICAgXCJyZXNvbHZlZF9tb2RlbFwiLFxuICAgICAgICAgICAgICBqc29uLFxuICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICByZXNwb25zZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGluaXRpYWxpemVNb2RlbENodW5rKGNodW5rKTtcbiAgICAgICAgICAgIFwiZnVsZmlsbGVkXCIgPT09IGNodW5rLnN0YXR1c1xuICAgICAgICAgICAgICA/IGNvbnRyb2xsZXIuZW5xdWV1ZShjaHVuay52YWx1ZSlcbiAgICAgICAgICAgICAgOiAoY2h1bmsudGhlbihcbiAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICh2KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250cm9sbGVyLmVucXVldWUodik7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXIuZXJyb3IoZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAocHJldmlvdXNCbG9ja2VkQ2h1bmsgPSBjaHVuaykpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjaHVuayA9IHByZXZpb3VzQmxvY2tlZENodW5rO1xuICAgICAgICAgICAgdmFyIF9jaHVuazMgPSBjcmVhdGVQZW5kaW5nQ2h1bmsocmVzcG9uc2UpO1xuICAgICAgICAgICAgX2NodW5rMy50aGVuKFxuICAgICAgICAgICAgICBmdW5jdGlvbiAodikge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb250cm9sbGVyLmVucXVldWUodik7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXIuZXJyb3IoZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwcmV2aW91c0Jsb2NrZWRDaHVuayA9IF9jaHVuazM7XG4gICAgICAgICAgICBjaHVuay50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgcHJldmlvdXNCbG9ja2VkQ2h1bmsgPT09IF9jaHVuazMgJiYgKHByZXZpb3VzQmxvY2tlZENodW5rID0gbnVsbCk7XG4gICAgICAgICAgICAgIHJlc29sdmVNb2RlbENodW5rKF9jaHVuazMsIGpzb24pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjbG9zZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmIChudWxsID09PSBwcmV2aW91c0Jsb2NrZWRDaHVuaykgY29udHJvbGxlci5jbG9zZSgpO1xuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIGJsb2NrZWRDaHVuayA9IHByZXZpb3VzQmxvY2tlZENodW5rO1xuICAgICAgICAgICAgcHJldmlvdXNCbG9ja2VkQ2h1bmsgPSBudWxsO1xuICAgICAgICAgICAgYmxvY2tlZENodW5rLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICByZXR1cm4gY29udHJvbGxlci5jbG9zZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgaWYgKG51bGwgPT09IHByZXZpb3VzQmxvY2tlZENodW5rKSBjb250cm9sbGVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBibG9ja2VkQ2h1bmsgPSBwcmV2aW91c0Jsb2NrZWRDaHVuaztcbiAgICAgICAgICAgIHByZXZpb3VzQmxvY2tlZENodW5rID0gbnVsbDtcbiAgICAgICAgICAgIGJsb2NrZWRDaHVuay50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gYXN5bmNJdGVyYXRvcigpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVJdGVyYXRvcihuZXh0KSB7XG4gICAgICBuZXh0ID0geyBuZXh0OiBuZXh0IH07XG4gICAgICBuZXh0W0FTWU5DX0lURVJBVE9SXSA9IGFzeW5jSXRlcmF0b3I7XG4gICAgICByZXR1cm4gbmV4dDtcbiAgICB9XG4gICAgZnVuY3Rpb24gc3RhcnRBc3luY0l0ZXJhYmxlKHJlc3BvbnNlLCBpZCwgaXRlcmF0b3IpIHtcbiAgICAgIHZhciBidWZmZXIgPSBbXSxcbiAgICAgICAgY2xvc2VkID0gITEsXG4gICAgICAgIG5leHRXcml0ZUluZGV4ID0gMCxcbiAgICAgICAgaXRlcmFibGUgPSBfZGVmaW5lUHJvcGVydHkoe30sIEFTWU5DX0lURVJBVE9SLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdmFyIG5leHRSZWFkSW5kZXggPSAwO1xuICAgICAgICAgIHJldHVybiBjcmVhdGVJdGVyYXRvcihmdW5jdGlvbiAoYXJnKSB7XG4gICAgICAgICAgICBpZiAodm9pZCAwICE9PSBhcmcpXG4gICAgICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgICAgIFwiVmFsdWVzIGNhbm5vdCBiZSBwYXNzZWQgdG8gbmV4dCgpIG9mIEFzeW5jSXRlcmFibGVzIHBhc3NlZCB0byBDbGllbnQgQ29tcG9uZW50cy5cIlxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKG5leHRSZWFkSW5kZXggPT09IGJ1ZmZlci5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgaWYgKGNsb3NlZClcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFJlYWN0UHJvbWlzZShcbiAgICAgICAgICAgICAgICAgIFwiZnVsZmlsbGVkXCIsXG4gICAgICAgICAgICAgICAgICB7IGRvbmU6ICEwLCB2YWx1ZTogdm9pZCAwIH0sXG4gICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICAgcmVzcG9uc2VcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBidWZmZXJbbmV4dFJlYWRJbmRleF0gPSBjcmVhdGVQZW5kaW5nQ2h1bmsocmVzcG9uc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGJ1ZmZlcltuZXh0UmVhZEluZGV4KytdO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIHJlc29sdmVTdHJlYW0oXG4gICAgICAgIHJlc3BvbnNlLFxuICAgICAgICBpZCxcbiAgICAgICAgaXRlcmF0b3IgPyBpdGVyYWJsZVtBU1lOQ19JVEVSQVRPUl0oKSA6IGl0ZXJhYmxlLFxuICAgICAgICB7XG4gICAgICAgICAgZW5xdWV1ZVZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChuZXh0V3JpdGVJbmRleCA9PT0gYnVmZmVyLmxlbmd0aClcbiAgICAgICAgICAgICAgYnVmZmVyW25leHRXcml0ZUluZGV4XSA9IG5ldyBSZWFjdFByb21pc2UoXG4gICAgICAgICAgICAgICAgXCJmdWxmaWxsZWRcIixcbiAgICAgICAgICAgICAgICB7IGRvbmU6ICExLCB2YWx1ZTogdmFsdWUgfSxcbiAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgdmFyIGNodW5rID0gYnVmZmVyW25leHRXcml0ZUluZGV4XSxcbiAgICAgICAgICAgICAgICByZXNvbHZlTGlzdGVuZXJzID0gY2h1bmsudmFsdWUsXG4gICAgICAgICAgICAgICAgcmVqZWN0TGlzdGVuZXJzID0gY2h1bmsucmVhc29uO1xuICAgICAgICAgICAgICBjaHVuay5zdGF0dXMgPSBcImZ1bGZpbGxlZFwiO1xuICAgICAgICAgICAgICBjaHVuay52YWx1ZSA9IHsgZG9uZTogITEsIHZhbHVlOiB2YWx1ZSB9O1xuICAgICAgICAgICAgICBudWxsICE9PSByZXNvbHZlTGlzdGVuZXJzICYmXG4gICAgICAgICAgICAgICAgd2FrZUNodW5rSWZJbml0aWFsaXplZChcbiAgICAgICAgICAgICAgICAgIGNodW5rLFxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZUxpc3RlbmVycyxcbiAgICAgICAgICAgICAgICAgIHJlamVjdExpc3RlbmVyc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0V3JpdGVJbmRleCsrO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZW5xdWV1ZU1vZGVsOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIG5leHRXcml0ZUluZGV4ID09PSBidWZmZXIubGVuZ3RoXG4gICAgICAgICAgICAgID8gKGJ1ZmZlcltuZXh0V3JpdGVJbmRleF0gPSBjcmVhdGVSZXNvbHZlZEl0ZXJhdG9yUmVzdWx0Q2h1bmsoXG4gICAgICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgITFcbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICA6IHJlc29sdmVJdGVyYXRvclJlc3VsdENodW5rKGJ1ZmZlcltuZXh0V3JpdGVJbmRleF0sIHZhbHVlLCAhMSk7XG4gICAgICAgICAgICBuZXh0V3JpdGVJbmRleCsrO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgY2xvc2U6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgY2xvc2VkID0gITA7XG4gICAgICAgICAgICBuZXh0V3JpdGVJbmRleCA9PT0gYnVmZmVyLmxlbmd0aFxuICAgICAgICAgICAgICA/IChidWZmZXJbbmV4dFdyaXRlSW5kZXhdID0gY3JlYXRlUmVzb2x2ZWRJdGVyYXRvclJlc3VsdENodW5rKFxuICAgICAgICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICEwXG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgOiByZXNvbHZlSXRlcmF0b3JSZXN1bHRDaHVuayhidWZmZXJbbmV4dFdyaXRlSW5kZXhdLCB2YWx1ZSwgITApO1xuICAgICAgICAgICAgZm9yIChuZXh0V3JpdGVJbmRleCsrOyBuZXh0V3JpdGVJbmRleCA8IGJ1ZmZlci5sZW5ndGg7IClcbiAgICAgICAgICAgICAgcmVzb2x2ZUl0ZXJhdG9yUmVzdWx0Q2h1bmsoXG4gICAgICAgICAgICAgICAgYnVmZmVyW25leHRXcml0ZUluZGV4KytdLFxuICAgICAgICAgICAgICAgICdcIiR1bmRlZmluZWRcIicsXG4gICAgICAgICAgICAgICAgITBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNsb3NlZCA9ICEwO1xuICAgICAgICAgICAgZm9yIChcbiAgICAgICAgICAgICAgbmV4dFdyaXRlSW5kZXggPT09IGJ1ZmZlci5sZW5ndGggJiZcbiAgICAgICAgICAgICAgKGJ1ZmZlcltuZXh0V3JpdGVJbmRleF0gPSBjcmVhdGVQZW5kaW5nQ2h1bmsocmVzcG9uc2UpKTtcbiAgICAgICAgICAgICAgbmV4dFdyaXRlSW5kZXggPCBidWZmZXIubGVuZ3RoO1xuXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgIHRyaWdnZXJFcnJvck9uQ2h1bmsoYnVmZmVyW25leHRXcml0ZUluZGV4KytdLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgICBmdW5jdGlvbiBzdG9wU3RyZWFtKHJlc3BvbnNlLCBpZCwgcm93KSB7XG4gICAgICAocmVzcG9uc2UgPSByZXNwb25zZS5fY2h1bmtzLmdldChpZCkpICYmXG4gICAgICAgIFwiZnVsZmlsbGVkXCIgPT09IHJlc3BvbnNlLnN0YXR1cyAmJlxuICAgICAgICByZXNwb25zZS5yZWFzb24uY2xvc2UoXCJcIiA9PT0gcm93ID8gJ1wiJHVuZGVmaW5lZFwiJyA6IHJvdyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVFcnJvckRldihyZXNwb25zZSwgZXJyb3JJbmZvKSB7XG4gICAgICB2YXIgZW52ID0gZXJyb3JJbmZvLmVudjtcbiAgICAgIGVycm9ySW5mbyA9IGJ1aWxkRmFrZUNhbGxTdGFjayhcbiAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgIGVycm9ySW5mby5zdGFjayxcbiAgICAgICAgZW52LFxuICAgICAgICBFcnJvci5iaW5kKFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgZXJyb3JJbmZvLm1lc3NhZ2UgfHxcbiAgICAgICAgICAgIFwiQW4gZXJyb3Igb2NjdXJyZWQgaW4gdGhlIFNlcnZlciBDb21wb25lbnRzIHJlbmRlciBidXQgbm8gbWVzc2FnZSB3YXMgcHJvdmlkZWRcIlxuICAgICAgICApXG4gICAgICApO1xuICAgICAgcmVzcG9uc2UgPSBnZXRSb290VGFzayhyZXNwb25zZSwgZW52KTtcbiAgICAgIHJlc3BvbnNlID0gbnVsbCAhPSByZXNwb25zZSA/IHJlc3BvbnNlLnJ1bihlcnJvckluZm8pIDogZXJyb3JJbmZvKCk7XG4gICAgICByZXNwb25zZS5lbnZpcm9ubWVudE5hbWUgPSBlbnY7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlc29sdmVIaW50KHJlc3BvbnNlLCBjb2RlLCBtb2RlbCkge1xuICAgICAgcmVzcG9uc2UgPSBKU09OLnBhcnNlKG1vZGVsLCByZXNwb25zZS5fZnJvbUpTT04pO1xuICAgICAgbW9kZWwgPSBSZWFjdERPTVNoYXJlZEludGVybmFscy5kO1xuICAgICAgc3dpdGNoIChjb2RlKSB7XG4gICAgICAgIGNhc2UgXCJEXCI6XG4gICAgICAgICAgbW9kZWwuRChyZXNwb25zZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJDXCI6XG4gICAgICAgICAgXCJzdHJpbmdcIiA9PT0gdHlwZW9mIHJlc3BvbnNlXG4gICAgICAgICAgICA/IG1vZGVsLkMocmVzcG9uc2UpXG4gICAgICAgICAgICA6IG1vZGVsLkMocmVzcG9uc2VbMF0sIHJlc3BvbnNlWzFdKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIkxcIjpcbiAgICAgICAgICBjb2RlID0gcmVzcG9uc2VbMF07XG4gICAgICAgICAgdmFyIGFzID0gcmVzcG9uc2VbMV07XG4gICAgICAgICAgMyA9PT0gcmVzcG9uc2UubGVuZ3RoXG4gICAgICAgICAgICA/IG1vZGVsLkwoY29kZSwgYXMsIHJlc3BvbnNlWzJdKVxuICAgICAgICAgICAgOiBtb2RlbC5MKGNvZGUsIGFzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIm1cIjpcbiAgICAgICAgICBcInN0cmluZ1wiID09PSB0eXBlb2YgcmVzcG9uc2VcbiAgICAgICAgICAgID8gbW9kZWwubShyZXNwb25zZSlcbiAgICAgICAgICAgIDogbW9kZWwubShyZXNwb25zZVswXSwgcmVzcG9uc2VbMV0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiWFwiOlxuICAgICAgICAgIFwic3RyaW5nXCIgPT09IHR5cGVvZiByZXNwb25zZVxuICAgICAgICAgICAgPyBtb2RlbC5YKHJlc3BvbnNlKVxuICAgICAgICAgICAgOiBtb2RlbC5YKHJlc3BvbnNlWzBdLCByZXNwb25zZVsxXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgICAgXCJzdHJpbmdcIiA9PT0gdHlwZW9mIHJlc3BvbnNlXG4gICAgICAgICAgICA/IG1vZGVsLlMocmVzcG9uc2UpXG4gICAgICAgICAgICA6IG1vZGVsLlMoXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VbMF0sXG4gICAgICAgICAgICAgICAgMCA9PT0gcmVzcG9uc2VbMV0gPyB2b2lkIDAgOiByZXNwb25zZVsxXSxcbiAgICAgICAgICAgICAgICAzID09PSByZXNwb25zZS5sZW5ndGggPyByZXNwb25zZVsyXSA6IHZvaWQgMFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiTVwiOlxuICAgICAgICAgIFwic3RyaW5nXCIgPT09IHR5cGVvZiByZXNwb25zZVxuICAgICAgICAgICAgPyBtb2RlbC5NKHJlc3BvbnNlKVxuICAgICAgICAgICAgOiBtb2RlbC5NKHJlc3BvbnNlWzBdLCByZXNwb25zZVsxXSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUZha2VGdW5jdGlvbihcbiAgICAgIG5hbWUsXG4gICAgICBmaWxlbmFtZSxcbiAgICAgIHNvdXJjZU1hcCxcbiAgICAgIGxpbmUsXG4gICAgICBjb2wsXG4gICAgICBlbnZpcm9ubWVudE5hbWVcbiAgICApIHtcbiAgICAgIG5hbWUgfHwgKG5hbWUgPSBcIjxhbm9ueW1vdXM+XCIpO1xuICAgICAgdmFyIGVuY29kZWROYW1lID0gSlNPTi5zdHJpbmdpZnkobmFtZSk7XG4gICAgICAxID49IGxpbmVcbiAgICAgICAgPyAoKGxpbmUgPSBlbmNvZGVkTmFtZS5sZW5ndGggKyA3KSxcbiAgICAgICAgICAoY29sID1cbiAgICAgICAgICAgIFwiKHtcIiArXG4gICAgICAgICAgICBlbmNvZGVkTmFtZSArXG4gICAgICAgICAgICBcIjpfPT5cIiArXG4gICAgICAgICAgICBcIiBcIi5yZXBlYXQoY29sIDwgbGluZSA/IDAgOiBjb2wgLSBsaW5lKSArXG4gICAgICAgICAgICBcIl8oKX0pXFxuLyogVGhpcyBtb2R1bGUgd2FzIHJlbmRlcmVkIGJ5IGEgU2VydmVyIENvbXBvbmVudC4gVHVybiBvbiBTb3VyY2UgTWFwcyB0byBzZWUgdGhlIHNlcnZlciBzb3VyY2UuICovXCIpKVxuICAgICAgICA6IChjb2wgPVxuICAgICAgICAgICAgXCIvKiBUaGlzIG1vZHVsZSB3YXMgcmVuZGVyZWQgYnkgYSBTZXJ2ZXIgQ29tcG9uZW50LiBUdXJuIG9uIFNvdXJjZSBNYXBzIHRvIHNlZSB0aGUgc2VydmVyIHNvdXJjZS4gKi9cIiArXG4gICAgICAgICAgICBcIlxcblwiLnJlcGVhdChsaW5lIC0gMikgK1xuICAgICAgICAgICAgXCIoe1wiICtcbiAgICAgICAgICAgIGVuY29kZWROYW1lICtcbiAgICAgICAgICAgIFwiOl89PlxcblwiICtcbiAgICAgICAgICAgIFwiIFwiLnJlcGVhdCgxID4gY29sID8gMCA6IGNvbCAtIDEpICtcbiAgICAgICAgICAgIFwiXygpfSlcIik7XG4gICAgICBmaWxlbmFtZS5zdGFydHNXaXRoKFwiL1wiKSAmJiAoZmlsZW5hbWUgPSBcImZpbGU6Ly9cIiArIGZpbGVuYW1lKTtcbiAgICAgIHNvdXJjZU1hcFxuICAgICAgICA/ICgoY29sICs9XG4gICAgICAgICAgICBcIlxcbi8vIyBzb3VyY2VVUkw9cnNjOi8vUmVhY3QvXCIgK1xuICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KGVudmlyb25tZW50TmFtZSkgK1xuICAgICAgICAgICAgXCIvXCIgK1xuICAgICAgICAgICAgZW5jb2RlVVJJKGZpbGVuYW1lKSArXG4gICAgICAgICAgICBcIj9cIiArXG4gICAgICAgICAgICBmYWtlRnVuY3Rpb25JZHgrKyksXG4gICAgICAgICAgKGNvbCArPSBcIlxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVwiICsgc291cmNlTWFwKSlcbiAgICAgICAgOiAoY29sID0gZmlsZW5hbWVcbiAgICAgICAgICAgID8gY29sICsgKFwiXFxuLy8jIHNvdXJjZVVSTD1cIiArIGVuY29kZVVSSShmaWxlbmFtZSkpXG4gICAgICAgICAgICA6IGNvbCArIFwiXFxuLy8jIHNvdXJjZVVSTD08YW5vbnltb3VzPlwiKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHZhciBmbiA9ICgwLCBldmFsKShjb2wpW25hbWVdO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBmbiA9IGZ1bmN0aW9uIChfKSB7XG4gICAgICAgICAgcmV0dXJuIF8oKTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmbjtcbiAgICB9XG4gICAgZnVuY3Rpb24gYnVpbGRGYWtlQ2FsbFN0YWNrKHJlc3BvbnNlLCBzdGFjaywgZW52aXJvbm1lbnROYW1lLCBpbm5lckNhbGwpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhY2subGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGZyYW1lID0gc3RhY2tbaV0sXG4gICAgICAgICAgZnJhbWVLZXkgPSBmcmFtZS5qb2luKFwiLVwiKSArIFwiLVwiICsgZW52aXJvbm1lbnROYW1lLFxuICAgICAgICAgIGZuID0gZmFrZUZ1bmN0aW9uQ2FjaGUuZ2V0KGZyYW1lS2V5KTtcbiAgICAgICAgaWYgKHZvaWQgMCA9PT0gZm4pIHtcbiAgICAgICAgICBmbiA9IGZyYW1lWzBdO1xuICAgICAgICAgIHZhciBmaWxlbmFtZSA9IGZyYW1lWzFdLFxuICAgICAgICAgICAgbGluZSA9IGZyYW1lWzJdO1xuICAgICAgICAgIGZyYW1lID0gZnJhbWVbM107XG4gICAgICAgICAgdmFyIGZpbmRTb3VyY2VNYXBVUkwgPSByZXNwb25zZS5fZGVidWdGaW5kU291cmNlTWFwVVJMO1xuICAgICAgICAgIGZpbmRTb3VyY2VNYXBVUkwgPSBmaW5kU291cmNlTWFwVVJMXG4gICAgICAgICAgICA/IGZpbmRTb3VyY2VNYXBVUkwoZmlsZW5hbWUsIGVudmlyb25tZW50TmFtZSlcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgICBmbiA9IGNyZWF0ZUZha2VGdW5jdGlvbihcbiAgICAgICAgICAgIGZuLFxuICAgICAgICAgICAgZmlsZW5hbWUsXG4gICAgICAgICAgICBmaW5kU291cmNlTWFwVVJMLFxuICAgICAgICAgICAgbGluZSxcbiAgICAgICAgICAgIGZyYW1lLFxuICAgICAgICAgICAgZW52aXJvbm1lbnROYW1lXG4gICAgICAgICAgKTtcbiAgICAgICAgICBmYWtlRnVuY3Rpb25DYWNoZS5zZXQoZnJhbWVLZXksIGZuKTtcbiAgICAgICAgfVxuICAgICAgICBpbm5lckNhbGwgPSBmbi5iaW5kKG51bGwsIGlubmVyQ2FsbCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaW5uZXJDYWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRSb290VGFzayhyZXNwb25zZSwgY2hpbGRFbnZpcm9ubWVudE5hbWUpIHtcbiAgICAgIHZhciByb290VGFzayA9IHJlc3BvbnNlLl9kZWJ1Z1Jvb3RUYXNrO1xuICAgICAgcmV0dXJuIHJvb3RUYXNrXG4gICAgICAgID8gcmVzcG9uc2UuX3Jvb3RFbnZpcm9ubWVudE5hbWUgIT09IGNoaWxkRW52aXJvbm1lbnROYW1lXG4gICAgICAgICAgPyAoKHJlc3BvbnNlID0gY29uc29sZS5jcmVhdGVUYXNrLmJpbmQoXG4gICAgICAgICAgICAgIGNvbnNvbGUsXG4gICAgICAgICAgICAgICdcInVzZSAnICsgY2hpbGRFbnZpcm9ubWVudE5hbWUudG9Mb3dlckNhc2UoKSArICdcIidcbiAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgcm9vdFRhc2sucnVuKHJlc3BvbnNlKSlcbiAgICAgICAgICA6IHJvb3RUYXNrXG4gICAgICAgIDogbnVsbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gZmFrZUpTWENhbGxTaXRlKCkge1xuICAgICAgcmV0dXJuIEVycm9yKFwicmVhY3Qtc3RhY2stdG9wLWZyYW1lXCIpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpbml0aWFsaXplRmFrZVN0YWNrKHJlc3BvbnNlLCBkZWJ1Z0luZm8pIHtcbiAgICAgIHZvaWQgMCA9PT0gZGVidWdJbmZvLmRlYnVnU3RhY2sgJiZcbiAgICAgICAgKG51bGwgIT0gZGVidWdJbmZvLnN0YWNrICYmXG4gICAgICAgICAgKGRlYnVnSW5mby5kZWJ1Z1N0YWNrID0gY3JlYXRlRmFrZUpTWENhbGxTdGFja0luREVWKFxuICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICBkZWJ1Z0luZm8uc3RhY2ssXG4gICAgICAgICAgICBudWxsID09IGRlYnVnSW5mby5lbnYgPyBcIlwiIDogZGVidWdJbmZvLmVudlxuICAgICAgICAgICkpLFxuICAgICAgICBudWxsICE9IGRlYnVnSW5mby5vd25lciAmJlxuICAgICAgICAgIGluaXRpYWxpemVGYWtlU3RhY2socmVzcG9uc2UsIGRlYnVnSW5mby5vd25lcikpO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZXNvbHZlRGVidWdJbmZvKHJlc3BvbnNlLCBpZCwgZGVidWdJbmZvKSB7XG4gICAgICBudWxsID09PSBkZWJ1Z0luZm8ub3duZXIgJiYgbnVsbCAhPSByZXNwb25zZS5fZGVidWdSb290T3duZXJcbiAgICAgICAgPyAoKGRlYnVnSW5mby5vd25lciA9IHJlc3BvbnNlLl9kZWJ1Z1Jvb3RPd25lciksXG4gICAgICAgICAgKGRlYnVnSW5mby5kZWJ1Z1N0YWNrID0gcmVzcG9uc2UuX2RlYnVnUm9vdFN0YWNrKSlcbiAgICAgICAgOiBpbml0aWFsaXplRmFrZVN0YWNrKHJlc3BvbnNlLCBkZWJ1Z0luZm8pO1xuICAgICAgcmVzcG9uc2UgPSBnZXRDaHVuayhyZXNwb25zZSwgaWQpO1xuICAgICAgKHJlc3BvbnNlLl9kZWJ1Z0luZm8gfHwgKHJlc3BvbnNlLl9kZWJ1Z0luZm8gPSBbXSkpLnB1c2goZGVidWdJbmZvKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZ2V0Q3VycmVudFN0YWNrSW5ERVYoKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgZnVuY3Rpb24gcmVzb2x2ZUNvbnNvbGVFbnRyeShyZXNwb25zZSwgdmFsdWUpIHtcbiAgICAgIGlmIChyZXNwb25zZS5fcmVwbGF5Q29uc29sZSkge1xuICAgICAgICB2YXIgcGF5bG9hZCA9IEpTT04ucGFyc2UodmFsdWUsIHJlc3BvbnNlLl9mcm9tSlNPTik7XG4gICAgICAgIHZhbHVlID0gcGF5bG9hZFswXTtcbiAgICAgICAgdmFyIHN0YWNrVHJhY2UgPSBwYXlsb2FkWzFdLFxuICAgICAgICAgIG93bmVyID0gcGF5bG9hZFsyXSxcbiAgICAgICAgICBlbnYgPSBwYXlsb2FkWzNdO1xuICAgICAgICBwYXlsb2FkID0gcGF5bG9hZC5zbGljZSg0KTtcbiAgICAgICAgcmVwbGF5Q29uc29sZVdpdGhDYWxsU3RhY2tJbkRFVihcbiAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBzdGFja1RyYWNlLFxuICAgICAgICAgIG93bmVyLFxuICAgICAgICAgIGVudixcbiAgICAgICAgICBwYXlsb2FkXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1lcmdlQnVmZmVyKGJ1ZmZlciwgbGFzdENodW5rKSB7XG4gICAgICBmb3IgKFxuICAgICAgICB2YXIgbCA9IGJ1ZmZlci5sZW5ndGgsIGJ5dGVMZW5ndGggPSBsYXN0Q2h1bmsubGVuZ3RoLCBpID0gMDtcbiAgICAgICAgaSA8IGw7XG4gICAgICAgIGkrK1xuICAgICAgKVxuICAgICAgICBieXRlTGVuZ3RoICs9IGJ1ZmZlcltpXS5ieXRlTGVuZ3RoO1xuICAgICAgYnl0ZUxlbmd0aCA9IG5ldyBVaW50OEFycmF5KGJ5dGVMZW5ndGgpO1xuICAgICAgZm9yICh2YXIgX2kyID0gKGkgPSAwKTsgX2kyIDwgbDsgX2kyKyspIHtcbiAgICAgICAgdmFyIGNodW5rID0gYnVmZmVyW19pMl07XG4gICAgICAgIGJ5dGVMZW5ndGguc2V0KGNodW5rLCBpKTtcbiAgICAgICAgaSArPSBjaHVuay5ieXRlTGVuZ3RoO1xuICAgICAgfVxuICAgICAgYnl0ZUxlbmd0aC5zZXQobGFzdENodW5rLCBpKTtcbiAgICAgIHJldHVybiBieXRlTGVuZ3RoO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZXNvbHZlVHlwZWRBcnJheShcbiAgICAgIHJlc3BvbnNlLFxuICAgICAgaWQsXG4gICAgICBidWZmZXIsXG4gICAgICBsYXN0Q2h1bmssXG4gICAgICBjb25zdHJ1Y3RvcixcbiAgICAgIGJ5dGVzUGVyRWxlbWVudFxuICAgICkge1xuICAgICAgYnVmZmVyID1cbiAgICAgICAgMCA9PT0gYnVmZmVyLmxlbmd0aCAmJiAwID09PSBsYXN0Q2h1bmsuYnl0ZU9mZnNldCAlIGJ5dGVzUGVyRWxlbWVudFxuICAgICAgICAgID8gbGFzdENodW5rXG4gICAgICAgICAgOiBtZXJnZUJ1ZmZlcihidWZmZXIsIGxhc3RDaHVuayk7XG4gICAgICBjb25zdHJ1Y3RvciA9IG5ldyBjb25zdHJ1Y3RvcihcbiAgICAgICAgYnVmZmVyLmJ1ZmZlcixcbiAgICAgICAgYnVmZmVyLmJ5dGVPZmZzZXQsXG4gICAgICAgIGJ1ZmZlci5ieXRlTGVuZ3RoIC8gYnl0ZXNQZXJFbGVtZW50XG4gICAgICApO1xuICAgICAgcmVzb2x2ZUJ1ZmZlcihyZXNwb25zZSwgaWQsIGNvbnN0cnVjdG9yKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcHJvY2Vzc0Z1bGxCaW5hcnlSb3cocmVzcG9uc2UsIGlkLCB0YWcsIGJ1ZmZlciwgY2h1bmspIHtcbiAgICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICAgIGNhc2UgNjU6XG4gICAgICAgICAgcmVzb2x2ZUJ1ZmZlcihyZXNwb25zZSwgaWQsIG1lcmdlQnVmZmVyKGJ1ZmZlciwgY2h1bmspLmJ1ZmZlcik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjYXNlIDc5OlxuICAgICAgICAgIHJlc29sdmVUeXBlZEFycmF5KHJlc3BvbnNlLCBpZCwgYnVmZmVyLCBjaHVuaywgSW50OEFycmF5LCAxKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgMTExOlxuICAgICAgICAgIHJlc29sdmVCdWZmZXIoXG4gICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgMCA9PT0gYnVmZmVyLmxlbmd0aCA/IGNodW5rIDogbWVyZ2VCdWZmZXIoYnVmZmVyLCBjaHVuaylcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSA4NTpcbiAgICAgICAgICByZXNvbHZlVHlwZWRBcnJheShyZXNwb25zZSwgaWQsIGJ1ZmZlciwgY2h1bmssIFVpbnQ4Q2xhbXBlZEFycmF5LCAxKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgODM6XG4gICAgICAgICAgcmVzb2x2ZVR5cGVkQXJyYXkocmVzcG9uc2UsIGlkLCBidWZmZXIsIGNodW5rLCBJbnQxNkFycmF5LCAyKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgMTE1OlxuICAgICAgICAgIHJlc29sdmVUeXBlZEFycmF5KHJlc3BvbnNlLCBpZCwgYnVmZmVyLCBjaHVuaywgVWludDE2QXJyYXksIDIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSA3NjpcbiAgICAgICAgICByZXNvbHZlVHlwZWRBcnJheShyZXNwb25zZSwgaWQsIGJ1ZmZlciwgY2h1bmssIEludDMyQXJyYXksIDQpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSAxMDg6XG4gICAgICAgICAgcmVzb2x2ZVR5cGVkQXJyYXkocmVzcG9uc2UsIGlkLCBidWZmZXIsIGNodW5rLCBVaW50MzJBcnJheSwgNCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjYXNlIDcxOlxuICAgICAgICAgIHJlc29sdmVUeXBlZEFycmF5KHJlc3BvbnNlLCBpZCwgYnVmZmVyLCBjaHVuaywgRmxvYXQzMkFycmF5LCA0KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgMTAzOlxuICAgICAgICAgIHJlc29sdmVUeXBlZEFycmF5KHJlc3BvbnNlLCBpZCwgYnVmZmVyLCBjaHVuaywgRmxvYXQ2NEFycmF5LCA4KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgNzc6XG4gICAgICAgICAgcmVzb2x2ZVR5cGVkQXJyYXkocmVzcG9uc2UsIGlkLCBidWZmZXIsIGNodW5rLCBCaWdJbnQ2NEFycmF5LCA4KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgMTA5OlxuICAgICAgICAgIHJlc29sdmVUeXBlZEFycmF5KHJlc3BvbnNlLCBpZCwgYnVmZmVyLCBjaHVuaywgQmlnVWludDY0QXJyYXksIDgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSA4NjpcbiAgICAgICAgICByZXNvbHZlVHlwZWRBcnJheShyZXNwb25zZSwgaWQsIGJ1ZmZlciwgY2h1bmssIERhdGFWaWV3LCAxKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBmb3IgKFxuICAgICAgICB2YXIgc3RyaW5nRGVjb2RlciA9IHJlc3BvbnNlLl9zdHJpbmdEZWNvZGVyLCByb3cgPSBcIlwiLCBpID0gMDtcbiAgICAgICAgaSA8IGJ1ZmZlci5sZW5ndGg7XG4gICAgICAgIGkrK1xuICAgICAgKVxuICAgICAgICByb3cgKz0gc3RyaW5nRGVjb2Rlci5kZWNvZGUoYnVmZmVyW2ldLCBkZWNvZGVyT3B0aW9ucyk7XG4gICAgICByb3cgKz0gc3RyaW5nRGVjb2Rlci5kZWNvZGUoY2h1bmspO1xuICAgICAgcHJvY2Vzc0Z1bGxTdHJpbmdSb3cocmVzcG9uc2UsIGlkLCB0YWcsIHJvdyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHByb2Nlc3NGdWxsU3RyaW5nUm93KHJlc3BvbnNlLCBpZCwgdGFnLCByb3cpIHtcbiAgICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICAgIGNhc2UgNzM6XG4gICAgICAgICAgcmVzb2x2ZU1vZHVsZShyZXNwb25zZSwgaWQsIHJvdyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNzI6XG4gICAgICAgICAgcmVzb2x2ZUhpbnQocmVzcG9uc2UsIHJvd1swXSwgcm93LnNsaWNlKDEpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA2OTpcbiAgICAgICAgICByb3cgPSBKU09OLnBhcnNlKHJvdyk7XG4gICAgICAgICAgdGFnID0gcmVzb2x2ZUVycm9yRGV2KHJlc3BvbnNlLCByb3cpO1xuICAgICAgICAgIHRhZy5kaWdlc3QgPSByb3cuZGlnZXN0O1xuICAgICAgICAgIHJvdyA9IHJlc3BvbnNlLl9jaHVua3M7XG4gICAgICAgICAgdmFyIGNodW5rID0gcm93LmdldChpZCk7XG4gICAgICAgICAgY2h1bmtcbiAgICAgICAgICAgID8gdHJpZ2dlckVycm9yT25DaHVuayhjaHVuaywgdGFnKVxuICAgICAgICAgICAgOiByb3cuc2V0KGlkLCBuZXcgUmVhY3RQcm9taXNlKFwicmVqZWN0ZWRcIiwgbnVsbCwgdGFnLCByZXNwb25zZSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDg0OlxuICAgICAgICAgIHJlc29sdmVUZXh0KHJlc3BvbnNlLCBpZCwgcm93KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA2ODpcbiAgICAgICAgICB0YWcgPSBuZXcgUmVhY3RQcm9taXNlKFwicmVzb2x2ZWRfbW9kZWxcIiwgcm93LCBudWxsLCByZXNwb25zZSk7XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZGVsQ2h1bmsodGFnKTtcbiAgICAgICAgICBcImZ1bGZpbGxlZFwiID09PSB0YWcuc3RhdHVzXG4gICAgICAgICAgICA/IHJlc29sdmVEZWJ1Z0luZm8ocmVzcG9uc2UsIGlkLCB0YWcudmFsdWUpXG4gICAgICAgICAgICA6IHRhZy50aGVuKFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uICh2KSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZURlYnVnSW5mbyhyZXNwb25zZSwgaWQsIHYpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkge31cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA4NzpcbiAgICAgICAgICByZXNvbHZlQ29uc29sZUVudHJ5KHJlc3BvbnNlLCByb3cpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDgyOlxuICAgICAgICAgIHN0YXJ0UmVhZGFibGVTdHJlYW0ocmVzcG9uc2UsIGlkLCB2b2lkIDApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDExNDpcbiAgICAgICAgICBzdGFydFJlYWRhYmxlU3RyZWFtKHJlc3BvbnNlLCBpZCwgXCJieXRlc1wiKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA4ODpcbiAgICAgICAgICBzdGFydEFzeW5jSXRlcmFibGUocmVzcG9uc2UsIGlkLCAhMSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMTIwOlxuICAgICAgICAgIHN0YXJ0QXN5bmNJdGVyYWJsZShyZXNwb25zZSwgaWQsICEwKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA2NzpcbiAgICAgICAgICBzdG9wU3RyZWFtKHJlc3BvbnNlLCBpZCwgcm93KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXNvbHZlTW9kZWwocmVzcG9uc2UsIGlkLCByb3cpO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVGcm9tSlNPTkNhbGxiYWNrKHJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgICAgICAgaWYgKFwic3RyaW5nXCIgPT09IHR5cGVvZiB2YWx1ZSlcbiAgICAgICAgICByZXR1cm4gcGFyc2VNb2RlbFN0cmluZyhyZXNwb25zZSwgdGhpcywga2V5LCB2YWx1ZSk7XG4gICAgICAgIGlmIChcIm9iamVjdFwiID09PSB0eXBlb2YgdmFsdWUgJiYgbnVsbCAhPT0gdmFsdWUpIHtcbiAgICAgICAgICBpZiAodmFsdWVbMF0gPT09IFJFQUNUX0VMRU1FTlRfVFlQRSlcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgKChrZXkgPSB2YWx1ZVs0XSksXG4gICAgICAgICAgICAgICh2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAkJHR5cGVvZjogUkVBQ1RfRUxFTUVOVF9UWVBFLFxuICAgICAgICAgICAgICAgIHR5cGU6IHZhbHVlWzFdLFxuICAgICAgICAgICAgICAgIGtleTogdmFsdWVbMl0sXG4gICAgICAgICAgICAgICAgcHJvcHM6IHZhbHVlWzNdLFxuICAgICAgICAgICAgICAgIF9vd25lcjogbnVsbCA9PT0ga2V5ID8gcmVzcG9uc2UuX2RlYnVnUm9vdE93bmVyIDoga2V5XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsdWUsIFwicmVmXCIsIHtcbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAhMSxcbiAgICAgICAgICAgICAgICBnZXQ6IG51bGxSZWZHZXR0ZXJcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICh2YWx1ZS5fc3RvcmUgPSB7fSksXG4gICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWx1ZS5fc3RvcmUsIFwidmFsaWRhdGVkXCIsIHtcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICExLFxuICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICExLFxuICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAhMCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogMVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZhbHVlLCBcIl9kZWJ1Z0luZm9cIiwge1xuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogITEsXG4gICAgICAgICAgICAgICAgZW51bWVyYWJsZTogITEsXG4gICAgICAgICAgICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBudWxsICE9PSBpbml0aWFsaXppbmdIYW5kbGVyKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gaW5pdGlhbGl6aW5nSGFuZGxlcjtcbiAgICAgICAgICAgICAgaW5pdGlhbGl6aW5nSGFuZGxlciA9IGhhbmRsZXIucGFyZW50O1xuICAgICAgICAgICAgICBoYW5kbGVyLmVycm9yZWRcbiAgICAgICAgICAgICAgICA/ICgoa2V5ID0gbmV3IFJlYWN0UHJvbWlzZShcbiAgICAgICAgICAgICAgICAgICAgXCJyZWplY3RlZFwiLFxuICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVyLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVxuICAgICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAgICAgICAodmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh2YWx1ZS50eXBlKSB8fCBcIlwiLFxuICAgICAgICAgICAgICAgICAgICBvd25lcjogdmFsdWUuX293bmVyXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIChrZXkuX2RlYnVnSW5mbyA9IFt2YWx1ZV0pLFxuICAgICAgICAgICAgICAgICAgKHZhbHVlID0gY3JlYXRlTGF6eUNodW5rV3JhcHBlcihrZXkpKSlcbiAgICAgICAgICAgICAgICA6IDAgPCBoYW5kbGVyLmRlcHMgJiZcbiAgICAgICAgICAgICAgICAgICgoa2V5ID0gbmV3IFJlYWN0UHJvbWlzZShcImJsb2NrZWRcIiwgbnVsbCwgbnVsbCwgcmVzcG9uc2UpKSxcbiAgICAgICAgICAgICAgICAgIChoYW5kbGVyLnZhbHVlID0gdmFsdWUpLFxuICAgICAgICAgICAgICAgICAgKGhhbmRsZXIuY2h1bmsgPSBrZXkpLFxuICAgICAgICAgICAgICAgICAgKHZhbHVlID0gT2JqZWN0LmZyZWV6ZS5iaW5kKE9iamVjdCwgdmFsdWUucHJvcHMpKSxcbiAgICAgICAgICAgICAgICAgIGtleS50aGVuKHZhbHVlLCB2YWx1ZSksXG4gICAgICAgICAgICAgICAgICAodmFsdWUgPSBjcmVhdGVMYXp5Q2h1bmtXcmFwcGVyKGtleSkpKTtcbiAgICAgICAgICAgIH0gZWxzZSBPYmplY3QuZnJlZXplKHZhbHVlLnByb3BzKTtcbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gbm9TZXJ2ZXJDYWxsKCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgIFwiU2VydmVyIEZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGR1cmluZyBpbml0aWFsIHJlbmRlci4gVGhpcyB3b3VsZCBjcmVhdGUgYSBmZXRjaCB3YXRlcmZhbGwuIFRyeSB0byB1c2UgYSBTZXJ2ZXIgQ29tcG9uZW50IHRvIHBhc3MgZGF0YSB0byBDbGllbnQgQ29tcG9uZW50cyBpbnN0ZWFkLlwiXG4gICAgICApO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVSZXNwb25zZUZyb21PcHRpb25zKG9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBuZXcgUmVzcG9uc2VJbnN0YW5jZShcbiAgICAgICAgb3B0aW9ucy5zZXJ2ZXJDb25zdW1lck1hbmlmZXN0Lm1vZHVsZU1hcCxcbiAgICAgICAgb3B0aW9ucy5zZXJ2ZXJDb25zdW1lck1hbmlmZXN0LnNlcnZlck1vZHVsZU1hcCxcbiAgICAgICAgb3B0aW9ucy5zZXJ2ZXJDb25zdW1lck1hbmlmZXN0Lm1vZHVsZUxvYWRpbmcsXG4gICAgICAgIG5vU2VydmVyQ2FsbCxcbiAgICAgICAgb3B0aW9ucy5lbmNvZGVGb3JtQWN0aW9uLFxuICAgICAgICBcInN0cmluZ1wiID09PSB0eXBlb2Ygb3B0aW9ucy5ub25jZSA/IG9wdGlvbnMubm9uY2UgOiB2b2lkIDAsXG4gICAgICAgIG9wdGlvbnMgJiYgb3B0aW9ucy50ZW1wb3JhcnlSZWZlcmVuY2VzXG4gICAgICAgICAgPyBvcHRpb25zLnRlbXBvcmFyeVJlZmVyZW5jZXNcbiAgICAgICAgICA6IHZvaWQgMCxcbiAgICAgICAgb3B0aW9ucyAmJiBvcHRpb25zLmZpbmRTb3VyY2VNYXBVUkwgPyBvcHRpb25zLmZpbmRTb3VyY2VNYXBVUkwgOiB2b2lkIDAsXG4gICAgICAgIG9wdGlvbnMgPyAhMCA9PT0gb3B0aW9ucy5yZXBsYXlDb25zb2xlTG9ncyA6ICExLFxuICAgICAgICBvcHRpb25zICYmIG9wdGlvbnMuZW52aXJvbm1lbnROYW1lID8gb3B0aW9ucy5lbnZpcm9ubWVudE5hbWUgOiB2b2lkIDBcbiAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHN0YXJ0UmVhZGluZ0Zyb21TdHJlYW0ocmVzcG9uc2UsIHN0cmVhbSkge1xuICAgICAgZnVuY3Rpb24gcHJvZ3Jlc3MoX3JlZikge1xuICAgICAgICB2YXIgdmFsdWUgPSBfcmVmLnZhbHVlO1xuICAgICAgICBpZiAoX3JlZi5kb25lKSByZXBvcnRHbG9iYWxFcnJvcihyZXNwb25zZSwgRXJyb3IoXCJDb25uZWN0aW9uIGNsb3NlZC5cIikpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB2YXIgaSA9IDAsXG4gICAgICAgICAgICByb3dTdGF0ZSA9IHJlc3BvbnNlLl9yb3dTdGF0ZTtcbiAgICAgICAgICBfcmVmID0gcmVzcG9uc2UuX3Jvd0lEO1xuICAgICAgICAgIGZvciAoXG4gICAgICAgICAgICB2YXIgcm93VGFnID0gcmVzcG9uc2UuX3Jvd1RhZyxcbiAgICAgICAgICAgICAgcm93TGVuZ3RoID0gcmVzcG9uc2UuX3Jvd0xlbmd0aCxcbiAgICAgICAgICAgICAgYnVmZmVyID0gcmVzcG9uc2UuX2J1ZmZlcixcbiAgICAgICAgICAgICAgY2h1bmtMZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gICAgICAgICAgICBpIDwgY2h1bmtMZW5ndGg7XG5cbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHZhciBsYXN0SWR4ID0gLTE7XG4gICAgICAgICAgICBzd2l0Y2ggKHJvd1N0YXRlKSB7XG4gICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICBsYXN0SWR4ID0gdmFsdWVbaSsrXTtcbiAgICAgICAgICAgICAgICA1OCA9PT0gbGFzdElkeFxuICAgICAgICAgICAgICAgICAgPyAocm93U3RhdGUgPSAxKVxuICAgICAgICAgICAgICAgICAgOiAoX3JlZiA9XG4gICAgICAgICAgICAgICAgICAgICAgKF9yZWYgPDwgNCkgfFxuICAgICAgICAgICAgICAgICAgICAgICg5NiA8IGxhc3RJZHggPyBsYXN0SWR4IC0gODcgOiBsYXN0SWR4IC0gNDgpKTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIHJvd1N0YXRlID0gdmFsdWVbaV07XG4gICAgICAgICAgICAgICAgODQgPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgNjUgPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgNzkgPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgMTExID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgIDg1ID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgIDgzID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgIDExNSA9PT0gcm93U3RhdGUgfHxcbiAgICAgICAgICAgICAgICA3NiA9PT0gcm93U3RhdGUgfHxcbiAgICAgICAgICAgICAgICAxMDggPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgNzEgPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgMTAzID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgIDc3ID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgIDEwOSA9PT0gcm93U3RhdGUgfHxcbiAgICAgICAgICAgICAgICA4NiA9PT0gcm93U3RhdGVcbiAgICAgICAgICAgICAgICAgID8gKChyb3dUYWcgPSByb3dTdGF0ZSksIChyb3dTdGF0ZSA9IDIpLCBpKyspXG4gICAgICAgICAgICAgICAgICA6ICg2NCA8IHJvd1N0YXRlICYmIDkxID4gcm93U3RhdGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgMzUgPT09IHJvd1N0YXRlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgMTE0ID09PSByb3dTdGF0ZSB8fFxuICAgICAgICAgICAgICAgICAgICAgIDEyMCA9PT0gcm93U3RhdGVcbiAgICAgICAgICAgICAgICAgICAgPyAoKHJvd1RhZyA9IHJvd1N0YXRlKSwgKHJvd1N0YXRlID0gMyksIGkrKylcbiAgICAgICAgICAgICAgICAgICAgOiAoKHJvd1RhZyA9IDApLCAocm93U3RhdGUgPSAzKSk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICBsYXN0SWR4ID0gdmFsdWVbaSsrXTtcbiAgICAgICAgICAgICAgICA0NCA9PT0gbGFzdElkeFxuICAgICAgICAgICAgICAgICAgPyAocm93U3RhdGUgPSA0KVxuICAgICAgICAgICAgICAgICAgOiAocm93TGVuZ3RoID1cbiAgICAgICAgICAgICAgICAgICAgICAocm93TGVuZ3RoIDw8IDQpIHxcbiAgICAgICAgICAgICAgICAgICAgICAoOTYgPCBsYXN0SWR4ID8gbGFzdElkeCAtIDg3IDogbGFzdElkeCAtIDQ4KSk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICBsYXN0SWR4ID0gdmFsdWUuaW5kZXhPZigxMCwgaSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICAobGFzdElkeCA9IGkgKyByb3dMZW5ndGgpLFxuICAgICAgICAgICAgICAgICAgbGFzdElkeCA+IHZhbHVlLmxlbmd0aCAmJiAobGFzdElkeCA9IC0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBvZmZzZXQgPSB2YWx1ZS5ieXRlT2Zmc2V0ICsgaTtcbiAgICAgICAgICAgIGlmICgtMSA8IGxhc3RJZHgpXG4gICAgICAgICAgICAgIChyb3dMZW5ndGggPSBuZXcgVWludDhBcnJheSh2YWx1ZS5idWZmZXIsIG9mZnNldCwgbGFzdElkeCAtIGkpKSxcbiAgICAgICAgICAgICAgICBwcm9jZXNzRnVsbEJpbmFyeVJvdyhyZXNwb25zZSwgX3JlZiwgcm93VGFnLCBidWZmZXIsIHJvd0xlbmd0aCksXG4gICAgICAgICAgICAgICAgKGkgPSBsYXN0SWR4KSxcbiAgICAgICAgICAgICAgICAzID09PSByb3dTdGF0ZSAmJiBpKyssXG4gICAgICAgICAgICAgICAgKHJvd0xlbmd0aCA9IF9yZWYgPSByb3dUYWcgPSByb3dTdGF0ZSA9IDApLFxuICAgICAgICAgICAgICAgIChidWZmZXIubGVuZ3RoID0gMCk7XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgdmFsdWUgPSBuZXcgVWludDhBcnJheShcbiAgICAgICAgICAgICAgICB2YWx1ZS5idWZmZXIsXG4gICAgICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgICAgIHZhbHVlLmJ5dGVMZW5ndGggLSBpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGJ1ZmZlci5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgICAgcm93TGVuZ3RoIC09IHZhbHVlLmJ5dGVMZW5ndGg7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXNwb25zZS5fcm93U3RhdGUgPSByb3dTdGF0ZTtcbiAgICAgICAgICByZXNwb25zZS5fcm93SUQgPSBfcmVmO1xuICAgICAgICAgIHJlc3BvbnNlLl9yb3dUYWcgPSByb3dUYWc7XG4gICAgICAgICAgcmVzcG9uc2UuX3Jvd0xlbmd0aCA9IHJvd0xlbmd0aDtcbiAgICAgICAgICByZXR1cm4gcmVhZGVyLnJlYWQoKS50aGVuKHByb2dyZXNzKS5jYXRjaChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGVycm9yKGUpIHtcbiAgICAgICAgcmVwb3J0R2xvYmFsRXJyb3IocmVzcG9uc2UsIGUpO1xuICAgICAgfVxuICAgICAgdmFyIHJlYWRlciA9IHN0cmVhbS5nZXRSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5yZWFkKCkudGhlbihwcm9ncmVzcykuY2F0Y2goZXJyb3IpO1xuICAgIH1cbiAgICB2YXIgUmVhY3RET00gPSByZXF1aXJlKFwicmVhY3QtZG9tXCIpLFxuICAgICAgUmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIiksXG4gICAgICBkZWNvZGVyT3B0aW9ucyA9IHsgc3RyZWFtOiAhMCB9LFxuICAgICAgYmluZCQxID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsXG4gICAgICBjaHVua0NhY2hlID0gbmV3IE1hcCgpLFxuICAgICAgUmVhY3RET01TaGFyZWRJbnRlcm5hbHMgPVxuICAgICAgICBSZWFjdERPTS5fX0RPTV9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsXG4gICAgICBSRUFDVF9FTEVNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnRcIiksXG4gICAgICBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5wb3J0YWxcIiksXG4gICAgICBSRUFDVF9GUkFHTUVOVF9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmZyYWdtZW50XCIpLFxuICAgICAgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5zdHJpY3RfbW9kZVwiKSxcbiAgICAgIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QucHJvZmlsZXJcIik7XG4gICAgU3ltYm9sLmZvcihcInJlYWN0LnByb3ZpZGVyXCIpO1xuICAgIHZhciBSRUFDVF9DT05TVU1FUl9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmNvbnN1bWVyXCIpLFxuICAgICAgUkVBQ1RfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmNvbnRleHRcIiksXG4gICAgICBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmZvcndhcmRfcmVmXCIpLFxuICAgICAgUkVBQ1RfU1VTUEVOU0VfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZVwiKSxcbiAgICAgIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZV9saXN0XCIpLFxuICAgICAgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0Lm1lbW9cIiksXG4gICAgICBSRUFDVF9MQVpZX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QubGF6eVwiKSxcbiAgICAgIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcixcbiAgICAgIEFTWU5DX0lURVJBVE9SID0gU3ltYm9sLmFzeW5jSXRlcmF0b3IsXG4gICAgICBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXksXG4gICAgICBnZXRQcm90b3R5cGVPZiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZixcbiAgICAgIGpzeFByb3BzUGFyZW50cyA9IG5ldyBXZWFrTWFwKCksXG4gICAgICBqc3hDaGlsZHJlblBhcmVudHMgPSBuZXcgV2Vha01hcCgpLFxuICAgICAgQ0xJRU5UX1JFRkVSRU5DRV9UQUcgPSBTeW1ib2wuZm9yKFwicmVhY3QuY2xpZW50LnJlZmVyZW5jZVwiKSxcbiAgICAgIE9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGUsXG4gICAgICBrbm93blNlcnZlclJlZmVyZW5jZXMgPSBuZXcgV2Vha01hcCgpLFxuICAgICAgYm91bmRDYWNoZSA9IG5ldyBXZWFrTWFwKCksXG4gICAgICBmYWtlU2VydmVyRnVuY3Rpb25JZHggPSAwLFxuICAgICAgRnVuY3Rpb25CaW5kID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsXG4gICAgICBBcnJheVNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLFxuICAgICAgdjhGcmFtZVJlZ0V4cCA9XG4gICAgICAgIC9eIHszfSBhdCAoPzooLispIFxcKCguKyk6KFxcZCspOihcXGQrKVxcKXwoPzphc3luYyApPyguKyk6KFxcZCspOihcXGQrKSkkLyxcbiAgICAgIGpzY1NwaWRlck1vbmtleUZyYW1lUmVnRXhwID0gLyg/OiguKilAKT8oLiopOihcXGQrKTooXFxkKykvLFxuICAgICAgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5jbGllbnQucmVmZXJlbmNlXCIpO1xuICAgIG5ldyAoXCJmdW5jdGlvblwiID09PSB0eXBlb2YgV2Vha01hcCA/IFdlYWtNYXAgOiBNYXApKCk7XG4gICAgdmFyIFJlYWN0U2hhcmVkSW50ZXJhbHNTZXJ2ZXIgPVxuICAgICAgICBSZWFjdC5fX1NFUlZFUl9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsXG4gICAgICBSZWFjdFNoYXJlZEludGVybmFscyA9XG4gICAgICAgIFJlYWN0Ll9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSB8fFxuICAgICAgICBSZWFjdFNoYXJlZEludGVyYWxzU2VydmVyO1xuICAgIFJlYWN0UHJvbWlzZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFByb21pc2UucHJvdG90eXBlKTtcbiAgICBSZWFjdFByb21pc2UucHJvdG90eXBlLnRoZW4gPSBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgXCJyZXNvbHZlZF9tb2RlbFwiOlxuICAgICAgICAgIGluaXRpYWxpemVNb2RlbENodW5rKHRoaXMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwicmVzb2x2ZWRfbW9kdWxlXCI6XG4gICAgICAgICAgaW5pdGlhbGl6ZU1vZHVsZUNodW5rKHRoaXMpO1xuICAgICAgfVxuICAgICAgc3dpdGNoICh0aGlzLnN0YXR1cykge1xuICAgICAgICBjYXNlIFwiZnVsZmlsbGVkXCI6XG4gICAgICAgICAgcmVzb2x2ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInBlbmRpbmdcIjpcbiAgICAgICAgY2FzZSBcImJsb2NrZWRcIjpcbiAgICAgICAgICByZXNvbHZlICYmXG4gICAgICAgICAgICAobnVsbCA9PT0gdGhpcy52YWx1ZSAmJiAodGhpcy52YWx1ZSA9IFtdKSxcbiAgICAgICAgICAgIHRoaXMudmFsdWUucHVzaChyZXNvbHZlKSk7XG4gICAgICAgICAgcmVqZWN0ICYmXG4gICAgICAgICAgICAobnVsbCA9PT0gdGhpcy5yZWFzb24gJiYgKHRoaXMucmVhc29uID0gW10pLFxuICAgICAgICAgICAgdGhpcy5yZWFzb24ucHVzaChyZWplY3QpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZWplY3QgJiYgcmVqZWN0KHRoaXMucmVhc29uKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZhciBpbml0aWFsaXppbmdIYW5kbGVyID0gbnVsbCxcbiAgICAgIGZha2VGdW5jdGlvbkNhY2hlID0gbmV3IE1hcCgpLFxuICAgICAgZmFrZUZ1bmN0aW9uSWR4ID0gMCxcbiAgICAgIGNyZWF0ZUZha2VKU1hDYWxsU3RhY2sgPSB7XG4gICAgICAgIFwicmVhY3Qtc3RhY2stYm90dG9tLWZyYW1lXCI6IGZ1bmN0aW9uIChcbiAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICBzdGFjayxcbiAgICAgICAgICBlbnZpcm9ubWVudE5hbWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIGJ1aWxkRmFrZUNhbGxTdGFjayhcbiAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgc3RhY2ssXG4gICAgICAgICAgICBlbnZpcm9ubWVudE5hbWUsXG4gICAgICAgICAgICBmYWtlSlNYQ2FsbFNpdGVcbiAgICAgICAgICApKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjcmVhdGVGYWtlSlNYQ2FsbFN0YWNrSW5ERVYgPSBjcmVhdGVGYWtlSlNYQ2FsbFN0YWNrW1xuICAgICAgICBcInJlYWN0LXN0YWNrLWJvdHRvbS1mcmFtZVwiXG4gICAgICBdLmJpbmQoY3JlYXRlRmFrZUpTWENhbGxTdGFjayksXG4gICAgICByZXBsYXlDb25zb2xlV2l0aENhbGxTdGFjayA9IHtcbiAgICAgICAgXCJyZWFjdC1zdGFjay1ib3R0b20tZnJhbWVcIjogZnVuY3Rpb24gKFxuICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgIG1ldGhvZE5hbWUsXG4gICAgICAgICAgc3RhY2tUcmFjZSxcbiAgICAgICAgICBvd25lcixcbiAgICAgICAgICBlbnYsXG4gICAgICAgICAgYXJnc1xuICAgICAgICApIHtcbiAgICAgICAgICB2YXIgcHJldlN0YWNrID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuZ2V0Q3VycmVudFN0YWNrO1xuICAgICAgICAgIFJlYWN0U2hhcmVkSW50ZXJuYWxzLmdldEN1cnJlbnRTdGFjayA9IGdldEN1cnJlbnRTdGFja0luREVWO1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhOiB7XG4gICAgICAgICAgICAgIHZhciBvZmZzZXQgPSAwO1xuICAgICAgICAgICAgICBzd2l0Y2ggKG1ldGhvZE5hbWUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwiZGlyXCI6XG4gICAgICAgICAgICAgICAgY2FzZSBcImRpcnhtbFwiOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJncm91cEVuZFwiOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJ0YWJsZVwiOlxuICAgICAgICAgICAgICAgICAgdmFyIEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdCA9IGJpbmQkMS5hcHBseShcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZVttZXRob2ROYW1lXSxcbiAgICAgICAgICAgICAgICAgICAgW2NvbnNvbGVdLmNvbmNhdChhcmdzKVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGJyZWFrIGE7XG4gICAgICAgICAgICAgICAgY2FzZSBcImFzc2VydFwiOlxuICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB2YXIgbmV3QXJncyA9IGFyZ3Muc2xpY2UoMCk7XG4gICAgICAgICAgICAgIFwic3RyaW5nXCIgPT09IHR5cGVvZiBuZXdBcmdzW29mZnNldF1cbiAgICAgICAgICAgICAgICA/IG5ld0FyZ3Muc3BsaWNlKFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIDEsXG4gICAgICAgICAgICAgICAgICAgIFwiXFx1MDAxYlswbVxcdTAwMWJbN20lYyVzXFx1MDAxYlswbSVjIFwiICsgbmV3QXJnc1tvZmZzZXRdLFxuICAgICAgICAgICAgICAgICAgICBcImJhY2tncm91bmQ6ICNlNmU2ZTY7YmFja2dyb3VuZDogbGlnaHQtZGFyayhyZ2JhKDAsMCwwLDAuMSksIHJnYmEoMjU1LDI1NSwyNTUsMC4yNSkpO2NvbG9yOiAjMDAwMDAwO2NvbG9yOiBsaWdodC1kYXJrKCMwMDAwMDAsICNmZmZmZmYpO2JvcmRlci1yYWRpdXM6IDJweFwiLFxuICAgICAgICAgICAgICAgICAgICBcIiBcIiArIGVudiArIFwiIFwiLFxuICAgICAgICAgICAgICAgICAgICBcIlwiXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBuZXdBcmdzLnNwbGljZShcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgICBcIlxcdTAwMWJbMG1cXHUwMDFiWzdtJWMlc1xcdTAwMWJbMG0lYyBcIixcbiAgICAgICAgICAgICAgICAgICAgXCJiYWNrZ3JvdW5kOiAjZTZlNmU2O2JhY2tncm91bmQ6IGxpZ2h0LWRhcmsocmdiYSgwLDAsMCwwLjEpLCByZ2JhKDI1NSwyNTUsMjU1LDAuMjUpKTtjb2xvcjogIzAwMDAwMDtjb2xvcjogbGlnaHQtZGFyaygjMDAwMDAwLCAjZmZmZmZmKTtib3JkZXItcmFkaXVzOiAycHhcIixcbiAgICAgICAgICAgICAgICAgICAgXCIgXCIgKyBlbnYgKyBcIiBcIixcbiAgICAgICAgICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgbmV3QXJncy51bnNoaWZ0KGNvbnNvbGUpO1xuICAgICAgICAgICAgICBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQgPSBiaW5kJDEuYXBwbHkoXG4gICAgICAgICAgICAgICAgY29uc29sZVttZXRob2ROYW1lXSxcbiAgICAgICAgICAgICAgICBuZXdBcmdzXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgY2FsbFN0YWNrID0gYnVpbGRGYWtlQ2FsbFN0YWNrKFxuICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgICAgc3RhY2tUcmFjZSxcbiAgICAgICAgICAgICAgZW52LFxuICAgICAgICAgICAgICBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBudWxsICE9IG93bmVyICYmIGluaXRpYWxpemVGYWtlU3RhY2socmVzcG9uc2UsIG93bmVyKTtcbiAgICAgICAgICAgIHZhciByb290VGFzayA9IGdldFJvb3RUYXNrKHJlc3BvbnNlLCBlbnYpO1xuICAgICAgICAgICAgbnVsbCAhPSByb290VGFzayA/IHJvb3RUYXNrLnJ1bihjYWxsU3RhY2spIDogY2FsbFN0YWNrKCk7XG4gICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIFJlYWN0U2hhcmVkSW50ZXJuYWxzLmdldEN1cnJlbnRTdGFjayA9IHByZXZTdGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByZXBsYXlDb25zb2xlV2l0aENhbGxTdGFja0luREVWID0gcmVwbGF5Q29uc29sZVdpdGhDYWxsU3RhY2tbXG4gICAgICAgIFwicmVhY3Qtc3RhY2stYm90dG9tLWZyYW1lXCJcbiAgICAgIF0uYmluZChyZXBsYXlDb25zb2xlV2l0aENhbGxTdGFjayk7XG4gICAgZXhwb3J0cy5jcmVhdGVGcm9tRmV0Y2ggPSBmdW5jdGlvbiAocHJvbWlzZUZvclJlc3BvbnNlLCBvcHRpb25zKSB7XG4gICAgICB2YXIgcmVzcG9uc2UgPSBjcmVhdGVSZXNwb25zZUZyb21PcHRpb25zKG9wdGlvbnMpO1xuICAgICAgcHJvbWlzZUZvclJlc3BvbnNlLnRoZW4oXG4gICAgICAgIGZ1bmN0aW9uIChyKSB7XG4gICAgICAgICAgc3RhcnRSZWFkaW5nRnJvbVN0cmVhbShyZXNwb25zZSwgci5ib2R5KTtcbiAgICAgICAgfSxcbiAgICAgICAgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICByZXBvcnRHbG9iYWxFcnJvcihyZXNwb25zZSwgZSk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICByZXR1cm4gZ2V0Q2h1bmsocmVzcG9uc2UsIDApO1xuICAgIH07XG4gICAgZXhwb3J0cy5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0gPSBmdW5jdGlvbiAoc3RyZWFtLCBvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0gY3JlYXRlUmVzcG9uc2VGcm9tT3B0aW9ucyhvcHRpb25zKTtcbiAgICAgIHN0YXJ0UmVhZGluZ0Zyb21TdHJlYW0ob3B0aW9ucywgc3RyZWFtKTtcbiAgICAgIHJldHVybiBnZXRDaHVuayhvcHRpb25zLCAwKTtcbiAgICB9O1xuICAgIGV4cG9ydHMuY3JlYXRlU2VydmVyUmVmZXJlbmNlID0gZnVuY3Rpb24gKGlkKSB7XG4gICAgICByZXR1cm4gY3JlYXRlU2VydmVyUmVmZXJlbmNlJDEoaWQsIG5vU2VydmVyQ2FsbCk7XG4gICAgfTtcbiAgICBleHBvcnRzLmNyZWF0ZVRlbXBvcmFyeVJlZmVyZW5jZVNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBuZXcgTWFwKCk7XG4gICAgfTtcbiAgICBleHBvcnRzLmVuY29kZVJlcGx5ID0gZnVuY3Rpb24gKHZhbHVlLCBvcHRpb25zKSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICB2YXIgYWJvcnQgPSBwcm9jZXNzUmVwbHkoXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICBvcHRpb25zICYmIG9wdGlvbnMudGVtcG9yYXJ5UmVmZXJlbmNlc1xuICAgICAgICAgICAgPyBvcHRpb25zLnRlbXBvcmFyeVJlZmVyZW5jZXNcbiAgICAgICAgICAgIDogdm9pZCAwLFxuICAgICAgICAgIHJlc29sdmUsXG4gICAgICAgICAgcmVqZWN0XG4gICAgICAgICk7XG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuc2lnbmFsKSB7XG4gICAgICAgICAgdmFyIHNpZ25hbCA9IG9wdGlvbnMuc2lnbmFsO1xuICAgICAgICAgIGlmIChzaWduYWwuYWJvcnRlZCkgYWJvcnQoc2lnbmFsLnJlYXNvbik7XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgbGlzdGVuZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIGFib3J0KHNpZ25hbC5yZWFzb24pO1xuICAgICAgICAgICAgICBzaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIGxpc3RlbmVyKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBzaWduYWwuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIGxpc3RlbmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG4gIH0pKCk7XG4iXSwibmFtZXMiOlsiX2RlZmluZVByb3BlcnR5Iiwib2JqIiwia2V5IiwidmFsdWUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsInJlc29sdmVDbGllbnRSZWZlcmVuY2UiLCJidW5kbGVyQ29uZmlnIiwibWV0YWRhdGEiLCJtb2R1bGVFeHBvcnRzIiwibmFtZSIsIkVycm9yIiwibGVuZ3RoIiwiaWQiLCJjaHVua3MiLCJyZXNvbHZlU2VydmVyUmVmZXJlbmNlIiwicmVzb2x2ZWRNb2R1bGVEYXRhIiwiaWR4IiwibGFzdEluZGV4T2YiLCJzbGljZSIsImFzeW5jIiwicmVxdWlyZUFzeW5jTW9kdWxlIiwicHJvbWlzZSIsImdsb2JhbFRoaXMiLCJfX25leHRfcmVxdWlyZV9fIiwidGhlbiIsInN0YXR1cyIsInJlYXNvbiIsImlnbm9yZVJlamVjdCIsInByZWxvYWRNb2R1bGUiLCJwcm9taXNlcyIsImkiLCJjaHVua0lkIiwiZW50cnkiLCJjaHVua0NhY2hlIiwiZ2V0IiwiX193ZWJwYWNrX2NodW5rX2xvYWRfXyIsInB1c2giLCJyZXNvbHZlIiwic2V0IiwiYmluZCIsIlByb21pc2UiLCJhbGwiLCJyZXF1aXJlTW9kdWxlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJwcmVwYXJlRGVzdGluYXRpb25XaXRoQ2h1bmtzIiwibW9kdWxlTG9hZGluZyIsIm5vbmNlJGpzY29tcCQwIiwibm9uY2UiLCJKU0NvbXBpbGVyX3RlbXBfY29uc3QiLCJSZWFjdERPTVNoYXJlZEludGVybmFscyIsImQiLCJKU0NvbXBpbGVyX3RlbXBfY29uc3QkanNjb21wJDAiLCJYIiwiSlNDb21waWxlcl90ZW1wX2NvbnN0JGpzY29tcCQxIiwicHJlZml4IiwiSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0IiwiY3Jvc3NPcmlnaW4iLCJjYWxsIiwiZ2V0SXRlcmF0b3JGbiIsIm1heWJlSXRlcmFibGUiLCJNQVlCRV9JVEVSQVRPUl9TWU1CT0wiLCJpc09iamVjdFByb3RvdHlwZSIsIm9iamVjdCIsIk9iamVjdFByb3RvdHlwZSIsInByb3RvdHlwZSIsImdldFByb3RvdHlwZU9mIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImlzU2ltcGxlT2JqZWN0IiwibmFtZXMiLCJkZXNjcmlwdG9yIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwib2JqZWN0TmFtZSIsInRvU3RyaW5nIiwicmVwbGFjZSIsIm0iLCJwMCIsImRlc2NyaWJlS2V5Rm9yRXJyb3JNZXNzYWdlIiwiZW5jb2RlZEtleSIsIkpTT04iLCJzdHJpbmdpZnkiLCJkZXNjcmliZVZhbHVlRm9yRXJyb3JNZXNzYWdlIiwiaXNBcnJheUltcGwiLCIkJHR5cGVvZiIsIkNMSUVOVF9SRUZFUkVOQ0VfVEFHIiwiZGlzcGxheU5hbWUiLCJTdHJpbmciLCJkZXNjcmliZUVsZW1lbnRUeXBlIiwidHlwZSIsIlJFQUNUX1NVU1BFTlNFX1RZUEUiLCJSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUiLCJSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIiwicmVuZGVyIiwiUkVBQ1RfTUVNT19UWVBFIiwiUkVBQ1RfTEFaWV9UWVBFIiwicGF5bG9hZCIsIl9wYXlsb2FkIiwiX2luaXQiLCJ4IiwiZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UiLCJvYmplY3RPckFycmF5IiwiZXhwYW5kZWROYW1lIiwib2JqS2luZCIsInN0YXJ0IiwianN4Q2hpbGRyZW5QYXJlbnRzIiwiaGFzIiwiUkVBQ1RfRUxFTUVOVF9UWVBFIiwianN4UHJvcHNQYXJlbnRzIiwia2V5cyIsIl92YWx1ZTIiLCJfc3Vic3RyMiIsInJlcGVhdCIsInNlcmlhbGl6ZU51bWJlciIsIm51bWJlciIsIk51bWJlciIsImlzRmluaXRlIiwiSW5maW5pdHkiLCJwcm9jZXNzUmVwbHkiLCJyb290IiwiZm9ybUZpZWxkUHJlZml4IiwidGVtcG9yYXJ5UmVmZXJlbmNlcyIsInJlamVjdCIsInNlcmlhbGl6ZVR5cGVkQXJyYXkiLCJ0YWciLCJ0eXBlZEFycmF5IiwiQmxvYiIsIlVpbnQ4QXJyYXkiLCJidWZmZXIiLCJieXRlT2Zmc2V0IiwiYnl0ZUxlbmd0aCIsImJsb2JJZCIsIm5leHRQYXJ0SWQiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwic2VyaWFsaXplQmluYXJ5UmVhZGVyIiwicmVhZGVyIiwicHJvZ3Jlc3MiLCJkb25lIiwiZGF0YSIsInN0cmVhbUlkIiwicGVuZGluZ1BhcnRzIiwicmVhZCIsInNlcmlhbGl6ZVJlYWRlciIsInBhcnRKU09OIiwicmVzb2x2ZVRvSlNPTiIsInNlcmlhbGl6ZVJlYWRhYmxlU3RyZWFtIiwic3RyZWFtIiwiYmluYXJ5UmVhZGVyIiwiZ2V0UmVhZGVyIiwibW9kZSIsInNlcmlhbGl6ZUFzeW5jSXRlcmFibGUiLCJpdGVyYWJsZSIsIml0ZXJhdG9yIiwiX3BhcnRKU09OIiwibmV4dCIsIngkMCIsIm9yaWdpbmFsVmFsdWUiLCJEYXRlIiwiY29uc29sZSIsImVycm9yIiwiaW5kZXhPZiIsInBhcmVudFJlZmVyZW5jZSIsIndyaXR0ZW5PYmplY3RzIiwiaW5pdCIsImxhenlJZCIsInNlcmlhbGl6ZU1vZGVsIiwiX2xhenlJZCIsIl9wYXJ0SlNPTjIiLCJfZGF0YSIsInByb21pc2VJZCIsInBhcnRWYWx1ZSIsIl9wYXJ0SlNPTjMiLCJtb2RlbFJvb3QiLCJfZGF0YTMiLCJmb3JFYWNoIiwib3JpZ2luYWxLZXkiLCJNYXAiLCJBcnJheSIsImZyb20iLCJTZXQiLCJBcnJheUJ1ZmZlciIsIkludDhBcnJheSIsIlVpbnQ4Q2xhbXBlZEFycmF5IiwiSW50MTZBcnJheSIsIlVpbnQxNkFycmF5IiwiSW50MzJBcnJheSIsIlVpbnQzMkFycmF5IiwiRmxvYXQzMkFycmF5IiwiRmxvYXQ2NEFycmF5IiwiQmlnSW50NjRBcnJheSIsIkJpZ1VpbnQ2NEFycmF5IiwiRGF0YVZpZXciLCJSZWFkYWJsZVN0cmVhbSIsIkFTWU5DX0lURVJBVE9SIiwiUkVBQ1RfQ09OVEVYVF9UWVBFIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZGVzY3JpcHRpb24iLCJrbm93blNlcnZlclJlZmVyZW5jZXMiLCJtb2RlbCIsIldlYWtNYXAiLCJqc29uIiwiZW5jb2RlRm9ybURhdGEiLCJyZWZlcmVuY2UiLCJ0aGVuYWJsZSIsInJlcyIsInJlaiIsImJvZHkiLCJlIiwiZGVmYXVsdEVuY29kZUZvcm1BY3Rpb24iLCJpZGVudGlmaWVyUHJlZml4IiwiYm91bmQiLCJib3VuZENhY2hlIiwicHJlZml4ZWREYXRhIiwibWV0aG9kIiwiZW5jVHlwZSIsImlzU2lnbmF0dXJlRXF1YWwiLCJyZWZlcmVuY2VJZCIsIm51bWJlck9mQm91bmRBcmdzIiwiYm91bmRQcm9taXNlIiwiYm91bmRBcmdzIiwiY3JlYXRlRmFrZVNlcnZlckZ1bmN0aW9uIiwiZmlsZW5hbWUiLCJzb3VyY2VNYXAiLCJsaW5lIiwiY29sIiwiZW52aXJvbm1lbnROYW1lIiwiaW5uZXJGdW5jdGlvbiIsImVuY29kZWROYW1lIiwic3RhcnRzV2l0aCIsImVuY29kZVVSSUNvbXBvbmVudCIsImZha2VTZXJ2ZXJGdW5jdGlvbklkeCIsImV2YWwiLCJyZWdpc3RlclNlcnZlclJlZmVyZW5jZSIsInByb3h5IiwicmVmZXJlbmNlJGpzY29tcCQwIiwiZW5jb2RlRm9ybUFjdGlvbiIsImRlZmluZVByb3BlcnRpZXMiLCIkJEZPUk1fQUNUSU9OIiwiJCRJU19TSUdOQVRVUkVfRVFVQUwiLCJuZXdGbiIsIkZ1bmN0aW9uQmluZCIsImFwcGx5IiwiYXJndW1lbnRzIiwiYXJncyIsIkFycmF5U2xpY2UiLCJjb25jYXQiLCJjcmVhdGVCb3VuZFNlcnZlclJlZmVyZW5jZSIsIm1ldGFEYXRhIiwiY2FsbFNlcnZlciIsImZpbmRTb3VyY2VNYXBVUkwiLCJhY3Rpb24iLCJsb2NhdGlvbiIsImZ1bmN0aW9uTmFtZSIsImVudiIsInBhcnNlU3RhY2tMb2NhdGlvbiIsInN0YWNrIiwiZW5kT2ZGaXJzdCIsImVuZE9mU2Vjb25kIiwidjhGcmFtZVJlZ0V4cCIsImV4ZWMiLCJqc2NTcGlkZXJNb25rZXlGcmFtZVJlZ0V4cCIsImNyZWF0ZVNlcnZlclJlZmVyZW5jZSQxIiwiZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlIiwiUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSIsIlJFQUNUX0ZSQUdNRU5UX1RZUEUiLCJSRUFDVF9QT1JUQUxfVFlQRSIsIlJFQUNUX1BST0ZJTEVSX1RZUEUiLCJSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFIiwiUkVBQ1RfQ09OU1VNRVJfVFlQRSIsIl9jb250ZXh0IiwiaW5uZXJUeXBlIiwiUmVhY3RQcm9taXNlIiwicmVzcG9uc2UiLCJfcmVzcG9uc2UiLCJfZGVidWdJbmZvIiwicmVhZENodW5rIiwiY2h1bmsiLCJpbml0aWFsaXplTW9kZWxDaHVuayIsImluaXRpYWxpemVNb2R1bGVDaHVuayIsImNyZWF0ZVBlbmRpbmdDaHVuayIsIndha2VDaHVuayIsImxpc3RlbmVycyIsIndha2VDaHVua0lmSW5pdGlhbGl6ZWQiLCJyZXNvbHZlTGlzdGVuZXJzIiwicmVqZWN0TGlzdGVuZXJzIiwidHJpZ2dlckVycm9yT25DaHVuayIsImNyZWF0ZVJlc29sdmVkSXRlcmF0b3JSZXN1bHRDaHVuayIsInJlc29sdmVJdGVyYXRvclJlc3VsdENodW5rIiwicmVzb2x2ZU1vZGVsQ2h1bmsiLCJlbnF1ZXVlTW9kZWwiLCJyZXNvbHZlTW9kdWxlQ2h1bmsiLCJwcmV2SGFuZGxlciIsImluaXRpYWxpemluZ0hhbmRsZXIiLCJyZXNvbHZlZE1vZGVsIiwicGFyc2UiLCJfZnJvbUpTT04iLCJlcnJvcmVkIiwiZGVwcyIsInJlcG9ydEdsb2JhbEVycm9yIiwiX2NodW5rcyIsIm51bGxSZWZHZXR0ZXIiLCJjcmVhdGVMYXp5Q2h1bmtXcmFwcGVyIiwibGF6eVR5cGUiLCJnZXRDaHVuayIsIndhaXRGb3JSZWZlcmVuY2UiLCJyZWZlcmVuY2VkQ2h1bmsiLCJwYXJlbnRPYmplY3QiLCJtYXAiLCJwYXRoIiwiZnVsZmlsbCIsImhhbmRsZXIiLCJzcGxpY2UiLCJwcm9wcyIsIl9vd25lciIsImJsb2NrZWRWYWx1ZSIsIm93bmVyIiwicGFyZW50IiwibG9hZFNlcnZlclJlZmVyZW5jZSIsIl9zZXJ2ZXJSZWZlcmVuY2VDb25maWciLCJfY2FsbFNlcnZlciIsIl9lbmNvZGVGb3JtQWN0aW9uIiwiX2RlYnVnRmluZFNvdXJjZU1hcFVSTCIsInNlcnZlclJlZmVyZW5jZSIsInJlc29sdmVkVmFsdWUiLCJ1bnNoaWZ0IiwiZ2V0T3V0bGluZWRNb2RlbCIsInNwbGl0IiwicGFyc2VJbnQiLCJjcmVhdGVNYXAiLCJjcmVhdGVTZXQiLCJjcmVhdGVCbG9iIiwiY3JlYXRlRm9ybURhdGEiLCJleHRyYWN0SXRlcmF0b3IiLCJTeW1ib2wiLCJjcmVhdGVNb2RlbCIsInBhcnNlTW9kZWxTdHJpbmciLCJmb3IiLCJfdGVtcFJlZnMiLCJyZXNvbHZlRXJyb3JEZXYiLCJOYU4iLCJCaWdJbnQiLCJtaXNzaW5nQ2FsbCIsIlJlc3BvbnNlSW5zdGFuY2UiLCJzZXJ2ZXJSZWZlcmVuY2VDb25maWciLCJyZXBsYXlDb25zb2xlIiwiX2J1bmRsZXJDb25maWciLCJfbW9kdWxlTG9hZGluZyIsIl9ub25jZSIsIl9zdHJpbmdEZWNvZGVyIiwiVGV4dERlY29kZXIiLCJfcm93TGVuZ3RoIiwiX3Jvd1RhZyIsIl9yb3dJRCIsIl9yb3dTdGF0ZSIsIl9idWZmZXIiLCJfZGVidWdSb290T3duZXIiLCJSZWFjdFNoYXJlZEludGVyYWxzU2VydmVyIiwiQSIsImdldE93bmVyIiwiX2RlYnVnUm9vdFN0YWNrIiwiX3JlcGxheUNvbnNvbGUiLCJfcm9vdEVudmlyb25tZW50TmFtZSIsImNyZWF0ZUZyb21KU09OQ2FsbGJhY2siLCJyZXNvbHZlTW9kZWwiLCJyZXNvbHZlVGV4dCIsInRleHQiLCJlbnF1ZXVlVmFsdWUiLCJyZXNvbHZlQnVmZmVyIiwicmVzb2x2ZU1vZHVsZSIsImNsaWVudFJlZmVyZW5jZSIsImJsb2NrZWRDaHVuayIsInJlc29sdmVTdHJlYW0iLCJjb250cm9sbGVyIiwic3RhcnRSZWFkYWJsZVN0cmVhbSIsImMiLCJwcmV2aW91c0Jsb2NrZWRDaHVuayIsImVucXVldWUiLCJ2IiwiX2NodW5rMyIsImNsb3NlIiwiYXN5bmNJdGVyYXRvciIsImNyZWF0ZUl0ZXJhdG9yIiwic3RhcnRBc3luY0l0ZXJhYmxlIiwiY2xvc2VkIiwibmV4dFdyaXRlSW5kZXgiLCJuZXh0UmVhZEluZGV4IiwiYXJnIiwic3RvcFN0cmVhbSIsInJvdyIsImVycm9ySW5mbyIsImJ1aWxkRmFrZUNhbGxTdGFjayIsIm1lc3NhZ2UiLCJnZXRSb290VGFzayIsInJ1biIsInJlc29sdmVIaW50IiwiY29kZSIsIkQiLCJDIiwiYXMiLCJMIiwiUyIsIk0iLCJjcmVhdGVGYWtlRnVuY3Rpb24iLCJlbmNvZGVVUkkiLCJmYWtlRnVuY3Rpb25JZHgiLCJmbiIsIl8iLCJpbm5lckNhbGwiLCJmcmFtZSIsImZyYW1lS2V5Iiwiam9pbiIsImZha2VGdW5jdGlvbkNhY2hlIiwiY2hpbGRFbnZpcm9ubWVudE5hbWUiLCJyb290VGFzayIsIl9kZWJ1Z1Jvb3RUYXNrIiwiY3JlYXRlVGFzayIsInRvTG93ZXJDYXNlIiwiZmFrZUpTWENhbGxTaXRlIiwiaW5pdGlhbGl6ZUZha2VTdGFjayIsImRlYnVnSW5mbyIsImRlYnVnU3RhY2siLCJjcmVhdGVGYWtlSlNYQ2FsbFN0YWNrSW5ERVYiLCJyZXNvbHZlRGVidWdJbmZvIiwiZ2V0Q3VycmVudFN0YWNrSW5ERVYiLCJyZXNvbHZlQ29uc29sZUVudHJ5Iiwic3RhY2tUcmFjZSIsInJlcGxheUNvbnNvbGVXaXRoQ2FsbFN0YWNrSW5ERVYiLCJtZXJnZUJ1ZmZlciIsImxhc3RDaHVuayIsImwiLCJfaTIiLCJyZXNvbHZlVHlwZWRBcnJheSIsImNvbnN0cnVjdG9yIiwiYnl0ZXNQZXJFbGVtZW50IiwicHJvY2Vzc0Z1bGxCaW5hcnlSb3ciLCJzdHJpbmdEZWNvZGVyIiwiZGVjb2RlIiwiZGVjb2Rlck9wdGlvbnMiLCJwcm9jZXNzRnVsbFN0cmluZ1JvdyIsImRpZ2VzdCIsIl9zdG9yZSIsImZyZWV6ZSIsIm5vU2VydmVyQ2FsbCIsImNyZWF0ZVJlc3BvbnNlRnJvbU9wdGlvbnMiLCJvcHRpb25zIiwic2VydmVyQ29uc3VtZXJNYW5pZmVzdCIsIm1vZHVsZU1hcCIsInNlcnZlck1vZHVsZU1hcCIsInJlcGxheUNvbnNvbGVMb2dzIiwic3RhcnRSZWFkaW5nRnJvbVN0cmVhbSIsIl9yZWYiLCJyb3dTdGF0ZSIsInJvd1RhZyIsInJvd0xlbmd0aCIsImNodW5rTGVuZ3RoIiwibGFzdElkeCIsIm9mZnNldCIsImNhdGNoIiwiUmVhY3RET00iLCJyZXF1aXJlIiwiUmVhY3QiLCJiaW5kJDEiLCJGdW5jdGlvbiIsIl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSIsImlzQXJyYXkiLCJfX1NFUlZFUl9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUiLCJSZWFjdFNoYXJlZEludGVybmFscyIsIl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSIsImNyZWF0ZSIsImNyZWF0ZUZha2VKU1hDYWxsU3RhY2siLCJyZXBsYXlDb25zb2xlV2l0aENhbGxTdGFjayIsIm1ldGhvZE5hbWUiLCJwcmV2U3RhY2siLCJnZXRDdXJyZW50U3RhY2siLCJhIiwibmV3QXJncyIsImNhbGxTdGFjayIsImV4cG9ydHMiLCJjcmVhdGVGcm9tRmV0Y2giLCJwcm9taXNlRm9yUmVzcG9uc2UiLCJyIiwiY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtIiwiY3JlYXRlU2VydmVyUmVmZXJlbmNlIiwiY3JlYXRlVGVtcG9yYXJ5UmVmZXJlbmNlU2V0IiwiZW5jb2RlUmVwbHkiLCJhYm9ydCIsInNpZ25hbCIsImFib3J0ZWQiLCJsaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJhZGRFdmVudExpc3RlbmVyIl0sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js\n"); /***/ }), diff --git a/.next/server/vendor-chunks/normalize-wheel.js b/.next/server/vendor-chunks/normalize-wheel.js deleted file mode 100644 index f5067c0..0000000 --- a/.next/server/vendor-chunks/normalize-wheel.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/normalize-wheel"; -exports.ids = ["vendor-chunks/normalize-wheel"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/normalize-wheel/index.js": -/*!***********************************************!*\ - !*** ./node_modules/normalize-wheel/index.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("module.exports = __webpack_require__(/*! ./src/normalizeWheel.js */ \"(ssr)/./node_modules/normalize-wheel/src/normalizeWheel.js\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXdoZWVsL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFBLGlJQUFtRCIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xcbm9ybWFsaXplLXdoZWVsXFxpbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vc3JjL25vcm1hbGl6ZVdoZWVsLmpzJyk7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/normalize-wheel/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/normalize-wheel/src/ExecutionEnvironment.js": -/*!******************************************************************!*\ - !*** ./node_modules/normalize-wheel/src/ExecutionEnvironment.js ***! - \******************************************************************/ -/***/ ((module) => { - -"use strict"; -eval("/**\n * Copyright (c) 2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ExecutionEnvironment\n */\n\n/*jslint evil: true */\n\n\n\nvar canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners:\n canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXdoZWVsL3NyYy9FeGVjdXRpb25FbnZpcm9ubWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUEiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXG5vcm1hbGl6ZS13aGVlbFxcc3JjXFxFeGVjdXRpb25FbnZpcm9ubWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxNSwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBFeGVjdXRpb25FbnZpcm9ubWVudFxuICovXG5cbi8qanNsaW50IGV2aWw6IHRydWUgKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgY2FuVXNlRE9NID0gISEoXG4gIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gIHdpbmRvdy5kb2N1bWVudCAmJlxuICB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudFxuKTtcblxuLyoqXG4gKiBTaW1wbGUsIGxpZ2h0d2VpZ2h0IG1vZHVsZSBhc3Npc3Rpbmcgd2l0aCB0aGUgZGV0ZWN0aW9uIGFuZCBjb250ZXh0IG9mXG4gKiBXb3JrZXIuIEhlbHBzIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY2llcyBhbmQgYWxsb3dzIGNvZGUgdG8gcmVhc29uIGFib3V0XG4gKiB3aGV0aGVyIG9yIG5vdCB0aGV5IGFyZSBpbiBhIFdvcmtlciwgZXZlbiBpZiB0aGV5IG5ldmVyIGluY2x1ZGUgdGhlIG1haW5cbiAqIGBSZWFjdFdvcmtlcmAgZGVwZW5kZW5jeS5cbiAqL1xudmFyIEV4ZWN1dGlvbkVudmlyb25tZW50ID0ge1xuXG4gIGNhblVzZURPTTogY2FuVXNlRE9NLFxuXG4gIGNhblVzZVdvcmtlcnM6IHR5cGVvZiBXb3JrZXIgIT09ICd1bmRlZmluZWQnLFxuXG4gIGNhblVzZUV2ZW50TGlzdGVuZXJzOlxuICAgIGNhblVzZURPTSAmJiAhISh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciB8fCB3aW5kb3cuYXR0YWNoRXZlbnQpLFxuXG4gIGNhblVzZVZpZXdwb3J0OiBjYW5Vc2VET00gJiYgISF3aW5kb3cuc2NyZWVuLFxuXG4gIGlzSW5Xb3JrZXI6ICFjYW5Vc2VET00gLy8gRm9yIG5vdywgdGhpcyBpcyB0cnVlIC0gbWlnaHQgY2hhbmdlIGluIHRoZSBmdXR1cmUuXG5cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gRXhlY3V0aW9uRW52aXJvbm1lbnQ7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/normalize-wheel/src/ExecutionEnvironment.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js": -/*!******************************************************************!*\ - !*** ./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js ***! - \******************************************************************/ -/***/ ((module) => { - -eval("/**\n * Copyright 2004-present Facebook. All Rights Reserved.\n *\n * @providesModule UserAgent_DEPRECATED\n */\n\n/**\n * Provides entirely client-side User Agent and OS detection. You should prefer\n * the non-deprecated UserAgent module when possible, which exposes our\n * authoritative server-side PHP-based detection to the client.\n *\n * Usage is straightforward:\n *\n * if (UserAgent_DEPRECATED.ie()) {\n * // IE\n * }\n *\n * You can also do version checks:\n *\n * if (UserAgent_DEPRECATED.ie() >= 7) {\n * // IE7 or better\n * }\n *\n * The browser functions will return NaN if the browser does not match, so\n * you can also do version compares the other way:\n *\n * if (UserAgent_DEPRECATED.ie() < 7) {\n * // IE6 or worse\n * }\n *\n * Note that the version is a float and may include a minor version number,\n * so you should always use range operators to perform comparisons, not\n * strict equality.\n *\n * **Note:** You should **strongly** prefer capability detection to browser\n * version detection where it's reasonable:\n *\n * http://www.quirksmode.org/js/support.html\n *\n * Further, we have a large number of mature wrapper functions and classes\n * which abstract away many browser irregularities. Check the documentation,\n * grep for things, or ask on javascript@lists.facebook.com before writing yet\n * another copy of \"event || window.event\".\n *\n */\n\nvar _populated = false;\n\n// Browsers\nvar _ie, _firefox, _opera, _webkit, _chrome;\n\n// Actual IE browser for compatibility mode\nvar _ie_real_version;\n\n// Platforms\nvar _osx, _windows, _linux, _android;\n\n// Architectures\nvar _win64;\n\n// Devices\nvar _iphone, _ipad, _native;\n\nvar _mobile;\n\nfunction _populate() {\n if (_populated) {\n return;\n }\n\n _populated = true;\n\n // To work around buggy JS libraries that can't handle multi-digit\n // version numbers, Opera 10's user agent string claims it's Opera\n // 9, then later includes a Version/X.Y field:\n //\n // Opera/9.80 (foo) Presto/2.2.15 Version/10.10\n var uas = navigator.userAgent;\n var agent = /(?:MSIE.(\\d+\\.\\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\\d+\\.\\d+))|(?:Opera(?:.+Version.|.)(\\d+\\.\\d+))|(?:AppleWebKit.(\\d+(?:\\.\\d+)?))|(?:Trident\\/\\d+\\.\\d+.*rv:(\\d+\\.\\d+))/.exec(uas);\n var os = /(Mac OS X)|(Windows)|(Linux)/.exec(uas);\n\n _iphone = /\\b(iPhone|iP[ao]d)/.exec(uas);\n _ipad = /\\b(iP[ao]d)/.exec(uas);\n _android = /Android/i.exec(uas);\n _native = /FBAN\\/\\w+;/i.exec(uas);\n _mobile = /Mobile/i.exec(uas);\n\n // Note that the IE team blog would have you believe you should be checking\n // for 'Win64; x64'. But MSDN then reveals that you can actually be coming\n // from either x64 or ia64; so ultimately, you should just check for Win64\n // as in indicator of whether you're in 64-bit IE. 32-bit IE on 64-bit\n // Windows will send 'WOW64' instead.\n _win64 = !!(/Win64/.exec(uas));\n\n if (agent) {\n _ie = agent[1] ? parseFloat(agent[1]) : (\n agent[5] ? parseFloat(agent[5]) : NaN);\n // IE compatibility mode\n if (_ie && document && document.documentMode) {\n _ie = document.documentMode;\n }\n // grab the \"true\" ie version from the trident token if available\n var trident = /(?:Trident\\/(\\d+.\\d+))/.exec(uas);\n _ie_real_version = trident ? parseFloat(trident[1]) + 4 : _ie;\n\n _firefox = agent[2] ? parseFloat(agent[2]) : NaN;\n _opera = agent[3] ? parseFloat(agent[3]) : NaN;\n _webkit = agent[4] ? parseFloat(agent[4]) : NaN;\n if (_webkit) {\n // We do not add the regexp to the above test, because it will always\n // match 'safari' only since 'AppleWebKit' appears before 'Chrome' in\n // the userAgent string.\n agent = /(?:Chrome\\/(\\d+\\.\\d+))/.exec(uas);\n _chrome = agent && agent[1] ? parseFloat(agent[1]) : NaN;\n } else {\n _chrome = NaN;\n }\n } else {\n _ie = _firefox = _opera = _chrome = _webkit = NaN;\n }\n\n if (os) {\n if (os[1]) {\n // Detect OS X version. If no version number matches, set _osx to true.\n // Version examples: 10, 10_6_1, 10.7\n // Parses version number as a float, taking only first two sets of\n // digits. If only one set of digits is found, returns just the major\n // version number.\n var ver = /(?:Mac OS X (\\d+(?:[._]\\d+)?))/.exec(uas);\n\n _osx = ver ? parseFloat(ver[1].replace('_', '.')) : true;\n } else {\n _osx = false;\n }\n _windows = !!os[2];\n _linux = !!os[3];\n } else {\n _osx = _windows = _linux = false;\n }\n}\n\nvar UserAgent_DEPRECATED = {\n\n /**\n * Check if the UA is Internet Explorer.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n ie: function() {\n return _populate() || _ie;\n },\n\n /**\n * Check if we're in Internet Explorer compatibility mode.\n *\n * @return bool true if in compatibility mode, false if\n * not compatibility mode or not ie\n */\n ieCompatibilityMode: function() {\n return _populate() || (_ie_real_version > _ie);\n },\n\n\n /**\n * Whether the browser is 64-bit IE. Really, this is kind of weak sauce; we\n * only need this because Skype can't handle 64-bit IE yet. We need to remove\n * this when we don't need it -- tracked by #601957.\n */\n ie64: function() {\n return UserAgent_DEPRECATED.ie() && _win64;\n },\n\n /**\n * Check if the UA is Firefox.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n firefox: function() {\n return _populate() || _firefox;\n },\n\n\n /**\n * Check if the UA is Opera.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n opera: function() {\n return _populate() || _opera;\n },\n\n\n /**\n * Check if the UA is WebKit.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n webkit: function() {\n return _populate() || _webkit;\n },\n\n /**\n * For Push\n * WILL BE REMOVED VERY SOON. Use UserAgent_DEPRECATED.webkit\n */\n safari: function() {\n return UserAgent_DEPRECATED.webkit();\n },\n\n /**\n * Check if the UA is a Chrome browser.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n chrome : function() {\n return _populate() || _chrome;\n },\n\n\n /**\n * Check if the user is running Windows.\n *\n * @return bool `true' if the user's OS is Windows.\n */\n windows: function() {\n return _populate() || _windows;\n },\n\n\n /**\n * Check if the user is running Mac OS X.\n *\n * @return float|bool Returns a float if a version number is detected,\n * otherwise true/false.\n */\n osx: function() {\n return _populate() || _osx;\n },\n\n /**\n * Check if the user is running Linux.\n *\n * @return bool `true' if the user's OS is some flavor of Linux.\n */\n linux: function() {\n return _populate() || _linux;\n },\n\n /**\n * Check if the user is running on an iPhone or iPod platform.\n *\n * @return bool `true' if the user is running some flavor of the\n * iPhone OS.\n */\n iphone: function() {\n return _populate() || _iphone;\n },\n\n mobile: function() {\n return _populate() || (_iphone || _ipad || _android || _mobile);\n },\n\n nativeApp: function() {\n // webviews inside of the native apps\n return _populate() || _native;\n },\n\n android: function() {\n return _populate() || _android;\n },\n\n ipad: function() {\n return _populate() || _ipad;\n }\n};\n\nmodule.exports = UserAgent_DEPRECATED;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXdoZWVsL3NyYy9Vc2VyQWdlbnRfREVQUkVDQVRFRC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7O0FBRUE7QUFDQSxpQkFBaUI7QUFDakIsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBLDZFQUE2RTtBQUM3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXG5vcm1hbGl6ZS13aGVlbFxcc3JjXFxVc2VyQWdlbnRfREVQUkVDQVRFRC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAyMDA0LXByZXNlbnQgRmFjZWJvb2suIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIFVzZXJBZ2VudF9ERVBSRUNBVEVEXG4gKi9cblxuLyoqXG4gKiAgUHJvdmlkZXMgZW50aXJlbHkgY2xpZW50LXNpZGUgVXNlciBBZ2VudCBhbmQgT1MgZGV0ZWN0aW9uLiBZb3Ugc2hvdWxkIHByZWZlclxuICogIHRoZSBub24tZGVwcmVjYXRlZCBVc2VyQWdlbnQgbW9kdWxlIHdoZW4gcG9zc2libGUsIHdoaWNoIGV4cG9zZXMgb3VyXG4gKiAgYXV0aG9yaXRhdGl2ZSBzZXJ2ZXItc2lkZSBQSFAtYmFzZWQgZGV0ZWN0aW9uIHRvIHRoZSBjbGllbnQuXG4gKlxuICogIFVzYWdlIGlzIHN0cmFpZ2h0Zm9yd2FyZDpcbiAqXG4gKiAgICBpZiAoVXNlckFnZW50X0RFUFJFQ0FURUQuaWUoKSkge1xuICogICAgICAvLyAgSUVcbiAqICAgIH1cbiAqXG4gKiAgWW91IGNhbiBhbHNvIGRvIHZlcnNpb24gY2hlY2tzOlxuICpcbiAqICAgIGlmIChVc2VyQWdlbnRfREVQUkVDQVRFRC5pZSgpID49IDcpIHtcbiAqICAgICAgLy8gIElFNyBvciBiZXR0ZXJcbiAqICAgIH1cbiAqXG4gKiAgVGhlIGJyb3dzZXIgZnVuY3Rpb25zIHdpbGwgcmV0dXJuIE5hTiBpZiB0aGUgYnJvd3NlciBkb2VzIG5vdCBtYXRjaCwgc29cbiAqICB5b3UgY2FuIGFsc28gZG8gdmVyc2lvbiBjb21wYXJlcyB0aGUgb3RoZXIgd2F5OlxuICpcbiAqICAgIGlmIChVc2VyQWdlbnRfREVQUkVDQVRFRC5pZSgpIDwgNykge1xuICogICAgICAvLyAgSUU2IG9yIHdvcnNlXG4gKiAgICB9XG4gKlxuICogIE5vdGUgdGhhdCB0aGUgdmVyc2lvbiBpcyBhIGZsb2F0IGFuZCBtYXkgaW5jbHVkZSBhIG1pbm9yIHZlcnNpb24gbnVtYmVyLFxuICogIHNvIHlvdSBzaG91bGQgYWx3YXlzIHVzZSByYW5nZSBvcGVyYXRvcnMgdG8gcGVyZm9ybSBjb21wYXJpc29ucywgbm90XG4gKiAgc3RyaWN0IGVxdWFsaXR5LlxuICpcbiAqICAqKk5vdGU6KiogWW91IHNob3VsZCAqKnN0cm9uZ2x5KiogcHJlZmVyIGNhcGFiaWxpdHkgZGV0ZWN0aW9uIHRvIGJyb3dzZXJcbiAqICB2ZXJzaW9uIGRldGVjdGlvbiB3aGVyZSBpdCdzIHJlYXNvbmFibGU6XG4gKlxuICogICAgaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9qcy9zdXBwb3J0Lmh0bWxcbiAqXG4gKiAgRnVydGhlciwgd2UgaGF2ZSBhIGxhcmdlIG51bWJlciBvZiBtYXR1cmUgd3JhcHBlciBmdW5jdGlvbnMgYW5kIGNsYXNzZXNcbiAqICB3aGljaCBhYnN0cmFjdCBhd2F5IG1hbnkgYnJvd3NlciBpcnJlZ3VsYXJpdGllcy4gQ2hlY2sgdGhlIGRvY3VtZW50YXRpb24sXG4gKiAgZ3JlcCBmb3IgdGhpbmdzLCBvciBhc2sgb24gamF2YXNjcmlwdEBsaXN0cy5mYWNlYm9vay5jb20gYmVmb3JlIHdyaXRpbmcgeWV0XG4gKiAgYW5vdGhlciBjb3B5IG9mIFwiZXZlbnQgfHwgd2luZG93LmV2ZW50XCIuXG4gKlxuICovXG5cbnZhciBfcG9wdWxhdGVkID0gZmFsc2U7XG5cbi8vIEJyb3dzZXJzXG52YXIgX2llLCBfZmlyZWZveCwgX29wZXJhLCBfd2Via2l0LCBfY2hyb21lO1xuXG4vLyBBY3R1YWwgSUUgYnJvd3NlciBmb3IgY29tcGF0aWJpbGl0eSBtb2RlXG52YXIgX2llX3JlYWxfdmVyc2lvbjtcblxuLy8gUGxhdGZvcm1zXG52YXIgX29zeCwgX3dpbmRvd3MsIF9saW51eCwgX2FuZHJvaWQ7XG5cbi8vIEFyY2hpdGVjdHVyZXNcbnZhciBfd2luNjQ7XG5cbi8vIERldmljZXNcbnZhciBfaXBob25lLCBfaXBhZCwgX25hdGl2ZTtcblxudmFyIF9tb2JpbGU7XG5cbmZ1bmN0aW9uIF9wb3B1bGF0ZSgpIHtcbiAgaWYgKF9wb3B1bGF0ZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBfcG9wdWxhdGVkID0gdHJ1ZTtcblxuICAvLyBUbyB3b3JrIGFyb3VuZCBidWdneSBKUyBsaWJyYXJpZXMgdGhhdCBjYW4ndCBoYW5kbGUgbXVsdGktZGlnaXRcbiAgLy8gdmVyc2lvbiBudW1iZXJzLCBPcGVyYSAxMCdzIHVzZXIgYWdlbnQgc3RyaW5nIGNsYWltcyBpdCdzIE9wZXJhXG4gIC8vIDksIHRoZW4gbGF0ZXIgaW5jbHVkZXMgYSBWZXJzaW9uL1guWSBmaWVsZDpcbiAgLy9cbiAgLy8gT3BlcmEvOS44MCAoZm9vKSBQcmVzdG8vMi4yLjE1IFZlcnNpb24vMTAuMTBcbiAgdmFyIHVhcyA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XG4gIHZhciBhZ2VudCA9IC8oPzpNU0lFLihcXGQrXFwuXFxkKykpfCg/Oig/OkZpcmVmb3h8R3JhblBhcmFkaXNvfEljZXdlYXNlbCkuKFxcZCtcXC5cXGQrKSl8KD86T3BlcmEoPzouK1ZlcnNpb24ufC4pKFxcZCtcXC5cXGQrKSl8KD86QXBwbGVXZWJLaXQuKFxcZCsoPzpcXC5cXGQrKT8pKXwoPzpUcmlkZW50XFwvXFxkK1xcLlxcZCsuKnJ2OihcXGQrXFwuXFxkKykpLy5leGVjKHVhcyk7XG4gIHZhciBvcyAgICA9IC8oTWFjIE9TIFgpfChXaW5kb3dzKXwoTGludXgpLy5leGVjKHVhcyk7XG5cbiAgX2lwaG9uZSA9IC9cXGIoaVBob25lfGlQW2FvXWQpLy5leGVjKHVhcyk7XG4gIF9pcGFkID0gL1xcYihpUFthb11kKS8uZXhlYyh1YXMpO1xuICBfYW5kcm9pZCA9IC9BbmRyb2lkL2kuZXhlYyh1YXMpO1xuICBfbmF0aXZlID0gL0ZCQU5cXC9cXHcrOy9pLmV4ZWModWFzKTtcbiAgX21vYmlsZSA9IC9Nb2JpbGUvaS5leGVjKHVhcyk7XG5cbiAgLy8gTm90ZSB0aGF0IHRoZSBJRSB0ZWFtIGJsb2cgd291bGQgaGF2ZSB5b3UgYmVsaWV2ZSB5b3Ugc2hvdWxkIGJlIGNoZWNraW5nXG4gIC8vIGZvciAnV2luNjQ7IHg2NCcuICBCdXQgTVNETiB0aGVuIHJldmVhbHMgdGhhdCB5b3UgY2FuIGFjdHVhbGx5IGJlIGNvbWluZ1xuICAvLyBmcm9tIGVpdGhlciB4NjQgb3IgaWE2NDsgIHNvIHVsdGltYXRlbHksIHlvdSBzaG91bGQganVzdCBjaGVjayBmb3IgV2luNjRcbiAgLy8gYXMgaW4gaW5kaWNhdG9yIG9mIHdoZXRoZXIgeW91J3JlIGluIDY0LWJpdCBJRS4gIDMyLWJpdCBJRSBvbiA2NC1iaXRcbiAgLy8gV2luZG93cyB3aWxsIHNlbmQgJ1dPVzY0JyBpbnN0ZWFkLlxuICBfd2luNjQgPSAhISgvV2luNjQvLmV4ZWModWFzKSk7XG5cbiAgaWYgKGFnZW50KSB7XG4gICAgX2llID0gYWdlbnRbMV0gPyBwYXJzZUZsb2F0KGFnZW50WzFdKSA6IChcbiAgICAgICAgICBhZ2VudFs1XSA/IHBhcnNlRmxvYXQoYWdlbnRbNV0pIDogTmFOKTtcbiAgICAvLyBJRSBjb21wYXRpYmlsaXR5IG1vZGVcbiAgICBpZiAoX2llICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50TW9kZSkge1xuICAgICAgX2llID0gZG9jdW1lbnQuZG9jdW1lbnRNb2RlO1xuICAgIH1cbiAgICAvLyBncmFiIHRoZSBcInRydWVcIiBpZSB2ZXJzaW9uIGZyb20gdGhlIHRyaWRlbnQgdG9rZW4gaWYgYXZhaWxhYmxlXG4gICAgdmFyIHRyaWRlbnQgPSAvKD86VHJpZGVudFxcLyhcXGQrLlxcZCspKS8uZXhlYyh1YXMpO1xuICAgIF9pZV9yZWFsX3ZlcnNpb24gPSB0cmlkZW50ID8gcGFyc2VGbG9hdCh0cmlkZW50WzFdKSArIDQgOiBfaWU7XG5cbiAgICBfZmlyZWZveCA9IGFnZW50WzJdID8gcGFyc2VGbG9hdChhZ2VudFsyXSkgOiBOYU47XG4gICAgX29wZXJhICAgPSBhZ2VudFszXSA/IHBhcnNlRmxvYXQoYWdlbnRbM10pIDogTmFOO1xuICAgIF93ZWJraXQgID0gYWdlbnRbNF0gPyBwYXJzZUZsb2F0KGFnZW50WzRdKSA6IE5hTjtcbiAgICBpZiAoX3dlYmtpdCkge1xuICAgICAgLy8gV2UgZG8gbm90IGFkZCB0aGUgcmVnZXhwIHRvIHRoZSBhYm92ZSB0ZXN0LCBiZWNhdXNlIGl0IHdpbGwgYWx3YXlzXG4gICAgICAvLyBtYXRjaCAnc2FmYXJpJyBvbmx5IHNpbmNlICdBcHBsZVdlYktpdCcgYXBwZWFycyBiZWZvcmUgJ0Nocm9tZScgaW5cbiAgICAgIC8vIHRoZSB1c2VyQWdlbnQgc3RyaW5nLlxuICAgICAgYWdlbnQgPSAvKD86Q2hyb21lXFwvKFxcZCtcXC5cXGQrKSkvLmV4ZWModWFzKTtcbiAgICAgIF9jaHJvbWUgPSBhZ2VudCAmJiBhZ2VudFsxXSA/IHBhcnNlRmxvYXQoYWdlbnRbMV0pIDogTmFOO1xuICAgIH0gZWxzZSB7XG4gICAgICBfY2hyb21lID0gTmFOO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBfaWUgPSBfZmlyZWZveCA9IF9vcGVyYSA9IF9jaHJvbWUgPSBfd2Via2l0ID0gTmFOO1xuICB9XG5cbiAgaWYgKG9zKSB7XG4gICAgaWYgKG9zWzFdKSB7XG4gICAgICAvLyBEZXRlY3QgT1MgWCB2ZXJzaW9uLiAgSWYgbm8gdmVyc2lvbiBudW1iZXIgbWF0Y2hlcywgc2V0IF9vc3ggdG8gdHJ1ZS5cbiAgICAgIC8vIFZlcnNpb24gZXhhbXBsZXM6ICAxMCwgMTBfNl8xLCAxMC43XG4gICAgICAvLyBQYXJzZXMgdmVyc2lvbiBudW1iZXIgYXMgYSBmbG9hdCwgdGFraW5nIG9ubHkgZmlyc3QgdHdvIHNldHMgb2ZcbiAgICAgIC8vIGRpZ2l0cy4gIElmIG9ubHkgb25lIHNldCBvZiBkaWdpdHMgaXMgZm91bmQsIHJldHVybnMganVzdCB0aGUgbWFqb3JcbiAgICAgIC8vIHZlcnNpb24gbnVtYmVyLlxuICAgICAgdmFyIHZlciA9IC8oPzpNYWMgT1MgWCAoXFxkKyg/OlsuX11cXGQrKT8pKS8uZXhlYyh1YXMpO1xuXG4gICAgICBfb3N4ID0gdmVyID8gcGFyc2VGbG9hdCh2ZXJbMV0ucmVwbGFjZSgnXycsICcuJykpIDogdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgX29zeCA9IGZhbHNlO1xuICAgIH1cbiAgICBfd2luZG93cyA9ICEhb3NbMl07XG4gICAgX2xpbnV4ICAgPSAhIW9zWzNdO1xuICB9IGVsc2Uge1xuICAgIF9vc3ggPSBfd2luZG93cyA9IF9saW51eCA9IGZhbHNlO1xuICB9XG59XG5cbnZhciBVc2VyQWdlbnRfREVQUkVDQVRFRCA9IHtcblxuICAvKipcbiAgICogIENoZWNrIGlmIHRoZSBVQSBpcyBJbnRlcm5ldCBFeHBsb3Jlci5cbiAgICpcbiAgICpcbiAgICogIEByZXR1cm4gZmxvYXR8TmFOIFZlcnNpb24gbnVtYmVyIChpZiBtYXRjaCkgb3IgTmFOLlxuICAgKi9cbiAgaWU6IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBfcG9wdWxhdGUoKSB8fCBfaWU7XG4gIH0sXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHdlJ3JlIGluIEludGVybmV0IEV4cGxvcmVyIGNvbXBhdGliaWxpdHkgbW9kZS5cbiAgICpcbiAgICogQHJldHVybiBib29sIHRydWUgaWYgaW4gY29tcGF0aWJpbGl0eSBtb2RlLCBmYWxzZSBpZlxuICAgKiBub3QgY29tcGF0aWJpbGl0eSBtb2RlIG9yIG5vdCBpZVxuICAgKi9cbiAgaWVDb21wYXRpYmlsaXR5TW9kZTogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIF9wb3B1bGF0ZSgpIHx8IChfaWVfcmVhbF92ZXJzaW9uID4gX2llKTtcbiAgfSxcblxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBicm93c2VyIGlzIDY0LWJpdCBJRS4gIFJlYWxseSwgdGhpcyBpcyBraW5kIG9mIHdlYWsgc2F1Y2U7ICB3ZVxuICAgKiBvbmx5IG5lZWQgdGhpcyBiZWNhdXNlIFNreXBlIGNhbid0IGhhbmRsZSA2NC1iaXQgSUUgeWV0LiAgV2UgbmVlZCB0byByZW1vdmVcbiAgICogdGhpcyB3aGVuIHdlIGRvbid0IG5lZWQgaXQgLS0gdHJhY2tlZCBieSAjNjAxOTU3LlxuICAgKi9cbiAgaWU2NDogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIFVzZXJBZ2VudF9ERVBSRUNBVEVELmllKCkgJiYgX3dpbjY0O1xuICB9LFxuXG4gIC8qKlxuICAgKiAgQ2hlY2sgaWYgdGhlIFVBIGlzIEZpcmVmb3guXG4gICAqXG4gICAqXG4gICAqICBAcmV0dXJuIGZsb2F0fE5hTiBWZXJzaW9uIG51bWJlciAoaWYgbWF0Y2gpIG9yIE5hTi5cbiAgICovXG4gIGZpcmVmb3g6IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBfcG9wdWxhdGUoKSB8fCBfZmlyZWZveDtcbiAgfSxcblxuXG4gIC8qKlxuICAgKiAgQ2hlY2sgaWYgdGhlIFVBIGlzIE9wZXJhLlxuICAgKlxuICAgKlxuICAgKiAgQHJldHVybiBmbG9hdHxOYU4gVmVyc2lvbiBudW1iZXIgKGlmIG1hdGNoKSBvciBOYU4uXG4gICAqL1xuICBvcGVyYTogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIF9wb3B1bGF0ZSgpIHx8IF9vcGVyYTtcbiAgfSxcblxuXG4gIC8qKlxuICAgKiAgQ2hlY2sgaWYgdGhlIFVBIGlzIFdlYktpdC5cbiAgICpcbiAgICpcbiAgICogIEByZXR1cm4gZmxvYXR8TmFOIFZlcnNpb24gbnVtYmVyIChpZiBtYXRjaCkgb3IgTmFOLlxuICAgKi9cbiAgd2Via2l0OiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gX3BvcHVsYXRlKCkgfHwgX3dlYmtpdDtcbiAgfSxcblxuICAvKipcbiAgICogIEZvciBQdXNoXG4gICAqICBXSUxMIEJFIFJFTU9WRUQgVkVSWSBTT09OLiBVc2UgVXNlckFnZW50X0RFUFJFQ0FURUQud2Via2l0XG4gICAqL1xuICBzYWZhcmk6IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBVc2VyQWdlbnRfREVQUkVDQVRFRC53ZWJraXQoKTtcbiAgfSxcblxuICAvKipcbiAgICogIENoZWNrIGlmIHRoZSBVQSBpcyBhIENocm9tZSBicm93c2VyLlxuICAgKlxuICAgKlxuICAgKiAgQHJldHVybiBmbG9hdHxOYU4gVmVyc2lvbiBudW1iZXIgKGlmIG1hdGNoKSBvciBOYU4uXG4gICAqL1xuICBjaHJvbWUgOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gX3BvcHVsYXRlKCkgfHwgX2Nocm9tZTtcbiAgfSxcblxuXG4gIC8qKlxuICAgKiAgQ2hlY2sgaWYgdGhlIHVzZXIgaXMgcnVubmluZyBXaW5kb3dzLlxuICAgKlxuICAgKiAgQHJldHVybiBib29sIGB0cnVlJyBpZiB0aGUgdXNlcidzIE9TIGlzIFdpbmRvd3MuXG4gICAqL1xuICB3aW5kb3dzOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gX3BvcHVsYXRlKCkgfHwgX3dpbmRvd3M7XG4gIH0sXG5cblxuICAvKipcbiAgICogIENoZWNrIGlmIHRoZSB1c2VyIGlzIHJ1bm5pbmcgTWFjIE9TIFguXG4gICAqXG4gICAqICBAcmV0dXJuIGZsb2F0fGJvb2wgICBSZXR1cm5zIGEgZmxvYXQgaWYgYSB2ZXJzaW9uIG51bWJlciBpcyBkZXRlY3RlZCxcbiAgICogICAgICAgICAgICAgICAgICAgICAgIG90aGVyd2lzZSB0cnVlL2ZhbHNlLlxuICAgKi9cbiAgb3N4OiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gX3BvcHVsYXRlKCkgfHwgX29zeDtcbiAgfSxcblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIHVzZXIgaXMgcnVubmluZyBMaW51eC5cbiAgICpcbiAgICogQHJldHVybiBib29sIGB0cnVlJyBpZiB0aGUgdXNlcidzIE9TIGlzIHNvbWUgZmxhdm9yIG9mIExpbnV4LlxuICAgKi9cbiAgbGludXg6IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBfcG9wdWxhdGUoKSB8fCBfbGludXg7XG4gIH0sXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSB1c2VyIGlzIHJ1bm5pbmcgb24gYW4gaVBob25lIG9yIGlQb2QgcGxhdGZvcm0uXG4gICAqXG4gICAqIEByZXR1cm4gYm9vbCBgdHJ1ZScgaWYgdGhlIHVzZXIgaXMgcnVubmluZyBzb21lIGZsYXZvciBvZiB0aGVcbiAgICogICAgaVBob25lIE9TLlxuICAgKi9cbiAgaXBob25lOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gX3BvcHVsYXRlKCkgfHwgX2lwaG9uZTtcbiAgfSxcblxuICBtb2JpbGU6IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBfcG9wdWxhdGUoKSB8fCAoX2lwaG9uZSB8fCBfaXBhZCB8fCBfYW5kcm9pZCB8fCBfbW9iaWxlKTtcbiAgfSxcblxuICBuYXRpdmVBcHA6IGZ1bmN0aW9uKCkge1xuICAgIC8vIHdlYnZpZXdzIGluc2lkZSBvZiB0aGUgbmF0aXZlIGFwcHNcbiAgICByZXR1cm4gX3BvcHVsYXRlKCkgfHwgX25hdGl2ZTtcbiAgfSxcblxuICBhbmRyb2lkOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gX3BvcHVsYXRlKCkgfHwgX2FuZHJvaWQ7XG4gIH0sXG5cbiAgaXBhZDogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIF9wb3B1bGF0ZSgpIHx8IF9pcGFkO1xuICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IFVzZXJBZ2VudF9ERVBSRUNBVEVEO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/normalize-wheel/src/isEventSupported.js": -/*!**************************************************************!*\ - !*** ./node_modules/normalize-wheel/src/isEventSupported.js ***! - \**************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isEventSupported\n */\n\n\n\nvar ExecutionEnvironment = __webpack_require__(/*! ./ExecutionEnvironment */ \"(ssr)/./node_modules/normalize-wheel/src/ExecutionEnvironment.js\");\n\nvar useHasFeature;\nif (ExecutionEnvironment.canUseDOM) {\n useHasFeature =\n document.implementation &&\n document.implementation.hasFeature &&\n // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction isEventSupported(eventNameSuffix, capture) {\n if (!ExecutionEnvironment.canUseDOM ||\n capture && !('addEventListener' in document)) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = eventName in document;\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nmodule.exports = isEventSupported;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXdoZWVsL3NyYy9pc0V2ZW50U3VwcG9ydGVkLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLDJCQUEyQixtQkFBTyxDQUFDLGdHQUF3Qjs7QUFFM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsV0FBVyxVQUFVO0FBQ3JCLFlBQVksU0FBUztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXG5vcm1hbGl6ZS13aGVlbFxcc3JjXFxpc0V2ZW50U3VwcG9ydGVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IDIwMTMtMjAxNSwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBpc0V2ZW50U3VwcG9ydGVkXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRXhlY3V0aW9uRW52aXJvbm1lbnQgPSByZXF1aXJlKCcuL0V4ZWN1dGlvbkVudmlyb25tZW50Jyk7XG5cbnZhciB1c2VIYXNGZWF0dXJlO1xuaWYgKEV4ZWN1dGlvbkVudmlyb25tZW50LmNhblVzZURPTSkge1xuICB1c2VIYXNGZWF0dXJlID1cbiAgICBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbiAmJlxuICAgIGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmhhc0ZlYXR1cmUgJiZcbiAgICAvLyBhbHdheXMgcmV0dXJucyB0cnVlIGluIG5ld2VyIGJyb3dzZXJzIGFzIHBlciB0aGUgc3RhbmRhcmQuXG4gICAgLy8gQHNlZSBodHRwOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jZG9tLWRvbWltcGxlbWVudGF0aW9uLWhhc2ZlYXR1cmVcbiAgICBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5oYXNGZWF0dXJlKCcnLCAnJykgIT09IHRydWU7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGFuIGV2ZW50IGlzIHN1cHBvcnRlZCBpbiB0aGUgY3VycmVudCBleGVjdXRpb24gZW52aXJvbm1lbnQuXG4gKlxuICogTk9URTogVGhpcyB3aWxsIG5vdCB3b3JrIGNvcnJlY3RseSBmb3Igbm9uLWdlbmVyaWMgZXZlbnRzIHN1Y2ggYXMgYGNoYW5nZWAsXG4gKiBgcmVzZXRgLCBgbG9hZGAsIGBlcnJvcmAsIGFuZCBgc2VsZWN0YC5cbiAqXG4gKiBCb3Jyb3dzIGZyb20gTW9kZXJuaXpyLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVTdWZmaXggRXZlbnQgbmFtZSwgZS5nLiBcImNsaWNrXCIuXG4gKiBAcGFyYW0gez9ib29sZWFufSBjYXB0dXJlIENoZWNrIGlmIHRoZSBjYXB0dXJlIHBoYXNlIGlzIHN1cHBvcnRlZC5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIGV2ZW50IGlzIHN1cHBvcnRlZC5cbiAqIEBpbnRlcm5hbFxuICogQGxpY2Vuc2UgTW9kZXJuaXpyIDMuMC4wcHJlIChDdXN0b20gQnVpbGQpIHwgTUlUXG4gKi9cbmZ1bmN0aW9uIGlzRXZlbnRTdXBwb3J0ZWQoZXZlbnROYW1lU3VmZml4LCBjYXB0dXJlKSB7XG4gIGlmICghRXhlY3V0aW9uRW52aXJvbm1lbnQuY2FuVXNlRE9NIHx8XG4gICAgICBjYXB0dXJlICYmICEoJ2FkZEV2ZW50TGlzdGVuZXInIGluIGRvY3VtZW50KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBldmVudE5hbWUgPSAnb24nICsgZXZlbnROYW1lU3VmZml4O1xuICB2YXIgaXNTdXBwb3J0ZWQgPSBldmVudE5hbWUgaW4gZG9jdW1lbnQ7XG5cbiAgaWYgKCFpc1N1cHBvcnRlZCkge1xuICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoZXZlbnROYW1lLCAncmV0dXJuOycpO1xuICAgIGlzU3VwcG9ydGVkID0gdHlwZW9mIGVsZW1lbnRbZXZlbnROYW1lXSA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIGlmICghaXNTdXBwb3J0ZWQgJiYgdXNlSGFzRmVhdHVyZSAmJiBldmVudE5hbWVTdWZmaXggPT09ICd3aGVlbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IHdheSB0byB0ZXN0IHN1cHBvcnQgZm9yIHRoZSBgd2hlZWxgIGV2ZW50IGluIElFOSsuXG4gICAgaXNTdXBwb3J0ZWQgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5oYXNGZWF0dXJlKCdFdmVudHMud2hlZWwnLCAnMy4wJyk7XG4gIH1cblxuICByZXR1cm4gaXNTdXBwb3J0ZWQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNFdmVudFN1cHBvcnRlZDtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/normalize-wheel/src/isEventSupported.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/normalize-wheel/src/normalizeWheel.js": -/*!************************************************************!*\ - !*** ./node_modules/normalize-wheel/src/normalizeWheel.js ***! - \************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("/**\n * Copyright (c) 2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule normalizeWheel\n * @typechecks\n */\n\n\n\nvar UserAgent_DEPRECATED = __webpack_require__(/*! ./UserAgent_DEPRECATED */ \"(ssr)/./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js\");\n\nvar isEventSupported = __webpack_require__(/*! ./isEventSupported */ \"(ssr)/./node_modules/normalize-wheel/src/isEventSupported.js\");\n\n\n// Reasonable defaults\nvar PIXEL_STEP = 10;\nvar LINE_HEIGHT = 40;\nvar PAGE_HEIGHT = 800;\n\n/**\n * Mouse wheel (and 2-finger trackpad) support on the web sucks. It is\n * complicated, thus this doc is long and (hopefully) detailed enough to answer\n * your questions.\n *\n * If you need to react to the mouse wheel in a predictable way, this code is\n * like your bestest friend. * hugs *\n *\n * As of today, there are 4 DOM event types you can listen to:\n *\n * 'wheel' -- Chrome(31+), FF(17+), IE(9+)\n * 'mousewheel' -- Chrome, IE(6+), Opera, Safari\n * 'MozMousePixelScroll' -- FF(3.5 only!) (2010-2013) -- don't bother!\n * 'DOMMouseScroll' -- FF(0.9.7+) since 2003\n *\n * So what to do? The is the best:\n *\n * normalizeWheel.getEventType();\n *\n * In your event callback, use this code to get sane interpretation of the\n * deltas. This code will return an object with properties:\n *\n * spinX -- normalized spin speed (use for zoom) - x plane\n * spinY -- \" - y plane\n * pixelX -- normalized distance (to pixels) - x plane\n * pixelY -- \" - y plane\n *\n * Wheel values are provided by the browser assuming you are using the wheel to\n * scroll a web page by a number of lines or pixels (or pages). Values can vary\n * significantly on different platforms and browsers, forgetting that you can\n * scroll at different speeds. Some devices (like trackpads) emit more events\n * at smaller increments with fine granularity, and some emit massive jumps with\n * linear speed or acceleration.\n *\n * This code does its best to normalize the deltas for you:\n *\n * - spin is trying to normalize how far the wheel was spun (or trackpad\n * dragged). This is super useful for zoom support where you want to\n * throw away the chunky scroll steps on the PC and make those equal to\n * the slow and smooth tiny steps on the Mac. Key data: This code tries to\n * resolve a single slow step on a wheel to 1.\n *\n * - pixel is normalizing the desired scroll delta in pixel units. You'll\n * get the crazy differences between browsers, but at least it'll be in\n * pixels!\n *\n * - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT. This\n * should translate to positive value zooming IN, negative zooming OUT.\n * This matches the newer 'wheel' event.\n *\n * Why are there spinX, spinY (or pixels)?\n *\n * - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn\n * with a mouse. It results in side-scrolling in the browser by default.\n *\n * - spinY is what you expect -- it's the classic axis of a mouse wheel.\n *\n * - I dropped spinZ/pixelZ. It is supported by the DOM 3 'wheel' event and\n * probably is by browsers in conjunction with fancy 3D controllers .. but\n * you know.\n *\n * Implementation info:\n *\n * Examples of 'wheel' event if you scroll slowly (down) by one step with an\n * average mouse:\n *\n * OS X + Chrome (mouse) - 4 pixel delta (wheelDelta -120)\n * OS X + Safari (mouse) - N/A pixel delta (wheelDelta -12)\n * OS X + Firefox (mouse) - 0.1 line delta (wheelDelta N/A)\n * Win8 + Chrome (mouse) - 100 pixel delta (wheelDelta -120)\n * Win8 + Firefox (mouse) - 3 line delta (wheelDelta -120)\n *\n * On the trackpad:\n *\n * OS X + Chrome (trackpad) - 2 pixel delta (wheelDelta -6)\n * OS X + Firefox (trackpad) - 1 pixel delta (wheelDelta N/A)\n *\n * On other/older browsers.. it's more complicated as there can be multiple and\n * also missing delta values.\n *\n * The 'wheel' event is more standard:\n *\n * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents\n *\n * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and\n * deltaX, deltaY and deltaZ. Some browsers provide other values to maintain\n * backward compatibility with older events. Those other values help us\n * better normalize spin speed. Example of what the browsers provide:\n *\n * | event.wheelDelta | event.detail\n * ------------------+------------------+--------------\n * Safari v5/OS X | -120 | 0\n * Safari v5/Win7 | -120 | 0\n * Chrome v17/OS X | -120 | 0\n * Chrome v17/Win7 | -120 | 0\n * IE9/Win7 | -120 | undefined\n * Firefox v4/OS X | undefined | 1\n * Firefox v4/Win7 | undefined | 3\n *\n */\nfunction normalizeWheel(/*object*/ event) /*object*/ {\n var sX = 0, sY = 0, // spinX, spinY\n pX = 0, pY = 0; // pixelX, pixelY\n\n // Legacy\n if ('detail' in event) { sY = event.detail; }\n if ('wheelDelta' in event) { sY = -event.wheelDelta / 120; }\n if ('wheelDeltaY' in event) { sY = -event.wheelDeltaY / 120; }\n if ('wheelDeltaX' in event) { sX = -event.wheelDeltaX / 120; }\n\n // side scrolling on FF with DOMMouseScroll\n if ( 'axis' in event && event.axis === event.HORIZONTAL_AXIS ) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in event) { pY = event.deltaY; }\n if ('deltaX' in event) { pX = event.deltaX; }\n\n if ((pX || pY) && event.deltaMode) {\n if (event.deltaMode == 1) { // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else { // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n\n // Fall-back if spin cannot be determined\n if (pX && !sX) { sX = (pX < 1) ? -1 : 1; }\n if (pY && !sY) { sY = (pY < 1) ? -1 : 1; }\n\n return { spinX : sX,\n spinY : sY,\n pixelX : pX,\n pixelY : pY };\n}\n\n\n/**\n * The best combination if you prefer spinX + spinY normalization. It favors\n * the older DOMMouseScroll for Firefox, as FF does not include wheelDelta with\n * 'wheel' event, making spin speed determination impossible.\n */\nnormalizeWheel.getEventType = function() /*string*/ {\n return (UserAgent_DEPRECATED.firefox())\n ? 'DOMMouseScroll'\n : (isEventSupported('wheel'))\n ? 'wheel'\n : 'mousewheel';\n};\n\nmodule.exports = normalizeWheel;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXdoZWVsL3NyYy9ub3JtYWxpemVXaGVlbC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLDJCQUEyQixtQkFBTyxDQUFDLGdHQUF3Qjs7QUFFM0QsdUJBQXVCLG1CQUFPLENBQUMsd0ZBQW9COzs7QUFHbkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCOztBQUU1QjtBQUNBLGdDQUFnQztBQUNoQyxnQ0FBZ0M7QUFDaEMsZ0NBQWdDO0FBQ2hDLGdDQUFnQzs7QUFFaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDJCQUEyQjtBQUMzQiwyQkFBMkI7O0FBRTNCO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7QUFDQSxNQUFNLG1DQUFtQztBQUN6QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQjtBQUNuQixtQkFBbUI7O0FBRW5CLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxub3JtYWxpemUtd2hlZWxcXHNyY1xcbm9ybWFsaXplV2hlZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEZhY2Vib29rLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgbm9ybWFsaXplV2hlZWxcbiAqIEB0eXBlY2hlY2tzXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgVXNlckFnZW50X0RFUFJFQ0FURUQgPSByZXF1aXJlKCcuL1VzZXJBZ2VudF9ERVBSRUNBVEVEJyk7XG5cbnZhciBpc0V2ZW50U3VwcG9ydGVkID0gcmVxdWlyZSgnLi9pc0V2ZW50U3VwcG9ydGVkJyk7XG5cblxuLy8gUmVhc29uYWJsZSBkZWZhdWx0c1xudmFyIFBJWEVMX1NURVAgID0gMTA7XG52YXIgTElORV9IRUlHSFQgPSA0MDtcbnZhciBQQUdFX0hFSUdIVCA9IDgwMDtcblxuLyoqXG4gKiBNb3VzZSB3aGVlbCAoYW5kIDItZmluZ2VyIHRyYWNrcGFkKSBzdXBwb3J0IG9uIHRoZSB3ZWIgc3Vja3MuICBJdCBpc1xuICogY29tcGxpY2F0ZWQsIHRodXMgdGhpcyBkb2MgaXMgbG9uZyBhbmQgKGhvcGVmdWxseSkgZGV0YWlsZWQgZW5vdWdoIHRvIGFuc3dlclxuICogeW91ciBxdWVzdGlvbnMuXG4gKlxuICogSWYgeW91IG5lZWQgdG8gcmVhY3QgdG8gdGhlIG1vdXNlIHdoZWVsIGluIGEgcHJlZGljdGFibGUgd2F5LCB0aGlzIGNvZGUgaXNcbiAqIGxpa2UgeW91ciBiZXN0ZXN0IGZyaWVuZC4gKiBodWdzICpcbiAqXG4gKiBBcyBvZiB0b2RheSwgdGhlcmUgYXJlIDQgRE9NIGV2ZW50IHR5cGVzIHlvdSBjYW4gbGlzdGVuIHRvOlxuICpcbiAqICAgJ3doZWVsJyAgICAgICAgICAgICAgICAtLSBDaHJvbWUoMzErKSwgRkYoMTcrKSwgSUUoOSspXG4gKiAgICdtb3VzZXdoZWVsJyAgICAgICAgICAgLS0gQ2hyb21lLCBJRSg2KyksIE9wZXJhLCBTYWZhcmlcbiAqICAgJ01vek1vdXNlUGl4ZWxTY3JvbGwnICAtLSBGRigzLjUgb25seSEpICgyMDEwLTIwMTMpIC0tIGRvbid0IGJvdGhlciFcbiAqICAgJ0RPTU1vdXNlU2Nyb2xsJyAgICAgICAtLSBGRigwLjkuNyspIHNpbmNlIDIwMDNcbiAqXG4gKiBTbyB3aGF0IHRvIGRvPyAgVGhlIGlzIHRoZSBiZXN0OlxuICpcbiAqICAgbm9ybWFsaXplV2hlZWwuZ2V0RXZlbnRUeXBlKCk7XG4gKlxuICogSW4geW91ciBldmVudCBjYWxsYmFjaywgdXNlIHRoaXMgY29kZSB0byBnZXQgc2FuZSBpbnRlcnByZXRhdGlvbiBvZiB0aGVcbiAqIGRlbHRhcy4gIFRoaXMgY29kZSB3aWxsIHJldHVybiBhbiBvYmplY3Qgd2l0aCBwcm9wZXJ0aWVzOlxuICpcbiAqICAgc3BpblggICAtLSBub3JtYWxpemVkIHNwaW4gc3BlZWQgKHVzZSBmb3Igem9vbSkgLSB4IHBsYW5lXG4gKiAgIHNwaW5ZICAgLS0gXCIgLSB5IHBsYW5lXG4gKiAgIHBpeGVsWCAgLS0gbm9ybWFsaXplZCBkaXN0YW5jZSAodG8gcGl4ZWxzKSAtIHggcGxhbmVcbiAqICAgcGl4ZWxZICAtLSBcIiAtIHkgcGxhbmVcbiAqXG4gKiBXaGVlbCB2YWx1ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBicm93c2VyIGFzc3VtaW5nIHlvdSBhcmUgdXNpbmcgdGhlIHdoZWVsIHRvXG4gKiBzY3JvbGwgYSB3ZWIgcGFnZSBieSBhIG51bWJlciBvZiBsaW5lcyBvciBwaXhlbHMgKG9yIHBhZ2VzKS4gIFZhbHVlcyBjYW4gdmFyeVxuICogc2lnbmlmaWNhbnRseSBvbiBkaWZmZXJlbnQgcGxhdGZvcm1zIGFuZCBicm93c2VycywgZm9yZ2V0dGluZyB0aGF0IHlvdSBjYW5cbiAqIHNjcm9sbCBhdCBkaWZmZXJlbnQgc3BlZWRzLiAgU29tZSBkZXZpY2VzIChsaWtlIHRyYWNrcGFkcykgZW1pdCBtb3JlIGV2ZW50c1xuICogYXQgc21hbGxlciBpbmNyZW1lbnRzIHdpdGggZmluZSBncmFudWxhcml0eSwgYW5kIHNvbWUgZW1pdCBtYXNzaXZlIGp1bXBzIHdpdGhcbiAqIGxpbmVhciBzcGVlZCBvciBhY2NlbGVyYXRpb24uXG4gKlxuICogVGhpcyBjb2RlIGRvZXMgaXRzIGJlc3QgdG8gbm9ybWFsaXplIHRoZSBkZWx0YXMgZm9yIHlvdTpcbiAqXG4gKiAgIC0gc3BpbiBpcyB0cnlpbmcgdG8gbm9ybWFsaXplIGhvdyBmYXIgdGhlIHdoZWVsIHdhcyBzcHVuIChvciB0cmFja3BhZFxuICogICAgIGRyYWdnZWQpLiAgVGhpcyBpcyBzdXBlciB1c2VmdWwgZm9yIHpvb20gc3VwcG9ydCB3aGVyZSB5b3Ugd2FudCB0b1xuICogICAgIHRocm93IGF3YXkgdGhlIGNodW5reSBzY3JvbGwgc3RlcHMgb24gdGhlIFBDIGFuZCBtYWtlIHRob3NlIGVxdWFsIHRvXG4gKiAgICAgdGhlIHNsb3cgYW5kIHNtb290aCB0aW55IHN0ZXBzIG9uIHRoZSBNYWMuIEtleSBkYXRhOiBUaGlzIGNvZGUgdHJpZXMgdG9cbiAqICAgICByZXNvbHZlIGEgc2luZ2xlIHNsb3cgc3RlcCBvbiBhIHdoZWVsIHRvIDEuXG4gKlxuICogICAtIHBpeGVsIGlzIG5vcm1hbGl6aW5nIHRoZSBkZXNpcmVkIHNjcm9sbCBkZWx0YSBpbiBwaXhlbCB1bml0cy4gIFlvdSdsbFxuICogICAgIGdldCB0aGUgY3JhenkgZGlmZmVyZW5jZXMgYmV0d2VlbiBicm93c2VycywgYnV0IGF0IGxlYXN0IGl0J2xsIGJlIGluXG4gKiAgICAgcGl4ZWxzIVxuICpcbiAqICAgLSBwb3NpdGl2ZSB2YWx1ZSBpbmRpY2F0ZXMgc2Nyb2xsaW5nIERPV04vUklHSFQsIG5lZ2F0aXZlIFVQL0xFRlQuICBUaGlzXG4gKiAgICAgc2hvdWxkIHRyYW5zbGF0ZSB0byBwb3NpdGl2ZSB2YWx1ZSB6b29taW5nIElOLCBuZWdhdGl2ZSB6b29taW5nIE9VVC5cbiAqICAgICBUaGlzIG1hdGNoZXMgdGhlIG5ld2VyICd3aGVlbCcgZXZlbnQuXG4gKlxuICogV2h5IGFyZSB0aGVyZSBzcGluWCwgc3BpblkgKG9yIHBpeGVscyk/XG4gKlxuICogICAtIHNwaW5YIGlzIGEgMi1maW5nZXIgc2lkZSBkcmFnIG9uIHRoZSB0cmFja3BhZCwgYW5kIGEgc2hpZnQgKyB3aGVlbCB0dXJuXG4gKiAgICAgd2l0aCBhIG1vdXNlLiAgSXQgcmVzdWx0cyBpbiBzaWRlLXNjcm9sbGluZyBpbiB0aGUgYnJvd3NlciBieSBkZWZhdWx0LlxuICpcbiAqICAgLSBzcGluWSBpcyB3aGF0IHlvdSBleHBlY3QgLS0gaXQncyB0aGUgY2xhc3NpYyBheGlzIG9mIGEgbW91c2Ugd2hlZWwuXG4gKlxuICogICAtIEkgZHJvcHBlZCBzcGluWi9waXhlbFouICBJdCBpcyBzdXBwb3J0ZWQgYnkgdGhlIERPTSAzICd3aGVlbCcgZXZlbnQgYW5kXG4gKiAgICAgcHJvYmFibHkgaXMgYnkgYnJvd3NlcnMgaW4gY29uanVuY3Rpb24gd2l0aCBmYW5jeSAzRCBjb250cm9sbGVycyAuLiBidXRcbiAqICAgICB5b3Uga25vdy5cbiAqXG4gKiBJbXBsZW1lbnRhdGlvbiBpbmZvOlxuICpcbiAqIEV4YW1wbGVzIG9mICd3aGVlbCcgZXZlbnQgaWYgeW91IHNjcm9sbCBzbG93bHkgKGRvd24pIGJ5IG9uZSBzdGVwIHdpdGggYW5cbiAqIGF2ZXJhZ2UgbW91c2U6XG4gKlxuICogICBPUyBYICsgQ2hyb21lICAobW91c2UpICAgICAtICAgIDQgICBwaXhlbCBkZWx0YSAgKHdoZWVsRGVsdGEgLTEyMClcbiAqICAgT1MgWCArIFNhZmFyaSAgKG1vdXNlKSAgICAgLSAgTi9BICAgcGl4ZWwgZGVsdGEgICh3aGVlbERlbHRhICAtMTIpXG4gKiAgIE9TIFggKyBGaXJlZm94IChtb3VzZSkgICAgIC0gICAgMC4xIGxpbmUgIGRlbHRhICAod2hlZWxEZWx0YSAgTi9BKVxuICogICBXaW44ICsgQ2hyb21lICAobW91c2UpICAgICAtICAxMDAgICBwaXhlbCBkZWx0YSAgKHdoZWVsRGVsdGEgLTEyMClcbiAqICAgV2luOCArIEZpcmVmb3ggKG1vdXNlKSAgICAgLSAgICAzICAgbGluZSAgZGVsdGEgICh3aGVlbERlbHRhIC0xMjApXG4gKlxuICogT24gdGhlIHRyYWNrcGFkOlxuICpcbiAqICAgT1MgWCArIENocm9tZSAgKHRyYWNrcGFkKSAgLSAgICAyICAgcGl4ZWwgZGVsdGEgICh3aGVlbERlbHRhICAgLTYpXG4gKiAgIE9TIFggKyBGaXJlZm94ICh0cmFja3BhZCkgIC0gICAgMSAgIHBpeGVsIGRlbHRhICAod2hlZWxEZWx0YSAgTi9BKVxuICpcbiAqIE9uIG90aGVyL29sZGVyIGJyb3dzZXJzLi4gaXQncyBtb3JlIGNvbXBsaWNhdGVkIGFzIHRoZXJlIGNhbiBiZSBtdWx0aXBsZSBhbmRcbiAqIGFsc28gbWlzc2luZyBkZWx0YSB2YWx1ZXMuXG4gKlxuICogVGhlICd3aGVlbCcgZXZlbnQgaXMgbW9yZSBzdGFuZGFyZDpcbiAqXG4gKiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50cy13aGVlbGV2ZW50c1xuICpcbiAqIFRoZSBiYXNpY3MgaXMgdGhhdCBpdCBpbmNsdWRlcyBhIHVuaXQsIGRlbHRhTW9kZSAocGl4ZWxzLCBsaW5lcywgcGFnZXMpLCBhbmRcbiAqIGRlbHRhWCwgZGVsdGFZIGFuZCBkZWx0YVouICBTb21lIGJyb3dzZXJzIHByb3ZpZGUgb3RoZXIgdmFsdWVzIHRvIG1haW50YWluXG4gKiBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgZXZlbnRzLiAgVGhvc2Ugb3RoZXIgdmFsdWVzIGhlbHAgdXNcbiAqIGJldHRlciBub3JtYWxpemUgc3BpbiBzcGVlZC4gIEV4YW1wbGUgb2Ygd2hhdCB0aGUgYnJvd3NlcnMgcHJvdmlkZTpcbiAqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgfCBldmVudC53aGVlbERlbHRhIHwgZXZlbnQuZGV0YWlsXG4gKiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLVxuICogICAgICAgICAgU2FmYXJpIHY1L09TIFggIHwgICAgICAgLTEyMCAgICAgICB8ICAgICAgIDBcbiAqICAgICAgICAgIFNhZmFyaSB2NS9XaW43ICB8ICAgICAgIC0xMjAgICAgICAgfCAgICAgICAwXG4gKiAgICAgICAgIENocm9tZSB2MTcvT1MgWCAgfCAgICAgICAtMTIwICAgICAgIHwgICAgICAgMFxuICogICAgICAgICBDaHJvbWUgdjE3L1dpbjcgIHwgICAgICAgLTEyMCAgICAgICB8ICAgICAgIDBcbiAqICAgICAgICAgICAgICAgIElFOS9XaW43ICB8ICAgICAgIC0xMjAgICAgICAgfCAgIHVuZGVmaW5lZFxuICogICAgICAgICBGaXJlZm94IHY0L09TIFggIHwgICAgIHVuZGVmaW5lZCAgICB8ICAgICAgIDFcbiAqICAgICAgICAgRmlyZWZveCB2NC9XaW43ICB8ICAgICB1bmRlZmluZWQgICAgfCAgICAgICAzXG4gKlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVXaGVlbCgvKm9iamVjdCovIGV2ZW50KSAvKm9iamVjdCovIHtcbiAgdmFyIHNYID0gMCwgc1kgPSAwLCAgICAgICAvLyBzcGluWCwgc3BpbllcbiAgICAgIHBYID0gMCwgcFkgPSAwOyAgICAgICAvLyBwaXhlbFgsIHBpeGVsWVxuXG4gIC8vIExlZ2FjeVxuICBpZiAoJ2RldGFpbCcgICAgICBpbiBldmVudCkgeyBzWSA9IGV2ZW50LmRldGFpbDsgfVxuICBpZiAoJ3doZWVsRGVsdGEnICBpbiBldmVudCkgeyBzWSA9IC1ldmVudC53aGVlbERlbHRhIC8gMTIwOyB9XG4gIGlmICgnd2hlZWxEZWx0YVknIGluIGV2ZW50KSB7IHNZID0gLWV2ZW50LndoZWVsRGVsdGFZIC8gMTIwOyB9XG4gIGlmICgnd2hlZWxEZWx0YVgnIGluIGV2ZW50KSB7IHNYID0gLWV2ZW50LndoZWVsRGVsdGFYIC8gMTIwOyB9XG5cbiAgLy8gc2lkZSBzY3JvbGxpbmcgb24gRkYgd2l0aCBET01Nb3VzZVNjcm9sbFxuICBpZiAoICdheGlzJyBpbiBldmVudCAmJiBldmVudC5heGlzID09PSBldmVudC5IT1JJWk9OVEFMX0FYSVMgKSB7XG4gICAgc1ggPSBzWTtcbiAgICBzWSA9IDA7XG4gIH1cblxuICBwWCA9IHNYICogUElYRUxfU1RFUDtcbiAgcFkgPSBzWSAqIFBJWEVMX1NURVA7XG5cbiAgaWYgKCdkZWx0YVknIGluIGV2ZW50KSB7IHBZID0gZXZlbnQuZGVsdGFZOyB9XG4gIGlmICgnZGVsdGFYJyBpbiBldmVudCkgeyBwWCA9IGV2ZW50LmRlbHRhWDsgfVxuXG4gIGlmICgocFggfHwgcFkpICYmIGV2ZW50LmRlbHRhTW9kZSkge1xuICAgIGlmIChldmVudC5kZWx0YU1vZGUgPT0gMSkgeyAgICAgICAgICAvLyBkZWx0YSBpbiBMSU5FIHVuaXRzXG4gICAgICBwWCAqPSBMSU5FX0hFSUdIVDtcbiAgICAgIHBZICo9IExJTkVfSEVJR0hUO1xuICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkZWx0YSBpbiBQQUdFIHVuaXRzXG4gICAgICBwWCAqPSBQQUdFX0hFSUdIVDtcbiAgICAgIHBZICo9IFBBR0VfSEVJR0hUO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZhbGwtYmFjayBpZiBzcGluIGNhbm5vdCBiZSBkZXRlcm1pbmVkXG4gIGlmIChwWCAmJiAhc1gpIHsgc1ggPSAocFggPCAxKSA/IC0xIDogMTsgfVxuICBpZiAocFkgJiYgIXNZKSB7IHNZID0gKHBZIDwgMSkgPyAtMSA6IDE7IH1cblxuICByZXR1cm4geyBzcGluWCAgOiBzWCxcbiAgICAgICAgICAgc3BpblkgIDogc1ksXG4gICAgICAgICAgIHBpeGVsWCA6IHBYLFxuICAgICAgICAgICBwaXhlbFkgOiBwWSB9O1xufVxuXG5cbi8qKlxuICogVGhlIGJlc3QgY29tYmluYXRpb24gaWYgeW91IHByZWZlciBzcGluWCArIHNwaW5ZIG5vcm1hbGl6YXRpb24uICBJdCBmYXZvcnNcbiAqIHRoZSBvbGRlciBET01Nb3VzZVNjcm9sbCBmb3IgRmlyZWZveCwgYXMgRkYgZG9lcyBub3QgaW5jbHVkZSB3aGVlbERlbHRhIHdpdGhcbiAqICd3aGVlbCcgZXZlbnQsIG1ha2luZyBzcGluIHNwZWVkIGRldGVybWluYXRpb24gaW1wb3NzaWJsZS5cbiAqL1xubm9ybWFsaXplV2hlZWwuZ2V0RXZlbnRUeXBlID0gZnVuY3Rpb24oKSAvKnN0cmluZyovIHtcbiAgcmV0dXJuIChVc2VyQWdlbnRfREVQUkVDQVRFRC5maXJlZm94KCkpXG4gICAgICAgICAgID8gJ0RPTU1vdXNlU2Nyb2xsJ1xuICAgICAgICAgICA6IChpc0V2ZW50U3VwcG9ydGVkKCd3aGVlbCcpKVxuICAgICAgICAgICAgICAgPyAnd2hlZWwnXG4gICAgICAgICAgICAgICA6ICdtb3VzZXdoZWVsJztcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gbm9ybWFsaXplV2hlZWw7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/normalize-wheel/src/normalizeWheel.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/orderedmap.js b/.next/server/vendor-chunks/orderedmap.js deleted file mode 100644 index 303539c..0000000 --- a/.next/server/vendor-chunks/orderedmap.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/orderedmap"; -exports.ids = ["vendor-chunks/orderedmap"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/orderedmap/dist/index.js": -/*!***********************************************!*\ - !*** ./node_modules/orderedmap/dist/index.js ***! - \***********************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n// ::- Persistent data structure representing an ordered mapping from\n// strings to values, with some convenient update methods.\nfunction OrderedMap(content) {\n this.content = content;\n}\n\nOrderedMap.prototype = {\n constructor: OrderedMap,\n\n find: function(key) {\n for (var i = 0; i < this.content.length; i += 2)\n if (this.content[i] === key) return i\n return -1\n },\n\n // :: (string) → ?any\n // Retrieve the value stored under `key`, or return undefined when\n // no such key exists.\n get: function(key) {\n var found = this.find(key);\n return found == -1 ? undefined : this.content[found + 1]\n },\n\n // :: (string, any, ?string) → OrderedMap\n // Create a new map by replacing the value of `key` with a new\n // value, or adding a binding to the end of the map. If `newKey` is\n // given, the key of the binding will be replaced with that key.\n update: function(key, value, newKey) {\n var self = newKey && newKey != key ? this.remove(newKey) : this;\n var found = self.find(key), content = self.content.slice();\n if (found == -1) {\n content.push(newKey || key, value);\n } else {\n content[found + 1] = value;\n if (newKey) content[found] = newKey;\n }\n return new OrderedMap(content)\n },\n\n // :: (string) → OrderedMap\n // Return a map with the given key removed, if it existed.\n remove: function(key) {\n var found = this.find(key);\n if (found == -1) return this\n var content = this.content.slice();\n content.splice(found, 2);\n return new OrderedMap(content)\n },\n\n // :: (string, any) → OrderedMap\n // Add a new key to the start of the map.\n addToStart: function(key, value) {\n return new OrderedMap([key, value].concat(this.remove(key).content))\n },\n\n // :: (string, any) → OrderedMap\n // Add a new key to the end of the map.\n addToEnd: function(key, value) {\n var content = this.remove(key).content.slice();\n content.push(key, value);\n return new OrderedMap(content)\n },\n\n // :: (string, string, any) → OrderedMap\n // Add a key after the given key. If `place` is not found, the new\n // key is added to the end.\n addBefore: function(place, key, value) {\n var without = this.remove(key), content = without.content.slice();\n var found = without.find(place);\n content.splice(found == -1 ? content.length : found, 0, key, value);\n return new OrderedMap(content)\n },\n\n // :: ((key: string, value: any))\n // Call the given function for each key/value pair in the map, in\n // order.\n forEach: function(f) {\n for (var i = 0; i < this.content.length; i += 2)\n f(this.content[i], this.content[i + 1]);\n },\n\n // :: (union) → OrderedMap\n // Create a new map by prepending the keys in this map that don't\n // appear in `map` before the keys in `map`.\n prepend: function(map) {\n map = OrderedMap.from(map);\n if (!map.size) return this\n return new OrderedMap(map.content.concat(this.subtract(map).content))\n },\n\n // :: (union) → OrderedMap\n // Create a new map by appending the keys in this map that don't\n // appear in `map` after the keys in `map`.\n append: function(map) {\n map = OrderedMap.from(map);\n if (!map.size) return this\n return new OrderedMap(this.subtract(map).content.concat(map.content))\n },\n\n // :: (union) → OrderedMap\n // Create a map containing all the keys in this map that don't\n // appear in `map`.\n subtract: function(map) {\n var result = this;\n map = OrderedMap.from(map);\n for (var i = 0; i < map.content.length; i += 2)\n result = result.remove(map.content[i]);\n return result\n },\n\n // :: () → Object\n // Turn ordered map into a plain object.\n toObject: function() {\n var result = {};\n this.forEach(function(key, value) { result[key] = value; });\n return result\n },\n\n // :: number\n // The amount of keys in this map.\n get size() {\n return this.content.length >> 1\n }\n};\n\n// :: (?union) → OrderedMap\n// Return a map with the given content. If null, create an empty\n// map. If given an ordered map, return that map itself. If given an\n// object, create a map from the object's properties.\nOrderedMap.from = function(value) {\n if (value instanceof OrderedMap) return value\n var content = [];\n if (value) for (var prop in value) content.push(prop, value[prop]);\n return new OrderedMap(content)\n};\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OrderedMap);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvb3JkZXJlZG1hcC9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IseUJBQXlCO0FBQzdDO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQix5QkFBeUI7QUFDN0M7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHdCQUF3QjtBQUM1QztBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QyxzQkFBc0I7QUFDOUQ7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpRUFBZSxVQUFVLEVBQUMiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXG9yZGVyZWRtYXBcXGRpc3RcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDo6LSBQZXJzaXN0ZW50IGRhdGEgc3RydWN0dXJlIHJlcHJlc2VudGluZyBhbiBvcmRlcmVkIG1hcHBpbmcgZnJvbVxuLy8gc3RyaW5ncyB0byB2YWx1ZXMsIHdpdGggc29tZSBjb252ZW5pZW50IHVwZGF0ZSBtZXRob2RzLlxuZnVuY3Rpb24gT3JkZXJlZE1hcChjb250ZW50KSB7XG4gIHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XG59XG5cbk9yZGVyZWRNYXAucHJvdG90eXBlID0ge1xuICBjb25zdHJ1Y3RvcjogT3JkZXJlZE1hcCxcblxuICBmaW5kOiBmdW5jdGlvbihrZXkpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY29udGVudC5sZW5ndGg7IGkgKz0gMilcbiAgICAgIGlmICh0aGlzLmNvbnRlbnRbaV0gPT09IGtleSkgcmV0dXJuIGlcbiAgICByZXR1cm4gLTFcbiAgfSxcblxuICAvLyA6OiAoc3RyaW5nKSDihpIgP2FueVxuICAvLyBSZXRyaWV2ZSB0aGUgdmFsdWUgc3RvcmVkIHVuZGVyIGBrZXlgLCBvciByZXR1cm4gdW5kZWZpbmVkIHdoZW5cbiAgLy8gbm8gc3VjaCBrZXkgZXhpc3RzLlxuICBnZXQ6IGZ1bmN0aW9uKGtleSkge1xuICAgIHZhciBmb3VuZCA9IHRoaXMuZmluZChrZXkpO1xuICAgIHJldHVybiBmb3VuZCA9PSAtMSA/IHVuZGVmaW5lZCA6IHRoaXMuY29udGVudFtmb3VuZCArIDFdXG4gIH0sXG5cbiAgLy8gOjogKHN0cmluZywgYW55LCA/c3RyaW5nKSDihpIgT3JkZXJlZE1hcFxuICAvLyBDcmVhdGUgYSBuZXcgbWFwIGJ5IHJlcGxhY2luZyB0aGUgdmFsdWUgb2YgYGtleWAgd2l0aCBhIG5ld1xuICAvLyB2YWx1ZSwgb3IgYWRkaW5nIGEgYmluZGluZyB0byB0aGUgZW5kIG9mIHRoZSBtYXAuIElmIGBuZXdLZXlgIGlzXG4gIC8vIGdpdmVuLCB0aGUga2V5IG9mIHRoZSBiaW5kaW5nIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGF0IGtleS5cbiAgdXBkYXRlOiBmdW5jdGlvbihrZXksIHZhbHVlLCBuZXdLZXkpIHtcbiAgICB2YXIgc2VsZiA9IG5ld0tleSAmJiBuZXdLZXkgIT0ga2V5ID8gdGhpcy5yZW1vdmUobmV3S2V5KSA6IHRoaXM7XG4gICAgdmFyIGZvdW5kID0gc2VsZi5maW5kKGtleSksIGNvbnRlbnQgPSBzZWxmLmNvbnRlbnQuc2xpY2UoKTtcbiAgICBpZiAoZm91bmQgPT0gLTEpIHtcbiAgICAgIGNvbnRlbnQucHVzaChuZXdLZXkgfHwga2V5LCB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRlbnRbZm91bmQgKyAxXSA9IHZhbHVlO1xuICAgICAgaWYgKG5ld0tleSkgY29udGVudFtmb3VuZF0gPSBuZXdLZXk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgT3JkZXJlZE1hcChjb250ZW50KVxuICB9LFxuXG4gIC8vIDo6IChzdHJpbmcpIOKGkiBPcmRlcmVkTWFwXG4gIC8vIFJldHVybiBhIG1hcCB3aXRoIHRoZSBnaXZlbiBrZXkgcmVtb3ZlZCwgaWYgaXQgZXhpc3RlZC5cbiAgcmVtb3ZlOiBmdW5jdGlvbihrZXkpIHtcbiAgICB2YXIgZm91bmQgPSB0aGlzLmZpbmQoa2V5KTtcbiAgICBpZiAoZm91bmQgPT0gLTEpIHJldHVybiB0aGlzXG4gICAgdmFyIGNvbnRlbnQgPSB0aGlzLmNvbnRlbnQuc2xpY2UoKTtcbiAgICBjb250ZW50LnNwbGljZShmb3VuZCwgMik7XG4gICAgcmV0dXJuIG5ldyBPcmRlcmVkTWFwKGNvbnRlbnQpXG4gIH0sXG5cbiAgLy8gOjogKHN0cmluZywgYW55KSDihpIgT3JkZXJlZE1hcFxuICAvLyBBZGQgYSBuZXcga2V5IHRvIHRoZSBzdGFydCBvZiB0aGUgbWFwLlxuICBhZGRUb1N0YXJ0OiBmdW5jdGlvbihrZXksIHZhbHVlKSB7XG4gICAgcmV0dXJuIG5ldyBPcmRlcmVkTWFwKFtrZXksIHZhbHVlXS5jb25jYXQodGhpcy5yZW1vdmUoa2V5KS5jb250ZW50KSlcbiAgfSxcblxuICAvLyA6OiAoc3RyaW5nLCBhbnkpIOKGkiBPcmRlcmVkTWFwXG4gIC8vIEFkZCBhIG5ldyBrZXkgdG8gdGhlIGVuZCBvZiB0aGUgbWFwLlxuICBhZGRUb0VuZDogZnVuY3Rpb24oa2V5LCB2YWx1ZSkge1xuICAgIHZhciBjb250ZW50ID0gdGhpcy5yZW1vdmUoa2V5KS5jb250ZW50LnNsaWNlKCk7XG4gICAgY29udGVudC5wdXNoKGtleSwgdmFsdWUpO1xuICAgIHJldHVybiBuZXcgT3JkZXJlZE1hcChjb250ZW50KVxuICB9LFxuXG4gIC8vIDo6IChzdHJpbmcsIHN0cmluZywgYW55KSDihpIgT3JkZXJlZE1hcFxuICAvLyBBZGQgYSBrZXkgYWZ0ZXIgdGhlIGdpdmVuIGtleS4gSWYgYHBsYWNlYCBpcyBub3QgZm91bmQsIHRoZSBuZXdcbiAgLy8ga2V5IGlzIGFkZGVkIHRvIHRoZSBlbmQuXG4gIGFkZEJlZm9yZTogZnVuY3Rpb24ocGxhY2UsIGtleSwgdmFsdWUpIHtcbiAgICB2YXIgd2l0aG91dCA9IHRoaXMucmVtb3ZlKGtleSksIGNvbnRlbnQgPSB3aXRob3V0LmNvbnRlbnQuc2xpY2UoKTtcbiAgICB2YXIgZm91bmQgPSB3aXRob3V0LmZpbmQocGxhY2UpO1xuICAgIGNvbnRlbnQuc3BsaWNlKGZvdW5kID09IC0xID8gY29udGVudC5sZW5ndGggOiBmb3VuZCwgMCwga2V5LCB2YWx1ZSk7XG4gICAgcmV0dXJuIG5ldyBPcmRlcmVkTWFwKGNvbnRlbnQpXG4gIH0sXG5cbiAgLy8gOjogKChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkpXG4gIC8vIENhbGwgdGhlIGdpdmVuIGZ1bmN0aW9uIGZvciBlYWNoIGtleS92YWx1ZSBwYWlyIGluIHRoZSBtYXAsIGluXG4gIC8vIG9yZGVyLlxuICBmb3JFYWNoOiBmdW5jdGlvbihmKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmNvbnRlbnQubGVuZ3RoOyBpICs9IDIpXG4gICAgICBmKHRoaXMuY29udGVudFtpXSwgdGhpcy5jb250ZW50W2kgKyAxXSk7XG4gIH0sXG5cbiAgLy8gOjogKHVuaW9uPE9iamVjdCwgT3JkZXJlZE1hcD4pIOKGkiBPcmRlcmVkTWFwXG4gIC8vIENyZWF0ZSBhIG5ldyBtYXAgYnkgcHJlcGVuZGluZyB0aGUga2V5cyBpbiB0aGlzIG1hcCB0aGF0IGRvbid0XG4gIC8vIGFwcGVhciBpbiBgbWFwYCBiZWZvcmUgdGhlIGtleXMgaW4gYG1hcGAuXG4gIHByZXBlbmQ6IGZ1bmN0aW9uKG1hcCkge1xuICAgIG1hcCA9IE9yZGVyZWRNYXAuZnJvbShtYXApO1xuICAgIGlmICghbWFwLnNpemUpIHJldHVybiB0aGlzXG4gICAgcmV0dXJuIG5ldyBPcmRlcmVkTWFwKG1hcC5jb250ZW50LmNvbmNhdCh0aGlzLnN1YnRyYWN0KG1hcCkuY29udGVudCkpXG4gIH0sXG5cbiAgLy8gOjogKHVuaW9uPE9iamVjdCwgT3JkZXJlZE1hcD4pIOKGkiBPcmRlcmVkTWFwXG4gIC8vIENyZWF0ZSBhIG5ldyBtYXAgYnkgYXBwZW5kaW5nIHRoZSBrZXlzIGluIHRoaXMgbWFwIHRoYXQgZG9uJ3RcbiAgLy8gYXBwZWFyIGluIGBtYXBgIGFmdGVyIHRoZSBrZXlzIGluIGBtYXBgLlxuICBhcHBlbmQ6IGZ1bmN0aW9uKG1hcCkge1xuICAgIG1hcCA9IE9yZGVyZWRNYXAuZnJvbShtYXApO1xuICAgIGlmICghbWFwLnNpemUpIHJldHVybiB0aGlzXG4gICAgcmV0dXJuIG5ldyBPcmRlcmVkTWFwKHRoaXMuc3VidHJhY3QobWFwKS5jb250ZW50LmNvbmNhdChtYXAuY29udGVudCkpXG4gIH0sXG5cbiAgLy8gOjogKHVuaW9uPE9iamVjdCwgT3JkZXJlZE1hcD4pIOKGkiBPcmRlcmVkTWFwXG4gIC8vIENyZWF0ZSBhIG1hcCBjb250YWluaW5nIGFsbCB0aGUga2V5cyBpbiB0aGlzIG1hcCB0aGF0IGRvbid0XG4gIC8vIGFwcGVhciBpbiBgbWFwYC5cbiAgc3VidHJhY3Q6IGZ1bmN0aW9uKG1hcCkge1xuICAgIHZhciByZXN1bHQgPSB0aGlzO1xuICAgIG1hcCA9IE9yZGVyZWRNYXAuZnJvbShtYXApO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWFwLmNvbnRlbnQubGVuZ3RoOyBpICs9IDIpXG4gICAgICByZXN1bHQgPSByZXN1bHQucmVtb3ZlKG1hcC5jb250ZW50W2ldKTtcbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sXG5cbiAgLy8gOjogKCkg4oaSIE9iamVjdFxuICAvLyBUdXJuIG9yZGVyZWQgbWFwIGludG8gYSBwbGFpbiBvYmplY3QuXG4gIHRvT2JqZWN0OiBmdW5jdGlvbigpIHtcbiAgICB2YXIgcmVzdWx0ID0ge307XG4gICAgdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKGtleSwgdmFsdWUpIHsgcmVzdWx0W2tleV0gPSB2YWx1ZTsgfSk7XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LFxuXG4gIC8vIDo6IG51bWJlclxuICAvLyBUaGUgYW1vdW50IG9mIGtleXMgaW4gdGhpcyBtYXAuXG4gIGdldCBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQubGVuZ3RoID4+IDFcbiAgfVxufTtcblxuLy8gOjogKD91bmlvbjxPYmplY3QsIE9yZGVyZWRNYXA+KSDihpIgT3JkZXJlZE1hcFxuLy8gUmV0dXJuIGEgbWFwIHdpdGggdGhlIGdpdmVuIGNvbnRlbnQuIElmIG51bGwsIGNyZWF0ZSBhbiBlbXB0eVxuLy8gbWFwLiBJZiBnaXZlbiBhbiBvcmRlcmVkIG1hcCwgcmV0dXJuIHRoYXQgbWFwIGl0c2VsZi4gSWYgZ2l2ZW4gYW5cbi8vIG9iamVjdCwgY3JlYXRlIGEgbWFwIGZyb20gdGhlIG9iamVjdCdzIHByb3BlcnRpZXMuXG5PcmRlcmVkTWFwLmZyb20gPSBmdW5jdGlvbih2YWx1ZSkge1xuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPcmRlcmVkTWFwKSByZXR1cm4gdmFsdWVcbiAgdmFyIGNvbnRlbnQgPSBbXTtcbiAgaWYgKHZhbHVlKSBmb3IgKHZhciBwcm9wIGluIHZhbHVlKSBjb250ZW50LnB1c2gocHJvcCwgdmFsdWVbcHJvcF0pO1xuICByZXR1cm4gbmV3IE9yZGVyZWRNYXAoY29udGVudClcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9yZGVyZWRNYXA7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/orderedmap/dist/index.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/prosemirror-commands.js b/.next/server/vendor-chunks/prosemirror-commands.js deleted file mode 100644 index 2e01914..0000000 --- a/.next/server/vendor-chunks/prosemirror-commands.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/prosemirror-commands"; -exports.ids = ["vendor-chunks/prosemirror-commands"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/prosemirror-commands/dist/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/prosemirror-commands/dist/index.js ***! - \*********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ autoJoin: () => (/* binding */ autoJoin),\n/* harmony export */ baseKeymap: () => (/* binding */ baseKeymap),\n/* harmony export */ chainCommands: () => (/* binding */ chainCommands),\n/* harmony export */ createParagraphNear: () => (/* binding */ createParagraphNear),\n/* harmony export */ deleteSelection: () => (/* binding */ deleteSelection),\n/* harmony export */ exitCode: () => (/* binding */ exitCode),\n/* harmony export */ joinBackward: () => (/* binding */ joinBackward),\n/* harmony export */ joinDown: () => (/* binding */ joinDown),\n/* harmony export */ joinForward: () => (/* binding */ joinForward),\n/* harmony export */ joinTextblockBackward: () => (/* binding */ joinTextblockBackward),\n/* harmony export */ joinTextblockForward: () => (/* binding */ joinTextblockForward),\n/* harmony export */ joinUp: () => (/* binding */ joinUp),\n/* harmony export */ lift: () => (/* binding */ lift),\n/* harmony export */ liftEmptyBlock: () => (/* binding */ liftEmptyBlock),\n/* harmony export */ macBaseKeymap: () => (/* binding */ macBaseKeymap),\n/* harmony export */ newlineInCode: () => (/* binding */ newlineInCode),\n/* harmony export */ pcBaseKeymap: () => (/* binding */ pcBaseKeymap),\n/* harmony export */ selectAll: () => (/* binding */ selectAll),\n/* harmony export */ selectNodeBackward: () => (/* binding */ selectNodeBackward),\n/* harmony export */ selectNodeForward: () => (/* binding */ selectNodeForward),\n/* harmony export */ selectParentNode: () => (/* binding */ selectParentNode),\n/* harmony export */ selectTextblockEnd: () => (/* binding */ selectTextblockEnd),\n/* harmony export */ selectTextblockStart: () => (/* binding */ selectTextblockStart),\n/* harmony export */ setBlockType: () => (/* binding */ setBlockType),\n/* harmony export */ splitBlock: () => (/* binding */ splitBlock),\n/* harmony export */ splitBlockAs: () => (/* binding */ splitBlockAs),\n/* harmony export */ splitBlockKeepMarks: () => (/* binding */ splitBlockKeepMarks),\n/* harmony export */ toggleMark: () => (/* binding */ toggleMark),\n/* harmony export */ wrapIn: () => (/* binding */ wrapIn)\n/* harmony export */ });\n/* harmony import */ var prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-transform */ \"(ssr)/./node_modules/prosemirror-transform/dist/index.js\");\n/* harmony import */ var prosemirror_model__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prosemirror-model */ \"(ssr)/./node_modules/prosemirror-model/dist/index.js\");\n/* harmony import */ var prosemirror_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prosemirror-state */ \"(ssr)/./node_modules/prosemirror-state/dist/index.js\");\n\n\n\n\n/**\nDelete the selection, if there is one.\n*/\nconst deleteSelection = (state, dispatch) => {\n if (state.selection.empty)\n return false;\n if (dispatch)\n dispatch(state.tr.deleteSelection().scrollIntoView());\n return true;\n};\nfunction atBlockStart(state, view) {\n let { $cursor } = state.selection;\n if (!$cursor || (view ? !view.endOfTextblock(\"backward\", state)\n : $cursor.parentOffset > 0))\n return null;\n return $cursor;\n}\n/**\nIf the selection is empty and at the start of a textblock, try to\nreduce the distance between that block and the one before it—if\nthere's a block directly before it that can be joined, join them.\nIf not, try to move the selected block closer to the next one in\nthe document structure by lifting it out of its parent or moving it\ninto a parent of the previous block. Will use the view for accurate\n(bidi-aware) start-of-textblock detection if given.\n*/\nconst joinBackward = (state, dispatch, view) => {\n let $cursor = atBlockStart(state, view);\n if (!$cursor)\n return false;\n let $cut = findCutBefore($cursor);\n // If there is no node before this, try to lift\n if (!$cut) {\n let range = $cursor.blockRange(), target = range && (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.liftTarget)(range);\n if (target == null)\n return false;\n if (dispatch)\n dispatch(state.tr.lift(range, target).scrollIntoView());\n return true;\n }\n let before = $cut.nodeBefore;\n // Apply the joining algorithm\n if (deleteBarrier(state, $cut, dispatch, -1))\n return true;\n // If the node below has no content and the node above is\n // selectable, delete the node below and select the one above.\n if ($cursor.parent.content.size == 0 &&\n (textblockAt(before, \"end\") || prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection.isSelectable(before))) {\n for (let depth = $cursor.depth;; depth--) {\n let delStep = (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.replaceStep)(state.doc, $cursor.before(depth), $cursor.after(depth), prosemirror_model__WEBPACK_IMPORTED_MODULE_2__.Slice.empty);\n if (delStep && delStep.slice.size < delStep.to - delStep.from) {\n if (dispatch) {\n let tr = state.tr.step(delStep);\n tr.setSelection(textblockAt(before, \"end\")\n ? prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.Selection.findFrom(tr.doc.resolve(tr.mapping.map($cut.pos, -1)), -1)\n : prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection.create(tr.doc, $cut.pos - before.nodeSize));\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n if (depth == 1 || $cursor.node(depth - 1).childCount > 1)\n break;\n }\n }\n // If the node before is an atom, delete it\n if (before.isAtom && $cut.depth == $cursor.depth - 1) {\n if (dispatch)\n dispatch(state.tr.delete($cut.pos - before.nodeSize, $cut.pos).scrollIntoView());\n return true;\n }\n return false;\n};\n/**\nA more limited form of [`joinBackward`](https://prosemirror.net/docs/ref/#commands.joinBackward)\nthat only tries to join the current textblock to the one before\nit, if the cursor is at the start of a textblock.\n*/\nconst joinTextblockBackward = (state, dispatch, view) => {\n let $cursor = atBlockStart(state, view);\n if (!$cursor)\n return false;\n let $cut = findCutBefore($cursor);\n return $cut ? joinTextblocksAround(state, $cut, dispatch) : false;\n};\n/**\nA more limited form of [`joinForward`](https://prosemirror.net/docs/ref/#commands.joinForward)\nthat only tries to join the current textblock to the one after\nit, if the cursor is at the end of a textblock.\n*/\nconst joinTextblockForward = (state, dispatch, view) => {\n let $cursor = atBlockEnd(state, view);\n if (!$cursor)\n return false;\n let $cut = findCutAfter($cursor);\n return $cut ? joinTextblocksAround(state, $cut, dispatch) : false;\n};\nfunction joinTextblocksAround(state, $cut, dispatch) {\n let before = $cut.nodeBefore, beforeText = before, beforePos = $cut.pos - 1;\n for (; !beforeText.isTextblock; beforePos--) {\n if (beforeText.type.spec.isolating)\n return false;\n let child = beforeText.lastChild;\n if (!child)\n return false;\n beforeText = child;\n }\n let after = $cut.nodeAfter, afterText = after, afterPos = $cut.pos + 1;\n for (; !afterText.isTextblock; afterPos++) {\n if (afterText.type.spec.isolating)\n return false;\n let child = afterText.firstChild;\n if (!child)\n return false;\n afterText = child;\n }\n let step = (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.replaceStep)(state.doc, beforePos, afterPos, prosemirror_model__WEBPACK_IMPORTED_MODULE_2__.Slice.empty);\n if (!step || step.from != beforePos ||\n step instanceof prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.ReplaceStep && step.slice.size >= afterPos - beforePos)\n return false;\n if (dispatch) {\n let tr = state.tr.step(step);\n tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.TextSelection.create(tr.doc, beforePos));\n dispatch(tr.scrollIntoView());\n }\n return true;\n}\nfunction textblockAt(node, side, only = false) {\n for (let scan = node; scan; scan = (side == \"start\" ? scan.firstChild : scan.lastChild)) {\n if (scan.isTextblock)\n return true;\n if (only && scan.childCount != 1)\n return false;\n }\n return false;\n}\n/**\nWhen the selection is empty and at the start of a textblock, select\nthe node before that textblock, if possible. This is intended to be\nbound to keys like backspace, after\n[`joinBackward`](https://prosemirror.net/docs/ref/#commands.joinBackward) or other deleting\ncommands, as a fall-back behavior when the schema doesn't allow\ndeletion at the selected point.\n*/\nconst selectNodeBackward = (state, dispatch, view) => {\n let { $head, empty } = state.selection, $cut = $head;\n if (!empty)\n return false;\n if ($head.parent.isTextblock) {\n if (view ? !view.endOfTextblock(\"backward\", state) : $head.parentOffset > 0)\n return false;\n $cut = findCutBefore($head);\n }\n let node = $cut && $cut.nodeBefore;\n if (!node || !prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection.isSelectable(node))\n return false;\n if (dispatch)\n dispatch(state.tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection.create(state.doc, $cut.pos - node.nodeSize)).scrollIntoView());\n return true;\n};\nfunction findCutBefore($pos) {\n if (!$pos.parent.type.spec.isolating)\n for (let i = $pos.depth - 1; i >= 0; i--) {\n if ($pos.index(i) > 0)\n return $pos.doc.resolve($pos.before(i + 1));\n if ($pos.node(i).type.spec.isolating)\n break;\n }\n return null;\n}\nfunction atBlockEnd(state, view) {\n let { $cursor } = state.selection;\n if (!$cursor || (view ? !view.endOfTextblock(\"forward\", state)\n : $cursor.parentOffset < $cursor.parent.content.size))\n return null;\n return $cursor;\n}\n/**\nIf the selection is empty and the cursor is at the end of a\ntextblock, try to reduce or remove the boundary between that block\nand the one after it, either by joining them or by moving the other\nblock closer to this one in the tree structure. Will use the view\nfor accurate start-of-textblock detection if given.\n*/\nconst joinForward = (state, dispatch, view) => {\n let $cursor = atBlockEnd(state, view);\n if (!$cursor)\n return false;\n let $cut = findCutAfter($cursor);\n // If there is no node after this, there's nothing to do\n if (!$cut)\n return false;\n let after = $cut.nodeAfter;\n // Try the joining algorithm\n if (deleteBarrier(state, $cut, dispatch, 1))\n return true;\n // If the node above has no content and the node below is\n // selectable, delete the node above and select the one below.\n if ($cursor.parent.content.size == 0 &&\n (textblockAt(after, \"start\") || prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection.isSelectable(after))) {\n let delStep = (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.replaceStep)(state.doc, $cursor.before(), $cursor.after(), prosemirror_model__WEBPACK_IMPORTED_MODULE_2__.Slice.empty);\n if (delStep && delStep.slice.size < delStep.to - delStep.from) {\n if (dispatch) {\n let tr = state.tr.step(delStep);\n tr.setSelection(textblockAt(after, \"start\") ? prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.Selection.findFrom(tr.doc.resolve(tr.mapping.map($cut.pos)), 1)\n : prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection.create(tr.doc, tr.mapping.map($cut.pos)));\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n }\n // If the next node is an atom, delete it\n if (after.isAtom && $cut.depth == $cursor.depth - 1) {\n if (dispatch)\n dispatch(state.tr.delete($cut.pos, $cut.pos + after.nodeSize).scrollIntoView());\n return true;\n }\n return false;\n};\n/**\nWhen the selection is empty and at the end of a textblock, select\nthe node coming after that textblock, if possible. This is intended\nto be bound to keys like delete, after\n[`joinForward`](https://prosemirror.net/docs/ref/#commands.joinForward) and similar deleting\ncommands, to provide a fall-back behavior when the schema doesn't\nallow deletion at the selected point.\n*/\nconst selectNodeForward = (state, dispatch, view) => {\n let { $head, empty } = state.selection, $cut = $head;\n if (!empty)\n return false;\n if ($head.parent.isTextblock) {\n if (view ? !view.endOfTextblock(\"forward\", state) : $head.parentOffset < $head.parent.content.size)\n return false;\n $cut = findCutAfter($head);\n }\n let node = $cut && $cut.nodeAfter;\n if (!node || !prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection.isSelectable(node))\n return false;\n if (dispatch)\n dispatch(state.tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection.create(state.doc, $cut.pos)).scrollIntoView());\n return true;\n};\nfunction findCutAfter($pos) {\n if (!$pos.parent.type.spec.isolating)\n for (let i = $pos.depth - 1; i >= 0; i--) {\n let parent = $pos.node(i);\n if ($pos.index(i) + 1 < parent.childCount)\n return $pos.doc.resolve($pos.after(i + 1));\n if (parent.type.spec.isolating)\n break;\n }\n return null;\n}\n/**\nJoin the selected block or, if there is a text selection, the\nclosest ancestor block of the selection that can be joined, with\nthe sibling above it.\n*/\nconst joinUp = (state, dispatch) => {\n let sel = state.selection, nodeSel = sel instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection, point;\n if (nodeSel) {\n if (sel.node.isTextblock || !(0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.canJoin)(state.doc, sel.from))\n return false;\n point = sel.from;\n }\n else {\n point = (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.joinPoint)(state.doc, sel.from, -1);\n if (point == null)\n return false;\n }\n if (dispatch) {\n let tr = state.tr.join(point);\n if (nodeSel)\n tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection.create(tr.doc, point - state.doc.resolve(point).nodeBefore.nodeSize));\n dispatch(tr.scrollIntoView());\n }\n return true;\n};\n/**\nJoin the selected block, or the closest ancestor of the selection\nthat can be joined, with the sibling after it.\n*/\nconst joinDown = (state, dispatch) => {\n let sel = state.selection, point;\n if (sel instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection) {\n if (sel.node.isTextblock || !(0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.canJoin)(state.doc, sel.to))\n return false;\n point = sel.to;\n }\n else {\n point = (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.joinPoint)(state.doc, sel.to, 1);\n if (point == null)\n return false;\n }\n if (dispatch)\n dispatch(state.tr.join(point).scrollIntoView());\n return true;\n};\n/**\nLift the selected block, or the closest ancestor block of the\nselection that can be lifted, out of its parent node.\n*/\nconst lift = (state, dispatch) => {\n let { $from, $to } = state.selection;\n let range = $from.blockRange($to), target = range && (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.liftTarget)(range);\n if (target == null)\n return false;\n if (dispatch)\n dispatch(state.tr.lift(range, target).scrollIntoView());\n return true;\n};\n/**\nIf the selection is in a node whose type has a truthy\n[`code`](https://prosemirror.net/docs/ref/#model.NodeSpec.code) property in its spec, replace the\nselection with a newline character.\n*/\nconst newlineInCode = (state, dispatch) => {\n let { $head, $anchor } = state.selection;\n if (!$head.parent.type.spec.code || !$head.sameParent($anchor))\n return false;\n if (dispatch)\n dispatch(state.tr.insertText(\"\\n\").scrollIntoView());\n return true;\n};\nfunction defaultBlockAt(match) {\n for (let i = 0; i < match.edgeCount; i++) {\n let { type } = match.edge(i);\n if (type.isTextblock && !type.hasRequiredAttrs())\n return type;\n }\n return null;\n}\n/**\nWhen the selection is in a node with a truthy\n[`code`](https://prosemirror.net/docs/ref/#model.NodeSpec.code) property in its spec, create a\ndefault block after the code block, and move the cursor there.\n*/\nconst exitCode = (state, dispatch) => {\n let { $head, $anchor } = state.selection;\n if (!$head.parent.type.spec.code || !$head.sameParent($anchor))\n return false;\n let above = $head.node(-1), after = $head.indexAfter(-1), type = defaultBlockAt(above.contentMatchAt(after));\n if (!type || !above.canReplaceWith(after, after, type))\n return false;\n if (dispatch) {\n let pos = $head.after(), tr = state.tr.replaceWith(pos, pos, type.createAndFill());\n tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.Selection.near(tr.doc.resolve(pos), 1));\n dispatch(tr.scrollIntoView());\n }\n return true;\n};\n/**\nIf a block node is selected, create an empty paragraph before (if\nit is its parent's first child) or after it.\n*/\nconst createParagraphNear = (state, dispatch) => {\n let sel = state.selection, { $from, $to } = sel;\n if (sel instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.AllSelection || $from.parent.inlineContent || $to.parent.inlineContent)\n return false;\n let type = defaultBlockAt($to.parent.contentMatchAt($to.indexAfter()));\n if (!type || !type.isTextblock)\n return false;\n if (dispatch) {\n let side = (!$from.parentOffset && $to.index() < $to.parent.childCount ? $from : $to).pos;\n let tr = state.tr.insert(side, type.createAndFill());\n tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.TextSelection.create(tr.doc, side + 1));\n dispatch(tr.scrollIntoView());\n }\n return true;\n};\n/**\nIf the cursor is in an empty textblock that can be lifted, lift the\nblock.\n*/\nconst liftEmptyBlock = (state, dispatch) => {\n let { $cursor } = state.selection;\n if (!$cursor || $cursor.parent.content.size)\n return false;\n if ($cursor.depth > 1 && $cursor.after() != $cursor.end(-1)) {\n let before = $cursor.before();\n if ((0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.canSplit)(state.doc, before)) {\n if (dispatch)\n dispatch(state.tr.split(before).scrollIntoView());\n return true;\n }\n }\n let range = $cursor.blockRange(), target = range && (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.liftTarget)(range);\n if (target == null)\n return false;\n if (dispatch)\n dispatch(state.tr.lift(range, target).scrollIntoView());\n return true;\n};\n/**\nCreate a variant of [`splitBlock`](https://prosemirror.net/docs/ref/#commands.splitBlock) that uses\na custom function to determine the type of the newly split off block.\n*/\nfunction splitBlockAs(splitNode) {\n return (state, dispatch) => {\n let { $from, $to } = state.selection;\n if (state.selection instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection && state.selection.node.isBlock) {\n if (!$from.parentOffset || !(0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.canSplit)(state.doc, $from.pos))\n return false;\n if (dispatch)\n dispatch(state.tr.split($from.pos).scrollIntoView());\n return true;\n }\n if (!$from.depth)\n return false;\n let types = [];\n let splitDepth, deflt, atEnd = false, atStart = false;\n for (let d = $from.depth;; d--) {\n let node = $from.node(d);\n if (node.isBlock) {\n atEnd = $from.end(d) == $from.pos + ($from.depth - d);\n atStart = $from.start(d) == $from.pos - ($from.depth - d);\n deflt = defaultBlockAt($from.node(d - 1).contentMatchAt($from.indexAfter(d - 1)));\n let splitType = splitNode && splitNode($to.parent, atEnd, $from);\n types.unshift(splitType || (atEnd && deflt ? { type: deflt } : null));\n splitDepth = d;\n break;\n }\n else {\n if (d == 1)\n return false;\n types.unshift(null);\n }\n }\n let tr = state.tr;\n if (state.selection instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.TextSelection || state.selection instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.AllSelection)\n tr.deleteSelection();\n let splitPos = tr.mapping.map($from.pos);\n let can = (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.canSplit)(tr.doc, splitPos, types.length, types);\n if (!can) {\n types[0] = deflt ? { type: deflt } : null;\n can = (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.canSplit)(tr.doc, splitPos, types.length, types);\n }\n if (!can)\n return false;\n tr.split(splitPos, types.length, types);\n if (!atEnd && atStart && $from.node(splitDepth).type != deflt) {\n let first = tr.mapping.map($from.before(splitDepth)), $first = tr.doc.resolve(first);\n if (deflt && $from.node(splitDepth - 1).canReplaceWith($first.index(), $first.index() + 1, deflt))\n tr.setNodeMarkup(tr.mapping.map($from.before(splitDepth)), deflt);\n }\n if (dispatch)\n dispatch(tr.scrollIntoView());\n return true;\n };\n}\n/**\nSplit the parent block of the selection. If the selection is a text\nselection, also delete its content.\n*/\nconst splitBlock = splitBlockAs();\n/**\nActs like [`splitBlock`](https://prosemirror.net/docs/ref/#commands.splitBlock), but without\nresetting the set of active marks at the cursor.\n*/\nconst splitBlockKeepMarks = (state, dispatch) => {\n return splitBlock(state, dispatch && (tr => {\n let marks = state.storedMarks || (state.selection.$to.parentOffset && state.selection.$from.marks());\n if (marks)\n tr.ensureMarks(marks);\n dispatch(tr);\n }));\n};\n/**\nMove the selection to the node wrapping the current selection, if\nany. (Will not select the document node.)\n*/\nconst selectParentNode = (state, dispatch) => {\n let { $from, to } = state.selection, pos;\n let same = $from.sharedDepth(to);\n if (same == 0)\n return false;\n pos = $from.before(same);\n if (dispatch)\n dispatch(state.tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.NodeSelection.create(state.doc, pos)));\n return true;\n};\n/**\nSelect the whole document.\n*/\nconst selectAll = (state, dispatch) => {\n if (dispatch)\n dispatch(state.tr.setSelection(new prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.AllSelection(state.doc)));\n return true;\n};\nfunction joinMaybeClear(state, $pos, dispatch) {\n let before = $pos.nodeBefore, after = $pos.nodeAfter, index = $pos.index();\n if (!before || !after || !before.type.compatibleContent(after.type))\n return false;\n if (!before.content.size && $pos.parent.canReplace(index - 1, index)) {\n if (dispatch)\n dispatch(state.tr.delete($pos.pos - before.nodeSize, $pos.pos).scrollIntoView());\n return true;\n }\n if (!$pos.parent.canReplace(index, index + 1) || !(after.isTextblock || (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.canJoin)(state.doc, $pos.pos)))\n return false;\n if (dispatch)\n dispatch(state.tr.join($pos.pos).scrollIntoView());\n return true;\n}\nfunction deleteBarrier(state, $cut, dispatch, dir) {\n let before = $cut.nodeBefore, after = $cut.nodeAfter, conn, match;\n let isolated = before.type.spec.isolating || after.type.spec.isolating;\n if (!isolated && joinMaybeClear(state, $cut, dispatch))\n return true;\n let canDelAfter = !isolated && $cut.parent.canReplace($cut.index(), $cut.index() + 1);\n if (canDelAfter &&\n (conn = (match = before.contentMatchAt(before.childCount)).findWrapping(after.type)) &&\n match.matchType(conn[0] || after.type).validEnd) {\n if (dispatch) {\n let end = $cut.pos + after.nodeSize, wrap = prosemirror_model__WEBPACK_IMPORTED_MODULE_2__.Fragment.empty;\n for (let i = conn.length - 1; i >= 0; i--)\n wrap = prosemirror_model__WEBPACK_IMPORTED_MODULE_2__.Fragment.from(conn[i].create(null, wrap));\n wrap = prosemirror_model__WEBPACK_IMPORTED_MODULE_2__.Fragment.from(before.copy(wrap));\n let tr = state.tr.step(new prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.ReplaceAroundStep($cut.pos - 1, end, $cut.pos, end, new prosemirror_model__WEBPACK_IMPORTED_MODULE_2__.Slice(wrap, 1, 0), conn.length, true));\n let $joinAt = tr.doc.resolve(end + 2 * conn.length);\n if ($joinAt.nodeAfter && $joinAt.nodeAfter.type == before.type &&\n (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.canJoin)(tr.doc, $joinAt.pos))\n tr.join($joinAt.pos);\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n let selAfter = after.type.spec.isolating || (dir > 0 && isolated) ? null : prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.Selection.findFrom($cut, 1);\n let range = selAfter && selAfter.$from.blockRange(selAfter.$to), target = range && (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.liftTarget)(range);\n if (target != null && target >= $cut.depth) {\n if (dispatch)\n dispatch(state.tr.lift(range, target).scrollIntoView());\n return true;\n }\n if (canDelAfter && textblockAt(after, \"start\", true) && textblockAt(before, \"end\")) {\n let at = before, wrap = [];\n for (;;) {\n wrap.push(at);\n if (at.isTextblock)\n break;\n at = at.lastChild;\n }\n let afterText = after, afterDepth = 1;\n for (; !afterText.isTextblock; afterText = afterText.firstChild)\n afterDepth++;\n if (at.canReplace(at.childCount, at.childCount, afterText.content)) {\n if (dispatch) {\n let end = prosemirror_model__WEBPACK_IMPORTED_MODULE_2__.Fragment.empty;\n for (let i = wrap.length - 1; i >= 0; i--)\n end = prosemirror_model__WEBPACK_IMPORTED_MODULE_2__.Fragment.from(wrap[i].copy(end));\n let tr = state.tr.step(new prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.ReplaceAroundStep($cut.pos - wrap.length, $cut.pos + after.nodeSize, $cut.pos + afterDepth, $cut.pos + after.nodeSize - afterDepth, new prosemirror_model__WEBPACK_IMPORTED_MODULE_2__.Slice(end, wrap.length, 0), 0, true));\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n }\n return false;\n}\nfunction selectTextblockSide(side) {\n return function (state, dispatch) {\n let sel = state.selection, $pos = side < 0 ? sel.$from : sel.$to;\n let depth = $pos.depth;\n while ($pos.node(depth).isInline) {\n if (!depth)\n return false;\n depth--;\n }\n if (!$pos.node(depth).isTextblock)\n return false;\n if (dispatch)\n dispatch(state.tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.TextSelection.create(state.doc, side < 0 ? $pos.start(depth) : $pos.end(depth))));\n return true;\n };\n}\n/**\nMoves the cursor to the start of current text block.\n*/\nconst selectTextblockStart = selectTextblockSide(-1);\n/**\nMoves the cursor to the end of current text block.\n*/\nconst selectTextblockEnd = selectTextblockSide(1);\n// Parameterized commands\n/**\nWrap the selection in a node of the given type with the given\nattributes.\n*/\nfunction wrapIn(nodeType, attrs = null) {\n return function (state, dispatch) {\n let { $from, $to } = state.selection;\n let range = $from.blockRange($to), wrapping = range && (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.findWrapping)(range, nodeType, attrs);\n if (!wrapping)\n return false;\n if (dispatch)\n dispatch(state.tr.wrap(range, wrapping).scrollIntoView());\n return true;\n };\n}\n/**\nReturns a command that tries to set the selected textblocks to the\ngiven node type with the given attributes.\n*/\nfunction setBlockType(nodeType, attrs = null) {\n return function (state, dispatch) {\n let applicable = false;\n for (let i = 0; i < state.selection.ranges.length && !applicable; i++) {\n let { $from: { pos: from }, $to: { pos: to } } = state.selection.ranges[i];\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (applicable)\n return false;\n if (!node.isTextblock || node.hasMarkup(nodeType, attrs))\n return;\n if (node.type == nodeType) {\n applicable = true;\n }\n else {\n let $pos = state.doc.resolve(pos), index = $pos.index();\n applicable = $pos.parent.canReplaceWith(index, index + 1, nodeType);\n }\n });\n }\n if (!applicable)\n return false;\n if (dispatch) {\n let tr = state.tr;\n for (let i = 0; i < state.selection.ranges.length; i++) {\n let { $from: { pos: from }, $to: { pos: to } } = state.selection.ranges[i];\n tr.setBlockType(from, to, nodeType, attrs);\n }\n dispatch(tr.scrollIntoView());\n }\n return true;\n };\n}\nfunction markApplies(doc, ranges, type, enterAtoms) {\n for (let i = 0; i < ranges.length; i++) {\n let { $from, $to } = ranges[i];\n let can = $from.depth == 0 ? doc.inlineContent && doc.type.allowsMarkType(type) : false;\n doc.nodesBetween($from.pos, $to.pos, (node, pos) => {\n if (can || !enterAtoms && node.isAtom && node.isInline && pos >= $from.pos && pos + node.nodeSize <= $to.pos)\n return false;\n can = node.inlineContent && node.type.allowsMarkType(type);\n });\n if (can)\n return true;\n }\n return false;\n}\nfunction removeInlineAtoms(ranges) {\n let result = [];\n for (let i = 0; i < ranges.length; i++) {\n let { $from, $to } = ranges[i];\n $from.doc.nodesBetween($from.pos, $to.pos, (node, pos) => {\n if (node.isAtom && node.content.size && node.isInline && pos >= $from.pos && pos + node.nodeSize <= $to.pos) {\n if (pos + 1 > $from.pos)\n result.push(new prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.SelectionRange($from, $from.doc.resolve(pos + 1)));\n $from = $from.doc.resolve(pos + 1 + node.content.size);\n return false;\n }\n });\n if ($from.pos < $to.pos)\n result.push(new prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.SelectionRange($from, $to));\n }\n return result;\n}\n/**\nCreate a command function that toggles the given mark with the\ngiven attributes. Will return `false` when the current selection\ndoesn't support that mark. This will remove the mark if any marks\nof that type exist in the selection, or add it otherwise. If the\nselection is empty, this applies to the [stored\nmarks](https://prosemirror.net/docs/ref/#state.EditorState.storedMarks) instead of a range of the\ndocument.\n*/\nfunction toggleMark(markType, attrs = null, options) {\n let removeWhenPresent = (options && options.removeWhenPresent) !== false;\n let enterAtoms = (options && options.enterInlineAtoms) !== false;\n let dropSpace = !(options && options.includeWhitespace);\n return function (state, dispatch) {\n let { empty, $cursor, ranges } = state.selection;\n if ((empty && !$cursor) || !markApplies(state.doc, ranges, markType, enterAtoms))\n return false;\n if (dispatch) {\n if ($cursor) {\n if (markType.isInSet(state.storedMarks || $cursor.marks()))\n dispatch(state.tr.removeStoredMark(markType));\n else\n dispatch(state.tr.addStoredMark(markType.create(attrs)));\n }\n else {\n let add, tr = state.tr;\n if (!enterAtoms)\n ranges = removeInlineAtoms(ranges);\n if (removeWhenPresent) {\n add = !ranges.some(r => state.doc.rangeHasMark(r.$from.pos, r.$to.pos, markType));\n }\n else {\n add = !ranges.every(r => {\n let missing = false;\n tr.doc.nodesBetween(r.$from.pos, r.$to.pos, (node, pos, parent) => {\n if (missing)\n return false;\n missing = !markType.isInSet(node.marks) && !!parent && parent.type.allowsMarkType(markType) &&\n !(node.isText && /^\\s*$/.test(node.textBetween(Math.max(0, r.$from.pos - pos), Math.min(node.nodeSize, r.$to.pos - pos))));\n });\n return !missing;\n });\n }\n for (let i = 0; i < ranges.length; i++) {\n let { $from, $to } = ranges[i];\n if (!add) {\n tr.removeMark($from.pos, $to.pos, markType);\n }\n else {\n let from = $from.pos, to = $to.pos, start = $from.nodeAfter, end = $to.nodeBefore;\n let spaceStart = dropSpace && start && start.isText ? /^\\s*/.exec(start.text)[0].length : 0;\n let spaceEnd = dropSpace && end && end.isText ? /\\s*$/.exec(end.text)[0].length : 0;\n if (from + spaceStart < to) {\n from += spaceStart;\n to -= spaceEnd;\n }\n tr.addMark(from, to, markType.create(attrs));\n }\n }\n dispatch(tr.scrollIntoView());\n }\n }\n return true;\n };\n}\nfunction wrapDispatchForJoin(dispatch, isJoinable) {\n return (tr) => {\n if (!tr.isGeneric)\n return dispatch(tr);\n let ranges = [];\n for (let i = 0; i < tr.mapping.maps.length; i++) {\n let map = tr.mapping.maps[i];\n for (let j = 0; j < ranges.length; j++)\n ranges[j] = map.map(ranges[j]);\n map.forEach((_s, _e, from, to) => ranges.push(from, to));\n }\n // Figure out which joinable points exist inside those ranges,\n // by checking all node boundaries in their parent nodes.\n let joinable = [];\n for (let i = 0; i < ranges.length; i += 2) {\n let from = ranges[i], to = ranges[i + 1];\n let $from = tr.doc.resolve(from), depth = $from.sharedDepth(to), parent = $from.node(depth);\n for (let index = $from.indexAfter(depth), pos = $from.after(depth + 1); pos <= to; ++index) {\n let after = parent.maybeChild(index);\n if (!after)\n break;\n if (index && joinable.indexOf(pos) == -1) {\n let before = parent.child(index - 1);\n if (before.type == after.type && isJoinable(before, after))\n joinable.push(pos);\n }\n pos += after.nodeSize;\n }\n }\n // Join the joinable points\n joinable.sort((a, b) => a - b);\n for (let i = joinable.length - 1; i >= 0; i--) {\n if ((0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_0__.canJoin)(tr.doc, joinable[i]))\n tr.join(joinable[i]);\n }\n dispatch(tr);\n };\n}\n/**\nWrap a command so that, when it produces a transform that causes\ntwo joinable nodes to end up next to each other, those are joined.\nNodes are considered joinable when they are of the same type and\nwhen the `isJoinable` predicate returns true for them or, if an\narray of strings was passed, if their node type name is in that\narray.\n*/\nfunction autoJoin(command, isJoinable) {\n let canJoin = Array.isArray(isJoinable) ? (node) => isJoinable.indexOf(node.type.name) > -1\n : isJoinable;\n return (state, dispatch, view) => command(state, dispatch && wrapDispatchForJoin(dispatch, canJoin), view);\n}\n/**\nCombine a number of command functions into a single function (which\ncalls them one by one until one returns true).\n*/\nfunction chainCommands(...commands) {\n return function (state, dispatch, view) {\n for (let i = 0; i < commands.length; i++)\n if (commands[i](state, dispatch, view))\n return true;\n return false;\n };\n}\nlet backspace = chainCommands(deleteSelection, joinBackward, selectNodeBackward);\nlet del = chainCommands(deleteSelection, joinForward, selectNodeForward);\n/**\nA basic keymap containing bindings not specific to any schema.\nBinds the following keys (when multiple commands are listed, they\nare chained with [`chainCommands`](https://prosemirror.net/docs/ref/#commands.chainCommands)):\n\n* **Enter** to `newlineInCode`, `createParagraphNear`, `liftEmptyBlock`, `splitBlock`\n* **Mod-Enter** to `exitCode`\n* **Backspace** and **Mod-Backspace** to `deleteSelection`, `joinBackward`, `selectNodeBackward`\n* **Delete** and **Mod-Delete** to `deleteSelection`, `joinForward`, `selectNodeForward`\n* **Mod-Delete** to `deleteSelection`, `joinForward`, `selectNodeForward`\n* **Mod-a** to `selectAll`\n*/\nconst pcBaseKeymap = {\n \"Enter\": chainCommands(newlineInCode, createParagraphNear, liftEmptyBlock, splitBlock),\n \"Mod-Enter\": exitCode,\n \"Backspace\": backspace,\n \"Mod-Backspace\": backspace,\n \"Shift-Backspace\": backspace,\n \"Delete\": del,\n \"Mod-Delete\": del,\n \"Mod-a\": selectAll\n};\n/**\nA copy of `pcBaseKeymap` that also binds **Ctrl-h** like Backspace,\n**Ctrl-d** like Delete, **Alt-Backspace** like Ctrl-Backspace, and\n**Ctrl-Alt-Backspace**, **Alt-Delete**, and **Alt-d** like\nCtrl-Delete.\n*/\nconst macBaseKeymap = {\n \"Ctrl-h\": pcBaseKeymap[\"Backspace\"],\n \"Alt-Backspace\": pcBaseKeymap[\"Mod-Backspace\"],\n \"Ctrl-d\": pcBaseKeymap[\"Delete\"],\n \"Ctrl-Alt-Backspace\": pcBaseKeymap[\"Mod-Delete\"],\n \"Alt-Delete\": pcBaseKeymap[\"Mod-Delete\"],\n \"Alt-d\": pcBaseKeymap[\"Mod-Delete\"],\n \"Ctrl-a\": selectTextblockStart,\n \"Ctrl-e\": selectTextblockEnd\n};\nfor (let key in pcBaseKeymap)\n macBaseKeymap[key] = pcBaseKeymap[key];\nconst mac = typeof navigator != \"undefined\" ? /Mac|iP(hone|[oa]d)/.test(navigator.platform)\n // @ts-ignore\n : typeof os != \"undefined\" && os.platform ? os.platform() == \"darwin\" : false;\n/**\nDepending on the detected platform, this will hold\n[`pcBasekeymap`](https://prosemirror.net/docs/ref/#commands.pcBaseKeymap) or\n[`macBaseKeymap`](https://prosemirror.net/docs/ref/#commands.macBaseKeymap).\n*/\nconst baseKeymap = mac ? macBaseKeymap : pcBaseKeymap;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvcHJvc2VtaXJyb3ItY29tbWFuZHMvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUE0STtBQUN4RjtBQUNzRDs7QUFFMUc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsVUFBVTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0REFBNEQsaUVBQVU7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsNERBQWE7QUFDcEQseUNBQXlDO0FBQ3pDLDBCQUEwQixrRUFBVyx5REFBeUQsb0RBQUs7QUFDbkc7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsd0RBQVM7QUFDbkMsMEJBQTBCLDREQUFhO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcseUJBQXlCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHdCQUF3QjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsa0VBQVcsaUNBQWlDLG9EQUFLO0FBQ2hFO0FBQ0Esd0JBQXdCLDhEQUFX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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHFCQUFxQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTBiIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxwcm9zZW1pcnJvci1jb21tYW5kc1xcZGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGlmdFRhcmdldCwgcmVwbGFjZVN0ZXAsIFJlcGxhY2VTdGVwLCBjYW5Kb2luLCBqb2luUG9pbnQsIGNhblNwbGl0LCBSZXBsYWNlQXJvdW5kU3RlcCwgZmluZFdyYXBwaW5nIH0gZnJvbSAncHJvc2VtaXJyb3ItdHJhbnNmb3JtJztcbmltcG9ydCB7IFNsaWNlLCBGcmFnbWVudCB9IGZyb20gJ3Byb3NlbWlycm9yLW1vZGVsJztcbmltcG9ydCB7IE5vZGVTZWxlY3Rpb24sIFNlbGVjdGlvbiwgVGV4dFNlbGVjdGlvbiwgQWxsU2VsZWN0aW9uLCBTZWxlY3Rpb25SYW5nZSB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcblxuLyoqXG5EZWxldGUgdGhlIHNlbGVjdGlvbiwgaWYgdGhlcmUgaXMgb25lLlxuKi9cbmNvbnN0IGRlbGV0ZVNlbGVjdGlvbiA9IChzdGF0ZSwgZGlzcGF0Y2gpID0+IHtcbiAgICBpZiAoc3RhdGUuc2VsZWN0aW9uLmVtcHR5KVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGRpc3BhdGNoKVxuICAgICAgICBkaXNwYXRjaChzdGF0ZS50ci5kZWxldGVTZWxlY3Rpb24oKS5zY3JvbGxJbnRvVmlldygpKTtcbiAgICByZXR1cm4gdHJ1ZTtcbn07XG5mdW5jdGlvbiBhdEJsb2NrU3RhcnQoc3RhdGUsIHZpZXcpIHtcbiAgICBsZXQgeyAkY3Vyc29yIH0gPSBzdGF0ZS5zZWxlY3Rpb247XG4gICAgaWYgKCEkY3Vyc29yIHx8ICh2aWV3ID8gIXZpZXcuZW5kT2ZUZXh0YmxvY2soXCJiYWNrd2FyZFwiLCBzdGF0ZSlcbiAgICAgICAgOiAkY3Vyc29yLnBhcmVudE9mZnNldCA+IDApKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gJGN1cnNvcjtcbn1cbi8qKlxuSWYgdGhlIHNlbGVjdGlvbiBpcyBlbXB0eSBhbmQgYXQgdGhlIHN0YXJ0IG9mIGEgdGV4dGJsb2NrLCB0cnkgdG9cbnJlZHVjZSB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGF0IGJsb2NrIGFuZCB0aGUgb25lIGJlZm9yZSBpdOKAlGlmXG50aGVyZSdzIGEgYmxvY2sgZGlyZWN0bHkgYmVmb3JlIGl0IHRoYXQgY2FuIGJlIGpvaW5lZCwgam9pbiB0aGVtLlxuSWYgbm90LCB0cnkgdG8gbW92ZSB0aGUgc2VsZWN0ZWQgYmxvY2sgY2xvc2VyIHRvIHRoZSBuZXh0IG9uZSBpblxudGhlIGRvY3VtZW50IHN0cnVjdHVyZSBieSBsaWZ0aW5nIGl0IG91dCBvZiBpdHMgcGFyZW50IG9yIG1vdmluZyBpdFxuaW50byBhIHBhcmVudCBvZiB0aGUgcHJldmlvdXMgYmxvY2suIFdpbGwgdXNlIHRoZSB2aWV3IGZvciBhY2N1cmF0ZVxuKGJpZGktYXdhcmUpIHN0YXJ0LW9mLXRleHRibG9jayBkZXRlY3Rpb24gaWYgZ2l2ZW4uXG4qL1xuY29uc3Qgam9pbkJhY2t3YXJkID0gKHN0YXRlLCBkaXNwYXRjaCwgdmlldykgPT4ge1xuICAgIGxldCAkY3Vyc29yID0gYXRCbG9ja1N0YXJ0KHN0YXRlLCB2aWV3KTtcbiAgICBpZiAoISRjdXJzb3IpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBsZXQgJGN1dCA9IGZpbmRDdXRCZWZvcmUoJGN1cnNvcik7XG4gICAgLy8gSWYgdGhlcmUgaXMgbm8gbm9kZSBiZWZvcmUgdGhpcywgdHJ5IHRvIGxpZnRcbiAgICBpZiAoISRjdXQpIHtcbiAgICAgICAgbGV0IHJhbmdlID0gJGN1cnNvci5ibG9ja1JhbmdlKCksIHRhcmdldCA9IHJhbmdlICYmIGxpZnRUYXJnZXQocmFuZ2UpO1xuICAgICAgICBpZiAodGFyZ2V0ID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmIChkaXNwYXRjaClcbiAgICAgICAgICAgIGRpc3BhdGNoKHN0YXRlLnRyLmxpZnQocmFuZ2UsIHRhcmdldCkuc2Nyb2xsSW50b1ZpZXcoKSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBsZXQgYmVmb3JlID0gJGN1dC5ub2RlQmVmb3JlO1xuICAgIC8vIEFwcGx5IHRoZSBqb2luaW5nIGFsZ29yaXRobVxuICAgIGlmIChkZWxldGVCYXJyaWVyKHN0YXRlLCAkY3V0LCBkaXNwYXRjaCwgLTEpKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAvLyBJZiB0aGUgbm9kZSBiZWxvdyBoYXMgbm8gY29udGVudCBhbmQgdGhlIG5vZGUgYWJvdmUgaXNcbiAgICAvLyBzZWxlY3RhYmxlLCBkZWxldGUgdGhlIG5vZGUgYmVsb3cgYW5kIHNlbGVjdCB0aGUgb25lIGFib3ZlLlxuICAgIGlmICgkY3Vyc29yLnBhcmVudC5jb250ZW50LnNpemUgPT0gMCAmJlxuICAgICAgICAodGV4dGJsb2NrQXQoYmVmb3JlLCBcImVuZFwiKSB8fCBOb2RlU2VsZWN0aW9uLmlzU2VsZWN0YWJsZShiZWZvcmUpKSkge1xuICAgICAgICBmb3IgKGxldCBkZXB0aCA9ICRjdXJzb3IuZGVwdGg7OyBkZXB0aC0tKSB7XG4gICAgICAgICAgICBsZXQgZGVsU3RlcCA9IHJlcGxhY2VTdGVwKHN0YXRlLmRvYywgJGN1cnNvci5iZWZvcmUoZGVwdGgpLCAkY3Vyc29yLmFmdGVyKGRlcHRoKSwgU2xpY2UuZW1wdHkpO1xuICAgICAgICAgICAgaWYgKGRlbFN0ZXAgJiYgZGVsU3RlcC5zbGljZS5zaXplIDwgZGVsU3RlcC50byAtIGRlbFN0ZXAuZnJvbSkge1xuICAgICAgICAgICAgICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgdHIgPSBzdGF0ZS50ci5zdGVwKGRlbFN0ZXApO1xuICAgICAgICAgICAgICAgICAgICB0ci5zZXRTZWxlY3Rpb24odGV4dGJsb2NrQXQoYmVmb3JlLCBcImVuZFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBTZWxlY3Rpb24uZmluZEZyb20odHIuZG9jLnJlc29sdmUodHIubWFwcGluZy5tYXAoJGN1dC5wb3MsIC0xKSksIC0xKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBOb2RlU2VsZWN0aW9uLmNyZWF0ZSh0ci5kb2MsICRjdXQucG9zIC0gYmVmb3JlLm5vZGVTaXplKSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKHRyLnNjcm9sbEludG9WaWV3KCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkZXB0aCA9PSAxIHx8ICRjdXJzb3Iubm9kZShkZXB0aCAtIDEpLmNoaWxkQ291bnQgPiAxKVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIElmIHRoZSBub2RlIGJlZm9yZSBpcyBhbiBhdG9tLCBkZWxldGUgaXRcbiAgICBpZiAoYmVmb3JlLmlzQXRvbSAmJiAkY3V0LmRlcHRoID09ICRjdXJzb3IuZGVwdGggLSAxKSB7XG4gICAgICAgIGlmIChkaXNwYXRjaClcbiAgICAgICAgICAgIGRpc3BhdGNoKHN0YXRlLnRyLmRlbGV0ZSgkY3V0LnBvcyAtIGJlZm9yZS5ub2RlU2l6ZSwgJGN1dC5wb3MpLnNjcm9sbEludG9WaWV3KCkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcbi8qKlxuQSBtb3JlIGxpbWl0ZWQgZm9ybSBvZiBbYGpvaW5CYWNrd2FyZGBdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNjb21tYW5kcy5qb2luQmFja3dhcmQpXG50aGF0IG9ubHkgdHJpZXMgdG8gam9pbiB0aGUgY3VycmVudCB0ZXh0YmxvY2sgdG8gdGhlIG9uZSBiZWZvcmVcbml0LCBpZiB0aGUgY3Vyc29yIGlzIGF0IHRoZSBzdGFydCBvZiBhIHRleHRibG9jay5cbiovXG5jb25zdCBqb2luVGV4dGJsb2NrQmFja3dhcmQgPSAoc3RhdGUsIGRpc3BhdGNoLCB2aWV3KSA9PiB7XG4gICAgbGV0ICRjdXJzb3IgPSBhdEJsb2NrU3RhcnQoc3RhdGUsIHZpZXcpO1xuICAgIGlmICghJGN1cnNvcilcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGxldCAkY3V0ID0gZmluZEN1dEJlZm9yZSgkY3Vyc29yKTtcbiAgICByZXR1cm4gJGN1dCA/IGpvaW5UZXh0YmxvY2tzQXJvdW5kKHN0YXRlLCAkY3V0LCBkaXNwYXRjaCkgOiBmYWxzZTtcbn07XG4vKipcbkEgbW9yZSBsaW1pdGVkIGZvcm0gb2YgW2Bqb2luRm9yd2FyZGBdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNjb21tYW5kcy5qb2luRm9yd2FyZClcbnRoYXQgb25seSB0cmllcyB0byBqb2luIHRoZSBjdXJyZW50IHRleHRibG9jayB0byB0aGUgb25lIGFmdGVyXG5pdCwgaWYgdGhlIGN1cnNvciBpcyBhdCB0aGUgZW5kIG9mIGEgdGV4dGJsb2NrLlxuKi9cbmNvbnN0IGpvaW5UZXh0YmxvY2tGb3J3YXJkID0gKHN0YXRlLCBkaXNwYXRjaCwgdmlldykgPT4ge1xuICAgIGxldCAkY3Vyc29yID0gYXRCbG9ja0VuZChzdGF0ZSwgdmlldyk7XG4gICAgaWYgKCEkY3Vyc29yKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgbGV0ICRjdXQgPSBmaW5kQ3V0QWZ0ZXIoJGN1cnNvcik7XG4gICAgcmV0dXJuICRjdXQgPyBqb2luVGV4dGJsb2Nrc0Fyb3VuZChzdGF0ZSwgJGN1dCwgZGlzcGF0Y2gpIDogZmFsc2U7XG59O1xuZnVuY3Rpb24gam9pblRleHRibG9ja3NBcm91bmQoc3RhdGUsICRjdXQsIGRpc3BhdGNoKSB7XG4gICAgbGV0IGJlZm9yZSA9ICRjdXQubm9kZUJlZm9yZSwgYmVmb3JlVGV4dCA9IGJlZm9yZSwgYmVmb3JlUG9zID0gJGN1dC5wb3MgLSAxO1xuICAgIGZvciAoOyAhYmVmb3JlVGV4dC5pc1RleHRibG9jazsgYmVmb3JlUG9zLS0pIHtcbiAgICAgICAgaWYgKGJlZm9yZVRleHQudHlwZS5zcGVjLmlzb2xhdGluZylcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgbGV0IGNoaWxkID0gYmVmb3JlVGV4dC5sYXN0Q2hpbGQ7XG4gICAgICAgIGlmICghY2hpbGQpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGJlZm9yZVRleHQgPSBjaGlsZDtcbiAgICB9XG4gICAgbGV0IGFmdGVyID0gJGN1dC5ub2RlQWZ0ZXIsIGFmdGVyVGV4dCA9IGFmdGVyLCBhZnRlclBvcyA9ICRjdXQucG9zICsgMTtcbiAgICBmb3IgKDsgIWFmdGVyVGV4dC5pc1RleHRibG9jazsgYWZ0ZXJQb3MrKykge1xuICAgICAgICBpZiAoYWZ0ZXJUZXh0LnR5cGUuc3BlYy5pc29sYXRpbmcpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGxldCBjaGlsZCA9IGFmdGVyVGV4dC5maXJzdENoaWxkO1xuICAgICAgICBpZiAoIWNoaWxkKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBhZnRlclRleHQgPSBjaGlsZDtcbiAgICB9XG4gICAgbGV0IHN0ZXAgPSByZXBsYWNlU3RlcChzdGF0ZS5kb2MsIGJlZm9yZVBvcywgYWZ0ZXJQb3MsIFNsaWNlLmVtcHR5KTtcbiAgICBpZiAoIXN0ZXAgfHwgc3RlcC5mcm9tICE9IGJlZm9yZVBvcyB8fFxuICAgICAgICBzdGVwIGluc3RhbmNlb2YgUmVwbGFjZVN0ZXAgJiYgc3RlcC5zbGljZS5zaXplID49IGFmdGVyUG9zIC0gYmVmb3JlUG9zKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGRpc3BhdGNoKSB7XG4gICAgICAgIGxldCB0ciA9IHN0YXRlLnRyLnN0ZXAoc3RlcCk7XG4gICAgICAgIHRyLnNldFNlbGVjdGlvbihUZXh0U2VsZWN0aW9uLmNyZWF0ZSh0ci5kb2MsIGJlZm9yZVBvcykpO1xuICAgICAgICBkaXNwYXRjaCh0ci5zY3JvbGxJbnRvVmlldygpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiB0ZXh0YmxvY2tBdChub2RlLCBzaWRlLCBvbmx5ID0gZmFsc2UpIHtcbiAgICBmb3IgKGxldCBzY2FuID0gbm9kZTsgc2Nhbjsgc2NhbiA9IChzaWRlID09IFwic3RhcnRcIiA/IHNjYW4uZmlyc3RDaGlsZCA6IHNjYW4ubGFzdENoaWxkKSkge1xuICAgICAgICBpZiAoc2Nhbi5pc1RleHRibG9jaylcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAob25seSAmJiBzY2FuLmNoaWxkQ291bnQgIT0gMSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuLyoqXG5XaGVuIHRoZSBzZWxlY3Rpb24gaXMgZW1wdHkgYW5kIGF0IHRoZSBzdGFydCBvZiBhIHRleHRibG9jaywgc2VsZWN0XG50aGUgbm9kZSBiZWZvcmUgdGhhdCB0ZXh0YmxvY2ssIGlmIHBvc3NpYmxlLiBUaGlzIGlzIGludGVuZGVkIHRvIGJlXG5ib3VuZCB0byBrZXlzIGxpa2UgYmFja3NwYWNlLCBhZnRlclxuW2Bqb2luQmFja3dhcmRgXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jY29tbWFuZHMuam9pbkJhY2t3YXJkKSBvciBvdGhlciBkZWxldGluZ1xuY29tbWFuZHMsIGFzIGEgZmFsbC1iYWNrIGJlaGF2aW9yIHdoZW4gdGhlIHNjaGVtYSBkb2Vzbid0IGFsbG93XG5kZWxldGlvbiBhdCB0aGUgc2VsZWN0ZWQgcG9pbnQuXG4qL1xuY29uc3Qgc2VsZWN0Tm9kZUJhY2t3YXJkID0gKHN0YXRlLCBkaXNwYXRjaCwgdmlldykgPT4ge1xuICAgIGxldCB7ICRoZWFkLCBlbXB0eSB9ID0gc3RhdGUuc2VsZWN0aW9uLCAkY3V0ID0gJGhlYWQ7XG4gICAgaWYgKCFlbXB0eSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICgkaGVhZC5wYXJlbnQuaXNUZXh0YmxvY2spIHtcbiAgICAgICAgaWYgKHZpZXcgPyAhdmlldy5lbmRPZlRleHRibG9jayhcImJhY2t3YXJkXCIsIHN0YXRlKSA6ICRoZWFkLnBhcmVudE9mZnNldCA+IDApXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICRjdXQgPSBmaW5kQ3V0QmVmb3JlKCRoZWFkKTtcbiAgICB9XG4gICAgbGV0IG5vZGUgPSAkY3V0ICYmICRjdXQubm9kZUJlZm9yZTtcbiAgICBpZiAoIW5vZGUgfHwgIU5vZGVTZWxlY3Rpb24uaXNTZWxlY3RhYmxlKG5vZGUpKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGRpc3BhdGNoKVxuICAgICAgICBkaXNwYXRjaChzdGF0ZS50ci5zZXRTZWxlY3Rpb24oTm9kZVNlbGVjdGlvbi5jcmVhdGUoc3RhdGUuZG9jLCAkY3V0LnBvcyAtIG5vZGUubm9kZVNpemUpKS5zY3JvbGxJbnRvVmlldygpKTtcbiAgICByZXR1cm4gdHJ1ZTtcbn07XG5mdW5jdGlvbiBmaW5kQ3V0QmVmb3JlKCRwb3MpIHtcbiAgICBpZiAoISRwb3MucGFyZW50LnR5cGUuc3BlYy5pc29sYXRpbmcpXG4gICAgICAgIGZvciAobGV0IGkgPSAkcG9zLmRlcHRoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGlmICgkcG9zLmluZGV4KGkpID4gMClcbiAgICAgICAgICAgICAgICByZXR1cm4gJHBvcy5kb2MucmVzb2x2ZSgkcG9zLmJlZm9yZShpICsgMSkpO1xuICAgICAgICAgICAgaWYgKCRwb3Mubm9kZShpKS50eXBlLnNwZWMuaXNvbGF0aW5nKVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBhdEJsb2NrRW5kKHN0YXRlLCB2aWV3KSB7XG4gICAgbGV0IHsgJGN1cnNvciB9ID0gc3RhdGUuc2VsZWN0aW9uO1xuICAgIGlmICghJGN1cnNvciB8fCAodmlldyA/ICF2aWV3LmVuZE9mVGV4dGJsb2NrKFwiZm9yd2FyZFwiLCBzdGF0ZSlcbiAgICAgICAgOiAkY3Vyc29yLnBhcmVudE9mZnNldCA8ICRjdXJzb3IucGFyZW50LmNvbnRlbnQuc2l6ZSkpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiAkY3Vyc29yO1xufVxuLyoqXG5JZiB0aGUgc2VsZWN0aW9uIGlzIGVtcHR5IGFuZCB0aGUgY3Vyc29yIGlzIGF0IHRoZSBlbmQgb2YgYVxudGV4dGJsb2NrLCB0cnkgdG8gcmVkdWNlIG9yIHJlbW92ZSB0aGUgYm91bmRhcnkgYmV0d2VlbiB0aGF0IGJsb2NrXG5hbmQgdGhlIG9uZSBhZnRlciBpdCwgZWl0aGVyIGJ5IGpvaW5pbmcgdGhlbSBvciBieSBtb3ZpbmcgdGhlIG90aGVyXG5ibG9jayBjbG9zZXIgdG8gdGhpcyBvbmUgaW4gdGhlIHRyZWUgc3RydWN0dXJlLiBXaWxsIHVzZSB0aGUgdmlld1xuZm9yIGFjY3VyYXRlIHN0YXJ0LW9mLXRleHRibG9jayBkZXRlY3Rpb24gaWYgZ2l2ZW4uXG4qL1xuY29uc3Qgam9pbkZvcndhcmQgPSAoc3RhdGUsIGRpc3BhdGNoLCB2aWV3KSA9PiB7XG4gICAgbGV0ICRjdXJzb3IgPSBhdEJsb2NrRW5kKHN0YXRlLCB2aWV3KTtcbiAgICBpZiAoISRjdXJzb3IpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBsZXQgJGN1dCA9IGZpbmRDdXRBZnRlcigkY3Vyc29yKTtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyBub2RlIGFmdGVyIHRoaXMsIHRoZXJlJ3Mgbm90aGluZyB0byBkb1xuICAgIGlmICghJGN1dClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBhZnRlciA9ICRjdXQubm9kZUFmdGVyO1xuICAgIC8vIFRyeSB0aGUgam9pbmluZyBhbGdvcml0aG1cbiAgICBpZiAoZGVsZXRlQmFycmllcihzdGF0ZSwgJGN1dCwgZGlzcGF0Y2gsIDEpKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAvLyBJZiB0aGUgbm9kZSBhYm92ZSBoYXMgbm8gY29udGVudCBhbmQgdGhlIG5vZGUgYmVsb3cgaXNcbiAgICAvLyBzZWxlY3RhYmxlLCBkZWxldGUgdGhlIG5vZGUgYWJvdmUgYW5kIHNlbGVjdCB0aGUgb25lIGJlbG93LlxuICAgIGlmICgkY3Vyc29yLnBhcmVudC5jb250ZW50LnNpemUgPT0gMCAmJlxuICAgICAgICAodGV4dGJsb2NrQXQoYWZ0ZXIsIFwic3RhcnRcIikgfHwgTm9kZVNlbGVjdGlvbi5pc1NlbGVjdGFibGUoYWZ0ZXIpKSkge1xuICAgICAgICBsZXQgZGVsU3RlcCA9IHJlcGxhY2VTdGVwKHN0YXRlLmRvYywgJGN1cnNvci5iZWZvcmUoKSwgJGN1cnNvci5hZnRlcigpLCBTbGljZS5lbXB0eSk7XG4gICAgICAgIGlmIChkZWxTdGVwICYmIGRlbFN0ZXAuc2xpY2Uuc2l6ZSA8IGRlbFN0ZXAudG8gLSBkZWxTdGVwLmZyb20pIHtcbiAgICAgICAgICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgICAgICAgICAgIGxldCB0ciA9IHN0YXRlLnRyLnN0ZXAoZGVsU3RlcCk7XG4gICAgICAgICAgICAgICAgdHIuc2V0U2VsZWN0aW9uKHRleHRibG9ja0F0KGFmdGVyLCBcInN0YXJ0XCIpID8gU2VsZWN0aW9uLmZpbmRGcm9tKHRyLmRvYy5yZXNvbHZlKHRyLm1hcHBpbmcubWFwKCRjdXQucG9zKSksIDEpXG4gICAgICAgICAgICAgICAgICAgIDogTm9kZVNlbGVjdGlvbi5jcmVhdGUodHIuZG9jLCB0ci5tYXBwaW5nLm1hcCgkY3V0LnBvcykpKTtcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh0ci5zY3JvbGxJbnRvVmlldygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIElmIHRoZSBuZXh0IG5vZGUgaXMgYW4gYXRvbSwgZGVsZXRlIGl0XG4gICAgaWYgKGFmdGVyLmlzQXRvbSAmJiAkY3V0LmRlcHRoID09ICRjdXJzb3IuZGVwdGggLSAxKSB7XG4gICAgICAgIGlmIChkaXNwYXRjaClcbiAgICAgICAgICAgIGRpc3BhdGNoKHN0YXRlLnRyLmRlbGV0ZSgkY3V0LnBvcywgJGN1dC5wb3MgKyBhZnRlci5ub2RlU2l6ZSkuc2Nyb2xsSW50b1ZpZXcoKSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuLyoqXG5XaGVuIHRoZSBzZWxlY3Rpb24gaXMgZW1wdHkgYW5kIGF0IHRoZSBlbmQgb2YgYSB0ZXh0YmxvY2ssIHNlbGVjdFxudGhlIG5vZGUgY29taW5nIGFmdGVyIHRoYXQgdGV4dGJsb2NrLCBpZiBwb3NzaWJsZS4gVGhpcyBpcyBpbnRlbmRlZFxudG8gYmUgYm91bmQgdG8ga2V5cyBsaWtlIGRlbGV0ZSwgYWZ0ZXJcbltgam9pbkZvcndhcmRgXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jY29tbWFuZHMuam9pbkZvcndhcmQpIGFuZCBzaW1pbGFyIGRlbGV0aW5nXG5jb21tYW5kcywgdG8gcHJvdmlkZSBhIGZhbGwtYmFjayBiZWhhdmlvciB3aGVuIHRoZSBzY2hlbWEgZG9lc24ndFxuYWxsb3cgZGVsZXRpb24gYXQgdGhlIHNlbGVjdGVkIHBvaW50LlxuKi9cbmNvbnN0IHNlbGVjdE5vZGVGb3J3YXJkID0gKHN0YXRlLCBkaXNwYXRjaCwgdmlldykgPT4ge1xuICAgIGxldCB7ICRoZWFkLCBlbXB0eSB9ID0gc3RhdGUuc2VsZWN0aW9uLCAkY3V0ID0gJGhlYWQ7XG4gICAgaWYgKCFlbXB0eSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICgkaGVhZC5wYXJlbnQuaXNUZXh0YmxvY2spIHtcbiAgICAgICAgaWYgKHZpZXcgPyAhdmlldy5lbmRPZlRleHRibG9jayhcImZvcndhcmRcIiwgc3RhdGUpIDogJGhlYWQucGFyZW50T2Zmc2V0IDwgJGhlYWQucGFyZW50LmNvbnRlbnQuc2l6ZSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgJGN1dCA9IGZpbmRDdXRBZnRlcigkaGVhZCk7XG4gICAgfVxuICAgIGxldCBub2RlID0gJGN1dCAmJiAkY3V0Lm5vZGVBZnRlcjtcbiAgICBpZiAoIW5vZGUgfHwgIU5vZGVTZWxlY3Rpb24uaXNTZWxlY3RhYmxlKG5vZGUpKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGRpc3BhdGNoKVxuICAgICAgICBkaXNwYXRjaChzdGF0ZS50ci5zZXRTZWxlY3Rpb24oTm9kZVNlbGVjdGlvbi5jcmVhdGUoc3RhdGUuZG9jLCAkY3V0LnBvcykpLnNjcm9sbEludG9WaWV3KCkpO1xuICAgIHJldHVybiB0cnVlO1xufTtcbmZ1bmN0aW9uIGZpbmRDdXRBZnRlcigkcG9zKSB7XG4gICAgaWYgKCEkcG9zLnBhcmVudC50eXBlLnNwZWMuaXNvbGF0aW5nKVxuICAgICAgICBmb3IgKGxldCBpID0gJHBvcy5kZXB0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBsZXQgcGFyZW50ID0gJHBvcy5ub2RlKGkpO1xuICAgICAgICAgICAgaWYgKCRwb3MuaW5kZXgoaSkgKyAxIDwgcGFyZW50LmNoaWxkQ291bnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuICRwb3MuZG9jLnJlc29sdmUoJHBvcy5hZnRlcihpICsgMSkpO1xuICAgICAgICAgICAgaWYgKHBhcmVudC50eXBlLnNwZWMuaXNvbGF0aW5nKVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG4vKipcbkpvaW4gdGhlIHNlbGVjdGVkIGJsb2NrIG9yLCBpZiB0aGVyZSBpcyBhIHRleHQgc2VsZWN0aW9uLCB0aGVcbmNsb3Nlc3QgYW5jZXN0b3IgYmxvY2sgb2YgdGhlIHNlbGVjdGlvbiB0aGF0IGNhbiBiZSBqb2luZWQsIHdpdGhcbnRoZSBzaWJsaW5nIGFib3ZlIGl0LlxuKi9cbmNvbnN0IGpvaW5VcCA9IChzdGF0ZSwgZGlzcGF0Y2gpID0+IHtcbiAgICBsZXQgc2VsID0gc3RhdGUuc2VsZWN0aW9uLCBub2RlU2VsID0gc2VsIGluc3RhbmNlb2YgTm9kZVNlbGVjdGlvbiwgcG9pbnQ7XG4gICAgaWYgKG5vZGVTZWwpIHtcbiAgICAgICAgaWYgKHNlbC5ub2RlLmlzVGV4dGJsb2NrIHx8ICFjYW5Kb2luKHN0YXRlLmRvYywgc2VsLmZyb20pKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBwb2ludCA9IHNlbC5mcm9tO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcG9pbnQgPSBqb2luUG9pbnQoc3RhdGUuZG9jLCBzZWwuZnJvbSwgLTEpO1xuICAgICAgICBpZiAocG9pbnQgPT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGRpc3BhdGNoKSB7XG4gICAgICAgIGxldCB0ciA9IHN0YXRlLnRyLmpvaW4ocG9pbnQpO1xuICAgICAgICBpZiAobm9kZVNlbClcbiAgICAgICAgICAgIHRyLnNldFNlbGVjdGlvbihOb2RlU2VsZWN0aW9uLmNyZWF0ZSh0ci5kb2MsIHBvaW50IC0gc3RhdGUuZG9jLnJlc29sdmUocG9pbnQpLm5vZGVCZWZvcmUubm9kZVNpemUpKTtcbiAgICAgICAgZGlzcGF0Y2godHIuc2Nyb2xsSW50b1ZpZXcoKSk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufTtcbi8qKlxuSm9pbiB0aGUgc2VsZWN0ZWQgYmxvY2ssIG9yIHRoZSBjbG9zZXN0IGFuY2VzdG9yIG9mIHRoZSBzZWxlY3Rpb25cbnRoYXQgY2FuIGJlIGpvaW5lZCwgd2l0aCB0aGUgc2libGluZyBhZnRlciBpdC5cbiovXG5jb25zdCBqb2luRG93biA9IChzdGF0ZSwgZGlzcGF0Y2gpID0+IHtcbiAgICBsZXQgc2VsID0gc3RhdGUuc2VsZWN0aW9uLCBwb2ludDtcbiAgICBpZiAoc2VsIGluc3RhbmNlb2YgTm9kZVNlbGVjdGlvbikge1xuICAgICAgICBpZiAoc2VsLm5vZGUuaXNUZXh0YmxvY2sgfHwgIWNhbkpvaW4oc3RhdGUuZG9jLCBzZWwudG8pKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBwb2ludCA9IHNlbC50bztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHBvaW50ID0gam9pblBvaW50KHN0YXRlLmRvYywgc2VsLnRvLCAxKTtcbiAgICAgICAgaWYgKHBvaW50ID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChkaXNwYXRjaClcbiAgICAgICAgZGlzcGF0Y2goc3RhdGUudHIuam9pbihwb2ludCkuc2Nyb2xsSW50b1ZpZXcoKSk7XG4gICAgcmV0dXJuIHRydWU7XG59O1xuLyoqXG5MaWZ0IHRoZSBzZWxlY3RlZCBibG9jaywgb3IgdGhlIGNsb3Nlc3QgYW5jZXN0b3IgYmxvY2sgb2YgdGhlXG5zZWxlY3Rpb24gdGhhdCBjYW4gYmUgbGlmdGVkLCBvdXQgb2YgaXRzIHBhcmVudCBub2RlLlxuKi9cbmNvbnN0IGxpZnQgPSAoc3RhdGUsIGRpc3BhdGNoKSA9PiB7XG4gICAgbGV0IHsgJGZyb20sICR0byB9ID0gc3RhdGUuc2VsZWN0aW9uO1xuICAgIGxldCByYW5nZSA9ICRmcm9tLmJsb2NrUmFuZ2UoJHRvKSwgdGFyZ2V0ID0gcmFuZ2UgJiYgbGlmdFRhcmdldChyYW5nZSk7XG4gICAgaWYgKHRhcmdldCA9PSBudWxsKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGRpc3BhdGNoKVxuICAgICAgICBkaXNwYXRjaChzdGF0ZS50ci5saWZ0KHJhbmdlLCB0YXJnZXQpLnNjcm9sbEludG9WaWV3KCkpO1xuICAgIHJldHVybiB0cnVlO1xufTtcbi8qKlxuSWYgdGhlIHNlbGVjdGlvbiBpcyBpbiBhIG5vZGUgd2hvc2UgdHlwZSBoYXMgYSB0cnV0aHlcbltgY29kZWBdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNtb2RlbC5Ob2RlU3BlYy5jb2RlKSBwcm9wZXJ0eSBpbiBpdHMgc3BlYywgcmVwbGFjZSB0aGVcbnNlbGVjdGlvbiB3aXRoIGEgbmV3bGluZSBjaGFyYWN0ZXIuXG4qL1xuY29uc3QgbmV3bGluZUluQ29kZSA9IChzdGF0ZSwgZGlzcGF0Y2gpID0+IHtcbiAgICBsZXQgeyAkaGVhZCwgJGFuY2hvciB9ID0gc3RhdGUuc2VsZWN0aW9uO1xuICAgIGlmICghJGhlYWQucGFyZW50LnR5cGUuc3BlYy5jb2RlIHx8ICEkaGVhZC5zYW1lUGFyZW50KCRhbmNob3IpKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGRpc3BhdGNoKVxuICAgICAgICBkaXNwYXRjaChzdGF0ZS50ci5pbnNlcnRUZXh0KFwiXFxuXCIpLnNjcm9sbEludG9WaWV3KCkpO1xuICAgIHJldHVybiB0cnVlO1xufTtcbmZ1bmN0aW9uIGRlZmF1bHRCbG9ja0F0KG1hdGNoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXRjaC5lZGdlQ291bnQ7IGkrKykge1xuICAgICAgICBsZXQgeyB0eXBlIH0gPSBtYXRjaC5lZGdlKGkpO1xuICAgICAgICBpZiAodHlwZS5pc1RleHRibG9jayAmJiAhdHlwZS5oYXNSZXF1aXJlZEF0dHJzKCkpXG4gICAgICAgICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG4vKipcbldoZW4gdGhlIHNlbGVjdGlvbiBpcyBpbiBhIG5vZGUgd2l0aCBhIHRydXRoeVxuW2Bjb2RlYF0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI21vZGVsLk5vZGVTcGVjLmNvZGUpIHByb3BlcnR5IGluIGl0cyBzcGVjLCBjcmVhdGUgYVxuZGVmYXVsdCBibG9jayBhZnRlciB0aGUgY29kZSBibG9jaywgYW5kIG1vdmUgdGhlIGN1cnNvciB0aGVyZS5cbiovXG5jb25zdCBleGl0Q29kZSA9IChzdGF0ZSwgZGlzcGF0Y2gpID0+IHtcbiAgICBsZXQgeyAkaGVhZCwgJGFuY2hvciB9ID0gc3RhdGUuc2VsZWN0aW9uO1xuICAgIGlmICghJGhlYWQucGFyZW50LnR5cGUuc3BlYy5jb2RlIHx8ICEkaGVhZC5zYW1lUGFyZW50KCRhbmNob3IpKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgbGV0IGFib3ZlID0gJGhlYWQubm9kZSgtMSksIGFmdGVyID0gJGhlYWQuaW5kZXhBZnRlcigtMSksIHR5cGUgPSBkZWZhdWx0QmxvY2tBdChhYm92ZS5jb250ZW50TWF0Y2hBdChhZnRlcikpO1xuICAgIGlmICghdHlwZSB8fCAhYWJvdmUuY2FuUmVwbGFjZVdpdGgoYWZ0ZXIsIGFmdGVyLCB0eXBlKSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgICBsZXQgcG9zID0gJGhlYWQuYWZ0ZXIoKSwgdHIgPSBzdGF0ZS50ci5yZXBsYWNlV2l0aChwb3MsIHBvcywgdHlwZS5jcmVhdGVBbmRGaWxsKCkpO1xuICAgICAgICB0ci5zZXRTZWxlY3Rpb24oU2VsZWN0aW9uLm5lYXIodHIuZG9jLnJlc29sdmUocG9zKSwgMSkpO1xuICAgICAgICBkaXNwYXRjaCh0ci5zY3JvbGxJbnRvVmlldygpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59O1xuLyoqXG5JZiBhIGJsb2NrIG5vZGUgaXMgc2VsZWN0ZWQsIGNyZWF0ZSBhbiBlbXB0eSBwYXJhZ3JhcGggYmVmb3JlIChpZlxuaXQgaXMgaXRzIHBhcmVudCdzIGZpcnN0IGNoaWxkKSBvciBhZnRlciBpdC5cbiovXG5jb25zdCBjcmVhdGVQYXJhZ3JhcGhOZWFyID0gKHN0YXRlLCBkaXNwYXRjaCkgPT4ge1xuICAgIGxldCBzZWwgPSBzdGF0ZS5zZWxlY3Rpb24sIHsgJGZyb20sICR0byB9ID0gc2VsO1xuICAgIGlmIChzZWwgaW5zdGFuY2VvZiBBbGxTZWxlY3Rpb24gfHwgJGZyb20ucGFyZW50LmlubGluZUNvbnRlbnQgfHwgJHRvLnBhcmVudC5pbmxpbmVDb250ZW50KVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgbGV0IHR5cGUgPSBkZWZhdWx0QmxvY2tBdCgkdG8ucGFyZW50LmNvbnRlbnRNYXRjaEF0KCR0by5pbmRleEFmdGVyKCkpKTtcbiAgICBpZiAoIXR5cGUgfHwgIXR5cGUuaXNUZXh0YmxvY2spXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoZGlzcGF0Y2gpIHtcbiAgICAgICAgbGV0IHNpZGUgPSAoISRmcm9tLnBhcmVudE9mZnNldCAmJiAkdG8uaW5kZXgoKSA8ICR0by5wYXJlbnQuY2hpbGRDb3VudCA/ICRmcm9tIDogJHRvKS5wb3M7XG4gICAgICAgIGxldCB0ciA9IHN0YXRlLnRyLmluc2VydChzaWRlLCB0eXBlLmNyZWF0ZUFuZEZpbGwoKSk7XG4gICAgICAgIHRyLnNldFNlbGVjdGlvbihUZXh0U2VsZWN0aW9uLmNyZWF0ZSh0ci5kb2MsIHNpZGUgKyAxKSk7XG4gICAgICAgIGRpc3BhdGNoKHRyLnNjcm9sbEludG9WaWV3KCkpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn07XG4vKipcbklmIHRoZSBjdXJzb3IgaXMgaW4gYW4gZW1wdHkgdGV4dGJsb2NrIHRoYXQgY2FuIGJlIGxpZnRlZCwgbGlmdCB0aGVcbmJsb2NrLlxuKi9cbmNvbnN0IGxpZnRFbXB0eUJsb2NrID0gKHN0YXRlLCBkaXNwYXRjaCkgPT4ge1xuICAgIGxldCB7ICRjdXJzb3IgfSA9IHN0YXRlLnNlbGVjdGlvbjtcbiAgICBpZiAoISRjdXJzb3IgfHwgJGN1cnNvci5wYXJlbnQuY29udGVudC5zaXplKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCRjdXJzb3IuZGVwdGggPiAxICYmICRjdXJzb3IuYWZ0ZXIoKSAhPSAkY3Vyc29yLmVuZCgtMSkpIHtcbiAgICAgICAgbGV0IGJlZm9yZSA9ICRjdXJzb3IuYmVmb3JlKCk7XG4gICAgICAgIGlmIChjYW5TcGxpdChzdGF0ZS5kb2MsIGJlZm9yZSkpIHtcbiAgICAgICAgICAgIGlmIChkaXNwYXRjaClcbiAgICAgICAgICAgICAgICBkaXNwYXRjaChzdGF0ZS50ci5zcGxpdChiZWZvcmUpLnNjcm9sbEludG9WaWV3KCkpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGV0IHJhbmdlID0gJGN1cnNvci5ibG9ja1JhbmdlKCksIHRhcmdldCA9IHJhbmdlICYmIGxpZnRUYXJnZXQocmFuZ2UpO1xuICAgIGlmICh0YXJnZXQgPT0gbnVsbClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChkaXNwYXRjaClcbiAgICAgICAgZGlzcGF0Y2goc3RhdGUudHIubGlmdChyYW5nZSwgdGFyZ2V0KS5zY3JvbGxJbnRvVmlldygpKTtcbiAgICByZXR1cm4gdHJ1ZTtcbn07XG4vKipcbkNyZWF0ZSBhIHZhcmlhbnQgb2YgW2BzcGxpdEJsb2NrYF0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI2NvbW1hbmRzLnNwbGl0QmxvY2spIHRoYXQgdXNlc1xuYSBjdXN0b20gZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZSB0eXBlIG9mIHRoZSBuZXdseSBzcGxpdCBvZmYgYmxvY2suXG4qL1xuZnVuY3Rpb24gc3BsaXRCbG9ja0FzKHNwbGl0Tm9kZSkge1xuICAgIHJldHVybiAoc3RhdGUsIGRpc3BhdGNoKSA9PiB7XG4gICAgICAgIGxldCB7ICRmcm9tLCAkdG8gfSA9IHN0YXRlLnNlbGVjdGlvbjtcbiAgICAgICAgaWYgKHN0YXRlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIE5vZGVTZWxlY3Rpb24gJiYgc3RhdGUuc2VsZWN0aW9uLm5vZGUuaXNCbG9jaykge1xuICAgICAgICAgICAgaWYgKCEkZnJvbS5wYXJlbnRPZmZzZXQgfHwgIWNhblNwbGl0KHN0YXRlLmRvYywgJGZyb20ucG9zKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICBpZiAoZGlzcGF0Y2gpXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goc3RhdGUudHIuc3BsaXQoJGZyb20ucG9zKS5zY3JvbGxJbnRvVmlldygpKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghJGZyb20uZGVwdGgpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGxldCB0eXBlcyA9IFtdO1xuICAgICAgICBsZXQgc3BsaXREZXB0aCwgZGVmbHQsIGF0RW5kID0gZmFsc2UsIGF0U3RhcnQgPSBmYWxzZTtcbiAgICAgICAgZm9yIChsZXQgZCA9ICRmcm9tLmRlcHRoOzsgZC0tKSB7XG4gICAgICAgICAgICBsZXQgbm9kZSA9ICRmcm9tLm5vZGUoZCk7XG4gICAgICAgICAgICBpZiAobm9kZS5pc0Jsb2NrKSB7XG4gICAgICAgICAgICAgICAgYXRFbmQgPSAkZnJvbS5lbmQoZCkgPT0gJGZyb20ucG9zICsgKCRmcm9tLmRlcHRoIC0gZCk7XG4gICAgICAgICAgICAgICAgYXRTdGFydCA9ICRmcm9tLnN0YXJ0KGQpID09ICRmcm9tLnBvcyAtICgkZnJvbS5kZXB0aCAtIGQpO1xuICAgICAgICAgICAgICAgIGRlZmx0ID0gZGVmYXVsdEJsb2NrQXQoJGZyb20ubm9kZShkIC0gMSkuY29udGVudE1hdGNoQXQoJGZyb20uaW5kZXhBZnRlcihkIC0gMSkpKTtcbiAgICAgICAgICAgICAgICBsZXQgc3BsaXRUeXBlID0gc3BsaXROb2RlICYmIHNwbGl0Tm9kZSgkdG8ucGFyZW50LCBhdEVuZCwgJGZyb20pO1xuICAgICAgICAgICAgICAgIHR5cGVzLnVuc2hpZnQoc3BsaXRUeXBlIHx8IChhdEVuZCAmJiBkZWZsdCA/IHsgdHlwZTogZGVmbHQgfSA6IG51bGwpKTtcbiAgICAgICAgICAgICAgICBzcGxpdERlcHRoID0gZDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChkID09IDEpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB0eXBlcy51bnNoaWZ0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxldCB0ciA9IHN0YXRlLnRyO1xuICAgICAgICBpZiAoc3RhdGUuc2VsZWN0aW9uIGluc3RhbmNlb2YgVGV4dFNlbGVjdGlvbiB8fCBzdGF0ZS5zZWxlY3Rpb24gaW5zdGFuY2VvZiBBbGxTZWxlY3Rpb24pXG4gICAgICAgICAgICB0ci5kZWxldGVTZWxlY3Rpb24oKTtcbiAgICAgICAgbGV0IHNwbGl0UG9zID0gdHIubWFwcGluZy5tYXAoJGZyb20ucG9zKTtcbiAgICAgICAgbGV0IGNhbiA9IGNhblNwbGl0KHRyLmRvYywgc3BsaXRQb3MsIHR5cGVzLmxlbmd0aCwgdHlwZXMpO1xuICAgICAgICBpZiAoIWNhbikge1xuICAgICAgICAgICAgdHlwZXNbMF0gPSBkZWZsdCA/IHsgdHlwZTogZGVmbHQgfSA6IG51bGw7XG4gICAgICAgICAgICBjYW4gPSBjYW5TcGxpdCh0ci5kb2MsIHNwbGl0UG9zLCB0eXBlcy5sZW5ndGgsIHR5cGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNhbilcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgdHIuc3BsaXQoc3BsaXRQb3MsIHR5cGVzLmxlbmd0aCwgdHlwZXMpO1xuICAgICAgICBpZiAoIWF0RW5kICYmIGF0U3RhcnQgJiYgJGZyb20ubm9kZShzcGxpdERlcHRoKS50eXBlICE9IGRlZmx0KSB7XG4gICAgICAgICAgICBsZXQgZmlyc3QgPSB0ci5tYXBwaW5nLm1hcCgkZnJvbS5iZWZvcmUoc3BsaXREZXB0aCkpLCAkZmlyc3QgPSB0ci5kb2MucmVzb2x2ZShmaXJzdCk7XG4gICAgICAgICAgICBpZiAoZGVmbHQgJiYgJGZyb20ubm9kZShzcGxpdERlcHRoIC0gMSkuY2FuUmVwbGFjZVdpdGgoJGZpcnN0LmluZGV4KCksICRmaXJzdC5pbmRleCgpICsgMSwgZGVmbHQpKVxuICAgICAgICAgICAgICAgIHRyLnNldE5vZGVNYXJrdXAodHIubWFwcGluZy5tYXAoJGZyb20uYmVmb3JlKHNwbGl0RGVwdGgpKSwgZGVmbHQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkaXNwYXRjaClcbiAgICAgICAgICAgIGRpc3BhdGNoKHRyLnNjcm9sbEludG9WaWV3KCkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xufVxuLyoqXG5TcGxpdCB0aGUgcGFyZW50IGJsb2NrIG9mIHRoZSBzZWxlY3Rpb24uIElmIHRoZSBzZWxlY3Rpb24gaXMgYSB0ZXh0XG5zZWxlY3Rpb24sIGFsc28gZGVsZXRlIGl0cyBjb250ZW50LlxuKi9cbmNvbnN0IHNwbGl0QmxvY2sgPSBzcGxpdEJsb2NrQXMoKTtcbi8qKlxuQWN0cyBsaWtlIFtgc3BsaXRCbG9ja2BdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNjb21tYW5kcy5zcGxpdEJsb2NrKSwgYnV0IHdpdGhvdXRcbnJlc2V0dGluZyB0aGUgc2V0IG9mIGFjdGl2ZSBtYXJrcyBhdCB0aGUgY3Vyc29yLlxuKi9cbmNvbnN0IHNwbGl0QmxvY2tLZWVwTWFya3MgPSAoc3RhdGUsIGRpc3BhdGNoKSA9PiB7XG4gICAgcmV0dXJuIHNwbGl0QmxvY2soc3RhdGUsIGRpc3BhdGNoICYmICh0ciA9PiB7XG4gICAgICAgIGxldCBtYXJrcyA9IHN0YXRlLnN0b3JlZE1hcmtzIHx8IChzdGF0ZS5zZWxlY3Rpb24uJHRvLnBhcmVudE9mZnNldCAmJiBzdGF0ZS5zZWxlY3Rpb24uJGZyb20ubWFya3MoKSk7XG4gICAgICAgIGlmIChtYXJrcylcbiAgICAgICAgICAgIHRyLmVuc3VyZU1hcmtzKG1hcmtzKTtcbiAgICAgICAgZGlzcGF0Y2godHIpO1xuICAgIH0pKTtcbn07XG4vKipcbk1vdmUgdGhlIHNlbGVjdGlvbiB0byB0aGUgbm9kZSB3cmFwcGluZyB0aGUgY3VycmVudCBzZWxlY3Rpb24sIGlmXG5hbnkuIChXaWxsIG5vdCBzZWxlY3QgdGhlIGRvY3VtZW50IG5vZGUuKVxuKi9cbmNvbnN0IHNlbGVjdFBhcmVudE5vZGUgPSAoc3RhdGUsIGRpc3BhdGNoKSA9PiB7XG4gICAgbGV0IHsgJGZyb20sIHRvIH0gPSBzdGF0ZS5zZWxlY3Rpb24sIHBvcztcbiAgICBsZXQgc2FtZSA9ICRmcm9tLnNoYXJlZERlcHRoKHRvKTtcbiAgICBpZiAoc2FtZSA9PSAwKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgcG9zID0gJGZyb20uYmVmb3JlKHNhbWUpO1xuICAgIGlmIChkaXNwYXRjaClcbiAgICAgICAgZGlzcGF0Y2goc3RhdGUudHIuc2V0U2VsZWN0aW9uKE5vZGVTZWxlY3Rpb24uY3JlYXRlKHN0YXRlLmRvYywgcG9zKSkpO1xuICAgIHJldHVybiB0cnVlO1xufTtcbi8qKlxuU2VsZWN0IHRoZSB3aG9sZSBkb2N1bWVudC5cbiovXG5jb25zdCBzZWxlY3RBbGwgPSAoc3RhdGUsIGRpc3BhdGNoKSA9PiB7XG4gICAgaWYgKGRpc3BhdGNoKVxuICAgICAgICBkaXNwYXRjaChzdGF0ZS50ci5zZXRTZWxlY3Rpb24obmV3IEFsbFNlbGVjdGlvbihzdGF0ZS5kb2MpKSk7XG4gICAgcmV0dXJuIHRydWU7XG59O1xuZnVuY3Rpb24gam9pbk1heWJlQ2xlYXIoc3RhdGUsICRwb3MsIGRpc3BhdGNoKSB7XG4gICAgbGV0IGJlZm9yZSA9ICRwb3Mubm9kZUJlZm9yZSwgYWZ0ZXIgPSAkcG9zLm5vZGVBZnRlciwgaW5kZXggPSAkcG9zLmluZGV4KCk7XG4gICAgaWYgKCFiZWZvcmUgfHwgIWFmdGVyIHx8ICFiZWZvcmUudHlwZS5jb21wYXRpYmxlQ29udGVudChhZnRlci50eXBlKSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICghYmVmb3JlLmNvbnRlbnQuc2l6ZSAmJiAkcG9zLnBhcmVudC5jYW5SZXBsYWNlKGluZGV4IC0gMSwgaW5kZXgpKSB7XG4gICAgICAgIGlmIChkaXNwYXRjaClcbiAgICAgICAgICAgIGRpc3BhdGNoKHN0YXRlLnRyLmRlbGV0ZSgkcG9zLnBvcyAtIGJlZm9yZS5ub2RlU2l6ZSwgJHBvcy5wb3MpLnNjcm9sbEludG9WaWV3KCkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCEkcG9zLnBhcmVudC5jYW5SZXBsYWNlKGluZGV4LCBpbmRleCArIDEpIHx8ICEoYWZ0ZXIuaXNUZXh0YmxvY2sgfHwgY2FuSm9pbihzdGF0ZS5kb2MsICRwb3MucG9zKSkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoZGlzcGF0Y2gpXG4gICAgICAgIGRpc3BhdGNoKHN0YXRlLnRyLmpvaW4oJHBvcy5wb3MpLnNjcm9sbEludG9WaWV3KCkpO1xuICAgIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gZGVsZXRlQmFycmllcihzdGF0ZSwgJGN1dCwgZGlzcGF0Y2gsIGRpcikge1xuICAgIGxldCBiZWZvcmUgPSAkY3V0Lm5vZGVCZWZvcmUsIGFmdGVyID0gJGN1dC5ub2RlQWZ0ZXIsIGNvbm4sIG1hdGNoO1xuICAgIGxldCBpc29sYXRlZCA9IGJlZm9yZS50eXBlLnNwZWMuaXNvbGF0aW5nIHx8IGFmdGVyLnR5cGUuc3BlYy5pc29sYXRpbmc7XG4gICAgaWYgKCFpc29sYXRlZCAmJiBqb2luTWF5YmVDbGVhcihzdGF0ZSwgJGN1dCwgZGlzcGF0Y2gpKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBsZXQgY2FuRGVsQWZ0ZXIgPSAhaXNvbGF0ZWQgJiYgJGN1dC5wYXJlbnQuY2FuUmVwbGFjZSgkY3V0LmluZGV4KCksICRjdXQuaW5kZXgoKSArIDEpO1xuICAgIGlmIChjYW5EZWxBZnRlciAmJlxuICAgICAgICAoY29ubiA9IChtYXRjaCA9IGJlZm9yZS5jb250ZW50TWF0Y2hBdChiZWZvcmUuY2hpbGRDb3VudCkpLmZpbmRXcmFwcGluZyhhZnRlci50eXBlKSkgJiZcbiAgICAgICAgbWF0Y2gubWF0Y2hUeXBlKGNvbm5bMF0gfHwgYWZ0ZXIudHlwZSkudmFsaWRFbmQpIHtcbiAgICAgICAgaWYgKGRpc3BhdGNoKSB7XG4gICAgICAgICAgICBsZXQgZW5kID0gJGN1dC5wb3MgKyBhZnRlci5ub2RlU2l6ZSwgd3JhcCA9IEZyYWdtZW50LmVtcHR5O1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IGNvbm4ubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pXG4gICAgICAgICAgICAgICAgd3JhcCA9IEZyYWdtZW50LmZyb20oY29ubltpXS5jcmVhdGUobnVsbCwgd3JhcCkpO1xuICAgICAgICAgICAgd3JhcCA9IEZyYWdtZW50LmZyb20oYmVmb3JlLmNvcHkod3JhcCkpO1xuICAgICAgICAgICAgbGV0IHRyID0gc3RhdGUudHIuc3RlcChuZXcgUmVwbGFjZUFyb3VuZFN0ZXAoJGN1dC5wb3MgLSAxLCBlbmQsICRjdXQucG9zLCBlbmQsIG5ldyBTbGljZSh3cmFwLCAxLCAwKSwgY29ubi5sZW5ndGgsIHRydWUpKTtcbiAgICAgICAgICAgIGxldCAkam9pbkF0ID0gdHIuZG9jLnJlc29sdmUoZW5kICsgMiAqIGNvbm4ubGVuZ3RoKTtcbiAgICAgICAgICAgIGlmICgkam9pbkF0Lm5vZGVBZnRlciAmJiAkam9pbkF0Lm5vZGVBZnRlci50eXBlID09IGJlZm9yZS50eXBlICYmXG4gICAgICAgICAgICAgICAgY2FuSm9pbih0ci5kb2MsICRqb2luQXQucG9zKSlcbiAgICAgICAgICAgICAgICB0ci5qb2luKCRqb2luQXQucG9zKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKHRyLnNjcm9sbEludG9WaWV3KCkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBsZXQgc2VsQWZ0ZXIgPSBhZnRlci50eXBlLnNwZWMuaXNvbGF0aW5nIHx8IChkaXIgPiAwICYmIGlzb2xhdGVkKSA/IG51bGwgOiBTZWxlY3Rpb24uZmluZEZyb20oJGN1dCwgMSk7XG4gICAgbGV0IHJhbmdlID0gc2VsQWZ0ZXIgJiYgc2VsQWZ0ZXIuJGZyb20uYmxvY2tSYW5nZShzZWxBZnRlci4kdG8pLCB0YXJnZXQgPSByYW5nZSAmJiBsaWZ0VGFyZ2V0KHJhbmdlKTtcbiAgICBpZiAodGFyZ2V0ICE9IG51bGwgJiYgdGFyZ2V0ID49ICRjdXQuZGVwdGgpIHtcbiAgICAgICAgaWYgKGRpc3BhdGNoKVxuICAgICAgICAgICAgZGlzcGF0Y2goc3RhdGUudHIubGlmdChyYW5nZSwgdGFyZ2V0KS5zY3JvbGxJbnRvVmlldygpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChjYW5EZWxBZnRlciAmJiB0ZXh0YmxvY2tBdChhZnRlciwgXCJzdGFydFwiLCB0cnVlKSAmJiB0ZXh0YmxvY2tBdChiZWZvcmUsIFwiZW5kXCIpKSB7XG4gICAgICAgIGxldCBhdCA9IGJlZm9yZSwgd3JhcCA9IFtdO1xuICAgICAgICBmb3IgKDs7KSB7XG4gICAgICAgICAgICB3cmFwLnB1c2goYXQpO1xuICAgICAgICAgICAgaWYgKGF0LmlzVGV4dGJsb2NrKVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgYXQgPSBhdC5sYXN0Q2hpbGQ7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGFmdGVyVGV4dCA9IGFmdGVyLCBhZnRlckRlcHRoID0gMTtcbiAgICAgICAgZm9yICg7ICFhZnRlclRleHQuaXNUZXh0YmxvY2s7IGFmdGVyVGV4dCA9IGFmdGVyVGV4dC5maXJzdENoaWxkKVxuICAgICAgICAgICAgYWZ0ZXJEZXB0aCsrO1xuICAgICAgICBpZiAoYXQuY2FuUmVwbGFjZShhdC5jaGlsZENvdW50LCBhdC5jaGlsZENvdW50LCBhZnRlclRleHQuY29udGVudCkpIHtcbiAgICAgICAgICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgICAgICAgICAgIGxldCBlbmQgPSBGcmFnbWVudC5lbXB0eTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gd3JhcC5sZW5ndGggLSAxOyBpID49IDA7IGktLSlcbiAgICAgICAgICAgICAgICAgICAgZW5kID0gRnJhZ21lbnQuZnJvbSh3cmFwW2ldLmNvcHkoZW5kKSk7XG4gICAgICAgICAgICAgICAgbGV0IHRyID0gc3RhdGUudHIuc3RlcChuZXcgUmVwbGFjZUFyb3VuZFN0ZXAoJGN1dC5wb3MgLSB3cmFwLmxlbmd0aCwgJGN1dC5wb3MgKyBhZnRlci5ub2RlU2l6ZSwgJGN1dC5wb3MgKyBhZnRlckRlcHRoLCAkY3V0LnBvcyArIGFmdGVyLm5vZGVTaXplIC0gYWZ0ZXJEZXB0aCwgbmV3IFNsaWNlKGVuZCwgd3JhcC5sZW5ndGgsIDApLCAwLCB0cnVlKSk7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2godHIuc2Nyb2xsSW50b1ZpZXcoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBzZWxlY3RUZXh0YmxvY2tTaWRlKHNpZGUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHN0YXRlLCBkaXNwYXRjaCkge1xuICAgICAgICBsZXQgc2VsID0gc3RhdGUuc2VsZWN0aW9uLCAkcG9zID0gc2lkZSA8IDAgPyBzZWwuJGZyb20gOiBzZWwuJHRvO1xuICAgICAgICBsZXQgZGVwdGggPSAkcG9zLmRlcHRoO1xuICAgICAgICB3aGlsZSAoJHBvcy5ub2RlKGRlcHRoKS5pc0lubGluZSkge1xuICAgICAgICAgICAgaWYgKCFkZXB0aClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICBkZXB0aC0tO1xuICAgICAgICB9XG4gICAgICAgIGlmICghJHBvcy5ub2RlKGRlcHRoKS5pc1RleHRibG9jaylcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKGRpc3BhdGNoKVxuICAgICAgICAgICAgZGlzcGF0Y2goc3RhdGUudHIuc2V0U2VsZWN0aW9uKFRleHRTZWxlY3Rpb24uY3JlYXRlKHN0YXRlLmRvYywgc2lkZSA8IDAgPyAkcG9zLnN0YXJ0KGRlcHRoKSA6ICRwb3MuZW5kKGRlcHRoKSkpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbn1cbi8qKlxuTW92ZXMgdGhlIGN1cnNvciB0byB0aGUgc3RhcnQgb2YgY3VycmVudCB0ZXh0IGJsb2NrLlxuKi9cbmNvbnN0IHNlbGVjdFRleHRibG9ja1N0YXJ0ID0gc2VsZWN0VGV4dGJsb2NrU2lkZSgtMSk7XG4vKipcbk1vdmVzIHRoZSBjdXJzb3IgdG8gdGhlIGVuZCBvZiBjdXJyZW50IHRleHQgYmxvY2suXG4qL1xuY29uc3Qgc2VsZWN0VGV4dGJsb2NrRW5kID0gc2VsZWN0VGV4dGJsb2NrU2lkZSgxKTtcbi8vIFBhcmFtZXRlcml6ZWQgY29tbWFuZHNcbi8qKlxuV3JhcCB0aGUgc2VsZWN0aW9uIGluIGEgbm9kZSBvZiB0aGUgZ2l2ZW4gdHlwZSB3aXRoIHRoZSBnaXZlblxuYXR0cmlidXRlcy5cbiovXG5mdW5jdGlvbiB3cmFwSW4obm9kZVR5cGUsIGF0dHJzID0gbnVsbCkge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc3RhdGUsIGRpc3BhdGNoKSB7XG4gICAgICAgIGxldCB7ICRmcm9tLCAkdG8gfSA9IHN0YXRlLnNlbGVjdGlvbjtcbiAgICAgICAgbGV0IHJhbmdlID0gJGZyb20uYmxvY2tSYW5nZSgkdG8pLCB3cmFwcGluZyA9IHJhbmdlICYmIGZpbmRXcmFwcGluZyhyYW5nZSwgbm9kZVR5cGUsIGF0dHJzKTtcbiAgICAgICAgaWYgKCF3cmFwcGluZylcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKGRpc3BhdGNoKVxuICAgICAgICAgICAgZGlzcGF0Y2goc3RhdGUudHIud3JhcChyYW5nZSwgd3JhcHBpbmcpLnNjcm9sbEludG9WaWV3KCkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xufVxuLyoqXG5SZXR1cm5zIGEgY29tbWFuZCB0aGF0IHRyaWVzIHRvIHNldCB0aGUgc2VsZWN0ZWQgdGV4dGJsb2NrcyB0byB0aGVcbmdpdmVuIG5vZGUgdHlwZSB3aXRoIHRoZSBnaXZlbiBhdHRyaWJ1dGVzLlxuKi9cbmZ1bmN0aW9uIHNldEJsb2NrVHlwZShub2RlVHlwZSwgYXR0cnMgPSBudWxsKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChzdGF0ZSwgZGlzcGF0Y2gpIHtcbiAgICAgICAgbGV0IGFwcGxpY2FibGUgPSBmYWxzZTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZS5zZWxlY3Rpb24ucmFuZ2VzLmxlbmd0aCAmJiAhYXBwbGljYWJsZTsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgeyAkZnJvbTogeyBwb3M6IGZyb20gfSwgJHRvOiB7IHBvczogdG8gfSB9ID0gc3RhdGUuc2VsZWN0aW9uLnJhbmdlc1tpXTtcbiAgICAgICAgICAgIHN0YXRlLmRvYy5ub2Rlc0JldHdlZW4oZnJvbSwgdG8sIChub2RlLCBwb3MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYXBwbGljYWJsZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIGlmICghbm9kZS5pc1RleHRibG9jayB8fCBub2RlLmhhc01hcmt1cChub2RlVHlwZSwgYXR0cnMpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgaWYgKG5vZGUudHlwZSA9PSBub2RlVHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCAkcG9zID0gc3RhdGUuZG9jLnJlc29sdmUocG9zKSwgaW5kZXggPSAkcG9zLmluZGV4KCk7XG4gICAgICAgICAgICAgICAgICAgIGFwcGxpY2FibGUgPSAkcG9zLnBhcmVudC5jYW5SZXBsYWNlV2l0aChpbmRleCwgaW5kZXggKyAxLCBub2RlVHlwZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFhcHBsaWNhYmxlKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAoZGlzcGF0Y2gpIHtcbiAgICAgICAgICAgIGxldCB0ciA9IHN0YXRlLnRyO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZS5zZWxlY3Rpb24ucmFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IHsgJGZyb206IHsgcG9zOiBmcm9tIH0sICR0bzogeyBwb3M6IHRvIH0gfSA9IHN0YXRlLnNlbGVjdGlvbi5yYW5nZXNbaV07XG4gICAgICAgICAgICAgICAgdHIuc2V0QmxvY2tUeXBlKGZyb20sIHRvLCBub2RlVHlwZSwgYXR0cnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGlzcGF0Y2godHIuc2Nyb2xsSW50b1ZpZXcoKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIG1hcmtBcHBsaWVzKGRvYywgcmFuZ2VzLCB0eXBlLCBlbnRlckF0b21zKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IHsgJGZyb20sICR0byB9ID0gcmFuZ2VzW2ldO1xuICAgICAgICBsZXQgY2FuID0gJGZyb20uZGVwdGggPT0gMCA/IGRvYy5pbmxpbmVDb250ZW50ICYmIGRvYy50eXBlLmFsbG93c01hcmtUeXBlKHR5cGUpIDogZmFsc2U7XG4gICAgICAgIGRvYy5ub2Rlc0JldHdlZW4oJGZyb20ucG9zLCAkdG8ucG9zLCAobm9kZSwgcG9zKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2FuIHx8ICFlbnRlckF0b21zICYmIG5vZGUuaXNBdG9tICYmIG5vZGUuaXNJbmxpbmUgJiYgcG9zID49ICRmcm9tLnBvcyAmJiBwb3MgKyBub2RlLm5vZGVTaXplIDw9ICR0by5wb3MpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgY2FuID0gbm9kZS5pbmxpbmVDb250ZW50ICYmIG5vZGUudHlwZS5hbGxvd3NNYXJrVHlwZSh0eXBlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChjYW4pXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gcmVtb3ZlSW5saW5lQXRvbXMocmFuZ2VzKSB7XG4gICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCB7ICRmcm9tLCAkdG8gfSA9IHJhbmdlc1tpXTtcbiAgICAgICAgJGZyb20uZG9jLm5vZGVzQmV0d2VlbigkZnJvbS5wb3MsICR0by5wb3MsIChub2RlLCBwb3MpID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlLmlzQXRvbSAmJiBub2RlLmNvbnRlbnQuc2l6ZSAmJiBub2RlLmlzSW5saW5lICYmIHBvcyA+PSAkZnJvbS5wb3MgJiYgcG9zICsgbm9kZS5ub2RlU2l6ZSA8PSAkdG8ucG9zKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBvcyArIDEgPiAkZnJvbS5wb3MpXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG5ldyBTZWxlY3Rpb25SYW5nZSgkZnJvbSwgJGZyb20uZG9jLnJlc29sdmUocG9zICsgMSkpKTtcbiAgICAgICAgICAgICAgICAkZnJvbSA9ICRmcm9tLmRvYy5yZXNvbHZlKHBvcyArIDEgKyBub2RlLmNvbnRlbnQuc2l6ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCRmcm9tLnBvcyA8ICR0by5wb3MpXG4gICAgICAgICAgICByZXN1bHQucHVzaChuZXcgU2VsZWN0aW9uUmFuZ2UoJGZyb20sICR0bykpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLyoqXG5DcmVhdGUgYSBjb21tYW5kIGZ1bmN0aW9uIHRoYXQgdG9nZ2xlcyB0aGUgZ2l2ZW4gbWFyayB3aXRoIHRoZVxuZ2l2ZW4gYXR0cmlidXRlcy4gV2lsbCByZXR1cm4gYGZhbHNlYCB3aGVuIHRoZSBjdXJyZW50IHNlbGVjdGlvblxuZG9lc24ndCBzdXBwb3J0IHRoYXQgbWFyay4gVGhpcyB3aWxsIHJlbW92ZSB0aGUgbWFyayBpZiBhbnkgbWFya3Ncbm9mIHRoYXQgdHlwZSBleGlzdCBpbiB0aGUgc2VsZWN0aW9uLCBvciBhZGQgaXQgb3RoZXJ3aXNlLiBJZiB0aGVcbnNlbGVjdGlvbiBpcyBlbXB0eSwgdGhpcyBhcHBsaWVzIHRvIHRoZSBbc3RvcmVkXG5tYXJrc10oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI3N0YXRlLkVkaXRvclN0YXRlLnN0b3JlZE1hcmtzKSBpbnN0ZWFkIG9mIGEgcmFuZ2Ugb2YgdGhlXG5kb2N1bWVudC5cbiovXG5mdW5jdGlvbiB0b2dnbGVNYXJrKG1hcmtUeXBlLCBhdHRycyA9IG51bGwsIG9wdGlvbnMpIHtcbiAgICBsZXQgcmVtb3ZlV2hlblByZXNlbnQgPSAob3B0aW9ucyAmJiBvcHRpb25zLnJlbW92ZVdoZW5QcmVzZW50KSAhPT0gZmFsc2U7XG4gICAgbGV0IGVudGVyQXRvbXMgPSAob3B0aW9ucyAmJiBvcHRpb25zLmVudGVySW5saW5lQXRvbXMpICE9PSBmYWxzZTtcbiAgICBsZXQgZHJvcFNwYWNlID0gIShvcHRpb25zICYmIG9wdGlvbnMuaW5jbHVkZVdoaXRlc3BhY2UpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoc3RhdGUsIGRpc3BhdGNoKSB7XG4gICAgICAgIGxldCB7IGVtcHR5LCAkY3Vyc29yLCByYW5nZXMgfSA9IHN0YXRlLnNlbGVjdGlvbjtcbiAgICAgICAgaWYgKChlbXB0eSAmJiAhJGN1cnNvcikgfHwgIW1hcmtBcHBsaWVzKHN0YXRlLmRvYywgcmFuZ2VzLCBtYXJrVHlwZSwgZW50ZXJBdG9tcykpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgICAgICAgaWYgKCRjdXJzb3IpIHtcbiAgICAgICAgICAgICAgICBpZiAobWFya1R5cGUuaXNJblNldChzdGF0ZS5zdG9yZWRNYXJrcyB8fCAkY3Vyc29yLm1hcmtzKCkpKVxuICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaChzdGF0ZS50ci5yZW1vdmVTdG9yZWRNYXJrKG1hcmtUeXBlKSk7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaChzdGF0ZS50ci5hZGRTdG9yZWRNYXJrKG1hcmtUeXBlLmNyZWF0ZShhdHRycykpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBhZGQsIHRyID0gc3RhdGUudHI7XG4gICAgICAgICAgICAgICAgaWYgKCFlbnRlckF0b21zKVxuICAgICAgICAgICAgICAgICAgICByYW5nZXMgPSByZW1vdmVJbmxpbmVBdG9tcyhyYW5nZXMpO1xuICAgICAgICAgICAgICAgIGlmIChyZW1vdmVXaGVuUHJlc2VudCkge1xuICAgICAgICAgICAgICAgICAgICBhZGQgPSAhcmFuZ2VzLnNvbWUociA9PiBzdGF0ZS5kb2MucmFuZ2VIYXNNYXJrKHIuJGZyb20ucG9zLCByLiR0by5wb3MsIG1hcmtUeXBlKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBhZGQgPSAhcmFuZ2VzLmV2ZXJ5KHIgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1pc3NpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyLmRvYy5ub2Rlc0JldHdlZW4oci4kZnJvbS5wb3MsIHIuJHRvLnBvcywgKG5vZGUsIHBvcywgcGFyZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1pc3NpbmcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXNzaW5nID0gIW1hcmtUeXBlLmlzSW5TZXQobm9kZS5tYXJrcykgJiYgISFwYXJlbnQgJiYgcGFyZW50LnR5cGUuYWxsb3dzTWFya1R5cGUobWFya1R5cGUpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEobm9kZS5pc1RleHQgJiYgL15cXHMqJC8udGVzdChub2RlLnRleHRCZXR3ZWVuKE1hdGgubWF4KDAsIHIuJGZyb20ucG9zIC0gcG9zKSwgTWF0aC5taW4obm9kZS5ub2RlU2l6ZSwgci4kdG8ucG9zIC0gcG9zKSkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFtaXNzaW5nO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHsgJGZyb20sICR0byB9ID0gcmFuZ2VzW2ldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWFkZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHIucmVtb3ZlTWFyaygkZnJvbS5wb3MsICR0by5wb3MsIG1hcmtUeXBlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmcm9tID0gJGZyb20ucG9zLCB0byA9ICR0by5wb3MsIHN0YXJ0ID0gJGZyb20ubm9kZUFmdGVyLCBlbmQgPSAkdG8ubm9kZUJlZm9yZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzcGFjZVN0YXJ0ID0gZHJvcFNwYWNlICYmIHN0YXJ0ICYmIHN0YXJ0LmlzVGV4dCA/IC9eXFxzKi8uZXhlYyhzdGFydC50ZXh0KVswXS5sZW5ndGggOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNwYWNlRW5kID0gZHJvcFNwYWNlICYmIGVuZCAmJiBlbmQuaXNUZXh0ID8gL1xccyokLy5leGVjKGVuZC50ZXh0KVswXS5sZW5ndGggOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZyb20gKyBzcGFjZVN0YXJ0IDwgdG8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICs9IHNwYWNlU3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gLT0gc3BhY2VFbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0ci5hZGRNYXJrKGZyb20sIHRvLCBtYXJrVHlwZS5jcmVhdGUoYXR0cnMpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh0ci5zY3JvbGxJbnRvVmlldygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xufVxuZnVuY3Rpb24gd3JhcERpc3BhdGNoRm9ySm9pbihkaXNwYXRjaCwgaXNKb2luYWJsZSkge1xuICAgIHJldHVybiAodHIpID0+IHtcbiAgICAgICAgaWYgKCF0ci5pc0dlbmVyaWMpXG4gICAgICAgICAgICByZXR1cm4gZGlzcGF0Y2godHIpO1xuICAgICAgICBsZXQgcmFuZ2VzID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdHIubWFwcGluZy5tYXBzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgbWFwID0gdHIubWFwcGluZy5tYXBzW2ldO1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCByYW5nZXMubGVuZ3RoOyBqKyspXG4gICAgICAgICAgICAgICAgcmFuZ2VzW2pdID0gbWFwLm1hcChyYW5nZXNbal0pO1xuICAgICAgICAgICAgbWFwLmZvckVhY2goKF9zLCBfZSwgZnJvbSwgdG8pID0+IHJhbmdlcy5wdXNoKGZyb20sIHRvKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRmlndXJlIG91dCB3aGljaCBqb2luYWJsZSBwb2ludHMgZXhpc3QgaW5zaWRlIHRob3NlIHJhbmdlcyxcbiAgICAgICAgLy8gYnkgY2hlY2tpbmcgYWxsIG5vZGUgYm91bmRhcmllcyBpbiB0aGVpciBwYXJlbnQgbm9kZXMuXG4gICAgICAgIGxldCBqb2luYWJsZSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7IGkgKz0gMikge1xuICAgICAgICAgICAgbGV0IGZyb20gPSByYW5nZXNbaV0sIHRvID0gcmFuZ2VzW2kgKyAxXTtcbiAgICAgICAgICAgIGxldCAkZnJvbSA9IHRyLmRvYy5yZXNvbHZlKGZyb20pLCBkZXB0aCA9ICRmcm9tLnNoYXJlZERlcHRoKHRvKSwgcGFyZW50ID0gJGZyb20ubm9kZShkZXB0aCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9ICRmcm9tLmluZGV4QWZ0ZXIoZGVwdGgpLCBwb3MgPSAkZnJvbS5hZnRlcihkZXB0aCArIDEpOyBwb3MgPD0gdG87ICsraW5kZXgpIHtcbiAgICAgICAgICAgICAgICBsZXQgYWZ0ZXIgPSBwYXJlbnQubWF5YmVDaGlsZChpbmRleCk7XG4gICAgICAgICAgICAgICAgaWYgKCFhZnRlcilcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ICYmIGpvaW5hYmxlLmluZGV4T2YocG9zKSA9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgYmVmb3JlID0gcGFyZW50LmNoaWxkKGluZGV4IC0gMSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChiZWZvcmUudHlwZSA9PSBhZnRlci50eXBlICYmIGlzSm9pbmFibGUoYmVmb3JlLCBhZnRlcikpXG4gICAgICAgICAgICAgICAgICAgICAgICBqb2luYWJsZS5wdXNoKHBvcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHBvcyArPSBhZnRlci5ub2RlU2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBKb2luIHRoZSBqb2luYWJsZSBwb2ludHNcbiAgICAgICAgam9pbmFibGUuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICAgICAgICBmb3IgKGxldCBpID0gam9pbmFibGUubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGlmIChjYW5Kb2luKHRyLmRvYywgam9pbmFibGVbaV0pKVxuICAgICAgICAgICAgICAgIHRyLmpvaW4oam9pbmFibGVbaV0pO1xuICAgICAgICB9XG4gICAgICAgIGRpc3BhdGNoKHRyKTtcbiAgICB9O1xufVxuLyoqXG5XcmFwIGEgY29tbWFuZCBzbyB0aGF0LCB3aGVuIGl0IHByb2R1Y2VzIGEgdHJhbnNmb3JtIHRoYXQgY2F1c2VzXG50d28gam9pbmFibGUgbm9kZXMgdG8gZW5kIHVwIG5leHQgdG8gZWFjaCBvdGhlciwgdGhvc2UgYXJlIGpvaW5lZC5cbk5vZGVzIGFyZSBjb25zaWRlcmVkIGpvaW5hYmxlIHdoZW4gdGhleSBhcmUgb2YgdGhlIHNhbWUgdHlwZSBhbmRcbndoZW4gdGhlIGBpc0pvaW5hYmxlYCBwcmVkaWNhdGUgcmV0dXJucyB0cnVlIGZvciB0aGVtIG9yLCBpZiBhblxuYXJyYXkgb2Ygc3RyaW5ncyB3YXMgcGFzc2VkLCBpZiB0aGVpciBub2RlIHR5cGUgbmFtZSBpcyBpbiB0aGF0XG5hcnJheS5cbiovXG5mdW5jdGlvbiBhdXRvSm9pbihjb21tYW5kLCBpc0pvaW5hYmxlKSB7XG4gICAgbGV0IGNhbkpvaW4gPSBBcnJheS5pc0FycmF5KGlzSm9pbmFibGUpID8gKG5vZGUpID0+IGlzSm9pbmFibGUuaW5kZXhPZihub2RlLnR5cGUubmFtZSkgPiAtMVxuICAgICAgICA6IGlzSm9pbmFibGU7XG4gICAgcmV0dXJuIChzdGF0ZSwgZGlzcGF0Y2gsIHZpZXcpID0+IGNvbW1hbmQoc3RhdGUsIGRpc3BhdGNoICYmIHdyYXBEaXNwYXRjaEZvckpvaW4oZGlzcGF0Y2gsIGNhbkpvaW4pLCB2aWV3KTtcbn1cbi8qKlxuQ29tYmluZSBhIG51bWJlciBvZiBjb21tYW5kIGZ1bmN0aW9ucyBpbnRvIGEgc2luZ2xlIGZ1bmN0aW9uICh3aGljaFxuY2FsbHMgdGhlbSBvbmUgYnkgb25lIHVudGlsIG9uZSByZXR1cm5zIHRydWUpLlxuKi9cbmZ1bmN0aW9uIGNoYWluQ29tbWFuZHMoLi4uY29tbWFuZHMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHN0YXRlLCBkaXNwYXRjaCwgdmlldykge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbW1hbmRzLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgaWYgKGNvbW1hbmRzW2ldKHN0YXRlLCBkaXNwYXRjaCwgdmlldykpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xufVxubGV0IGJhY2tzcGFjZSA9IGNoYWluQ29tbWFuZHMoZGVsZXRlU2VsZWN0aW9uLCBqb2luQmFja3dhcmQsIHNlbGVjdE5vZGVCYWNrd2FyZCk7XG5sZXQgZGVsID0gY2hhaW5Db21tYW5kcyhkZWxldGVTZWxlY3Rpb24sIGpvaW5Gb3J3YXJkLCBzZWxlY3ROb2RlRm9yd2FyZCk7XG4vKipcbkEgYmFzaWMga2V5bWFwIGNvbnRhaW5pbmcgYmluZGluZ3Mgbm90IHNwZWNpZmljIHRvIGFueSBzY2hlbWEuXG5CaW5kcyB0aGUgZm9sbG93aW5nIGtleXMgKHdoZW4gbXVsdGlwbGUgY29tbWFuZHMgYXJlIGxpc3RlZCwgdGhleVxuYXJlIGNoYWluZWQgd2l0aCBbYGNoYWluQ29tbWFuZHNgXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jY29tbWFuZHMuY2hhaW5Db21tYW5kcykpOlxuXG4qICoqRW50ZXIqKiB0byBgbmV3bGluZUluQ29kZWAsIGBjcmVhdGVQYXJhZ3JhcGhOZWFyYCwgYGxpZnRFbXB0eUJsb2NrYCwgYHNwbGl0QmxvY2tgXG4qICoqTW9kLUVudGVyKiogdG8gYGV4aXRDb2RlYFxuKiAqKkJhY2tzcGFjZSoqIGFuZCAqKk1vZC1CYWNrc3BhY2UqKiB0byBgZGVsZXRlU2VsZWN0aW9uYCwgYGpvaW5CYWNrd2FyZGAsIGBzZWxlY3ROb2RlQmFja3dhcmRgXG4qICoqRGVsZXRlKiogYW5kICoqTW9kLURlbGV0ZSoqIHRvIGBkZWxldGVTZWxlY3Rpb25gLCBgam9pbkZvcndhcmRgLCBgc2VsZWN0Tm9kZUZvcndhcmRgXG4qICoqTW9kLURlbGV0ZSoqIHRvIGBkZWxldGVTZWxlY3Rpb25gLCBgam9pbkZvcndhcmRgLCBgc2VsZWN0Tm9kZUZvcndhcmRgXG4qICoqTW9kLWEqKiB0byBgc2VsZWN0QWxsYFxuKi9cbmNvbnN0IHBjQmFzZUtleW1hcCA9IHtcbiAgICBcIkVudGVyXCI6IGNoYWluQ29tbWFuZHMobmV3bGluZUluQ29kZSwgY3JlYXRlUGFyYWdyYXBoTmVhciwgbGlmdEVtcHR5QmxvY2ssIHNwbGl0QmxvY2spLFxuICAgIFwiTW9kLUVudGVyXCI6IGV4aXRDb2RlLFxuICAgIFwiQmFja3NwYWNlXCI6IGJhY2tzcGFjZSxcbiAgICBcIk1vZC1CYWNrc3BhY2VcIjogYmFja3NwYWNlLFxuICAgIFwiU2hpZnQtQmFja3NwYWNlXCI6IGJhY2tzcGFjZSxcbiAgICBcIkRlbGV0ZVwiOiBkZWwsXG4gICAgXCJNb2QtRGVsZXRlXCI6IGRlbCxcbiAgICBcIk1vZC1hXCI6IHNlbGVjdEFsbFxufTtcbi8qKlxuQSBjb3B5IG9mIGBwY0Jhc2VLZXltYXBgIHRoYXQgYWxzbyBiaW5kcyAqKkN0cmwtaCoqIGxpa2UgQmFja3NwYWNlLFxuKipDdHJsLWQqKiBsaWtlIERlbGV0ZSwgKipBbHQtQmFja3NwYWNlKiogbGlrZSBDdHJsLUJhY2tzcGFjZSwgYW5kXG4qKkN0cmwtQWx0LUJhY2tzcGFjZSoqLCAqKkFsdC1EZWxldGUqKiwgYW5kICoqQWx0LWQqKiBsaWtlXG5DdHJsLURlbGV0ZS5cbiovXG5jb25zdCBtYWNCYXNlS2V5bWFwID0ge1xuICAgIFwiQ3RybC1oXCI6IHBjQmFzZUtleW1hcFtcIkJhY2tzcGFjZVwiXSxcbiAgICBcIkFsdC1CYWNrc3BhY2VcIjogcGNCYXNlS2V5bWFwW1wiTW9kLUJhY2tzcGFjZVwiXSxcbiAgICBcIkN0cmwtZFwiOiBwY0Jhc2VLZXltYXBbXCJEZWxldGVcIl0sXG4gICAgXCJDdHJsLUFsdC1CYWNrc3BhY2VcIjogcGNCYXNlS2V5bWFwW1wiTW9kLURlbGV0ZVwiXSxcbiAgICBcIkFsdC1EZWxldGVcIjogcGNCYXNlS2V5bWFwW1wiTW9kLURlbGV0ZVwiXSxcbiAgICBcIkFsdC1kXCI6IHBjQmFzZUtleW1hcFtcIk1vZC1EZWxldGVcIl0sXG4gICAgXCJDdHJsLWFcIjogc2VsZWN0VGV4dGJsb2NrU3RhcnQsXG4gICAgXCJDdHJsLWVcIjogc2VsZWN0VGV4dGJsb2NrRW5kXG59O1xuZm9yIChsZXQga2V5IGluIHBjQmFzZUtleW1hcClcbiAgICBtYWNCYXNlS2V5bWFwW2tleV0gPSBwY0Jhc2VLZXltYXBba2V5XTtcbmNvbnN0IG1hYyA9IHR5cGVvZiBuYXZpZ2F0b3IgIT0gXCJ1bmRlZmluZWRcIiA/IC9NYWN8aVAoaG9uZXxbb2FdZCkvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICA6IHR5cGVvZiBvcyAhPSBcInVuZGVmaW5lZFwiICYmIG9zLnBsYXRmb3JtID8gb3MucGxhdGZvcm0oKSA9PSBcImRhcndpblwiIDogZmFsc2U7XG4vKipcbkRlcGVuZGluZyBvbiB0aGUgZGV0ZWN0ZWQgcGxhdGZvcm0sIHRoaXMgd2lsbCBob2xkXG5bYHBjQmFzZWtleW1hcGBdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNjb21tYW5kcy5wY0Jhc2VLZXltYXApIG9yXG5bYG1hY0Jhc2VLZXltYXBgXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jY29tbWFuZHMubWFjQmFzZUtleW1hcCkuXG4qL1xuY29uc3QgYmFzZUtleW1hcCA9IG1hYyA/IG1hY0Jhc2VLZXltYXAgOiBwY0Jhc2VLZXltYXA7XG5cbmV4cG9ydCB7IGF1dG9Kb2luLCBiYXNlS2V5bWFwLCBjaGFpbkNvbW1hbmRzLCBjcmVhdGVQYXJhZ3JhcGhOZWFyLCBkZWxldGVTZWxlY3Rpb24sIGV4aXRDb2RlLCBqb2luQmFja3dhcmQsIGpvaW5Eb3duLCBqb2luRm9yd2FyZCwgam9pblRleHRibG9ja0JhY2t3YXJkLCBqb2luVGV4dGJsb2NrRm9yd2FyZCwgam9pblVwLCBsaWZ0LCBsaWZ0RW1wdHlCbG9jaywgbWFjQmFzZUtleW1hcCwgbmV3bGluZUluQ29kZSwgcGNCYXNlS2V5bWFwLCBzZWxlY3RBbGwsIHNlbGVjdE5vZGVCYWNrd2FyZCwgc2VsZWN0Tm9kZUZvcndhcmQsIHNlbGVjdFBhcmVudE5vZGUsIHNlbGVjdFRleHRibG9ja0VuZCwgc2VsZWN0VGV4dGJsb2NrU3RhcnQsIHNldEJsb2NrVHlwZSwgc3BsaXRCbG9jaywgc3BsaXRCbG9ja0FzLCBzcGxpdEJsb2NrS2VlcE1hcmtzLCB0b2dnbGVNYXJrLCB3cmFwSW4gfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/prosemirror-commands/dist/index.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/prosemirror-dropcursor.js b/.next/server/vendor-chunks/prosemirror-dropcursor.js deleted file mode 100644 index a28e23e..0000000 --- a/.next/server/vendor-chunks/prosemirror-dropcursor.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/prosemirror-dropcursor"; -exports.ids = ["vendor-chunks/prosemirror-dropcursor"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/prosemirror-dropcursor/dist/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/prosemirror-dropcursor/dist/index.js ***! - \***********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ dropCursor: () => (/* binding */ dropCursor)\n/* harmony export */ });\n/* harmony import */ var prosemirror_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-state */ \"(ssr)/./node_modules/prosemirror-state/dist/index.js\");\n/* harmony import */ var prosemirror_transform__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prosemirror-transform */ \"(ssr)/./node_modules/prosemirror-transform/dist/index.js\");\n\n\n\n/**\nCreate a plugin that, when added to a ProseMirror instance,\ncauses a decoration to show up at the drop position when something\nis dragged over the editor.\n\nNodes may add a `disableDropCursor` property to their spec to\ncontrol the showing of a drop cursor inside them. This may be a\nboolean or a function, which will be called with a view and a\nposition, and should return a boolean.\n*/\nfunction dropCursor(options = {}) {\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.Plugin({\n view(editorView) { return new DropCursorView(editorView, options); }\n });\n}\nclass DropCursorView {\n constructor(editorView, options) {\n var _a;\n this.editorView = editorView;\n this.cursorPos = null;\n this.element = null;\n this.timeout = -1;\n this.width = (_a = options.width) !== null && _a !== void 0 ? _a : 1;\n this.color = options.color === false ? undefined : (options.color || \"black\");\n this.class = options.class;\n this.handlers = [\"dragover\", \"dragend\", \"drop\", \"dragleave\"].map(name => {\n let handler = (e) => { this[name](e); };\n editorView.dom.addEventListener(name, handler);\n return { name, handler };\n });\n }\n destroy() {\n this.handlers.forEach(({ name, handler }) => this.editorView.dom.removeEventListener(name, handler));\n }\n update(editorView, prevState) {\n if (this.cursorPos != null && prevState.doc != editorView.state.doc) {\n if (this.cursorPos > editorView.state.doc.content.size)\n this.setCursor(null);\n else\n this.updateOverlay();\n }\n }\n setCursor(pos) {\n if (pos == this.cursorPos)\n return;\n this.cursorPos = pos;\n if (pos == null) {\n this.element.parentNode.removeChild(this.element);\n this.element = null;\n }\n else {\n this.updateOverlay();\n }\n }\n updateOverlay() {\n let $pos = this.editorView.state.doc.resolve(this.cursorPos);\n let isBlock = !$pos.parent.inlineContent, rect;\n let editorDOM = this.editorView.dom, editorRect = editorDOM.getBoundingClientRect();\n let scaleX = editorRect.width / editorDOM.offsetWidth, scaleY = editorRect.height / editorDOM.offsetHeight;\n if (isBlock) {\n let before = $pos.nodeBefore, after = $pos.nodeAfter;\n if (before || after) {\n let node = this.editorView.nodeDOM(this.cursorPos - (before ? before.nodeSize : 0));\n if (node) {\n let nodeRect = node.getBoundingClientRect();\n let top = before ? nodeRect.bottom : nodeRect.top;\n if (before && after)\n top = (top + this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top) / 2;\n let halfWidth = (this.width / 2) * scaleY;\n rect = { left: nodeRect.left, right: nodeRect.right, top: top - halfWidth, bottom: top + halfWidth };\n }\n }\n }\n if (!rect) {\n let coords = this.editorView.coordsAtPos(this.cursorPos);\n let halfWidth = (this.width / 2) * scaleX;\n rect = { left: coords.left - halfWidth, right: coords.left + halfWidth, top: coords.top, bottom: coords.bottom };\n }\n let parent = this.editorView.dom.offsetParent;\n if (!this.element) {\n this.element = parent.appendChild(document.createElement(\"div\"));\n if (this.class)\n this.element.className = this.class;\n this.element.style.cssText = \"position: absolute; z-index: 50; pointer-events: none;\";\n if (this.color) {\n this.element.style.backgroundColor = this.color;\n }\n }\n this.element.classList.toggle(\"prosemirror-dropcursor-block\", isBlock);\n this.element.classList.toggle(\"prosemirror-dropcursor-inline\", !isBlock);\n let parentLeft, parentTop;\n if (!parent || parent == document.body && getComputedStyle(parent).position == \"static\") {\n parentLeft = -pageXOffset;\n parentTop = -pageYOffset;\n }\n else {\n let rect = parent.getBoundingClientRect();\n let parentScaleX = rect.width / parent.offsetWidth, parentScaleY = rect.height / parent.offsetHeight;\n parentLeft = rect.left - parent.scrollLeft * parentScaleX;\n parentTop = rect.top - parent.scrollTop * parentScaleY;\n }\n this.element.style.left = (rect.left - parentLeft) / scaleX + \"px\";\n this.element.style.top = (rect.top - parentTop) / scaleY + \"px\";\n this.element.style.width = (rect.right - rect.left) / scaleX + \"px\";\n this.element.style.height = (rect.bottom - rect.top) / scaleY + \"px\";\n }\n scheduleRemoval(timeout) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => this.setCursor(null), timeout);\n }\n dragover(event) {\n if (!this.editorView.editable)\n return;\n let pos = this.editorView.posAtCoords({ left: event.clientX, top: event.clientY });\n let node = pos && pos.inside >= 0 && this.editorView.state.doc.nodeAt(pos.inside);\n let disableDropCursor = node && node.type.spec.disableDropCursor;\n let disabled = typeof disableDropCursor == \"function\"\n ? disableDropCursor(this.editorView, pos, event)\n : disableDropCursor;\n if (pos && !disabled) {\n let target = pos.pos;\n if (this.editorView.dragging && this.editorView.dragging.slice) {\n let point = (0,prosemirror_transform__WEBPACK_IMPORTED_MODULE_1__.dropPoint)(this.editorView.state.doc, target, this.editorView.dragging.slice);\n if (point != null)\n target = point;\n }\n this.setCursor(target);\n this.scheduleRemoval(5000);\n }\n }\n dragend() {\n this.scheduleRemoval(20);\n }\n drop() {\n this.scheduleRemoval(20);\n }\n dragleave(event) {\n if (!this.editorView.dom.contains(event.relatedTarget))\n this.setCursor(null);\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvcHJvc2VtaXJyb3ItZHJvcGN1cnNvci9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUEyQztBQUNPOztBQUVsRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDLGVBQWUscURBQU07QUFDckIsMkJBQTJCO0FBQzNCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQSxxQkFBcUI7QUFDckIsU0FBUztBQUNUO0FBQ0E7QUFDQSxpQ0FBaUMsZUFBZTtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhEQUE4RCxhQUFhLHFCQUFxQjtBQUNoRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELHlDQUF5QztBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGdFQUFTO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFc0IiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXHByb3NlbWlycm9yLWRyb3BjdXJzb3JcXGRpc3RcXGluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsdWdpbiB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcbmltcG9ydCB7IGRyb3BQb2ludCB9IGZyb20gJ3Byb3NlbWlycm9yLXRyYW5zZm9ybSc7XG5cbi8qKlxuQ3JlYXRlIGEgcGx1Z2luIHRoYXQsIHdoZW4gYWRkZWQgdG8gYSBQcm9zZU1pcnJvciBpbnN0YW5jZSxcbmNhdXNlcyBhIGRlY29yYXRpb24gdG8gc2hvdyB1cCBhdCB0aGUgZHJvcCBwb3NpdGlvbiB3aGVuIHNvbWV0aGluZ1xuaXMgZHJhZ2dlZCBvdmVyIHRoZSBlZGl0b3IuXG5cbk5vZGVzIG1heSBhZGQgYSBgZGlzYWJsZURyb3BDdXJzb3JgIHByb3BlcnR5IHRvIHRoZWlyIHNwZWMgdG9cbmNvbnRyb2wgdGhlIHNob3dpbmcgb2YgYSBkcm9wIGN1cnNvciBpbnNpZGUgdGhlbS4gVGhpcyBtYXkgYmUgYVxuYm9vbGVhbiBvciBhIGZ1bmN0aW9uLCB3aGljaCB3aWxsIGJlIGNhbGxlZCB3aXRoIGEgdmlldyBhbmQgYVxucG9zaXRpb24sIGFuZCBzaG91bGQgcmV0dXJuIGEgYm9vbGVhbi5cbiovXG5mdW5jdGlvbiBkcm9wQ3Vyc29yKG9wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiBuZXcgUGx1Z2luKHtcbiAgICAgICAgdmlldyhlZGl0b3JWaWV3KSB7IHJldHVybiBuZXcgRHJvcEN1cnNvclZpZXcoZWRpdG9yVmlldywgb3B0aW9ucyk7IH1cbiAgICB9KTtcbn1cbmNsYXNzIERyb3BDdXJzb3JWaWV3IHtcbiAgICBjb25zdHJ1Y3RvcihlZGl0b3JWaWV3LCBvcHRpb25zKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgdGhpcy5lZGl0b3JWaWV3ID0gZWRpdG9yVmlldztcbiAgICAgICAgdGhpcy5jdXJzb3JQb3MgPSBudWxsO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuICAgICAgICB0aGlzLnRpbWVvdXQgPSAtMTtcbiAgICAgICAgdGhpcy53aWR0aCA9IChfYSA9IG9wdGlvbnMud2lkdGgpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDE7XG4gICAgICAgIHRoaXMuY29sb3IgPSBvcHRpb25zLmNvbG9yID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IChvcHRpb25zLmNvbG9yIHx8IFwiYmxhY2tcIik7XG4gICAgICAgIHRoaXMuY2xhc3MgPSBvcHRpb25zLmNsYXNzO1xuICAgICAgICB0aGlzLmhhbmRsZXJzID0gW1wiZHJhZ292ZXJcIiwgXCJkcmFnZW5kXCIsIFwiZHJvcFwiLCBcImRyYWdsZWF2ZVwiXS5tYXAobmFtZSA9PiB7XG4gICAgICAgICAgICBsZXQgaGFuZGxlciA9IChlKSA9PiB7IHRoaXNbbmFtZV0oZSk7IH07XG4gICAgICAgICAgICBlZGl0b3JWaWV3LmRvbS5hZGRFdmVudExpc3RlbmVyKG5hbWUsIGhhbmRsZXIpO1xuICAgICAgICAgICAgcmV0dXJuIHsgbmFtZSwgaGFuZGxlciB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgZGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVycy5mb3JFYWNoKCh7IG5hbWUsIGhhbmRsZXIgfSkgPT4gdGhpcy5lZGl0b3JWaWV3LmRvbS5yZW1vdmVFdmVudExpc3RlbmVyKG5hbWUsIGhhbmRsZXIpKTtcbiAgICB9XG4gICAgdXBkYXRlKGVkaXRvclZpZXcsIHByZXZTdGF0ZSkge1xuICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3MgIT0gbnVsbCAmJiBwcmV2U3RhdGUuZG9jICE9IGVkaXRvclZpZXcuc3RhdGUuZG9jKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3MgPiBlZGl0b3JWaWV3LnN0YXRlLmRvYy5jb250ZW50LnNpemUpXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDdXJzb3IobnVsbCk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVPdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2V0Q3Vyc29yKHBvcykge1xuICAgICAgICBpZiAocG9zID09IHRoaXMuY3Vyc29yUG9zKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB0aGlzLmN1cnNvclBvcyA9IHBvcztcbiAgICAgICAgaWYgKHBvcyA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3ZlcmxheSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHVwZGF0ZU92ZXJsYXkoKSB7XG4gICAgICAgIGxldCAkcG9zID0gdGhpcy5lZGl0b3JWaWV3LnN0YXRlLmRvYy5yZXNvbHZlKHRoaXMuY3Vyc29yUG9zKTtcbiAgICAgICAgbGV0IGlzQmxvY2sgPSAhJHBvcy5wYXJlbnQuaW5saW5lQ29udGVudCwgcmVjdDtcbiAgICAgICAgbGV0IGVkaXRvckRPTSA9IHRoaXMuZWRpdG9yVmlldy5kb20sIGVkaXRvclJlY3QgPSBlZGl0b3JET00uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGxldCBzY2FsZVggPSBlZGl0b3JSZWN0LndpZHRoIC8gZWRpdG9yRE9NLm9mZnNldFdpZHRoLCBzY2FsZVkgPSBlZGl0b3JSZWN0LmhlaWdodCAvIGVkaXRvckRPTS5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIGlmIChpc0Jsb2NrKSB7XG4gICAgICAgICAgICBsZXQgYmVmb3JlID0gJHBvcy5ub2RlQmVmb3JlLCBhZnRlciA9ICRwb3Mubm9kZUFmdGVyO1xuICAgICAgICAgICAgaWYgKGJlZm9yZSB8fCBhZnRlcikge1xuICAgICAgICAgICAgICAgIGxldCBub2RlID0gdGhpcy5lZGl0b3JWaWV3Lm5vZGVET00odGhpcy5jdXJzb3JQb3MgLSAoYmVmb3JlID8gYmVmb3JlLm5vZGVTaXplIDogMCkpO1xuICAgICAgICAgICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBub2RlUmVjdCA9IG5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCB0b3AgPSBiZWZvcmUgPyBub2RlUmVjdC5ib3R0b20gOiBub2RlUmVjdC50b3A7XG4gICAgICAgICAgICAgICAgICAgIGlmIChiZWZvcmUgJiYgYWZ0ZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3AgPSAodG9wICsgdGhpcy5lZGl0b3JWaWV3Lm5vZGVET00odGhpcy5jdXJzb3JQb3MpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCkgLyAyO1xuICAgICAgICAgICAgICAgICAgICBsZXQgaGFsZldpZHRoID0gKHRoaXMud2lkdGggLyAyKSAqIHNjYWxlWTtcbiAgICAgICAgICAgICAgICAgICAgcmVjdCA9IHsgbGVmdDogbm9kZVJlY3QubGVmdCwgcmlnaHQ6IG5vZGVSZWN0LnJpZ2h0LCB0b3A6IHRvcCAtIGhhbGZXaWR0aCwgYm90dG9tOiB0b3AgKyBoYWxmV2lkdGggfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyZWN0KSB7XG4gICAgICAgICAgICBsZXQgY29vcmRzID0gdGhpcy5lZGl0b3JWaWV3LmNvb3Jkc0F0UG9zKHRoaXMuY3Vyc29yUG9zKTtcbiAgICAgICAgICAgIGxldCBoYWxmV2lkdGggPSAodGhpcy53aWR0aCAvIDIpICogc2NhbGVYO1xuICAgICAgICAgICAgcmVjdCA9IHsgbGVmdDogY29vcmRzLmxlZnQgLSBoYWxmV2lkdGgsIHJpZ2h0OiBjb29yZHMubGVmdCArIGhhbGZXaWR0aCwgdG9wOiBjb29yZHMudG9wLCBib3R0b206IGNvb3Jkcy5ib3R0b20gfTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcGFyZW50ID0gdGhpcy5lZGl0b3JWaWV3LmRvbS5vZmZzZXRQYXJlbnQ7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQgPSBwYXJlbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5jbGFzcylcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NOYW1lID0gdGhpcy5jbGFzcztcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5jc3NUZXh0ID0gXCJwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDUwOyBwb2ludGVyLWV2ZW50czogbm9uZTtcIjtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXCJwcm9zZW1pcnJvci1kcm9wY3Vyc29yLWJsb2NrXCIsIGlzQmxvY2spO1xuICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShcInByb3NlbWlycm9yLWRyb3BjdXJzb3ItaW5saW5lXCIsICFpc0Jsb2NrKTtcbiAgICAgICAgbGV0IHBhcmVudExlZnQsIHBhcmVudFRvcDtcbiAgICAgICAgaWYgKCFwYXJlbnQgfHwgcGFyZW50ID09IGRvY3VtZW50LmJvZHkgJiYgZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpLnBvc2l0aW9uID09IFwic3RhdGljXCIpIHtcbiAgICAgICAgICAgIHBhcmVudExlZnQgPSAtcGFnZVhPZmZzZXQ7XG4gICAgICAgICAgICBwYXJlbnRUb3AgPSAtcGFnZVlPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgcmVjdCA9IHBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGxldCBwYXJlbnRTY2FsZVggPSByZWN0LndpZHRoIC8gcGFyZW50Lm9mZnNldFdpZHRoLCBwYXJlbnRTY2FsZVkgPSByZWN0LmhlaWdodCAvIHBhcmVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICBwYXJlbnRMZWZ0ID0gcmVjdC5sZWZ0IC0gcGFyZW50LnNjcm9sbExlZnQgKiBwYXJlbnRTY2FsZVg7XG4gICAgICAgICAgICBwYXJlbnRUb3AgPSByZWN0LnRvcCAtIHBhcmVudC5zY3JvbGxUb3AgKiBwYXJlbnRTY2FsZVk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLmxlZnQgPSAocmVjdC5sZWZ0IC0gcGFyZW50TGVmdCkgLyBzY2FsZVggKyBcInB4XCI7XG4gICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS50b3AgPSAocmVjdC50b3AgLSBwYXJlbnRUb3ApIC8gc2NhbGVZICsgXCJweFwiO1xuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUud2lkdGggPSAocmVjdC5yaWdodCAtIHJlY3QubGVmdCkgLyBzY2FsZVggKyBcInB4XCI7XG4gICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5oZWlnaHQgPSAocmVjdC5ib3R0b20gLSByZWN0LnRvcCkgLyBzY2FsZVkgKyBcInB4XCI7XG4gICAgfVxuICAgIHNjaGVkdWxlUmVtb3ZhbCh0aW1lb3V0KSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0Q3Vyc29yKG51bGwpLCB0aW1lb3V0KTtcbiAgICB9XG4gICAgZHJhZ292ZXIoZXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRvclZpZXcuZWRpdGFibGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGxldCBwb3MgPSB0aGlzLmVkaXRvclZpZXcucG9zQXRDb29yZHMoeyBsZWZ0OiBldmVudC5jbGllbnRYLCB0b3A6IGV2ZW50LmNsaWVudFkgfSk7XG4gICAgICAgIGxldCBub2RlID0gcG9zICYmIHBvcy5pbnNpZGUgPj0gMCAmJiB0aGlzLmVkaXRvclZpZXcuc3RhdGUuZG9jLm5vZGVBdChwb3MuaW5zaWRlKTtcbiAgICAgICAgbGV0IGRpc2FibGVEcm9wQ3Vyc29yID0gbm9kZSAmJiBub2RlLnR5cGUuc3BlYy5kaXNhYmxlRHJvcEN1cnNvcjtcbiAgICAgICAgbGV0IGRpc2FibGVkID0gdHlwZW9mIGRpc2FibGVEcm9wQ3Vyc29yID09IFwiZnVuY3Rpb25cIlxuICAgICAgICAgICAgPyBkaXNhYmxlRHJvcEN1cnNvcih0aGlzLmVkaXRvclZpZXcsIHBvcywgZXZlbnQpXG4gICAgICAgICAgICA6IGRpc2FibGVEcm9wQ3Vyc29yO1xuICAgICAgICBpZiAocG9zICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgICAgbGV0IHRhcmdldCA9IHBvcy5wb3M7XG4gICAgICAgICAgICBpZiAodGhpcy5lZGl0b3JWaWV3LmRyYWdnaW5nICYmIHRoaXMuZWRpdG9yVmlldy5kcmFnZ2luZy5zbGljZSkge1xuICAgICAgICAgICAgICAgIGxldCBwb2ludCA9IGRyb3BQb2ludCh0aGlzLmVkaXRvclZpZXcuc3RhdGUuZG9jLCB0YXJnZXQsIHRoaXMuZWRpdG9yVmlldy5kcmFnZ2luZy5zbGljZSk7XG4gICAgICAgICAgICAgICAgaWYgKHBvaW50ICE9IG51bGwpXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldCA9IHBvaW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZXRDdXJzb3IodGFyZ2V0KTtcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVSZW1vdmFsKDUwMDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRyYWdlbmQoKSB7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVSZW1vdmFsKDIwKTtcbiAgICB9XG4gICAgZHJvcCgpIHtcbiAgICAgICAgdGhpcy5zY2hlZHVsZVJlbW92YWwoMjApO1xuICAgIH1cbiAgICBkcmFnbGVhdmUoZXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRvclZpZXcuZG9tLmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpKVxuICAgICAgICAgICAgdGhpcy5zZXRDdXJzb3IobnVsbCk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBkcm9wQ3Vyc29yIH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/prosemirror-dropcursor/dist/index.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/prosemirror-gapcursor.js b/.next/server/vendor-chunks/prosemirror-gapcursor.js deleted file mode 100644 index 03e2b4e..0000000 --- a/.next/server/vendor-chunks/prosemirror-gapcursor.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/prosemirror-gapcursor"; -exports.ids = ["vendor-chunks/prosemirror-gapcursor"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/prosemirror-gapcursor/dist/index.js": -/*!**********************************************************!*\ - !*** ./node_modules/prosemirror-gapcursor/dist/index.js ***! - \**********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GapCursor: () => (/* binding */ GapCursor),\n/* harmony export */ gapCursor: () => (/* binding */ gapCursor)\n/* harmony export */ });\n/* harmony import */ var prosemirror_keymap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prosemirror-keymap */ \"(ssr)/./node_modules/prosemirror-keymap/dist/index.js\");\n/* harmony import */ var prosemirror_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-state */ \"(ssr)/./node_modules/prosemirror-state/dist/index.js\");\n/* harmony import */ var prosemirror_model__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prosemirror-model */ \"(ssr)/./node_modules/prosemirror-model/dist/index.js\");\n/* harmony import */ var prosemirror_view__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prosemirror-view */ \"(ssr)/./node_modules/prosemirror-view/dist/index.js\");\n\n\n\n\n\n/**\nGap cursor selections are represented using this class. Its\n`$anchor` and `$head` properties both point at the cursor position.\n*/\nclass GapCursor extends prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.Selection {\n /**\n Create a gap cursor.\n */\n constructor($pos) {\n super($pos, $pos);\n }\n map(doc, mapping) {\n let $pos = doc.resolve(mapping.map(this.head));\n return GapCursor.valid($pos) ? new GapCursor($pos) : prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.Selection.near($pos);\n }\n content() { return prosemirror_model__WEBPACK_IMPORTED_MODULE_1__.Slice.empty; }\n eq(other) {\n return other instanceof GapCursor && other.head == this.head;\n }\n toJSON() {\n return { type: \"gapcursor\", pos: this.head };\n }\n /**\n @internal\n */\n static fromJSON(doc, json) {\n if (typeof json.pos != \"number\")\n throw new RangeError(\"Invalid input for GapCursor.fromJSON\");\n return new GapCursor(doc.resolve(json.pos));\n }\n /**\n @internal\n */\n getBookmark() { return new GapBookmark(this.anchor); }\n /**\n @internal\n */\n static valid($pos) {\n let parent = $pos.parent;\n if (parent.isTextblock || !closedBefore($pos) || !closedAfter($pos))\n return false;\n let override = parent.type.spec.allowGapCursor;\n if (override != null)\n return override;\n let deflt = parent.contentMatchAt($pos.index()).defaultType;\n return deflt && deflt.isTextblock;\n }\n /**\n @internal\n */\n static findGapCursorFrom($pos, dir, mustMove = false) {\n search: for (;;) {\n if (!mustMove && GapCursor.valid($pos))\n return $pos;\n let pos = $pos.pos, next = null;\n // Scan up from this position\n for (let d = $pos.depth;; d--) {\n let parent = $pos.node(d);\n if (dir > 0 ? $pos.indexAfter(d) < parent.childCount : $pos.index(d) > 0) {\n next = parent.child(dir > 0 ? $pos.indexAfter(d) : $pos.index(d) - 1);\n break;\n }\n else if (d == 0) {\n return null;\n }\n pos += dir;\n let $cur = $pos.doc.resolve(pos);\n if (GapCursor.valid($cur))\n return $cur;\n }\n // And then down into the next node\n for (;;) {\n let inside = dir > 0 ? next.firstChild : next.lastChild;\n if (!inside) {\n if (next.isAtom && !next.isText && !prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.NodeSelection.isSelectable(next)) {\n $pos = $pos.doc.resolve(pos + next.nodeSize * dir);\n mustMove = false;\n continue search;\n }\n break;\n }\n next = inside;\n pos += dir;\n let $cur = $pos.doc.resolve(pos);\n if (GapCursor.valid($cur))\n return $cur;\n }\n return null;\n }\n }\n}\nGapCursor.prototype.visible = false;\nGapCursor.findFrom = GapCursor.findGapCursorFrom;\nprosemirror_state__WEBPACK_IMPORTED_MODULE_0__.Selection.jsonID(\"gapcursor\", GapCursor);\nclass GapBookmark {\n constructor(pos) {\n this.pos = pos;\n }\n map(mapping) {\n return new GapBookmark(mapping.map(this.pos));\n }\n resolve(doc) {\n let $pos = doc.resolve(this.pos);\n return GapCursor.valid($pos) ? new GapCursor($pos) : prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.Selection.near($pos);\n }\n}\nfunction needsGap(type) {\n return type.isAtom || type.spec.isolating || type.spec.createGapCursor;\n}\nfunction closedBefore($pos) {\n for (let d = $pos.depth; d >= 0; d--) {\n let index = $pos.index(d), parent = $pos.node(d);\n // At the start of this parent, look at next one\n if (index == 0) {\n if (parent.type.spec.isolating)\n return true;\n continue;\n }\n // See if the node before (or its first ancestor) is closed\n for (let before = parent.child(index - 1);; before = before.lastChild) {\n if ((before.childCount == 0 && !before.inlineContent) || needsGap(before.type))\n return true;\n if (before.inlineContent)\n return false;\n }\n }\n // Hit start of document\n return true;\n}\nfunction closedAfter($pos) {\n for (let d = $pos.depth; d >= 0; d--) {\n let index = $pos.indexAfter(d), parent = $pos.node(d);\n if (index == parent.childCount) {\n if (parent.type.spec.isolating)\n return true;\n continue;\n }\n for (let after = parent.child(index);; after = after.firstChild) {\n if ((after.childCount == 0 && !after.inlineContent) || needsGap(after.type))\n return true;\n if (after.inlineContent)\n return false;\n }\n }\n return true;\n}\n\n/**\nCreate a gap cursor plugin. When enabled, this will capture clicks\nnear and arrow-key-motion past places that don't have a normally\nselectable position nearby, and create a gap cursor selection for\nthem. The cursor is drawn as an element with class\n`ProseMirror-gapcursor`. You can either include\n`style/gapcursor.css` from the package's directory or add your own\nstyles to make it visible.\n*/\nfunction gapCursor() {\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.Plugin({\n props: {\n decorations: drawGapCursor,\n createSelectionBetween(_view, $anchor, $head) {\n return $anchor.pos == $head.pos && GapCursor.valid($head) ? new GapCursor($head) : null;\n },\n handleClick,\n handleKeyDown,\n handleDOMEvents: { beforeinput: beforeinput }\n }\n });\n}\nconst handleKeyDown = (0,prosemirror_keymap__WEBPACK_IMPORTED_MODULE_2__.keydownHandler)({\n \"ArrowLeft\": arrow(\"horiz\", -1),\n \"ArrowRight\": arrow(\"horiz\", 1),\n \"ArrowUp\": arrow(\"vert\", -1),\n \"ArrowDown\": arrow(\"vert\", 1)\n});\nfunction arrow(axis, dir) {\n const dirStr = axis == \"vert\" ? (dir > 0 ? \"down\" : \"up\") : (dir > 0 ? \"right\" : \"left\");\n return function (state, dispatch, view) {\n let sel = state.selection;\n let $start = dir > 0 ? sel.$to : sel.$from, mustMove = sel.empty;\n if (sel instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.TextSelection) {\n if (!view.endOfTextblock(dirStr) || $start.depth == 0)\n return false;\n mustMove = false;\n $start = state.doc.resolve(dir > 0 ? $start.after() : $start.before());\n }\n let $found = GapCursor.findGapCursorFrom($start, dir, mustMove);\n if (!$found)\n return false;\n if (dispatch)\n dispatch(state.tr.setSelection(new GapCursor($found)));\n return true;\n };\n}\nfunction handleClick(view, pos, event) {\n if (!view || !view.editable)\n return false;\n let $pos = view.state.doc.resolve(pos);\n if (!GapCursor.valid($pos))\n return false;\n let clickPos = view.posAtCoords({ left: event.clientX, top: event.clientY });\n if (clickPos && clickPos.inside > -1 && prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.NodeSelection.isSelectable(view.state.doc.nodeAt(clickPos.inside)))\n return false;\n view.dispatch(view.state.tr.setSelection(new GapCursor($pos)));\n return true;\n}\n// This is a hack that, when a composition starts while a gap cursor\n// is active, quickly creates an inline context for the composition to\n// happen in, to avoid it being aborted by the DOM selection being\n// moved into a valid position.\nfunction beforeinput(view, event) {\n if (event.inputType != \"insertCompositionText\" || !(view.state.selection instanceof GapCursor))\n return false;\n let { $from } = view.state.selection;\n let insert = $from.parent.contentMatchAt($from.index()).findWrapping(view.state.schema.nodes.text);\n if (!insert)\n return false;\n let frag = prosemirror_model__WEBPACK_IMPORTED_MODULE_1__.Fragment.empty;\n for (let i = insert.length - 1; i >= 0; i--)\n frag = prosemirror_model__WEBPACK_IMPORTED_MODULE_1__.Fragment.from(insert[i].createAndFill(null, frag));\n let tr = view.state.tr.replace($from.pos, $from.pos, new prosemirror_model__WEBPACK_IMPORTED_MODULE_1__.Slice(frag, 0, 0));\n tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_0__.TextSelection.near(tr.doc.resolve($from.pos + 1)));\n view.dispatch(tr);\n return false;\n}\nfunction drawGapCursor(state) {\n if (!(state.selection instanceof GapCursor))\n return null;\n let node = document.createElement(\"div\");\n node.className = \"ProseMirror-gapcursor\";\n return prosemirror_view__WEBPACK_IMPORTED_MODULE_3__.DecorationSet.create(state.doc, [prosemirror_view__WEBPACK_IMPORTED_MODULE_3__.Decoration.widget(state.selection.head, node, { key: \"gapcursor\" })]);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvcHJvc2VtaXJyb3ItZ2FwY3Vyc29yL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQW9EO0FBQ2dDO0FBQ2hDO0FBQ1M7O0FBRTdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHdEQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsd0RBQVM7QUFDdEU7QUFDQSxnQkFBZ0IsT0FBTyxvREFBSztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQSx3REFBd0QsNERBQWE7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0RBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsd0RBQVM7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLFFBQVE7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixRQUFRO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxxREFBTTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0EsS0FBSztBQUNMO0FBQ0Esc0JBQXNCLGtFQUFjO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsNERBQWE7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MseUNBQXlDO0FBQy9FLDRDQUE0Qyw0REFBYTtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxRQUFRO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLGVBQWUsdURBQVE7QUFDdkIsb0NBQW9DLFFBQVE7QUFDNUMsZUFBZSx1REFBUTtBQUN2Qiw2REFBNkQsb0RBQUs7QUFDbEUsb0JBQW9CLDREQUFhO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLDJEQUFhLG9CQUFvQix3REFBVSxzQ0FBc0Msa0JBQWtCO0FBQzlHOztBQUVnQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xccHJvc2VtaXJyb3ItZ2FwY3Vyc29yXFxkaXN0XFxpbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBrZXlkb3duSGFuZGxlciB9IGZyb20gJ3Byb3NlbWlycm9yLWtleW1hcCc7XG5pbXBvcnQgeyBTZWxlY3Rpb24sIE5vZGVTZWxlY3Rpb24sIFRleHRTZWxlY3Rpb24sIFBsdWdpbiB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcbmltcG9ydCB7IFNsaWNlLCBGcmFnbWVudCB9IGZyb20gJ3Byb3NlbWlycm9yLW1vZGVsJztcbmltcG9ydCB7IERlY29yYXRpb25TZXQsIERlY29yYXRpb24gfSBmcm9tICdwcm9zZW1pcnJvci12aWV3JztcblxuLyoqXG5HYXAgY3Vyc29yIHNlbGVjdGlvbnMgYXJlIHJlcHJlc2VudGVkIHVzaW5nIHRoaXMgY2xhc3MuIEl0c1xuYCRhbmNob3JgIGFuZCBgJGhlYWRgIHByb3BlcnRpZXMgYm90aCBwb2ludCBhdCB0aGUgY3Vyc29yIHBvc2l0aW9uLlxuKi9cbmNsYXNzIEdhcEN1cnNvciBleHRlbmRzIFNlbGVjdGlvbiB7XG4gICAgLyoqXG4gICAgQ3JlYXRlIGEgZ2FwIGN1cnNvci5cbiAgICAqL1xuICAgIGNvbnN0cnVjdG9yKCRwb3MpIHtcbiAgICAgICAgc3VwZXIoJHBvcywgJHBvcyk7XG4gICAgfVxuICAgIG1hcChkb2MsIG1hcHBpbmcpIHtcbiAgICAgICAgbGV0ICRwb3MgPSBkb2MucmVzb2x2ZShtYXBwaW5nLm1hcCh0aGlzLmhlYWQpKTtcbiAgICAgICAgcmV0dXJuIEdhcEN1cnNvci52YWxpZCgkcG9zKSA/IG5ldyBHYXBDdXJzb3IoJHBvcykgOiBTZWxlY3Rpb24ubmVhcigkcG9zKTtcbiAgICB9XG4gICAgY29udGVudCgpIHsgcmV0dXJuIFNsaWNlLmVtcHR5OyB9XG4gICAgZXEob3RoZXIpIHtcbiAgICAgICAgcmV0dXJuIG90aGVyIGluc3RhbmNlb2YgR2FwQ3Vyc29yICYmIG90aGVyLmhlYWQgPT0gdGhpcy5oZWFkO1xuICAgIH1cbiAgICB0b0pTT04oKSB7XG4gICAgICAgIHJldHVybiB7IHR5cGU6IFwiZ2FwY3Vyc29yXCIsIHBvczogdGhpcy5oZWFkIH07XG4gICAgfVxuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgc3RhdGljIGZyb21KU09OKGRvYywganNvbikge1xuICAgICAgICBpZiAodHlwZW9mIGpzb24ucG9zICE9IFwibnVtYmVyXCIpXG4gICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkludmFsaWQgaW5wdXQgZm9yIEdhcEN1cnNvci5mcm9tSlNPTlwiKTtcbiAgICAgICAgcmV0dXJuIG5ldyBHYXBDdXJzb3IoZG9jLnJlc29sdmUoanNvbi5wb3MpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICBnZXRCb29rbWFyaygpIHsgcmV0dXJuIG5ldyBHYXBCb29rbWFyayh0aGlzLmFuY2hvcik7IH1cbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIHN0YXRpYyB2YWxpZCgkcG9zKSB7XG4gICAgICAgIGxldCBwYXJlbnQgPSAkcG9zLnBhcmVudDtcbiAgICAgICAgaWYgKHBhcmVudC5pc1RleHRibG9jayB8fCAhY2xvc2VkQmVmb3JlKCRwb3MpIHx8ICFjbG9zZWRBZnRlcigkcG9zKSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgbGV0IG92ZXJyaWRlID0gcGFyZW50LnR5cGUuc3BlYy5hbGxvd0dhcEN1cnNvcjtcbiAgICAgICAgaWYgKG92ZXJyaWRlICE9IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gb3ZlcnJpZGU7XG4gICAgICAgIGxldCBkZWZsdCA9IHBhcmVudC5jb250ZW50TWF0Y2hBdCgkcG9zLmluZGV4KCkpLmRlZmF1bHRUeXBlO1xuICAgICAgICByZXR1cm4gZGVmbHQgJiYgZGVmbHQuaXNUZXh0YmxvY2s7XG4gICAgfVxuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgc3RhdGljIGZpbmRHYXBDdXJzb3JGcm9tKCRwb3MsIGRpciwgbXVzdE1vdmUgPSBmYWxzZSkge1xuICAgICAgICBzZWFyY2g6IGZvciAoOzspIHtcbiAgICAgICAgICAgIGlmICghbXVzdE1vdmUgJiYgR2FwQ3Vyc29yLnZhbGlkKCRwb3MpKVxuICAgICAgICAgICAgICAgIHJldHVybiAkcG9zO1xuICAgICAgICAgICAgbGV0IHBvcyA9ICRwb3MucG9zLCBuZXh0ID0gbnVsbDtcbiAgICAgICAgICAgIC8vIFNjYW4gdXAgZnJvbSB0aGlzIHBvc2l0aW9uXG4gICAgICAgICAgICBmb3IgKGxldCBkID0gJHBvcy5kZXB0aDs7IGQtLSkge1xuICAgICAgICAgICAgICAgIGxldCBwYXJlbnQgPSAkcG9zLm5vZGUoZCk7XG4gICAgICAgICAgICAgICAgaWYgKGRpciA+IDAgPyAkcG9zLmluZGV4QWZ0ZXIoZCkgPCBwYXJlbnQuY2hpbGRDb3VudCA6ICRwb3MuaW5kZXgoZCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG5leHQgPSBwYXJlbnQuY2hpbGQoZGlyID4gMCA/ICRwb3MuaW5kZXhBZnRlcihkKSA6ICRwb3MuaW5kZXgoZCkgLSAxKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGQgPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcG9zICs9IGRpcjtcbiAgICAgICAgICAgICAgICBsZXQgJGN1ciA9ICRwb3MuZG9jLnJlc29sdmUocG9zKTtcbiAgICAgICAgICAgICAgICBpZiAoR2FwQ3Vyc29yLnZhbGlkKCRjdXIpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJGN1cjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEFuZCB0aGVuIGRvd24gaW50byB0aGUgbmV4dCBub2RlXG4gICAgICAgICAgICBmb3IgKDs7KSB7XG4gICAgICAgICAgICAgICAgbGV0IGluc2lkZSA9IGRpciA+IDAgPyBuZXh0LmZpcnN0Q2hpbGQgOiBuZXh0Lmxhc3RDaGlsZDtcbiAgICAgICAgICAgICAgICBpZiAoIWluc2lkZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV4dC5pc0F0b20gJiYgIW5leHQuaXNUZXh0ICYmICFOb2RlU2VsZWN0aW9uLmlzU2VsZWN0YWJsZShuZXh0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJHBvcyA9ICRwb3MuZG9jLnJlc29sdmUocG9zICsgbmV4dC5ub2RlU2l6ZSAqIGRpcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtdXN0TW92ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUgc2VhcmNoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBuZXh0ID0gaW5zaWRlO1xuICAgICAgICAgICAgICAgIHBvcyArPSBkaXI7XG4gICAgICAgICAgICAgICAgbGV0ICRjdXIgPSAkcG9zLmRvYy5yZXNvbHZlKHBvcyk7XG4gICAgICAgICAgICAgICAgaWYgKEdhcEN1cnNvci52YWxpZCgkY3VyKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRjdXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbkdhcEN1cnNvci5wcm90b3R5cGUudmlzaWJsZSA9IGZhbHNlO1xuR2FwQ3Vyc29yLmZpbmRGcm9tID0gR2FwQ3Vyc29yLmZpbmRHYXBDdXJzb3JGcm9tO1xuU2VsZWN0aW9uLmpzb25JRChcImdhcGN1cnNvclwiLCBHYXBDdXJzb3IpO1xuY2xhc3MgR2FwQm9va21hcmsge1xuICAgIGNvbnN0cnVjdG9yKHBvcykge1xuICAgICAgICB0aGlzLnBvcyA9IHBvcztcbiAgICB9XG4gICAgbWFwKG1hcHBpbmcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYXBCb29rbWFyayhtYXBwaW5nLm1hcCh0aGlzLnBvcykpO1xuICAgIH1cbiAgICByZXNvbHZlKGRvYykge1xuICAgICAgICBsZXQgJHBvcyA9IGRvYy5yZXNvbHZlKHRoaXMucG9zKTtcbiAgICAgICAgcmV0dXJuIEdhcEN1cnNvci52YWxpZCgkcG9zKSA/IG5ldyBHYXBDdXJzb3IoJHBvcykgOiBTZWxlY3Rpb24ubmVhcigkcG9zKTtcbiAgICB9XG59XG5mdW5jdGlvbiBuZWVkc0dhcCh0eXBlKSB7XG4gICAgcmV0dXJuIHR5cGUuaXNBdG9tIHx8IHR5cGUuc3BlYy5pc29sYXRpbmcgfHwgdHlwZS5zcGVjLmNyZWF0ZUdhcEN1cnNvcjtcbn1cbmZ1bmN0aW9uIGNsb3NlZEJlZm9yZSgkcG9zKSB7XG4gICAgZm9yIChsZXQgZCA9ICRwb3MuZGVwdGg7IGQgPj0gMDsgZC0tKSB7XG4gICAgICAgIGxldCBpbmRleCA9ICRwb3MuaW5kZXgoZCksIHBhcmVudCA9ICRwb3Mubm9kZShkKTtcbiAgICAgICAgLy8gQXQgdGhlIHN0YXJ0IG9mIHRoaXMgcGFyZW50LCBsb29rIGF0IG5leHQgb25lXG4gICAgICAgIGlmIChpbmRleCA9PSAwKSB7XG4gICAgICAgICAgICBpZiAocGFyZW50LnR5cGUuc3BlYy5pc29sYXRpbmcpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBTZWUgaWYgdGhlIG5vZGUgYmVmb3JlIChvciBpdHMgZmlyc3QgYW5jZXN0b3IpIGlzIGNsb3NlZFxuICAgICAgICBmb3IgKGxldCBiZWZvcmUgPSBwYXJlbnQuY2hpbGQoaW5kZXggLSAxKTs7IGJlZm9yZSA9IGJlZm9yZS5sYXN0Q2hpbGQpIHtcbiAgICAgICAgICAgIGlmICgoYmVmb3JlLmNoaWxkQ291bnQgPT0gMCAmJiAhYmVmb3JlLmlubGluZUNvbnRlbnQpIHx8IG5lZWRzR2FwKGJlZm9yZS50eXBlKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChiZWZvcmUuaW5saW5lQ29udGVudClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gSGl0IHN0YXJ0IG9mIGRvY3VtZW50XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBjbG9zZWRBZnRlcigkcG9zKSB7XG4gICAgZm9yIChsZXQgZCA9ICRwb3MuZGVwdGg7IGQgPj0gMDsgZC0tKSB7XG4gICAgICAgIGxldCBpbmRleCA9ICRwb3MuaW5kZXhBZnRlcihkKSwgcGFyZW50ID0gJHBvcy5ub2RlKGQpO1xuICAgICAgICBpZiAoaW5kZXggPT0gcGFyZW50LmNoaWxkQ291bnQpIHtcbiAgICAgICAgICAgIGlmIChwYXJlbnQudHlwZS5zcGVjLmlzb2xhdGluZylcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGFmdGVyID0gcGFyZW50LmNoaWxkKGluZGV4KTs7IGFmdGVyID0gYWZ0ZXIuZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgaWYgKChhZnRlci5jaGlsZENvdW50ID09IDAgJiYgIWFmdGVyLmlubGluZUNvbnRlbnQpIHx8IG5lZWRzR2FwKGFmdGVyLnR5cGUpKVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgaWYgKGFmdGVyLmlubGluZUNvbnRlbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuXG4vKipcbkNyZWF0ZSBhIGdhcCBjdXJzb3IgcGx1Z2luLiBXaGVuIGVuYWJsZWQsIHRoaXMgd2lsbCBjYXB0dXJlIGNsaWNrc1xubmVhciBhbmQgYXJyb3cta2V5LW1vdGlvbiBwYXN0IHBsYWNlcyB0aGF0IGRvbid0IGhhdmUgYSBub3JtYWxseVxuc2VsZWN0YWJsZSBwb3NpdGlvbiBuZWFyYnksIGFuZCBjcmVhdGUgYSBnYXAgY3Vyc29yIHNlbGVjdGlvbiBmb3JcbnRoZW0uIFRoZSBjdXJzb3IgaXMgZHJhd24gYXMgYW4gZWxlbWVudCB3aXRoIGNsYXNzXG5gUHJvc2VNaXJyb3ItZ2FwY3Vyc29yYC4gWW91IGNhbiBlaXRoZXIgaW5jbHVkZVxuYHN0eWxlL2dhcGN1cnNvci5jc3NgIGZyb20gdGhlIHBhY2thZ2UncyBkaXJlY3Rvcnkgb3IgYWRkIHlvdXIgb3duXG5zdHlsZXMgdG8gbWFrZSBpdCB2aXNpYmxlLlxuKi9cbmZ1bmN0aW9uIGdhcEN1cnNvcigpIHtcbiAgICByZXR1cm4gbmV3IFBsdWdpbih7XG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICBkZWNvcmF0aW9uczogZHJhd0dhcEN1cnNvcixcbiAgICAgICAgICAgIGNyZWF0ZVNlbGVjdGlvbkJldHdlZW4oX3ZpZXcsICRhbmNob3IsICRoZWFkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICRhbmNob3IucG9zID09ICRoZWFkLnBvcyAmJiBHYXBDdXJzb3IudmFsaWQoJGhlYWQpID8gbmV3IEdhcEN1cnNvcigkaGVhZCkgOiBudWxsO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGhhbmRsZUNsaWNrLFxuICAgICAgICAgICAgaGFuZGxlS2V5RG93bixcbiAgICAgICAgICAgIGhhbmRsZURPTUV2ZW50czogeyBiZWZvcmVpbnB1dDogYmVmb3JlaW5wdXQgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5jb25zdCBoYW5kbGVLZXlEb3duID0ga2V5ZG93bkhhbmRsZXIoe1xuICAgIFwiQXJyb3dMZWZ0XCI6IGFycm93KFwiaG9yaXpcIiwgLTEpLFxuICAgIFwiQXJyb3dSaWdodFwiOiBhcnJvdyhcImhvcml6XCIsIDEpLFxuICAgIFwiQXJyb3dVcFwiOiBhcnJvdyhcInZlcnRcIiwgLTEpLFxuICAgIFwiQXJyb3dEb3duXCI6IGFycm93KFwidmVydFwiLCAxKVxufSk7XG5mdW5jdGlvbiBhcnJvdyhheGlzLCBkaXIpIHtcbiAgICBjb25zdCBkaXJTdHIgPSBheGlzID09IFwidmVydFwiID8gKGRpciA+IDAgPyBcImRvd25cIiA6IFwidXBcIikgOiAoZGlyID4gMCA/IFwicmlnaHRcIiA6IFwibGVmdFwiKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHN0YXRlLCBkaXNwYXRjaCwgdmlldykge1xuICAgICAgICBsZXQgc2VsID0gc3RhdGUuc2VsZWN0aW9uO1xuICAgICAgICBsZXQgJHN0YXJ0ID0gZGlyID4gMCA/IHNlbC4kdG8gOiBzZWwuJGZyb20sIG11c3RNb3ZlID0gc2VsLmVtcHR5O1xuICAgICAgICBpZiAoc2VsIGluc3RhbmNlb2YgVGV4dFNlbGVjdGlvbikge1xuICAgICAgICAgICAgaWYgKCF2aWV3LmVuZE9mVGV4dGJsb2NrKGRpclN0cikgfHwgJHN0YXJ0LmRlcHRoID09IDApXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgbXVzdE1vdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICRzdGFydCA9IHN0YXRlLmRvYy5yZXNvbHZlKGRpciA+IDAgPyAkc3RhcnQuYWZ0ZXIoKSA6ICRzdGFydC5iZWZvcmUoKSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0ICRmb3VuZCA9IEdhcEN1cnNvci5maW5kR2FwQ3Vyc29yRnJvbSgkc3RhcnQsIGRpciwgbXVzdE1vdmUpO1xuICAgICAgICBpZiAoISRmb3VuZClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKGRpc3BhdGNoKVxuICAgICAgICAgICAgZGlzcGF0Y2goc3RhdGUudHIuc2V0U2VsZWN0aW9uKG5ldyBHYXBDdXJzb3IoJGZvdW5kKSkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xufVxuZnVuY3Rpb24gaGFuZGxlQ2xpY2sodmlldywgcG9zLCBldmVudCkge1xuICAgIGlmICghdmlldyB8fCAhdmlldy5lZGl0YWJsZSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGxldCAkcG9zID0gdmlldy5zdGF0ZS5kb2MucmVzb2x2ZShwb3MpO1xuICAgIGlmICghR2FwQ3Vyc29yLnZhbGlkKCRwb3MpKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgbGV0IGNsaWNrUG9zID0gdmlldy5wb3NBdENvb3Jkcyh7IGxlZnQ6IGV2ZW50LmNsaWVudFgsIHRvcDogZXZlbnQuY2xpZW50WSB9KTtcbiAgICBpZiAoY2xpY2tQb3MgJiYgY2xpY2tQb3MuaW5zaWRlID4gLTEgJiYgTm9kZVNlbGVjdGlvbi5pc1NlbGVjdGFibGUodmlldy5zdGF0ZS5kb2Mubm9kZUF0KGNsaWNrUG9zLmluc2lkZSkpKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgdmlldy5kaXNwYXRjaCh2aWV3LnN0YXRlLnRyLnNldFNlbGVjdGlvbihuZXcgR2FwQ3Vyc29yKCRwb3MpKSk7XG4gICAgcmV0dXJuIHRydWU7XG59XG4vLyBUaGlzIGlzIGEgaGFjayB0aGF0LCB3aGVuIGEgY29tcG9zaXRpb24gc3RhcnRzIHdoaWxlIGEgZ2FwIGN1cnNvclxuLy8gaXMgYWN0aXZlLCBxdWlja2x5IGNyZWF0ZXMgYW4gaW5saW5lIGNvbnRleHQgZm9yIHRoZSBjb21wb3NpdGlvbiB0b1xuLy8gaGFwcGVuIGluLCB0byBhdm9pZCBpdCBiZWluZyBhYm9ydGVkIGJ5IHRoZSBET00gc2VsZWN0aW9uIGJlaW5nXG4vLyBtb3ZlZCBpbnRvIGEgdmFsaWQgcG9zaXRpb24uXG5mdW5jdGlvbiBiZWZvcmVpbnB1dCh2aWV3LCBldmVudCkge1xuICAgIGlmIChldmVudC5pbnB1dFR5cGUgIT0gXCJpbnNlcnRDb21wb3NpdGlvblRleHRcIiB8fCAhKHZpZXcuc3RhdGUuc2VsZWN0aW9uIGluc3RhbmNlb2YgR2FwQ3Vyc29yKSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGxldCB7ICRmcm9tIH0gPSB2aWV3LnN0YXRlLnNlbGVjdGlvbjtcbiAgICBsZXQgaW5zZXJ0ID0gJGZyb20ucGFyZW50LmNvbnRlbnRNYXRjaEF0KCRmcm9tLmluZGV4KCkpLmZpbmRXcmFwcGluZyh2aWV3LnN0YXRlLnNjaGVtYS5ub2Rlcy50ZXh0KTtcbiAgICBpZiAoIWluc2VydClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBmcmFnID0gRnJhZ21lbnQuZW1wdHk7XG4gICAgZm9yIChsZXQgaSA9IGluc2VydC5sZW5ndGggLSAxOyBpID49IDA7IGktLSlcbiAgICAgICAgZnJhZyA9IEZyYWdtZW50LmZyb20oaW5zZXJ0W2ldLmNyZWF0ZUFuZEZpbGwobnVsbCwgZnJhZykpO1xuICAgIGxldCB0ciA9IHZpZXcuc3RhdGUudHIucmVwbGFjZSgkZnJvbS5wb3MsICRmcm9tLnBvcywgbmV3IFNsaWNlKGZyYWcsIDAsIDApKTtcbiAgICB0ci5zZXRTZWxlY3Rpb24oVGV4dFNlbGVjdGlvbi5uZWFyKHRyLmRvYy5yZXNvbHZlKCRmcm9tLnBvcyArIDEpKSk7XG4gICAgdmlldy5kaXNwYXRjaCh0cik7XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZHJhd0dhcEN1cnNvcihzdGF0ZSkge1xuICAgIGlmICghKHN0YXRlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIEdhcEN1cnNvcikpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGxldCBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICBub2RlLmNsYXNzTmFtZSA9IFwiUHJvc2VNaXJyb3ItZ2FwY3Vyc29yXCI7XG4gICAgcmV0dXJuIERlY29yYXRpb25TZXQuY3JlYXRlKHN0YXRlLmRvYywgW0RlY29yYXRpb24ud2lkZ2V0KHN0YXRlLnNlbGVjdGlvbi5oZWFkLCBub2RlLCB7IGtleTogXCJnYXBjdXJzb3JcIiB9KV0pO1xufVxuXG5leHBvcnQgeyBHYXBDdXJzb3IsIGdhcEN1cnNvciB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/prosemirror-gapcursor/dist/index.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/prosemirror-history.js b/.next/server/vendor-chunks/prosemirror-history.js deleted file mode 100644 index 8de0c3e..0000000 --- a/.next/server/vendor-chunks/prosemirror-history.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/prosemirror-history"; -exports.ids = ["vendor-chunks/prosemirror-history"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/prosemirror-history/dist/index.js": -/*!********************************************************!*\ - !*** ./node_modules/prosemirror-history/dist/index.js ***! - \********************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ closeHistory: () => (/* binding */ closeHistory),\n/* harmony export */ history: () => (/* binding */ history),\n/* harmony export */ isHistoryTransaction: () => (/* binding */ isHistoryTransaction),\n/* harmony export */ redo: () => (/* binding */ redo),\n/* harmony export */ redoDepth: () => (/* binding */ redoDepth),\n/* harmony export */ redoNoScroll: () => (/* binding */ redoNoScroll),\n/* harmony export */ undo: () => (/* binding */ undo),\n/* harmony export */ undoDepth: () => (/* binding */ undoDepth),\n/* harmony export */ undoNoScroll: () => (/* binding */ undoNoScroll)\n/* harmony export */ });\n/* harmony import */ var rope_sequence__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rope-sequence */ \"(ssr)/./node_modules/rope-sequence/dist/index.js\");\n/* harmony import */ var prosemirror_transform__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prosemirror-transform */ \"(ssr)/./node_modules/prosemirror-transform/dist/index.js\");\n/* harmony import */ var prosemirror_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prosemirror-state */ \"(ssr)/./node_modules/prosemirror-state/dist/index.js\");\n\n\n\n\n// ProseMirror's history isn't simply a way to roll back to a previous\n// state, because ProseMirror supports applying changes without adding\n// them to the history (for example during collaboration).\n//\n// To this end, each 'Branch' (one for the undo history and one for\n// the redo history) keeps an array of 'Items', which can optionally\n// hold a step (an actual undoable change), and always hold a position\n// map (which is needed to move changes below them to apply to the\n// current document).\n//\n// An item that has both a step and a selection bookmark is the start\n// of an 'event' — a group of changes that will be undone or redone at\n// once. (It stores only the bookmark, since that way we don't have to\n// provide a document until the selection is actually applied, which\n// is useful when compressing.)\n// Used to schedule history compression\nconst max_empty_items = 500;\nclass Branch {\n constructor(items, eventCount) {\n this.items = items;\n this.eventCount = eventCount;\n }\n // Pop the latest event off the branch's history and apply it\n // to a document transform.\n popEvent(state, preserveItems) {\n if (this.eventCount == 0)\n return null;\n let end = this.items.length;\n for (;; end--) {\n let next = this.items.get(end - 1);\n if (next.selection) {\n --end;\n break;\n }\n }\n let remap, mapFrom;\n if (preserveItems) {\n remap = this.remapping(end, this.items.length);\n mapFrom = remap.maps.length;\n }\n let transform = state.tr;\n let selection, remaining;\n let addAfter = [], addBefore = [];\n this.items.forEach((item, i) => {\n if (!item.step) {\n if (!remap) {\n remap = this.remapping(end, i + 1);\n mapFrom = remap.maps.length;\n }\n mapFrom--;\n addBefore.push(item);\n return;\n }\n if (remap) {\n addBefore.push(new Item(item.map));\n let step = item.step.map(remap.slice(mapFrom)), map;\n if (step && transform.maybeStep(step).doc) {\n map = transform.mapping.maps[transform.mapping.maps.length - 1];\n addAfter.push(new Item(map, undefined, undefined, addAfter.length + addBefore.length));\n }\n mapFrom--;\n if (map)\n remap.appendMap(map, mapFrom);\n }\n else {\n transform.maybeStep(item.step);\n }\n if (item.selection) {\n selection = remap ? item.selection.map(remap.slice(mapFrom)) : item.selection;\n remaining = new Branch(this.items.slice(0, end).append(addBefore.reverse().concat(addAfter)), this.eventCount - 1);\n return false;\n }\n }, this.items.length, 0);\n return { remaining: remaining, transform, selection: selection };\n }\n // Create a new branch with the given transform added.\n addTransform(transform, selection, histOptions, preserveItems) {\n let newItems = [], eventCount = this.eventCount;\n let oldItems = this.items, lastItem = !preserveItems && oldItems.length ? oldItems.get(oldItems.length - 1) : null;\n for (let i = 0; i < transform.steps.length; i++) {\n let step = transform.steps[i].invert(transform.docs[i]);\n let item = new Item(transform.mapping.maps[i], step, selection), merged;\n if (merged = lastItem && lastItem.merge(item)) {\n item = merged;\n if (i)\n newItems.pop();\n else\n oldItems = oldItems.slice(0, oldItems.length - 1);\n }\n newItems.push(item);\n if (selection) {\n eventCount++;\n selection = undefined;\n }\n if (!preserveItems)\n lastItem = item;\n }\n let overflow = eventCount - histOptions.depth;\n if (overflow > DEPTH_OVERFLOW) {\n oldItems = cutOffEvents(oldItems, overflow);\n eventCount -= overflow;\n }\n return new Branch(oldItems.append(newItems), eventCount);\n }\n remapping(from, to) {\n let maps = new prosemirror_transform__WEBPACK_IMPORTED_MODULE_1__.Mapping;\n this.items.forEach((item, i) => {\n let mirrorPos = item.mirrorOffset != null && i - item.mirrorOffset >= from\n ? maps.maps.length - item.mirrorOffset : undefined;\n maps.appendMap(item.map, mirrorPos);\n }, from, to);\n return maps;\n }\n addMaps(array) {\n if (this.eventCount == 0)\n return this;\n return new Branch(this.items.append(array.map(map => new Item(map))), this.eventCount);\n }\n // When the collab module receives remote changes, the history has\n // to know about those, so that it can adjust the steps that were\n // rebased on top of the remote changes, and include the position\n // maps for the remote changes in its array of items.\n rebased(rebasedTransform, rebasedCount) {\n if (!this.eventCount)\n return this;\n let rebasedItems = [], start = Math.max(0, this.items.length - rebasedCount);\n let mapping = rebasedTransform.mapping;\n let newUntil = rebasedTransform.steps.length;\n let eventCount = this.eventCount;\n this.items.forEach(item => { if (item.selection)\n eventCount--; }, start);\n let iRebased = rebasedCount;\n this.items.forEach(item => {\n let pos = mapping.getMirror(--iRebased);\n if (pos == null)\n return;\n newUntil = Math.min(newUntil, pos);\n let map = mapping.maps[pos];\n if (item.step) {\n let step = rebasedTransform.steps[pos].invert(rebasedTransform.docs[pos]);\n let selection = item.selection && item.selection.map(mapping.slice(iRebased + 1, pos));\n if (selection)\n eventCount++;\n rebasedItems.push(new Item(map, step, selection));\n }\n else {\n rebasedItems.push(new Item(map));\n }\n }, start);\n let newMaps = [];\n for (let i = rebasedCount; i < newUntil; i++)\n newMaps.push(new Item(mapping.maps[i]));\n let items = this.items.slice(0, start).append(newMaps).append(rebasedItems);\n let branch = new Branch(items, eventCount);\n if (branch.emptyItemCount() > max_empty_items)\n branch = branch.compress(this.items.length - rebasedItems.length);\n return branch;\n }\n emptyItemCount() {\n let count = 0;\n this.items.forEach(item => { if (!item.step)\n count++; });\n return count;\n }\n // Compressing a branch means rewriting it to push the air (map-only\n // items) out. During collaboration, these naturally accumulate\n // because each remote change adds one. The `upto` argument is used\n // to ensure that only the items below a given level are compressed,\n // because `rebased` relies on a clean, untouched set of items in\n // order to associate old items with rebased steps.\n compress(upto = this.items.length) {\n let remap = this.remapping(0, upto), mapFrom = remap.maps.length;\n let items = [], events = 0;\n this.items.forEach((item, i) => {\n if (i >= upto) {\n items.push(item);\n if (item.selection)\n events++;\n }\n else if (item.step) {\n let step = item.step.map(remap.slice(mapFrom)), map = step && step.getMap();\n mapFrom--;\n if (map)\n remap.appendMap(map, mapFrom);\n if (step) {\n let selection = item.selection && item.selection.map(remap.slice(mapFrom));\n if (selection)\n events++;\n let newItem = new Item(map.invert(), step, selection), merged, last = items.length - 1;\n if (merged = items.length && items[last].merge(newItem))\n items[last] = merged;\n else\n items.push(newItem);\n }\n }\n else if (item.map) {\n mapFrom--;\n }\n }, this.items.length, 0);\n return new Branch(rope_sequence__WEBPACK_IMPORTED_MODULE_0__[\"default\"].from(items.reverse()), events);\n }\n}\nBranch.empty = new Branch(rope_sequence__WEBPACK_IMPORTED_MODULE_0__[\"default\"].empty, 0);\nfunction cutOffEvents(items, n) {\n let cutPoint;\n items.forEach((item, i) => {\n if (item.selection && (n-- == 0)) {\n cutPoint = i;\n return false;\n }\n });\n return items.slice(cutPoint);\n}\nclass Item {\n constructor(\n // The (forward) step map for this item.\n map, \n // The inverted step\n step, \n // If this is non-null, this item is the start of a group, and\n // this selection is the starting selection for the group (the one\n // that was active before the first step was applied)\n selection, \n // If this item is the inverse of a previous mapping on the stack,\n // this points at the inverse's offset\n mirrorOffset) {\n this.map = map;\n this.step = step;\n this.selection = selection;\n this.mirrorOffset = mirrorOffset;\n }\n merge(other) {\n if (this.step && other.step && !other.selection) {\n let step = other.step.merge(this.step);\n if (step)\n return new Item(step.getMap().invert(), step, this.selection);\n }\n }\n}\n// The value of the state field that tracks undo/redo history for that\n// state. Will be stored in the plugin state when the history plugin\n// is active.\nclass HistoryState {\n constructor(done, undone, prevRanges, prevTime, prevComposition) {\n this.done = done;\n this.undone = undone;\n this.prevRanges = prevRanges;\n this.prevTime = prevTime;\n this.prevComposition = prevComposition;\n }\n}\nconst DEPTH_OVERFLOW = 20;\n// Record a transformation in undo history.\nfunction applyTransaction(history, state, tr, options) {\n let historyTr = tr.getMeta(historyKey), rebased;\n if (historyTr)\n return historyTr.historyState;\n if (tr.getMeta(closeHistoryKey))\n history = new HistoryState(history.done, history.undone, null, 0, -1);\n let appended = tr.getMeta(\"appendedTransaction\");\n if (tr.steps.length == 0) {\n return history;\n }\n else if (appended && appended.getMeta(historyKey)) {\n if (appended.getMeta(historyKey).redo)\n return new HistoryState(history.done.addTransform(tr, undefined, options, mustPreserveItems(state)), history.undone, rangesFor(tr.mapping.maps), history.prevTime, history.prevComposition);\n else\n return new HistoryState(history.done, history.undone.addTransform(tr, undefined, options, mustPreserveItems(state)), null, history.prevTime, history.prevComposition);\n }\n else if (tr.getMeta(\"addToHistory\") !== false && !(appended && appended.getMeta(\"addToHistory\") === false)) {\n // Group transforms that occur in quick succession into one event.\n let composition = tr.getMeta(\"composition\");\n let newGroup = history.prevTime == 0 ||\n (!appended && history.prevComposition != composition &&\n (history.prevTime < (tr.time || 0) - options.newGroupDelay || !isAdjacentTo(tr, history.prevRanges)));\n let prevRanges = appended ? mapRanges(history.prevRanges, tr.mapping) : rangesFor(tr.mapping.maps);\n return new HistoryState(history.done.addTransform(tr, newGroup ? state.selection.getBookmark() : undefined, options, mustPreserveItems(state)), Branch.empty, prevRanges, tr.time, composition == null ? history.prevComposition : composition);\n }\n else if (rebased = tr.getMeta(\"rebased\")) {\n // Used by the collab module to tell the history that some of its\n // content has been rebased.\n return new HistoryState(history.done.rebased(tr, rebased), history.undone.rebased(tr, rebased), mapRanges(history.prevRanges, tr.mapping), history.prevTime, history.prevComposition);\n }\n else {\n return new HistoryState(history.done.addMaps(tr.mapping.maps), history.undone.addMaps(tr.mapping.maps), mapRanges(history.prevRanges, tr.mapping), history.prevTime, history.prevComposition);\n }\n}\nfunction isAdjacentTo(transform, prevRanges) {\n if (!prevRanges)\n return false;\n if (!transform.docChanged)\n return true;\n let adjacent = false;\n transform.mapping.maps[0].forEach((start, end) => {\n for (let i = 0; i < prevRanges.length; i += 2)\n if (start <= prevRanges[i + 1] && end >= prevRanges[i])\n adjacent = true;\n });\n return adjacent;\n}\nfunction rangesFor(maps) {\n let result = [];\n for (let i = maps.length - 1; i >= 0 && result.length == 0; i--)\n maps[i].forEach((_from, _to, from, to) => result.push(from, to));\n return result;\n}\nfunction mapRanges(ranges, mapping) {\n if (!ranges)\n return null;\n let result = [];\n for (let i = 0; i < ranges.length; i += 2) {\n let from = mapping.map(ranges[i], 1), to = mapping.map(ranges[i + 1], -1);\n if (from <= to)\n result.push(from, to);\n }\n return result;\n}\n// Apply the latest event from one branch to the document and shift the event\n// onto the other branch.\nfunction histTransaction(history, state, redo) {\n let preserveItems = mustPreserveItems(state);\n let histOptions = historyKey.get(state).spec.config;\n let pop = (redo ? history.undone : history.done).popEvent(state, preserveItems);\n if (!pop)\n return null;\n let selection = pop.selection.resolve(pop.transform.doc);\n let added = (redo ? history.done : history.undone).addTransform(pop.transform, state.selection.getBookmark(), histOptions, preserveItems);\n let newHist = new HistoryState(redo ? added : pop.remaining, redo ? pop.remaining : added, null, 0, -1);\n return pop.transform.setSelection(selection).setMeta(historyKey, { redo, historyState: newHist });\n}\nlet cachedPreserveItems = false, cachedPreserveItemsPlugins = null;\n// Check whether any plugin in the given state has a\n// `historyPreserveItems` property in its spec, in which case we must\n// preserve steps exactly as they came in, so that they can be\n// rebased.\nfunction mustPreserveItems(state) {\n let plugins = state.plugins;\n if (cachedPreserveItemsPlugins != plugins) {\n cachedPreserveItems = false;\n cachedPreserveItemsPlugins = plugins;\n for (let i = 0; i < plugins.length; i++)\n if (plugins[i].spec.historyPreserveItems) {\n cachedPreserveItems = true;\n break;\n }\n }\n return cachedPreserveItems;\n}\n/**\nSet a flag on the given transaction that will prevent further steps\nfrom being appended to an existing history event (so that they\nrequire a separate undo command to undo).\n*/\nfunction closeHistory(tr) {\n return tr.setMeta(closeHistoryKey, true);\n}\nconst historyKey = new prosemirror_state__WEBPACK_IMPORTED_MODULE_2__.PluginKey(\"history\");\nconst closeHistoryKey = new prosemirror_state__WEBPACK_IMPORTED_MODULE_2__.PluginKey(\"closeHistory\");\n/**\nReturns a plugin that enables the undo history for an editor. The\nplugin will track undo and redo stacks, which can be used with the\n[`undo`](https://prosemirror.net/docs/ref/#history.undo) and [`redo`](https://prosemirror.net/docs/ref/#history.redo) commands.\n\nYou can set an `\"addToHistory\"` [metadata\nproperty](https://prosemirror.net/docs/ref/#state.Transaction.setMeta) of `false` on a transaction\nto prevent it from being rolled back by undo.\n*/\nfunction history(config = {}) {\n config = { depth: config.depth || 100,\n newGroupDelay: config.newGroupDelay || 500 };\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_2__.Plugin({\n key: historyKey,\n state: {\n init() {\n return new HistoryState(Branch.empty, Branch.empty, null, 0, -1);\n },\n apply(tr, hist, state) {\n return applyTransaction(hist, state, tr, config);\n }\n },\n config,\n props: {\n handleDOMEvents: {\n beforeinput(view, e) {\n let inputType = e.inputType;\n let command = inputType == \"historyUndo\" ? undo : inputType == \"historyRedo\" ? redo : null;\n if (!command || !view.editable)\n return false;\n e.preventDefault();\n return command(view.state, view.dispatch);\n }\n }\n }\n });\n}\nfunction buildCommand(redo, scroll) {\n return (state, dispatch) => {\n let hist = historyKey.getState(state);\n if (!hist || (redo ? hist.undone : hist.done).eventCount == 0)\n return false;\n if (dispatch) {\n let tr = histTransaction(hist, state, redo);\n if (tr)\n dispatch(scroll ? tr.scrollIntoView() : tr);\n }\n return true;\n };\n}\n/**\nA command function that undoes the last change, if any.\n*/\nconst undo = buildCommand(false, true);\n/**\nA command function that redoes the last undone change, if any.\n*/\nconst redo = buildCommand(true, true);\n/**\nA command function that undoes the last change. Don't scroll the\nselection into view.\n*/\nconst undoNoScroll = buildCommand(false, false);\n/**\nA command function that redoes the last undone change. Don't\nscroll the selection into view.\n*/\nconst redoNoScroll = buildCommand(true, false);\n/**\nThe amount of undoable events available in a given state.\n*/\nfunction undoDepth(state) {\n let hist = historyKey.getState(state);\n return hist ? hist.done.eventCount : 0;\n}\n/**\nThe amount of redoable events available in a given editor state.\n*/\nfunction redoDepth(state) {\n let hist = historyKey.getState(state);\n return hist ? hist.undone.eventCount : 0;\n}\n/**\nReturns true if the given transaction was generated by the history\nplugin.\n*/\nfunction isHistoryTransaction(tr) {\n return tr.getMeta(historyKey) != null;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvcHJvc2VtaXJyb3ItaGlzdG9yeS9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUF5QztBQUNPO0FBQ007O0FBRXREO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDRCQUE0QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwwREFBTztBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckMsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxtQ0FBbUMsY0FBYztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckMsc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCwwQkFBMEIscURBQVk7QUFDdEM7QUFDQTtBQUNBLDBCQUEwQixxREFBWTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHVCQUF1QjtBQUMvQztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLDhCQUE4QjtBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixtQkFBbUI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVFQUF1RSw2QkFBNkI7QUFDcEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixvQkFBb0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLHdEQUFTO0FBQ2hDLDRCQUE0Qix3REFBUztBQUNyQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QixlQUFlO0FBQ2Y7QUFDQSxlQUFlLHFEQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVxSCIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xccHJvc2VtaXJyb3ItaGlzdG9yeVxcZGlzdFxcaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJvcGVTZXF1ZW5jZSBmcm9tICdyb3BlLXNlcXVlbmNlJztcbmltcG9ydCB7IE1hcHBpbmcgfSBmcm9tICdwcm9zZW1pcnJvci10cmFuc2Zvcm0nO1xuaW1wb3J0IHsgUGx1Z2luS2V5LCBQbHVnaW4gfSBmcm9tICdwcm9zZW1pcnJvci1zdGF0ZSc7XG5cbi8vIFByb3NlTWlycm9yJ3MgaGlzdG9yeSBpc24ndCBzaW1wbHkgYSB3YXkgdG8gcm9sbCBiYWNrIHRvIGEgcHJldmlvdXNcbi8vIHN0YXRlLCBiZWNhdXNlIFByb3NlTWlycm9yIHN1cHBvcnRzIGFwcGx5aW5nIGNoYW5nZXMgd2l0aG91dCBhZGRpbmdcbi8vIHRoZW0gdG8gdGhlIGhpc3RvcnkgKGZvciBleGFtcGxlIGR1cmluZyBjb2xsYWJvcmF0aW9uKS5cbi8vXG4vLyBUbyB0aGlzIGVuZCwgZWFjaCAnQnJhbmNoJyAob25lIGZvciB0aGUgdW5kbyBoaXN0b3J5IGFuZCBvbmUgZm9yXG4vLyB0aGUgcmVkbyBoaXN0b3J5KSBrZWVwcyBhbiBhcnJheSBvZiAnSXRlbXMnLCB3aGljaCBjYW4gb3B0aW9uYWxseVxuLy8gaG9sZCBhIHN0ZXAgKGFuIGFjdHVhbCB1bmRvYWJsZSBjaGFuZ2UpLCBhbmQgYWx3YXlzIGhvbGQgYSBwb3NpdGlvblxuLy8gbWFwICh3aGljaCBpcyBuZWVkZWQgdG8gbW92ZSBjaGFuZ2VzIGJlbG93IHRoZW0gdG8gYXBwbHkgdG8gdGhlXG4vLyBjdXJyZW50IGRvY3VtZW50KS5cbi8vXG4vLyBBbiBpdGVtIHRoYXQgaGFzIGJvdGggYSBzdGVwIGFuZCBhIHNlbGVjdGlvbiBib29rbWFyayBpcyB0aGUgc3RhcnRcbi8vIG9mIGFuICdldmVudCcg4oCUIGEgZ3JvdXAgb2YgY2hhbmdlcyB0aGF0IHdpbGwgYmUgdW5kb25lIG9yIHJlZG9uZSBhdFxuLy8gb25jZS4gKEl0IHN0b3JlcyBvbmx5IHRoZSBib29rbWFyaywgc2luY2UgdGhhdCB3YXkgd2UgZG9uJ3QgaGF2ZSB0b1xuLy8gcHJvdmlkZSBhIGRvY3VtZW50IHVudGlsIHRoZSBzZWxlY3Rpb24gaXMgYWN0dWFsbHkgYXBwbGllZCwgd2hpY2hcbi8vIGlzIHVzZWZ1bCB3aGVuIGNvbXByZXNzaW5nLilcbi8vIFVzZWQgdG8gc2NoZWR1bGUgaGlzdG9yeSBjb21wcmVzc2lvblxuY29uc3QgbWF4X2VtcHR5X2l0ZW1zID0gNTAwO1xuY2xhc3MgQnJhbmNoIHtcbiAgICBjb25zdHJ1Y3RvcihpdGVtcywgZXZlbnRDb3VudCkge1xuICAgICAgICB0aGlzLml0ZW1zID0gaXRlbXM7XG4gICAgICAgIHRoaXMuZXZlbnRDb3VudCA9IGV2ZW50Q291bnQ7XG4gICAgfVxuICAgIC8vIFBvcCB0aGUgbGF0ZXN0IGV2ZW50IG9mZiB0aGUgYnJhbmNoJ3MgaGlzdG9yeSBhbmQgYXBwbHkgaXRcbiAgICAvLyB0byBhIGRvY3VtZW50IHRyYW5zZm9ybS5cbiAgICBwb3BFdmVudChzdGF0ZSwgcHJlc2VydmVJdGVtcykge1xuICAgICAgICBpZiAodGhpcy5ldmVudENvdW50ID09IDApXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgbGV0IGVuZCA9IHRoaXMuaXRlbXMubGVuZ3RoO1xuICAgICAgICBmb3IgKDs7IGVuZC0tKSB7XG4gICAgICAgICAgICBsZXQgbmV4dCA9IHRoaXMuaXRlbXMuZ2V0KGVuZCAtIDEpO1xuICAgICAgICAgICAgaWYgKG5leHQuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgLS1lbmQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlbWFwLCBtYXBGcm9tO1xuICAgICAgICBpZiAocHJlc2VydmVJdGVtcykge1xuICAgICAgICAgICAgcmVtYXAgPSB0aGlzLnJlbWFwcGluZyhlbmQsIHRoaXMuaXRlbXMubGVuZ3RoKTtcbiAgICAgICAgICAgIG1hcEZyb20gPSByZW1hcC5tYXBzLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdHJhbnNmb3JtID0gc3RhdGUudHI7XG4gICAgICAgIGxldCBzZWxlY3Rpb24sIHJlbWFpbmluZztcbiAgICAgICAgbGV0IGFkZEFmdGVyID0gW10sIGFkZEJlZm9yZSA9IFtdO1xuICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgICAgIGlmICghaXRlbS5zdGVwKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZW1hcCkge1xuICAgICAgICAgICAgICAgICAgICByZW1hcCA9IHRoaXMucmVtYXBwaW5nKGVuZCwgaSArIDEpO1xuICAgICAgICAgICAgICAgICAgICBtYXBGcm9tID0gcmVtYXAubWFwcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG1hcEZyb20tLTtcbiAgICAgICAgICAgICAgICBhZGRCZWZvcmUucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocmVtYXApIHtcbiAgICAgICAgICAgICAgICBhZGRCZWZvcmUucHVzaChuZXcgSXRlbShpdGVtLm1hcCkpO1xuICAgICAgICAgICAgICAgIGxldCBzdGVwID0gaXRlbS5zdGVwLm1hcChyZW1hcC5zbGljZShtYXBGcm9tKSksIG1hcDtcbiAgICAgICAgICAgICAgICBpZiAoc3RlcCAmJiB0cmFuc2Zvcm0ubWF5YmVTdGVwKHN0ZXApLmRvYykge1xuICAgICAgICAgICAgICAgICAgICBtYXAgPSB0cmFuc2Zvcm0ubWFwcGluZy5tYXBzW3RyYW5zZm9ybS5tYXBwaW5nLm1hcHMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgICAgIGFkZEFmdGVyLnB1c2gobmV3IEl0ZW0obWFwLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgYWRkQWZ0ZXIubGVuZ3RoICsgYWRkQmVmb3JlLmxlbmd0aCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtYXBGcm9tLS07XG4gICAgICAgICAgICAgICAgaWYgKG1hcClcbiAgICAgICAgICAgICAgICAgICAgcmVtYXAuYXBwZW5kTWFwKG1hcCwgbWFwRnJvbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0ubWF5YmVTdGVwKGl0ZW0uc3RlcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbS5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb24gPSByZW1hcCA/IGl0ZW0uc2VsZWN0aW9uLm1hcChyZW1hcC5zbGljZShtYXBGcm9tKSkgOiBpdGVtLnNlbGVjdGlvbjtcbiAgICAgICAgICAgICAgICByZW1haW5pbmcgPSBuZXcgQnJhbmNoKHRoaXMuaXRlbXMuc2xpY2UoMCwgZW5kKS5hcHBlbmQoYWRkQmVmb3JlLnJldmVyc2UoKS5jb25jYXQoYWRkQWZ0ZXIpKSwgdGhpcy5ldmVudENvdW50IC0gMSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCB0aGlzLml0ZW1zLmxlbmd0aCwgMCk7XG4gICAgICAgIHJldHVybiB7IHJlbWFpbmluZzogcmVtYWluaW5nLCB0cmFuc2Zvcm0sIHNlbGVjdGlvbjogc2VsZWN0aW9uIH07XG4gICAgfVxuICAgIC8vIENyZWF0ZSBhIG5ldyBicmFuY2ggd2l0aCB0aGUgZ2l2ZW4gdHJhbnNmb3JtIGFkZGVkLlxuICAgIGFkZFRyYW5zZm9ybSh0cmFuc2Zvcm0sIHNlbGVjdGlvbiwgaGlzdE9wdGlvbnMsIHByZXNlcnZlSXRlbXMpIHtcbiAgICAgICAgbGV0IG5ld0l0ZW1zID0gW10sIGV2ZW50Q291bnQgPSB0aGlzLmV2ZW50Q291bnQ7XG4gICAgICAgIGxldCBvbGRJdGVtcyA9IHRoaXMuaXRlbXMsIGxhc3RJdGVtID0gIXByZXNlcnZlSXRlbXMgJiYgb2xkSXRlbXMubGVuZ3RoID8gb2xkSXRlbXMuZ2V0KG9sZEl0ZW1zLmxlbmd0aCAtIDEpIDogbnVsbDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0cmFuc2Zvcm0uc3RlcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBzdGVwID0gdHJhbnNmb3JtLnN0ZXBzW2ldLmludmVydCh0cmFuc2Zvcm0uZG9jc1tpXSk7XG4gICAgICAgICAgICBsZXQgaXRlbSA9IG5ldyBJdGVtKHRyYW5zZm9ybS5tYXBwaW5nLm1hcHNbaV0sIHN0ZXAsIHNlbGVjdGlvbiksIG1lcmdlZDtcbiAgICAgICAgICAgIGlmIChtZXJnZWQgPSBsYXN0SXRlbSAmJiBsYXN0SXRlbS5tZXJnZShpdGVtKSkge1xuICAgICAgICAgICAgICAgIGl0ZW0gPSBtZXJnZWQ7XG4gICAgICAgICAgICAgICAgaWYgKGkpXG4gICAgICAgICAgICAgICAgICAgIG5ld0l0ZW1zLnBvcCgpO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgb2xkSXRlbXMgPSBvbGRJdGVtcy5zbGljZSgwLCBvbGRJdGVtcy5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5ld0l0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgZXZlbnRDb3VudCsrO1xuICAgICAgICAgICAgICAgIHNlbGVjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcHJlc2VydmVJdGVtcylcbiAgICAgICAgICAgICAgICBsYXN0SXRlbSA9IGl0ZW07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IG92ZXJmbG93ID0gZXZlbnRDb3VudCAtIGhpc3RPcHRpb25zLmRlcHRoO1xuICAgICAgICBpZiAob3ZlcmZsb3cgPiBERVBUSF9PVkVSRkxPVykge1xuICAgICAgICAgICAgb2xkSXRlbXMgPSBjdXRPZmZFdmVudHMob2xkSXRlbXMsIG92ZXJmbG93KTtcbiAgICAgICAgICAgIGV2ZW50Q291bnQgLT0gb3ZlcmZsb3c7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBCcmFuY2gob2xkSXRlbXMuYXBwZW5kKG5ld0l0ZW1zKSwgZXZlbnRDb3VudCk7XG4gICAgfVxuICAgIHJlbWFwcGluZyhmcm9tLCB0bykge1xuICAgICAgICBsZXQgbWFwcyA9IG5ldyBNYXBwaW5nO1xuICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgICAgIGxldCBtaXJyb3JQb3MgPSBpdGVtLm1pcnJvck9mZnNldCAhPSBudWxsICYmIGkgLSBpdGVtLm1pcnJvck9mZnNldCA+PSBmcm9tXG4gICAgICAgICAgICAgICAgPyBtYXBzLm1hcHMubGVuZ3RoIC0gaXRlbS5taXJyb3JPZmZzZXQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBtYXBzLmFwcGVuZE1hcChpdGVtLm1hcCwgbWlycm9yUG9zKTtcbiAgICAgICAgfSwgZnJvbSwgdG8pO1xuICAgICAgICByZXR1cm4gbWFwcztcbiAgICB9XG4gICAgYWRkTWFwcyhhcnJheSkge1xuICAgICAgICBpZiAodGhpcy5ldmVudENvdW50ID09IDApXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgcmV0dXJuIG5ldyBCcmFuY2godGhpcy5pdGVtcy5hcHBlbmQoYXJyYXkubWFwKG1hcCA9PiBuZXcgSXRlbShtYXApKSksIHRoaXMuZXZlbnRDb3VudCk7XG4gICAgfVxuICAgIC8vIFdoZW4gdGhlIGNvbGxhYiBtb2R1bGUgcmVjZWl2ZXMgcmVtb3RlIGNoYW5nZXMsIHRoZSBoaXN0b3J5IGhhc1xuICAgIC8vIHRvIGtub3cgYWJvdXQgdGhvc2UsIHNvIHRoYXQgaXQgY2FuIGFkanVzdCB0aGUgc3RlcHMgdGhhdCB3ZXJlXG4gICAgLy8gcmViYXNlZCBvbiB0b3Agb2YgdGhlIHJlbW90ZSBjaGFuZ2VzLCBhbmQgaW5jbHVkZSB0aGUgcG9zaXRpb25cbiAgICAvLyBtYXBzIGZvciB0aGUgcmVtb3RlIGNoYW5nZXMgaW4gaXRzIGFycmF5IG9mIGl0ZW1zLlxuICAgIHJlYmFzZWQocmViYXNlZFRyYW5zZm9ybSwgcmViYXNlZENvdW50KSB7XG4gICAgICAgIGlmICghdGhpcy5ldmVudENvdW50KVxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIGxldCByZWJhc2VkSXRlbXMgPSBbXSwgc3RhcnQgPSBNYXRoLm1heCgwLCB0aGlzLml0ZW1zLmxlbmd0aCAtIHJlYmFzZWRDb3VudCk7XG4gICAgICAgIGxldCBtYXBwaW5nID0gcmViYXNlZFRyYW5zZm9ybS5tYXBwaW5nO1xuICAgICAgICBsZXQgbmV3VW50aWwgPSByZWJhc2VkVHJhbnNmb3JtLnN0ZXBzLmxlbmd0aDtcbiAgICAgICAgbGV0IGV2ZW50Q291bnQgPSB0aGlzLmV2ZW50Q291bnQ7XG4gICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHsgaWYgKGl0ZW0uc2VsZWN0aW9uKVxuICAgICAgICAgICAgZXZlbnRDb3VudC0tOyB9LCBzdGFydCk7XG4gICAgICAgIGxldCBpUmViYXNlZCA9IHJlYmFzZWRDb3VudDtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgbGV0IHBvcyA9IG1hcHBpbmcuZ2V0TWlycm9yKC0taVJlYmFzZWQpO1xuICAgICAgICAgICAgaWYgKHBvcyA9PSBudWxsKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIG5ld1VudGlsID0gTWF0aC5taW4obmV3VW50aWwsIHBvcyk7XG4gICAgICAgICAgICBsZXQgbWFwID0gbWFwcGluZy5tYXBzW3Bvc107XG4gICAgICAgICAgICBpZiAoaXRlbS5zdGVwKSB7XG4gICAgICAgICAgICAgICAgbGV0IHN0ZXAgPSByZWJhc2VkVHJhbnNmb3JtLnN0ZXBzW3Bvc10uaW52ZXJ0KHJlYmFzZWRUcmFuc2Zvcm0uZG9jc1twb3NdKTtcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0aW9uID0gaXRlbS5zZWxlY3Rpb24gJiYgaXRlbS5zZWxlY3Rpb24ubWFwKG1hcHBpbmcuc2xpY2UoaVJlYmFzZWQgKyAxLCBwb3MpKTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uKVxuICAgICAgICAgICAgICAgICAgICBldmVudENvdW50Kys7XG4gICAgICAgICAgICAgICAgcmViYXNlZEl0ZW1zLnB1c2gobmV3IEl0ZW0obWFwLCBzdGVwLCBzZWxlY3Rpb24pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlYmFzZWRJdGVtcy5wdXNoKG5ldyBJdGVtKG1hcCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBzdGFydCk7XG4gICAgICAgIGxldCBuZXdNYXBzID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSByZWJhc2VkQ291bnQ7IGkgPCBuZXdVbnRpbDsgaSsrKVxuICAgICAgICAgICAgbmV3TWFwcy5wdXNoKG5ldyBJdGVtKG1hcHBpbmcubWFwc1tpXSkpO1xuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1zLnNsaWNlKDAsIHN0YXJ0KS5hcHBlbmQobmV3TWFwcykuYXBwZW5kKHJlYmFzZWRJdGVtcyk7XG4gICAgICAgIGxldCBicmFuY2ggPSBuZXcgQnJhbmNoKGl0ZW1zLCBldmVudENvdW50KTtcbiAgICAgICAgaWYgKGJyYW5jaC5lbXB0eUl0ZW1Db3VudCgpID4gbWF4X2VtcHR5X2l0ZW1zKVxuICAgICAgICAgICAgYnJhbmNoID0gYnJhbmNoLmNvbXByZXNzKHRoaXMuaXRlbXMubGVuZ3RoIC0gcmViYXNlZEl0ZW1zLmxlbmd0aCk7XG4gICAgICAgIHJldHVybiBicmFuY2g7XG4gICAgfVxuICAgIGVtcHR5SXRlbUNvdW50KCkge1xuICAgICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7IGlmICghaXRlbS5zdGVwKVxuICAgICAgICAgICAgY291bnQrKzsgfSk7XG4gICAgICAgIHJldHVybiBjb3VudDtcbiAgICB9XG4gICAgLy8gQ29tcHJlc3NpbmcgYSBicmFuY2ggbWVhbnMgcmV3cml0aW5nIGl0IHRvIHB1c2ggdGhlIGFpciAobWFwLW9ubHlcbiAgICAvLyBpdGVtcykgb3V0LiBEdXJpbmcgY29sbGFib3JhdGlvbiwgdGhlc2UgbmF0dXJhbGx5IGFjY3VtdWxhdGVcbiAgICAvLyBiZWNhdXNlIGVhY2ggcmVtb3RlIGNoYW5nZSBhZGRzIG9uZS4gVGhlIGB1cHRvYCBhcmd1bWVudCBpcyB1c2VkXG4gICAgLy8gdG8gZW5zdXJlIHRoYXQgb25seSB0aGUgaXRlbXMgYmVsb3cgYSBnaXZlbiBsZXZlbCBhcmUgY29tcHJlc3NlZCxcbiAgICAvLyBiZWNhdXNlIGByZWJhc2VkYCByZWxpZXMgb24gYSBjbGVhbiwgdW50b3VjaGVkIHNldCBvZiBpdGVtcyBpblxuICAgIC8vIG9yZGVyIHRvIGFzc29jaWF0ZSBvbGQgaXRlbXMgd2l0aCByZWJhc2VkIHN0ZXBzLlxuICAgIGNvbXByZXNzKHVwdG8gPSB0aGlzLml0ZW1zLmxlbmd0aCkge1xuICAgICAgICBsZXQgcmVtYXAgPSB0aGlzLnJlbWFwcGluZygwLCB1cHRvKSwgbWFwRnJvbSA9IHJlbWFwLm1hcHMubGVuZ3RoO1xuICAgICAgICBsZXQgaXRlbXMgPSBbXSwgZXZlbnRzID0gMDtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICBpZiAoaSA+PSB1cHRvKSB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5zZWxlY3Rpb24pXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50cysrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXRlbS5zdGVwKSB7XG4gICAgICAgICAgICAgICAgbGV0IHN0ZXAgPSBpdGVtLnN0ZXAubWFwKHJlbWFwLnNsaWNlKG1hcEZyb20pKSwgbWFwID0gc3RlcCAmJiBzdGVwLmdldE1hcCgpO1xuICAgICAgICAgICAgICAgIG1hcEZyb20tLTtcbiAgICAgICAgICAgICAgICBpZiAobWFwKVxuICAgICAgICAgICAgICAgICAgICByZW1hcC5hcHBlbmRNYXAobWFwLCBtYXBGcm9tKTtcbiAgICAgICAgICAgICAgICBpZiAoc3RlcCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgc2VsZWN0aW9uID0gaXRlbS5zZWxlY3Rpb24gJiYgaXRlbS5zZWxlY3Rpb24ubWFwKHJlbWFwLnNsaWNlKG1hcEZyb20pKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50cysrO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3SXRlbSA9IG5ldyBJdGVtKG1hcC5pbnZlcnQoKSwgc3RlcCwgc2VsZWN0aW9uKSwgbWVyZ2VkLCBsYXN0ID0gaXRlbXMubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1lcmdlZCA9IGl0ZW1zLmxlbmd0aCAmJiBpdGVtc1tsYXN0XS5tZXJnZShuZXdJdGVtKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zW2xhc3RdID0gbWVyZ2VkO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKG5ld0l0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW0ubWFwKSB7XG4gICAgICAgICAgICAgICAgbWFwRnJvbS0tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCB0aGlzLml0ZW1zLmxlbmd0aCwgMCk7XG4gICAgICAgIHJldHVybiBuZXcgQnJhbmNoKFJvcGVTZXF1ZW5jZS5mcm9tKGl0ZW1zLnJldmVyc2UoKSksIGV2ZW50cyk7XG4gICAgfVxufVxuQnJhbmNoLmVtcHR5ID0gbmV3IEJyYW5jaChSb3BlU2VxdWVuY2UuZW1wdHksIDApO1xuZnVuY3Rpb24gY3V0T2ZmRXZlbnRzKGl0ZW1zLCBuKSB7XG4gICAgbGV0IGN1dFBvaW50O1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uc2VsZWN0aW9uICYmIChuLS0gPT0gMCkpIHtcbiAgICAgICAgICAgIGN1dFBvaW50ID0gaTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBpdGVtcy5zbGljZShjdXRQb2ludCk7XG59XG5jbGFzcyBJdGVtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAvLyBUaGUgKGZvcndhcmQpIHN0ZXAgbWFwIGZvciB0aGlzIGl0ZW0uXG4gICAgbWFwLCBcbiAgICAvLyBUaGUgaW52ZXJ0ZWQgc3RlcFxuICAgIHN0ZXAsIFxuICAgIC8vIElmIHRoaXMgaXMgbm9uLW51bGwsIHRoaXMgaXRlbSBpcyB0aGUgc3RhcnQgb2YgYSBncm91cCwgYW5kXG4gICAgLy8gdGhpcyBzZWxlY3Rpb24gaXMgdGhlIHN0YXJ0aW5nIHNlbGVjdGlvbiBmb3IgdGhlIGdyb3VwICh0aGUgb25lXG4gICAgLy8gdGhhdCB3YXMgYWN0aXZlIGJlZm9yZSB0aGUgZmlyc3Qgc3RlcCB3YXMgYXBwbGllZClcbiAgICBzZWxlY3Rpb24sIFxuICAgIC8vIElmIHRoaXMgaXRlbSBpcyB0aGUgaW52ZXJzZSBvZiBhIHByZXZpb3VzIG1hcHBpbmcgb24gdGhlIHN0YWNrLFxuICAgIC8vIHRoaXMgcG9pbnRzIGF0IHRoZSBpbnZlcnNlJ3Mgb2Zmc2V0XG4gICAgbWlycm9yT2Zmc2V0KSB7XG4gICAgICAgIHRoaXMubWFwID0gbWFwO1xuICAgICAgICB0aGlzLnN0ZXAgPSBzdGVwO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IHNlbGVjdGlvbjtcbiAgICAgICAgdGhpcy5taXJyb3JPZmZzZXQgPSBtaXJyb3JPZmZzZXQ7XG4gICAgfVxuICAgIG1lcmdlKG90aGVyKSB7XG4gICAgICAgIGlmICh0aGlzLnN0ZXAgJiYgb3RoZXIuc3RlcCAmJiAhb3RoZXIuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBsZXQgc3RlcCA9IG90aGVyLnN0ZXAubWVyZ2UodGhpcy5zdGVwKTtcbiAgICAgICAgICAgIGlmIChzdGVwKVxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgSXRlbShzdGVwLmdldE1hcCgpLmludmVydCgpLCBzdGVwLCB0aGlzLnNlbGVjdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBUaGUgdmFsdWUgb2YgdGhlIHN0YXRlIGZpZWxkIHRoYXQgdHJhY2tzIHVuZG8vcmVkbyBoaXN0b3J5IGZvciB0aGF0XG4vLyBzdGF0ZS4gV2lsbCBiZSBzdG9yZWQgaW4gdGhlIHBsdWdpbiBzdGF0ZSB3aGVuIHRoZSBoaXN0b3J5IHBsdWdpblxuLy8gaXMgYWN0aXZlLlxuY2xhc3MgSGlzdG9yeVN0YXRlIHtcbiAgICBjb25zdHJ1Y3Rvcihkb25lLCB1bmRvbmUsIHByZXZSYW5nZXMsIHByZXZUaW1lLCBwcmV2Q29tcG9zaXRpb24pIHtcbiAgICAgICAgdGhpcy5kb25lID0gZG9uZTtcbiAgICAgICAgdGhpcy51bmRvbmUgPSB1bmRvbmU7XG4gICAgICAgIHRoaXMucHJldlJhbmdlcyA9IHByZXZSYW5nZXM7XG4gICAgICAgIHRoaXMucHJldlRpbWUgPSBwcmV2VGltZTtcbiAgICAgICAgdGhpcy5wcmV2Q29tcG9zaXRpb24gPSBwcmV2Q29tcG9zaXRpb247XG4gICAgfVxufVxuY29uc3QgREVQVEhfT1ZFUkZMT1cgPSAyMDtcbi8vIFJlY29yZCBhIHRyYW5zZm9ybWF0aW9uIGluIHVuZG8gaGlzdG9yeS5cbmZ1bmN0aW9uIGFwcGx5VHJhbnNhY3Rpb24oaGlzdG9yeSwgc3RhdGUsIHRyLCBvcHRpb25zKSB7XG4gICAgbGV0IGhpc3RvcnlUciA9IHRyLmdldE1ldGEoaGlzdG9yeUtleSksIHJlYmFzZWQ7XG4gICAgaWYgKGhpc3RvcnlUcilcbiAgICAgICAgcmV0dXJuIGhpc3RvcnlUci5oaXN0b3J5U3RhdGU7XG4gICAgaWYgKHRyLmdldE1ldGEoY2xvc2VIaXN0b3J5S2V5KSlcbiAgICAgICAgaGlzdG9yeSA9IG5ldyBIaXN0b3J5U3RhdGUoaGlzdG9yeS5kb25lLCBoaXN0b3J5LnVuZG9uZSwgbnVsbCwgMCwgLTEpO1xuICAgIGxldCBhcHBlbmRlZCA9IHRyLmdldE1ldGEoXCJhcHBlbmRlZFRyYW5zYWN0aW9uXCIpO1xuICAgIGlmICh0ci5zdGVwcy5sZW5ndGggPT0gMCkge1xuICAgICAgICByZXR1cm4gaGlzdG9yeTtcbiAgICB9XG4gICAgZWxzZSBpZiAoYXBwZW5kZWQgJiYgYXBwZW5kZWQuZ2V0TWV0YShoaXN0b3J5S2V5KSkge1xuICAgICAgICBpZiAoYXBwZW5kZWQuZ2V0TWV0YShoaXN0b3J5S2V5KS5yZWRvKVxuICAgICAgICAgICAgcmV0dXJuIG5ldyBIaXN0b3J5U3RhdGUoaGlzdG9yeS5kb25lLmFkZFRyYW5zZm9ybSh0ciwgdW5kZWZpbmVkLCBvcHRpb25zLCBtdXN0UHJlc2VydmVJdGVtcyhzdGF0ZSkpLCBoaXN0b3J5LnVuZG9uZSwgcmFuZ2VzRm9yKHRyLm1hcHBpbmcubWFwcyksIGhpc3RvcnkucHJldlRpbWUsIGhpc3RvcnkucHJldkNvbXBvc2l0aW9uKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIG5ldyBIaXN0b3J5U3RhdGUoaGlzdG9yeS5kb25lLCBoaXN0b3J5LnVuZG9uZS5hZGRUcmFuc2Zvcm0odHIsIHVuZGVmaW5lZCwgb3B0aW9ucywgbXVzdFByZXNlcnZlSXRlbXMoc3RhdGUpKSwgbnVsbCwgaGlzdG9yeS5wcmV2VGltZSwgaGlzdG9yeS5wcmV2Q29tcG9zaXRpb24pO1xuICAgIH1cbiAgICBlbHNlIGlmICh0ci5nZXRNZXRhKFwiYWRkVG9IaXN0b3J5XCIpICE9PSBmYWxzZSAmJiAhKGFwcGVuZGVkICYmIGFwcGVuZGVkLmdldE1ldGEoXCJhZGRUb0hpc3RvcnlcIikgPT09IGZhbHNlKSkge1xuICAgICAgICAvLyBHcm91cCB0cmFuc2Zvcm1zIHRoYXQgb2NjdXIgaW4gcXVpY2sgc3VjY2Vzc2lvbiBpbnRvIG9uZSBldmVudC5cbiAgICAgICAgbGV0IGNvbXBvc2l0aW9uID0gdHIuZ2V0TWV0YShcImNvbXBvc2l0aW9uXCIpO1xuICAgICAgICBsZXQgbmV3R3JvdXAgPSBoaXN0b3J5LnByZXZUaW1lID09IDAgfHxcbiAgICAgICAgICAgICghYXBwZW5kZWQgJiYgaGlzdG9yeS5wcmV2Q29tcG9zaXRpb24gIT0gY29tcG9zaXRpb24gJiZcbiAgICAgICAgICAgICAgICAoaGlzdG9yeS5wcmV2VGltZSA8ICh0ci50aW1lIHx8IDApIC0gb3B0aW9ucy5uZXdHcm91cERlbGF5IHx8ICFpc0FkamFjZW50VG8odHIsIGhpc3RvcnkucHJldlJhbmdlcykpKTtcbiAgICAgICAgbGV0IHByZXZSYW5nZXMgPSBhcHBlbmRlZCA/IG1hcFJhbmdlcyhoaXN0b3J5LnByZXZSYW5nZXMsIHRyLm1hcHBpbmcpIDogcmFuZ2VzRm9yKHRyLm1hcHBpbmcubWFwcyk7XG4gICAgICAgIHJldHVybiBuZXcgSGlzdG9yeVN0YXRlKGhpc3RvcnkuZG9uZS5hZGRUcmFuc2Zvcm0odHIsIG5ld0dyb3VwID8gc3RhdGUuc2VsZWN0aW9uLmdldEJvb2ttYXJrKCkgOiB1bmRlZmluZWQsIG9wdGlvbnMsIG11c3RQcmVzZXJ2ZUl0ZW1zKHN0YXRlKSksIEJyYW5jaC5lbXB0eSwgcHJldlJhbmdlcywgdHIudGltZSwgY29tcG9zaXRpb24gPT0gbnVsbCA/IGhpc3RvcnkucHJldkNvbXBvc2l0aW9uIDogY29tcG9zaXRpb24pO1xuICAgIH1cbiAgICBlbHNlIGlmIChyZWJhc2VkID0gdHIuZ2V0TWV0YShcInJlYmFzZWRcIikpIHtcbiAgICAgICAgLy8gVXNlZCBieSB0aGUgY29sbGFiIG1vZHVsZSB0byB0ZWxsIHRoZSBoaXN0b3J5IHRoYXQgc29tZSBvZiBpdHNcbiAgICAgICAgLy8gY29udGVudCBoYXMgYmVlbiByZWJhc2VkLlxuICAgICAgICByZXR1cm4gbmV3IEhpc3RvcnlTdGF0ZShoaXN0b3J5LmRvbmUucmViYXNlZCh0ciwgcmViYXNlZCksIGhpc3RvcnkudW5kb25lLnJlYmFzZWQodHIsIHJlYmFzZWQpLCBtYXBSYW5nZXMoaGlzdG9yeS5wcmV2UmFuZ2VzLCB0ci5tYXBwaW5nKSwgaGlzdG9yeS5wcmV2VGltZSwgaGlzdG9yeS5wcmV2Q29tcG9zaXRpb24pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBIaXN0b3J5U3RhdGUoaGlzdG9yeS5kb25lLmFkZE1hcHModHIubWFwcGluZy5tYXBzKSwgaGlzdG9yeS51bmRvbmUuYWRkTWFwcyh0ci5tYXBwaW5nLm1hcHMpLCBtYXBSYW5nZXMoaGlzdG9yeS5wcmV2UmFuZ2VzLCB0ci5tYXBwaW5nKSwgaGlzdG9yeS5wcmV2VGltZSwgaGlzdG9yeS5wcmV2Q29tcG9zaXRpb24pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGlzQWRqYWNlbnRUbyh0cmFuc2Zvcm0sIHByZXZSYW5nZXMpIHtcbiAgICBpZiAoIXByZXZSYW5nZXMpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoIXRyYW5zZm9ybS5kb2NDaGFuZ2VkKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBsZXQgYWRqYWNlbnQgPSBmYWxzZTtcbiAgICB0cmFuc2Zvcm0ubWFwcGluZy5tYXBzWzBdLmZvckVhY2goKHN0YXJ0LCBlbmQpID0+IHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcmV2UmFuZ2VzLmxlbmd0aDsgaSArPSAyKVxuICAgICAgICAgICAgaWYgKHN0YXJ0IDw9IHByZXZSYW5nZXNbaSArIDFdICYmIGVuZCA+PSBwcmV2UmFuZ2VzW2ldKVxuICAgICAgICAgICAgICAgIGFkamFjZW50ID0gdHJ1ZTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWRqYWNlbnQ7XG59XG5mdW5jdGlvbiByYW5nZXNGb3IobWFwcykge1xuICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gbWFwcy5sZW5ndGggLSAxOyBpID49IDAgJiYgcmVzdWx0Lmxlbmd0aCA9PSAwOyBpLS0pXG4gICAgICAgIG1hcHNbaV0uZm9yRWFjaCgoX2Zyb20sIF90bywgZnJvbSwgdG8pID0+IHJlc3VsdC5wdXNoKGZyb20sIHRvKSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIG1hcFJhbmdlcyhyYW5nZXMsIG1hcHBpbmcpIHtcbiAgICBpZiAoIXJhbmdlcylcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmFuZ2VzLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICAgIGxldCBmcm9tID0gbWFwcGluZy5tYXAocmFuZ2VzW2ldLCAxKSwgdG8gPSBtYXBwaW5nLm1hcChyYW5nZXNbaSArIDFdLCAtMSk7XG4gICAgICAgIGlmIChmcm9tIDw9IHRvKVxuICAgICAgICAgICAgcmVzdWx0LnB1c2goZnJvbSwgdG8pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLy8gQXBwbHkgdGhlIGxhdGVzdCBldmVudCBmcm9tIG9uZSBicmFuY2ggdG8gdGhlIGRvY3VtZW50IGFuZCBzaGlmdCB0aGUgZXZlbnRcbi8vIG9udG8gdGhlIG90aGVyIGJyYW5jaC5cbmZ1bmN0aW9uIGhpc3RUcmFuc2FjdGlvbihoaXN0b3J5LCBzdGF0ZSwgcmVkbykge1xuICAgIGxldCBwcmVzZXJ2ZUl0ZW1zID0gbXVzdFByZXNlcnZlSXRlbXMoc3RhdGUpO1xuICAgIGxldCBoaXN0T3B0aW9ucyA9IGhpc3RvcnlLZXkuZ2V0KHN0YXRlKS5zcGVjLmNvbmZpZztcbiAgICBsZXQgcG9wID0gKHJlZG8gPyBoaXN0b3J5LnVuZG9uZSA6IGhpc3RvcnkuZG9uZSkucG9wRXZlbnQoc3RhdGUsIHByZXNlcnZlSXRlbXMpO1xuICAgIGlmICghcG9wKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBsZXQgc2VsZWN0aW9uID0gcG9wLnNlbGVjdGlvbi5yZXNvbHZlKHBvcC50cmFuc2Zvcm0uZG9jKTtcbiAgICBsZXQgYWRkZWQgPSAocmVkbyA/IGhpc3RvcnkuZG9uZSA6IGhpc3RvcnkudW5kb25lKS5hZGRUcmFuc2Zvcm0ocG9wLnRyYW5zZm9ybSwgc3RhdGUuc2VsZWN0aW9uLmdldEJvb2ttYXJrKCksIGhpc3RPcHRpb25zLCBwcmVzZXJ2ZUl0ZW1zKTtcbiAgICBsZXQgbmV3SGlzdCA9IG5ldyBIaXN0b3J5U3RhdGUocmVkbyA/IGFkZGVkIDogcG9wLnJlbWFpbmluZywgcmVkbyA/IHBvcC5yZW1haW5pbmcgOiBhZGRlZCwgbnVsbCwgMCwgLTEpO1xuICAgIHJldHVybiBwb3AudHJhbnNmb3JtLnNldFNlbGVjdGlvbihzZWxlY3Rpb24pLnNldE1ldGEoaGlzdG9yeUtleSwgeyByZWRvLCBoaXN0b3J5U3RhdGU6IG5ld0hpc3QgfSk7XG59XG5sZXQgY2FjaGVkUHJlc2VydmVJdGVtcyA9IGZhbHNlLCBjYWNoZWRQcmVzZXJ2ZUl0ZW1zUGx1Z2lucyA9IG51bGw7XG4vLyBDaGVjayB3aGV0aGVyIGFueSBwbHVnaW4gaW4gdGhlIGdpdmVuIHN0YXRlIGhhcyBhXG4vLyBgaGlzdG9yeVByZXNlcnZlSXRlbXNgIHByb3BlcnR5IGluIGl0cyBzcGVjLCBpbiB3aGljaCBjYXNlIHdlIG11c3Rcbi8vIHByZXNlcnZlIHN0ZXBzIGV4YWN0bHkgYXMgdGhleSBjYW1lIGluLCBzbyB0aGF0IHRoZXkgY2FuIGJlXG4vLyByZWJhc2VkLlxuZnVuY3Rpb24gbXVzdFByZXNlcnZlSXRlbXMoc3RhdGUpIHtcbiAgICBsZXQgcGx1Z2lucyA9IHN0YXRlLnBsdWdpbnM7XG4gICAgaWYgKGNhY2hlZFByZXNlcnZlSXRlbXNQbHVnaW5zICE9IHBsdWdpbnMpIHtcbiAgICAgICAgY2FjaGVkUHJlc2VydmVJdGVtcyA9IGZhbHNlO1xuICAgICAgICBjYWNoZWRQcmVzZXJ2ZUl0ZW1zUGx1Z2lucyA9IHBsdWdpbnM7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGx1Z2lucy5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIGlmIChwbHVnaW5zW2ldLnNwZWMuaGlzdG9yeVByZXNlcnZlSXRlbXMpIHtcbiAgICAgICAgICAgICAgICBjYWNoZWRQcmVzZXJ2ZUl0ZW1zID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNhY2hlZFByZXNlcnZlSXRlbXM7XG59XG4vKipcblNldCBhIGZsYWcgb24gdGhlIGdpdmVuIHRyYW5zYWN0aW9uIHRoYXQgd2lsbCBwcmV2ZW50IGZ1cnRoZXIgc3RlcHNcbmZyb20gYmVpbmcgYXBwZW5kZWQgdG8gYW4gZXhpc3RpbmcgaGlzdG9yeSBldmVudCAoc28gdGhhdCB0aGV5XG5yZXF1aXJlIGEgc2VwYXJhdGUgdW5kbyBjb21tYW5kIHRvIHVuZG8pLlxuKi9cbmZ1bmN0aW9uIGNsb3NlSGlzdG9yeSh0cikge1xuICAgIHJldHVybiB0ci5zZXRNZXRhKGNsb3NlSGlzdG9yeUtleSwgdHJ1ZSk7XG59XG5jb25zdCBoaXN0b3J5S2V5ID0gbmV3IFBsdWdpbktleShcImhpc3RvcnlcIik7XG5jb25zdCBjbG9zZUhpc3RvcnlLZXkgPSBuZXcgUGx1Z2luS2V5KFwiY2xvc2VIaXN0b3J5XCIpO1xuLyoqXG5SZXR1cm5zIGEgcGx1Z2luIHRoYXQgZW5hYmxlcyB0aGUgdW5kbyBoaXN0b3J5IGZvciBhbiBlZGl0b3IuIFRoZVxucGx1Z2luIHdpbGwgdHJhY2sgdW5kbyBhbmQgcmVkbyBzdGFja3MsIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggdGhlXG5bYHVuZG9gXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jaGlzdG9yeS51bmRvKSBhbmQgW2ByZWRvYF0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI2hpc3RvcnkucmVkbykgY29tbWFuZHMuXG5cbllvdSBjYW4gc2V0IGFuIGBcImFkZFRvSGlzdG9yeVwiYCBbbWV0YWRhdGFcbnByb3BlcnR5XShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jc3RhdGUuVHJhbnNhY3Rpb24uc2V0TWV0YSkgb2YgYGZhbHNlYCBvbiBhIHRyYW5zYWN0aW9uXG50byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgcm9sbGVkIGJhY2sgYnkgdW5kby5cbiovXG5mdW5jdGlvbiBoaXN0b3J5KGNvbmZpZyA9IHt9KSB7XG4gICAgY29uZmlnID0geyBkZXB0aDogY29uZmlnLmRlcHRoIHx8IDEwMCxcbiAgICAgICAgbmV3R3JvdXBEZWxheTogY29uZmlnLm5ld0dyb3VwRGVsYXkgfHwgNTAwIH07XG4gICAgcmV0dXJuIG5ldyBQbHVnaW4oe1xuICAgICAgICBrZXk6IGhpc3RvcnlLZXksXG4gICAgICAgIHN0YXRlOiB7XG4gICAgICAgICAgICBpbml0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgSGlzdG9yeVN0YXRlKEJyYW5jaC5lbXB0eSwgQnJhbmNoLmVtcHR5LCBudWxsLCAwLCAtMSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXBwbHkodHIsIGhpc3QsIHN0YXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFwcGx5VHJhbnNhY3Rpb24oaGlzdCwgc3RhdGUsIHRyLCBjb25maWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjb25maWcsXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICBoYW5kbGVET01FdmVudHM6IHtcbiAgICAgICAgICAgICAgICBiZWZvcmVpbnB1dCh2aWV3LCBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpbnB1dFR5cGUgPSBlLmlucHV0VHlwZTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbW1hbmQgPSBpbnB1dFR5cGUgPT0gXCJoaXN0b3J5VW5kb1wiID8gdW5kbyA6IGlucHV0VHlwZSA9PSBcImhpc3RvcnlSZWRvXCIgPyByZWRvIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjb21tYW5kIHx8ICF2aWV3LmVkaXRhYmxlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb21tYW5kKHZpZXcuc3RhdGUsIHZpZXcuZGlzcGF0Y2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gYnVpbGRDb21tYW5kKHJlZG8sIHNjcm9sbCkge1xuICAgIHJldHVybiAoc3RhdGUsIGRpc3BhdGNoKSA9PiB7XG4gICAgICAgIGxldCBoaXN0ID0gaGlzdG9yeUtleS5nZXRTdGF0ZShzdGF0ZSk7XG4gICAgICAgIGlmICghaGlzdCB8fCAocmVkbyA/IGhpc3QudW5kb25lIDogaGlzdC5kb25lKS5ldmVudENvdW50ID09IDApXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgICAgICAgbGV0IHRyID0gaGlzdFRyYW5zYWN0aW9uKGhpc3QsIHN0YXRlLCByZWRvKTtcbiAgICAgICAgICAgIGlmICh0cilcbiAgICAgICAgICAgICAgICBkaXNwYXRjaChzY3JvbGwgPyB0ci5zY3JvbGxJbnRvVmlldygpIDogdHIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH07XG59XG4vKipcbkEgY29tbWFuZCBmdW5jdGlvbiB0aGF0IHVuZG9lcyB0aGUgbGFzdCBjaGFuZ2UsIGlmIGFueS5cbiovXG5jb25zdCB1bmRvID0gYnVpbGRDb21tYW5kKGZhbHNlLCB0cnVlKTtcbi8qKlxuQSBjb21tYW5kIGZ1bmN0aW9uIHRoYXQgcmVkb2VzIHRoZSBsYXN0IHVuZG9uZSBjaGFuZ2UsIGlmIGFueS5cbiovXG5jb25zdCByZWRvID0gYnVpbGRDb21tYW5kKHRydWUsIHRydWUpO1xuLyoqXG5BIGNvbW1hbmQgZnVuY3Rpb24gdGhhdCB1bmRvZXMgdGhlIGxhc3QgY2hhbmdlLiBEb24ndCBzY3JvbGwgdGhlXG5zZWxlY3Rpb24gaW50byB2aWV3LlxuKi9cbmNvbnN0IHVuZG9Ob1Njcm9sbCA9IGJ1aWxkQ29tbWFuZChmYWxzZSwgZmFsc2UpO1xuLyoqXG5BIGNvbW1hbmQgZnVuY3Rpb24gdGhhdCByZWRvZXMgdGhlIGxhc3QgdW5kb25lIGNoYW5nZS4gRG9uJ3RcbnNjcm9sbCB0aGUgc2VsZWN0aW9uIGludG8gdmlldy5cbiovXG5jb25zdCByZWRvTm9TY3JvbGwgPSBidWlsZENvbW1hbmQodHJ1ZSwgZmFsc2UpO1xuLyoqXG5UaGUgYW1vdW50IG9mIHVuZG9hYmxlIGV2ZW50cyBhdmFpbGFibGUgaW4gYSBnaXZlbiBzdGF0ZS5cbiovXG5mdW5jdGlvbiB1bmRvRGVwdGgoc3RhdGUpIHtcbiAgICBsZXQgaGlzdCA9IGhpc3RvcnlLZXkuZ2V0U3RhdGUoc3RhdGUpO1xuICAgIHJldHVybiBoaXN0ID8gaGlzdC5kb25lLmV2ZW50Q291bnQgOiAwO1xufVxuLyoqXG5UaGUgYW1vdW50IG9mIHJlZG9hYmxlIGV2ZW50cyBhdmFpbGFibGUgaW4gYSBnaXZlbiBlZGl0b3Igc3RhdGUuXG4qL1xuZnVuY3Rpb24gcmVkb0RlcHRoKHN0YXRlKSB7XG4gICAgbGV0IGhpc3QgPSBoaXN0b3J5S2V5LmdldFN0YXRlKHN0YXRlKTtcbiAgICByZXR1cm4gaGlzdCA/IGhpc3QudW5kb25lLmV2ZW50Q291bnQgOiAwO1xufVxuLyoqXG5SZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIHRyYW5zYWN0aW9uIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIGhpc3RvcnlcbnBsdWdpbi5cbiovXG5mdW5jdGlvbiBpc0hpc3RvcnlUcmFuc2FjdGlvbih0cikge1xuICAgIHJldHVybiB0ci5nZXRNZXRhKGhpc3RvcnlLZXkpICE9IG51bGw7XG59XG5cbmV4cG9ydCB7IGNsb3NlSGlzdG9yeSwgaGlzdG9yeSwgaXNIaXN0b3J5VHJhbnNhY3Rpb24sIHJlZG8sIHJlZG9EZXB0aCwgcmVkb05vU2Nyb2xsLCB1bmRvLCB1bmRvRGVwdGgsIHVuZG9Ob1Njcm9sbCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/prosemirror-history/dist/index.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/prosemirror-keymap.js b/.next/server/vendor-chunks/prosemirror-keymap.js deleted file mode 100644 index 6b3c3fb..0000000 --- a/.next/server/vendor-chunks/prosemirror-keymap.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/prosemirror-keymap"; -exports.ids = ["vendor-chunks/prosemirror-keymap"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/prosemirror-keymap/dist/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/prosemirror-keymap/dist/index.js ***! - \*******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ keydownHandler: () => (/* binding */ keydownHandler),\n/* harmony export */ keymap: () => (/* binding */ keymap)\n/* harmony export */ });\n/* harmony import */ var w3c_keyname__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! w3c-keyname */ \"(ssr)/./node_modules/w3c-keyname/index.js\");\n/* harmony import */ var prosemirror_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prosemirror-state */ \"(ssr)/./node_modules/prosemirror-state/dist/index.js\");\n\n\n\nconst mac = typeof navigator != \"undefined\" && /Mac|iP(hone|[oa]d)/.test(navigator.platform);\nconst windows = typeof navigator != \"undefined\" && /Win/.test(navigator.platform);\nfunction normalizeKeyName(name) {\n let parts = name.split(/-(?!$)/), result = parts[parts.length - 1];\n if (result == \"Space\")\n result = \" \";\n let alt, ctrl, shift, meta;\n for (let i = 0; i < parts.length - 1; i++) {\n let mod = parts[i];\n if (/^(cmd|meta|m)$/i.test(mod))\n meta = true;\n else if (/^a(lt)?$/i.test(mod))\n alt = true;\n else if (/^(c|ctrl|control)$/i.test(mod))\n ctrl = true;\n else if (/^s(hift)?$/i.test(mod))\n shift = true;\n else if (/^mod$/i.test(mod)) {\n if (mac)\n meta = true;\n else\n ctrl = true;\n }\n else\n throw new Error(\"Unrecognized modifier name: \" + mod);\n }\n if (alt)\n result = \"Alt-\" + result;\n if (ctrl)\n result = \"Ctrl-\" + result;\n if (meta)\n result = \"Meta-\" + result;\n if (shift)\n result = \"Shift-\" + result;\n return result;\n}\nfunction normalize(map) {\n let copy = Object.create(null);\n for (let prop in map)\n copy[normalizeKeyName(prop)] = map[prop];\n return copy;\n}\nfunction modifiers(name, event, shift = true) {\n if (event.altKey)\n name = \"Alt-\" + name;\n if (event.ctrlKey)\n name = \"Ctrl-\" + name;\n if (event.metaKey)\n name = \"Meta-\" + name;\n if (shift && event.shiftKey)\n name = \"Shift-\" + name;\n return name;\n}\n/**\nCreate a keymap plugin for the given set of bindings.\n\nBindings should map key names to [command](https://prosemirror.net/docs/ref/#commands)-style\nfunctions, which will be called with `(EditorState, dispatch,\nEditorView)` arguments, and should return true when they've handled\nthe key. Note that the view argument isn't part of the command\nprotocol, but can be used as an escape hatch if a binding needs to\ndirectly interact with the UI.\n\nKey names may be strings like `\"Shift-Ctrl-Enter\"`—a key\nidentifier prefixed with zero or more modifiers. Key identifiers\nare based on the strings that can appear in\n[`KeyEvent.key`](https:developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key).\nUse lowercase letters to refer to letter keys (or uppercase letters\nif you want shift to be held). You may use `\"Space\"` as an alias\nfor the `\" \"` name.\n\nModifiers can be given in any order. `Shift-` (or `s-`), `Alt-` (or\n`a-`), `Ctrl-` (or `c-` or `Control-`) and `Cmd-` (or `m-` or\n`Meta-`) are recognized. For characters that are created by holding\nshift, the `Shift-` prefix is implied, and should not be added\nexplicitly.\n\nYou can use `Mod-` as a shorthand for `Cmd-` on Mac and `Ctrl-` on\nother platforms.\n\nYou can add multiple keymap plugins to an editor. The order in\nwhich they appear determines their precedence (the ones early in\nthe array get to dispatch first).\n*/\nfunction keymap(bindings) {\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_1__.Plugin({ props: { handleKeyDown: keydownHandler(bindings) } });\n}\n/**\nGiven a set of bindings (using the same format as\n[`keymap`](https://prosemirror.net/docs/ref/#keymap.keymap)), return a [keydown\nhandler](https://prosemirror.net/docs/ref/#view.EditorProps.handleKeyDown) that handles them.\n*/\nfunction keydownHandler(bindings) {\n let map = normalize(bindings);\n return function (view, event) {\n let name = (0,w3c_keyname__WEBPACK_IMPORTED_MODULE_0__.keyName)(event), baseName, direct = map[modifiers(name, event)];\n if (direct && direct(view.state, view.dispatch, view))\n return true;\n // A character key\n if (name.length == 1 && name != \" \") {\n if (event.shiftKey) {\n // In case the name was already modified by shift, try looking\n // it up without its shift modifier\n let noShift = map[modifiers(name, event, false)];\n if (noShift && noShift(view.state, view.dispatch, view))\n return true;\n }\n if ((event.altKey || event.metaKey || event.ctrlKey) &&\n // Ctrl-Alt may be used for AltGr on Windows\n !(windows && event.ctrlKey && event.altKey) &&\n (baseName = w3c_keyname__WEBPACK_IMPORTED_MODULE_0__.base[event.keyCode]) && baseName != name) {\n // Try falling back to the keyCode when there's a modifier\n // active or the character produced isn't ASCII, and our table\n // produces a different name from the the keyCode. See #668,\n // #1060, #1529.\n let fromCode = map[modifiers(baseName, event)];\n if (fromCode && fromCode(view.state, view.dispatch, view))\n return true;\n }\n }\n return false;\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvcHJvc2VtaXJyb3Ita2V5bWFwL2Rpc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE0QztBQUNEOztBQUUzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixzQkFBc0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHFEQUFNLEdBQUcsU0FBUywyQ0FBMkM7QUFDNUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG9EQUFPO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsNkNBQUk7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVrQyIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxuYXNoZWwtZnJvbnRlbmRcXG5vZGVfbW9kdWxlc1xccHJvc2VtaXJyb3Ita2V5bWFwXFxkaXN0XFxpbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBrZXlOYW1lLCBiYXNlIH0gZnJvbSAndzNjLWtleW5hbWUnO1xuaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAncHJvc2VtaXJyb3Itc3RhdGUnO1xuXG5jb25zdCBtYWMgPSB0eXBlb2YgbmF2aWdhdG9yICE9IFwidW5kZWZpbmVkXCIgJiYgL01hY3xpUChob25lfFtvYV1kKS8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pO1xuY29uc3Qgd2luZG93cyA9IHR5cGVvZiBuYXZpZ2F0b3IgIT0gXCJ1bmRlZmluZWRcIiAmJiAvV2luLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSk7XG5mdW5jdGlvbiBub3JtYWxpemVLZXlOYW1lKG5hbWUpIHtcbiAgICBsZXQgcGFydHMgPSBuYW1lLnNwbGl0KC8tKD8hJCkvKSwgcmVzdWx0ID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV07XG4gICAgaWYgKHJlc3VsdCA9PSBcIlNwYWNlXCIpXG4gICAgICAgIHJlc3VsdCA9IFwiIFwiO1xuICAgIGxldCBhbHQsIGN0cmwsIHNoaWZ0LCBtZXRhO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgIGxldCBtb2QgPSBwYXJ0c1tpXTtcbiAgICAgICAgaWYgKC9eKGNtZHxtZXRhfG0pJC9pLnRlc3QobW9kKSlcbiAgICAgICAgICAgIG1ldGEgPSB0cnVlO1xuICAgICAgICBlbHNlIGlmICgvXmEobHQpPyQvaS50ZXN0KG1vZCkpXG4gICAgICAgICAgICBhbHQgPSB0cnVlO1xuICAgICAgICBlbHNlIGlmICgvXihjfGN0cmx8Y29udHJvbCkkL2kudGVzdChtb2QpKVxuICAgICAgICAgICAgY3RybCA9IHRydWU7XG4gICAgICAgIGVsc2UgaWYgKC9ecyhoaWZ0KT8kL2kudGVzdChtb2QpKVxuICAgICAgICAgICAgc2hpZnQgPSB0cnVlO1xuICAgICAgICBlbHNlIGlmICgvXm1vZCQvaS50ZXN0KG1vZCkpIHtcbiAgICAgICAgICAgIGlmIChtYWMpXG4gICAgICAgICAgICAgICAgbWV0YSA9IHRydWU7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgY3RybCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5yZWNvZ25pemVkIG1vZGlmaWVyIG5hbWU6IFwiICsgbW9kKTtcbiAgICB9XG4gICAgaWYgKGFsdClcbiAgICAgICAgcmVzdWx0ID0gXCJBbHQtXCIgKyByZXN1bHQ7XG4gICAgaWYgKGN0cmwpXG4gICAgICAgIHJlc3VsdCA9IFwiQ3RybC1cIiArIHJlc3VsdDtcbiAgICBpZiAobWV0YSlcbiAgICAgICAgcmVzdWx0ID0gXCJNZXRhLVwiICsgcmVzdWx0O1xuICAgIGlmIChzaGlmdClcbiAgICAgICAgcmVzdWx0ID0gXCJTaGlmdC1cIiArIHJlc3VsdDtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gbm9ybWFsaXplKG1hcCkge1xuICAgIGxldCBjb3B5ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBmb3IgKGxldCBwcm9wIGluIG1hcClcbiAgICAgICAgY29weVtub3JtYWxpemVLZXlOYW1lKHByb3ApXSA9IG1hcFtwcm9wXTtcbiAgICByZXR1cm4gY29weTtcbn1cbmZ1bmN0aW9uIG1vZGlmaWVycyhuYW1lLCBldmVudCwgc2hpZnQgPSB0cnVlKSB7XG4gICAgaWYgKGV2ZW50LmFsdEtleSlcbiAgICAgICAgbmFtZSA9IFwiQWx0LVwiICsgbmFtZTtcbiAgICBpZiAoZXZlbnQuY3RybEtleSlcbiAgICAgICAgbmFtZSA9IFwiQ3RybC1cIiArIG5hbWU7XG4gICAgaWYgKGV2ZW50Lm1ldGFLZXkpXG4gICAgICAgIG5hbWUgPSBcIk1ldGEtXCIgKyBuYW1lO1xuICAgIGlmIChzaGlmdCAmJiBldmVudC5zaGlmdEtleSlcbiAgICAgICAgbmFtZSA9IFwiU2hpZnQtXCIgKyBuYW1lO1xuICAgIHJldHVybiBuYW1lO1xufVxuLyoqXG5DcmVhdGUgYSBrZXltYXAgcGx1Z2luIGZvciB0aGUgZ2l2ZW4gc2V0IG9mIGJpbmRpbmdzLlxuXG5CaW5kaW5ncyBzaG91bGQgbWFwIGtleSBuYW1lcyB0byBbY29tbWFuZF0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI2NvbW1hbmRzKS1zdHlsZVxuZnVuY3Rpb25zLCB3aGljaCB3aWxsIGJlIGNhbGxlZCB3aXRoIGAoRWRpdG9yU3RhdGUsIGRpc3BhdGNoLFxuRWRpdG9yVmlldylgIGFyZ3VtZW50cywgYW5kIHNob3VsZCByZXR1cm4gdHJ1ZSB3aGVuIHRoZXkndmUgaGFuZGxlZFxudGhlIGtleS4gTm90ZSB0aGF0IHRoZSB2aWV3IGFyZ3VtZW50IGlzbid0IHBhcnQgb2YgdGhlIGNvbW1hbmRcbnByb3RvY29sLCBidXQgY2FuIGJlIHVzZWQgYXMgYW4gZXNjYXBlIGhhdGNoIGlmIGEgYmluZGluZyBuZWVkcyB0b1xuZGlyZWN0bHkgaW50ZXJhY3Qgd2l0aCB0aGUgVUkuXG5cbktleSBuYW1lcyBtYXkgYmUgc3RyaW5ncyBsaWtlIGBcIlNoaWZ0LUN0cmwtRW50ZXJcImDigJRhIGtleVxuaWRlbnRpZmllciBwcmVmaXhlZCB3aXRoIHplcm8gb3IgbW9yZSBtb2RpZmllcnMuIEtleSBpZGVudGlmaWVyc1xuYXJlIGJhc2VkIG9uIHRoZSBzdHJpbmdzIHRoYXQgY2FuIGFwcGVhciBpblxuW2BLZXlFdmVudC5rZXlgXShodHRwczpkZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0tleWJvYXJkRXZlbnQva2V5KS5cblVzZSBsb3dlcmNhc2UgbGV0dGVycyB0byByZWZlciB0byBsZXR0ZXIga2V5cyAob3IgdXBwZXJjYXNlIGxldHRlcnNcbmlmIHlvdSB3YW50IHNoaWZ0IHRvIGJlIGhlbGQpLiBZb3UgbWF5IHVzZSBgXCJTcGFjZVwiYCBhcyBhbiBhbGlhc1xuZm9yIHRoZSBgXCIgXCJgIG5hbWUuXG5cbk1vZGlmaWVycyBjYW4gYmUgZ2l2ZW4gaW4gYW55IG9yZGVyLiBgU2hpZnQtYCAob3IgYHMtYCksIGBBbHQtYCAob3JcbmBhLWApLCBgQ3RybC1gIChvciBgYy1gIG9yIGBDb250cm9sLWApIGFuZCBgQ21kLWAgKG9yIGBtLWAgb3JcbmBNZXRhLWApIGFyZSByZWNvZ25pemVkLiBGb3IgY2hhcmFjdGVycyB0aGF0IGFyZSBjcmVhdGVkIGJ5IGhvbGRpbmdcbnNoaWZ0LCB0aGUgYFNoaWZ0LWAgcHJlZml4IGlzIGltcGxpZWQsIGFuZCBzaG91bGQgbm90IGJlIGFkZGVkXG5leHBsaWNpdGx5LlxuXG5Zb3UgY2FuIHVzZSBgTW9kLWAgYXMgYSBzaG9ydGhhbmQgZm9yIGBDbWQtYCBvbiBNYWMgYW5kIGBDdHJsLWAgb25cbm90aGVyIHBsYXRmb3Jtcy5cblxuWW91IGNhbiBhZGQgbXVsdGlwbGUga2V5bWFwIHBsdWdpbnMgdG8gYW4gZWRpdG9yLiBUaGUgb3JkZXIgaW5cbndoaWNoIHRoZXkgYXBwZWFyIGRldGVybWluZXMgdGhlaXIgcHJlY2VkZW5jZSAodGhlIG9uZXMgZWFybHkgaW5cbnRoZSBhcnJheSBnZXQgdG8gZGlzcGF0Y2ggZmlyc3QpLlxuKi9cbmZ1bmN0aW9uIGtleW1hcChiaW5kaW5ncykge1xuICAgIHJldHVybiBuZXcgUGx1Z2luKHsgcHJvcHM6IHsgaGFuZGxlS2V5RG93bjoga2V5ZG93bkhhbmRsZXIoYmluZGluZ3MpIH0gfSk7XG59XG4vKipcbkdpdmVuIGEgc2V0IG9mIGJpbmRpbmdzICh1c2luZyB0aGUgc2FtZSBmb3JtYXQgYXNcbltga2V5bWFwYF0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI2tleW1hcC5rZXltYXApKSwgcmV0dXJuIGEgW2tleWRvd25cbmhhbmRsZXJdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyN2aWV3LkVkaXRvclByb3BzLmhhbmRsZUtleURvd24pIHRoYXQgaGFuZGxlcyB0aGVtLlxuKi9cbmZ1bmN0aW9uIGtleWRvd25IYW5kbGVyKGJpbmRpbmdzKSB7XG4gICAgbGV0IG1hcCA9IG5vcm1hbGl6ZShiaW5kaW5ncyk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh2aWV3LCBldmVudCkge1xuICAgICAgICBsZXQgbmFtZSA9IGtleU5hbWUoZXZlbnQpLCBiYXNlTmFtZSwgZGlyZWN0ID0gbWFwW21vZGlmaWVycyhuYW1lLCBldmVudCldO1xuICAgICAgICBpZiAoZGlyZWN0ICYmIGRpcmVjdCh2aWV3LnN0YXRlLCB2aWV3LmRpc3BhdGNoLCB2aWV3KSlcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAvLyBBIGNoYXJhY3RlciBrZXlcbiAgICAgICAgaWYgKG5hbWUubGVuZ3RoID09IDEgJiYgbmFtZSAhPSBcIiBcIikge1xuICAgICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgLy8gSW4gY2FzZSB0aGUgbmFtZSB3YXMgYWxyZWFkeSBtb2RpZmllZCBieSBzaGlmdCwgdHJ5IGxvb2tpbmdcbiAgICAgICAgICAgICAgICAvLyBpdCB1cCB3aXRob3V0IGl0cyBzaGlmdCBtb2RpZmllclxuICAgICAgICAgICAgICAgIGxldCBub1NoaWZ0ID0gbWFwW21vZGlmaWVycyhuYW1lLCBldmVudCwgZmFsc2UpXTtcbiAgICAgICAgICAgICAgICBpZiAobm9TaGlmdCAmJiBub1NoaWZ0KHZpZXcuc3RhdGUsIHZpZXcuZGlzcGF0Y2gsIHZpZXcpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgoZXZlbnQuYWx0S2V5IHx8IGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSkgJiZcbiAgICAgICAgICAgICAgICAvLyBDdHJsLUFsdCBtYXkgYmUgdXNlZCBmb3IgQWx0R3Igb24gV2luZG93c1xuICAgICAgICAgICAgICAgICEod2luZG93cyAmJiBldmVudC5jdHJsS2V5ICYmIGV2ZW50LmFsdEtleSkgJiZcbiAgICAgICAgICAgICAgICAoYmFzZU5hbWUgPSBiYXNlW2V2ZW50LmtleUNvZGVdKSAmJiBiYXNlTmFtZSAhPSBuYW1lKSB7XG4gICAgICAgICAgICAgICAgLy8gVHJ5IGZhbGxpbmcgYmFjayB0byB0aGUga2V5Q29kZSB3aGVuIHRoZXJlJ3MgYSBtb2RpZmllclxuICAgICAgICAgICAgICAgIC8vIGFjdGl2ZSBvciB0aGUgY2hhcmFjdGVyIHByb2R1Y2VkIGlzbid0IEFTQ0lJLCBhbmQgb3VyIHRhYmxlXG4gICAgICAgICAgICAgICAgLy8gcHJvZHVjZXMgYSBkaWZmZXJlbnQgbmFtZSBmcm9tIHRoZSB0aGUga2V5Q29kZS4gU2VlICM2NjgsXG4gICAgICAgICAgICAgICAgLy8gIzEwNjAsICMxNTI5LlxuICAgICAgICAgICAgICAgIGxldCBmcm9tQ29kZSA9IG1hcFttb2RpZmllcnMoYmFzZU5hbWUsIGV2ZW50KV07XG4gICAgICAgICAgICAgICAgaWYgKGZyb21Db2RlICYmIGZyb21Db2RlKHZpZXcuc3RhdGUsIHZpZXcuZGlzcGF0Y2gsIHZpZXcpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcbn1cblxuZXhwb3J0IHsga2V5ZG93bkhhbmRsZXIsIGtleW1hcCB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/prosemirror-keymap/dist/index.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/prosemirror-model.js b/.next/server/vendor-chunks/prosemirror-model.js deleted file mode 100644 index 61c54d5..0000000 --- a/.next/server/vendor-chunks/prosemirror-model.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/prosemirror-model"; -exports.ids = ["vendor-chunks/prosemirror-model"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/prosemirror-model/dist/index.js": -/*!******************************************************!*\ - !*** ./node_modules/prosemirror-model/dist/index.js ***! - \******************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ContentMatch: () => (/* binding */ ContentMatch),\n/* harmony export */ DOMParser: () => (/* binding */ DOMParser),\n/* harmony export */ DOMSerializer: () => (/* binding */ DOMSerializer),\n/* harmony export */ Fragment: () => (/* binding */ Fragment),\n/* harmony export */ Mark: () => (/* binding */ Mark),\n/* harmony export */ MarkType: () => (/* binding */ MarkType),\n/* harmony export */ Node: () => (/* binding */ Node),\n/* harmony export */ NodeRange: () => (/* binding */ NodeRange),\n/* harmony export */ NodeType: () => (/* binding */ NodeType),\n/* harmony export */ ReplaceError: () => (/* binding */ ReplaceError),\n/* harmony export */ ResolvedPos: () => (/* binding */ ResolvedPos),\n/* harmony export */ Schema: () => (/* binding */ Schema),\n/* harmony export */ Slice: () => (/* binding */ Slice)\n/* harmony export */ });\n/* harmony import */ var orderedmap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! orderedmap */ \"(ssr)/./node_modules/orderedmap/dist/index.js\");\n\n\nfunction findDiffStart(a, b, pos) {\n for (let i = 0;; i++) {\n if (i == a.childCount || i == b.childCount)\n return a.childCount == b.childCount ? null : pos;\n let childA = a.child(i), childB = b.child(i);\n if (childA == childB) {\n pos += childA.nodeSize;\n continue;\n }\n if (!childA.sameMarkup(childB))\n return pos;\n if (childA.isText && childA.text != childB.text) {\n for (let j = 0; childA.text[j] == childB.text[j]; j++)\n pos++;\n return pos;\n }\n if (childA.content.size || childB.content.size) {\n let inner = findDiffStart(childA.content, childB.content, pos + 1);\n if (inner != null)\n return inner;\n }\n pos += childA.nodeSize;\n }\n}\nfunction findDiffEnd(a, b, posA, posB) {\n for (let iA = a.childCount, iB = b.childCount;;) {\n if (iA == 0 || iB == 0)\n return iA == iB ? null : { a: posA, b: posB };\n let childA = a.child(--iA), childB = b.child(--iB), size = childA.nodeSize;\n if (childA == childB) {\n posA -= size;\n posB -= size;\n continue;\n }\n if (!childA.sameMarkup(childB))\n return { a: posA, b: posB };\n if (childA.isText && childA.text != childB.text) {\n let same = 0, minSize = Math.min(childA.text.length, childB.text.length);\n while (same < minSize && childA.text[childA.text.length - same - 1] == childB.text[childB.text.length - same - 1]) {\n same++;\n posA--;\n posB--;\n }\n return { a: posA, b: posB };\n }\n if (childA.content.size || childB.content.size) {\n let inner = findDiffEnd(childA.content, childB.content, posA - 1, posB - 1);\n if (inner)\n return inner;\n }\n posA -= size;\n posB -= size;\n }\n}\n\n/**\nA fragment represents a node's collection of child nodes.\n\nLike nodes, fragments are persistent data structures, and you\nshould not mutate them or their content. Rather, you create new\ninstances whenever needed. The API tries to make this easy.\n*/\nclass Fragment {\n /**\n @internal\n */\n constructor(\n /**\n The child nodes in this fragment.\n */\n content, size) {\n this.content = content;\n this.size = size || 0;\n if (size == null)\n for (let i = 0; i < content.length; i++)\n this.size += content[i].nodeSize;\n }\n /**\n Invoke a callback for all descendant nodes between the given two\n positions (relative to start of this fragment). Doesn't descend\n into a node when the callback returns `false`.\n */\n nodesBetween(from, to, f, nodeStart = 0, parent) {\n for (let i = 0, pos = 0; pos < to; i++) {\n let child = this.content[i], end = pos + child.nodeSize;\n if (end > from && f(child, nodeStart + pos, parent || null, i) !== false && child.content.size) {\n let start = pos + 1;\n child.nodesBetween(Math.max(0, from - start), Math.min(child.content.size, to - start), f, nodeStart + start);\n }\n pos = end;\n }\n }\n /**\n Call the given callback for every descendant node. `pos` will be\n relative to the start of the fragment. The callback may return\n `false` to prevent traversal of a given node's children.\n */\n descendants(f) {\n this.nodesBetween(0, this.size, f);\n }\n /**\n Extract the text between `from` and `to`. See the same method on\n [`Node`](https://prosemirror.net/docs/ref/#model.Node.textBetween).\n */\n textBetween(from, to, blockSeparator, leafText) {\n let text = \"\", first = true;\n this.nodesBetween(from, to, (node, pos) => {\n let nodeText = node.isText ? node.text.slice(Math.max(from, pos) - pos, to - pos)\n : !node.isLeaf ? \"\"\n : leafText ? (typeof leafText === \"function\" ? leafText(node) : leafText)\n : node.type.spec.leafText ? node.type.spec.leafText(node)\n : \"\";\n if (node.isBlock && (node.isLeaf && nodeText || node.isTextblock) && blockSeparator) {\n if (first)\n first = false;\n else\n text += blockSeparator;\n }\n text += nodeText;\n }, 0);\n return text;\n }\n /**\n Create a new fragment containing the combined content of this\n fragment and the other.\n */\n append(other) {\n if (!other.size)\n return this;\n if (!this.size)\n return other;\n let last = this.lastChild, first = other.firstChild, content = this.content.slice(), i = 0;\n if (last.isText && last.sameMarkup(first)) {\n content[content.length - 1] = last.withText(last.text + first.text);\n i = 1;\n }\n for (; i < other.content.length; i++)\n content.push(other.content[i]);\n return new Fragment(content, this.size + other.size);\n }\n /**\n Cut out the sub-fragment between the two given positions.\n */\n cut(from, to = this.size) {\n if (from == 0 && to == this.size)\n return this;\n let result = [], size = 0;\n if (to > from)\n for (let i = 0, pos = 0; pos < to; i++) {\n let child = this.content[i], end = pos + child.nodeSize;\n if (end > from) {\n if (pos < from || end > to) {\n if (child.isText)\n child = child.cut(Math.max(0, from - pos), Math.min(child.text.length, to - pos));\n else\n child = child.cut(Math.max(0, from - pos - 1), Math.min(child.content.size, to - pos - 1));\n }\n result.push(child);\n size += child.nodeSize;\n }\n pos = end;\n }\n return new Fragment(result, size);\n }\n /**\n @internal\n */\n cutByIndex(from, to) {\n if (from == to)\n return Fragment.empty;\n if (from == 0 && to == this.content.length)\n return this;\n return new Fragment(this.content.slice(from, to));\n }\n /**\n Create a new fragment in which the node at the given index is\n replaced by the given node.\n */\n replaceChild(index, node) {\n let current = this.content[index];\n if (current == node)\n return this;\n let copy = this.content.slice();\n let size = this.size + node.nodeSize - current.nodeSize;\n copy[index] = node;\n return new Fragment(copy, size);\n }\n /**\n Create a new fragment by prepending the given node to this\n fragment.\n */\n addToStart(node) {\n return new Fragment([node].concat(this.content), this.size + node.nodeSize);\n }\n /**\n Create a new fragment by appending the given node to this\n fragment.\n */\n addToEnd(node) {\n return new Fragment(this.content.concat(node), this.size + node.nodeSize);\n }\n /**\n Compare this fragment to another one.\n */\n eq(other) {\n if (this.content.length != other.content.length)\n return false;\n for (let i = 0; i < this.content.length; i++)\n if (!this.content[i].eq(other.content[i]))\n return false;\n return true;\n }\n /**\n The first child of the fragment, or `null` if it is empty.\n */\n get firstChild() { return this.content.length ? this.content[0] : null; }\n /**\n The last child of the fragment, or `null` if it is empty.\n */\n get lastChild() { return this.content.length ? this.content[this.content.length - 1] : null; }\n /**\n The number of child nodes in this fragment.\n */\n get childCount() { return this.content.length; }\n /**\n Get the child node at the given index. Raise an error when the\n index is out of range.\n */\n child(index) {\n let found = this.content[index];\n if (!found)\n throw new RangeError(\"Index \" + index + \" out of range for \" + this);\n return found;\n }\n /**\n Get the child node at the given index, if it exists.\n */\n maybeChild(index) {\n return this.content[index] || null;\n }\n /**\n Call `f` for every child node, passing the node, its offset\n into this parent node, and its index.\n */\n forEach(f) {\n for (let i = 0, p = 0; i < this.content.length; i++) {\n let child = this.content[i];\n f(child, p, i);\n p += child.nodeSize;\n }\n }\n /**\n Find the first position at which this fragment and another\n fragment differ, or `null` if they are the same.\n */\n findDiffStart(other, pos = 0) {\n return findDiffStart(this, other, pos);\n }\n /**\n Find the first position, searching from the end, at which this\n fragment and the given fragment differ, or `null` if they are\n the same. Since this position will not be the same in both\n nodes, an object with two separate positions is returned.\n */\n findDiffEnd(other, pos = this.size, otherPos = other.size) {\n return findDiffEnd(this, other, pos, otherPos);\n }\n /**\n Find the index and inner offset corresponding to a given relative\n position in this fragment. The result object will be reused\n (overwritten) the next time the function is called. @internal\n */\n findIndex(pos) {\n if (pos == 0)\n return retIndex(0, pos);\n if (pos == this.size)\n return retIndex(this.content.length, pos);\n if (pos > this.size || pos < 0)\n throw new RangeError(`Position ${pos} outside of fragment (${this})`);\n for (let i = 0, curPos = 0;; i++) {\n let cur = this.child(i), end = curPos + cur.nodeSize;\n if (end >= pos) {\n if (end == pos)\n return retIndex(i + 1, end);\n return retIndex(i, curPos);\n }\n curPos = end;\n }\n }\n /**\n Return a debugging string that describes this fragment.\n */\n toString() { return \"<\" + this.toStringInner() + \">\"; }\n /**\n @internal\n */\n toStringInner() { return this.content.join(\", \"); }\n /**\n Create a JSON-serializeable representation of this fragment.\n */\n toJSON() {\n return this.content.length ? this.content.map(n => n.toJSON()) : null;\n }\n /**\n Deserialize a fragment from its JSON representation.\n */\n static fromJSON(schema, value) {\n if (!value)\n return Fragment.empty;\n if (!Array.isArray(value))\n throw new RangeError(\"Invalid input for Fragment.fromJSON\");\n return new Fragment(value.map(schema.nodeFromJSON));\n }\n /**\n Build a fragment from an array of nodes. Ensures that adjacent\n text nodes with the same marks are joined together.\n */\n static fromArray(array) {\n if (!array.length)\n return Fragment.empty;\n let joined, size = 0;\n for (let i = 0; i < array.length; i++) {\n let node = array[i];\n size += node.nodeSize;\n if (i && node.isText && array[i - 1].sameMarkup(node)) {\n if (!joined)\n joined = array.slice(0, i);\n joined[joined.length - 1] = node\n .withText(joined[joined.length - 1].text + node.text);\n }\n else if (joined) {\n joined.push(node);\n }\n }\n return new Fragment(joined || array, size);\n }\n /**\n Create a fragment from something that can be interpreted as a\n set of nodes. For `null`, it returns the empty fragment. For a\n fragment, the fragment itself. For a node or array of nodes, a\n fragment containing those nodes.\n */\n static from(nodes) {\n if (!nodes)\n return Fragment.empty;\n if (nodes instanceof Fragment)\n return nodes;\n if (Array.isArray(nodes))\n return this.fromArray(nodes);\n if (nodes.attrs)\n return new Fragment([nodes], nodes.nodeSize);\n throw new RangeError(\"Can not convert \" + nodes + \" to a Fragment\" +\n (nodes.nodesBetween ? \" (looks like multiple versions of prosemirror-model were loaded)\" : \"\"));\n }\n}\n/**\nAn empty fragment. Intended to be reused whenever a node doesn't\ncontain anything (rather than allocating a new empty fragment for\neach leaf node).\n*/\nFragment.empty = new Fragment([], 0);\nconst found = { index: 0, offset: 0 };\nfunction retIndex(index, offset) {\n found.index = index;\n found.offset = offset;\n return found;\n}\n\nfunction compareDeep(a, b) {\n if (a === b)\n return true;\n if (!(a && typeof a == \"object\") ||\n !(b && typeof b == \"object\"))\n return false;\n let array = Array.isArray(a);\n if (Array.isArray(b) != array)\n return false;\n if (array) {\n if (a.length != b.length)\n return false;\n for (let i = 0; i < a.length; i++)\n if (!compareDeep(a[i], b[i]))\n return false;\n }\n else {\n for (let p in a)\n if (!(p in b) || !compareDeep(a[p], b[p]))\n return false;\n for (let p in b)\n if (!(p in a))\n return false;\n }\n return true;\n}\n\n/**\nA mark is a piece of information that can be attached to a node,\nsuch as it being emphasized, in code font, or a link. It has a\ntype and optionally a set of attributes that provide further\ninformation (such as the target of the link). Marks are created\nthrough a `Schema`, which controls which types exist and which\nattributes they have.\n*/\nclass Mark {\n /**\n @internal\n */\n constructor(\n /**\n The type of this mark.\n */\n type, \n /**\n The attributes associated with this mark.\n */\n attrs) {\n this.type = type;\n this.attrs = attrs;\n }\n /**\n Given a set of marks, create a new set which contains this one as\n well, in the right position. If this mark is already in the set,\n the set itself is returned. If any marks that are set to be\n [exclusive](https://prosemirror.net/docs/ref/#model.MarkSpec.excludes) with this mark are present,\n those are replaced by this one.\n */\n addToSet(set) {\n let copy, placed = false;\n for (let i = 0; i < set.length; i++) {\n let other = set[i];\n if (this.eq(other))\n return set;\n if (this.type.excludes(other.type)) {\n if (!copy)\n copy = set.slice(0, i);\n }\n else if (other.type.excludes(this.type)) {\n return set;\n }\n else {\n if (!placed && other.type.rank > this.type.rank) {\n if (!copy)\n copy = set.slice(0, i);\n copy.push(this);\n placed = true;\n }\n if (copy)\n copy.push(other);\n }\n }\n if (!copy)\n copy = set.slice();\n if (!placed)\n copy.push(this);\n return copy;\n }\n /**\n Remove this mark from the given set, returning a new set. If this\n mark is not in the set, the set itself is returned.\n */\n removeFromSet(set) {\n for (let i = 0; i < set.length; i++)\n if (this.eq(set[i]))\n return set.slice(0, i).concat(set.slice(i + 1));\n return set;\n }\n /**\n Test whether this mark is in the given set of marks.\n */\n isInSet(set) {\n for (let i = 0; i < set.length; i++)\n if (this.eq(set[i]))\n return true;\n return false;\n }\n /**\n Test whether this mark has the same type and attributes as\n another mark.\n */\n eq(other) {\n return this == other ||\n (this.type == other.type && compareDeep(this.attrs, other.attrs));\n }\n /**\n Convert this mark to a JSON-serializeable representation.\n */\n toJSON() {\n let obj = { type: this.type.name };\n for (let _ in this.attrs) {\n obj.attrs = this.attrs;\n break;\n }\n return obj;\n }\n /**\n Deserialize a mark from JSON.\n */\n static fromJSON(schema, json) {\n if (!json)\n throw new RangeError(\"Invalid input for Mark.fromJSON\");\n let type = schema.marks[json.type];\n if (!type)\n throw new RangeError(`There is no mark type ${json.type} in this schema`);\n let mark = type.create(json.attrs);\n type.checkAttrs(mark.attrs);\n return mark;\n }\n /**\n Test whether two sets of marks are identical.\n */\n static sameSet(a, b) {\n if (a == b)\n return true;\n if (a.length != b.length)\n return false;\n for (let i = 0; i < a.length; i++)\n if (!a[i].eq(b[i]))\n return false;\n return true;\n }\n /**\n Create a properly sorted mark set from null, a single mark, or an\n unsorted array of marks.\n */\n static setFrom(marks) {\n if (!marks || Array.isArray(marks) && marks.length == 0)\n return Mark.none;\n if (marks instanceof Mark)\n return [marks];\n let copy = marks.slice();\n copy.sort((a, b) => a.type.rank - b.type.rank);\n return copy;\n }\n}\n/**\nThe empty set of marks.\n*/\nMark.none = [];\n\n/**\nError type raised by [`Node.replace`](https://prosemirror.net/docs/ref/#model.Node.replace) when\ngiven an invalid replacement.\n*/\nclass ReplaceError extends Error {\n}\n/*\nReplaceError = function(this: any, message: string) {\n let err = Error.call(this, message)\n ;(err as any).__proto__ = ReplaceError.prototype\n return err\n} as any\n\nReplaceError.prototype = Object.create(Error.prototype)\nReplaceError.prototype.constructor = ReplaceError\nReplaceError.prototype.name = \"ReplaceError\"\n*/\n/**\nA slice represents a piece cut out of a larger document. It\nstores not only a fragment, but also the depth up to which nodes on\nboth side are ‘open’ (cut through).\n*/\nclass Slice {\n /**\n Create a slice. When specifying a non-zero open depth, you must\n make sure that there are nodes of at least that depth at the\n appropriate side of the fragment—i.e. if the fragment is an\n empty paragraph node, `openStart` and `openEnd` can't be greater\n than 1.\n \n It is not necessary for the content of open nodes to conform to\n the schema's content constraints, though it should be a valid\n start/end/middle for such a node, depending on which sides are\n open.\n */\n constructor(\n /**\n The slice's content.\n */\n content, \n /**\n The open depth at the start of the fragment.\n */\n openStart, \n /**\n The open depth at the end.\n */\n openEnd) {\n this.content = content;\n this.openStart = openStart;\n this.openEnd = openEnd;\n }\n /**\n The size this slice would add when inserted into a document.\n */\n get size() {\n return this.content.size - this.openStart - this.openEnd;\n }\n /**\n @internal\n */\n insertAt(pos, fragment) {\n let content = insertInto(this.content, pos + this.openStart, fragment);\n return content && new Slice(content, this.openStart, this.openEnd);\n }\n /**\n @internal\n */\n removeBetween(from, to) {\n return new Slice(removeRange(this.content, from + this.openStart, to + this.openStart), this.openStart, this.openEnd);\n }\n /**\n Tests whether this slice is equal to another slice.\n */\n eq(other) {\n return this.content.eq(other.content) && this.openStart == other.openStart && this.openEnd == other.openEnd;\n }\n /**\n @internal\n */\n toString() {\n return this.content + \"(\" + this.openStart + \",\" + this.openEnd + \")\";\n }\n /**\n Convert a slice to a JSON-serializable representation.\n */\n toJSON() {\n if (!this.content.size)\n return null;\n let json = { content: this.content.toJSON() };\n if (this.openStart > 0)\n json.openStart = this.openStart;\n if (this.openEnd > 0)\n json.openEnd = this.openEnd;\n return json;\n }\n /**\n Deserialize a slice from its JSON representation.\n */\n static fromJSON(schema, json) {\n if (!json)\n return Slice.empty;\n let openStart = json.openStart || 0, openEnd = json.openEnd || 0;\n if (typeof openStart != \"number\" || typeof openEnd != \"number\")\n throw new RangeError(\"Invalid input for Slice.fromJSON\");\n return new Slice(Fragment.fromJSON(schema, json.content), openStart, openEnd);\n }\n /**\n Create a slice from a fragment by taking the maximum possible\n open value on both side of the fragment.\n */\n static maxOpen(fragment, openIsolating = true) {\n let openStart = 0, openEnd = 0;\n for (let n = fragment.firstChild; n && !n.isLeaf && (openIsolating || !n.type.spec.isolating); n = n.firstChild)\n openStart++;\n for (let n = fragment.lastChild; n && !n.isLeaf && (openIsolating || !n.type.spec.isolating); n = n.lastChild)\n openEnd++;\n return new Slice(fragment, openStart, openEnd);\n }\n}\n/**\nThe empty slice.\n*/\nSlice.empty = new Slice(Fragment.empty, 0, 0);\nfunction removeRange(content, from, to) {\n let { index, offset } = content.findIndex(from), child = content.maybeChild(index);\n let { index: indexTo, offset: offsetTo } = content.findIndex(to);\n if (offset == from || child.isText) {\n if (offsetTo != to && !content.child(indexTo).isText)\n throw new RangeError(\"Removing non-flat range\");\n return content.cut(0, from).append(content.cut(to));\n }\n if (index != indexTo)\n throw new RangeError(\"Removing non-flat range\");\n return content.replaceChild(index, child.copy(removeRange(child.content, from - offset - 1, to - offset - 1)));\n}\nfunction insertInto(content, dist, insert, parent) {\n let { index, offset } = content.findIndex(dist), child = content.maybeChild(index);\n if (offset == dist || child.isText) {\n if (parent && !parent.canReplace(index, index, insert))\n return null;\n return content.cut(0, dist).append(insert).append(content.cut(dist));\n }\n let inner = insertInto(child.content, dist - offset - 1, insert, child);\n return inner && content.replaceChild(index, child.copy(inner));\n}\nfunction replace($from, $to, slice) {\n if (slice.openStart > $from.depth)\n throw new ReplaceError(\"Inserted content deeper than insertion position\");\n if ($from.depth - slice.openStart != $to.depth - slice.openEnd)\n throw new ReplaceError(\"Inconsistent open depths\");\n return replaceOuter($from, $to, slice, 0);\n}\nfunction replaceOuter($from, $to, slice, depth) {\n let index = $from.index(depth), node = $from.node(depth);\n if (index == $to.index(depth) && depth < $from.depth - slice.openStart) {\n let inner = replaceOuter($from, $to, slice, depth + 1);\n return node.copy(node.content.replaceChild(index, inner));\n }\n else if (!slice.content.size) {\n return close(node, replaceTwoWay($from, $to, depth));\n }\n else if (!slice.openStart && !slice.openEnd && $from.depth == depth && $to.depth == depth) { // Simple, flat case\n let parent = $from.parent, content = parent.content;\n return close(parent, content.cut(0, $from.parentOffset).append(slice.content).append(content.cut($to.parentOffset)));\n }\n else {\n let { start, end } = prepareSliceForReplace(slice, $from);\n return close(node, replaceThreeWay($from, start, end, $to, depth));\n }\n}\nfunction checkJoin(main, sub) {\n if (!sub.type.compatibleContent(main.type))\n throw new ReplaceError(\"Cannot join \" + sub.type.name + \" onto \" + main.type.name);\n}\nfunction joinable($before, $after, depth) {\n let node = $before.node(depth);\n checkJoin(node, $after.node(depth));\n return node;\n}\nfunction addNode(child, target) {\n let last = target.length - 1;\n if (last >= 0 && child.isText && child.sameMarkup(target[last]))\n target[last] = child.withText(target[last].text + child.text);\n else\n target.push(child);\n}\nfunction addRange($start, $end, depth, target) {\n let node = ($end || $start).node(depth);\n let startIndex = 0, endIndex = $end ? $end.index(depth) : node.childCount;\n if ($start) {\n startIndex = $start.index(depth);\n if ($start.depth > depth) {\n startIndex++;\n }\n else if ($start.textOffset) {\n addNode($start.nodeAfter, target);\n startIndex++;\n }\n }\n for (let i = startIndex; i < endIndex; i++)\n addNode(node.child(i), target);\n if ($end && $end.depth == depth && $end.textOffset)\n addNode($end.nodeBefore, target);\n}\nfunction close(node, content) {\n node.type.checkContent(content);\n return node.copy(content);\n}\nfunction replaceThreeWay($from, $start, $end, $to, depth) {\n let openStart = $from.depth > depth && joinable($from, $start, depth + 1);\n let openEnd = $to.depth > depth && joinable($end, $to, depth + 1);\n let content = [];\n addRange(null, $from, depth, content);\n if (openStart && openEnd && $start.index(depth) == $end.index(depth)) {\n checkJoin(openStart, openEnd);\n addNode(close(openStart, replaceThreeWay($from, $start, $end, $to, depth + 1)), content);\n }\n else {\n if (openStart)\n addNode(close(openStart, replaceTwoWay($from, $start, depth + 1)), content);\n addRange($start, $end, depth, content);\n if (openEnd)\n addNode(close(openEnd, replaceTwoWay($end, $to, depth + 1)), content);\n }\n addRange($to, null, depth, content);\n return new Fragment(content);\n}\nfunction replaceTwoWay($from, $to, depth) {\n let content = [];\n addRange(null, $from, depth, content);\n if ($from.depth > depth) {\n let type = joinable($from, $to, depth + 1);\n addNode(close(type, replaceTwoWay($from, $to, depth + 1)), content);\n }\n addRange($to, null, depth, content);\n return new Fragment(content);\n}\nfunction prepareSliceForReplace(slice, $along) {\n let extra = $along.depth - slice.openStart, parent = $along.node(extra);\n let node = parent.copy(slice.content);\n for (let i = extra - 1; i >= 0; i--)\n node = $along.node(i).copy(Fragment.from(node));\n return { start: node.resolveNoCache(slice.openStart + extra),\n end: node.resolveNoCache(node.content.size - slice.openEnd - extra) };\n}\n\n/**\nYou can [_resolve_](https://prosemirror.net/docs/ref/#model.Node.resolve) a position to get more\ninformation about it. Objects of this class represent such a\nresolved position, providing various pieces of context\ninformation, and some helper methods.\n\nThroughout this interface, methods that take an optional `depth`\nparameter will interpret undefined as `this.depth` and negative\nnumbers as `this.depth + value`.\n*/\nclass ResolvedPos {\n /**\n @internal\n */\n constructor(\n /**\n The position that was resolved.\n */\n pos, \n /**\n @internal\n */\n path, \n /**\n The offset this position has into its parent node.\n */\n parentOffset) {\n this.pos = pos;\n this.path = path;\n this.parentOffset = parentOffset;\n this.depth = path.length / 3 - 1;\n }\n /**\n @internal\n */\n resolveDepth(val) {\n if (val == null)\n return this.depth;\n if (val < 0)\n return this.depth + val;\n return val;\n }\n /**\n The parent node that the position points into. Note that even if\n a position points into a text node, that node is not considered\n the parent—text nodes are ‘flat’ in this model, and have no content.\n */\n get parent() { return this.node(this.depth); }\n /**\n The root node in which the position was resolved.\n */\n get doc() { return this.node(0); }\n /**\n The ancestor node at the given level. `p.node(p.depth)` is the\n same as `p.parent`.\n */\n node(depth) { return this.path[this.resolveDepth(depth) * 3]; }\n /**\n The index into the ancestor at the given level. If this points\n at the 3rd node in the 2nd paragraph on the top level, for\n example, `p.index(0)` is 1 and `p.index(1)` is 2.\n */\n index(depth) { return this.path[this.resolveDepth(depth) * 3 + 1]; }\n /**\n The index pointing after this position into the ancestor at the\n given level.\n */\n indexAfter(depth) {\n depth = this.resolveDepth(depth);\n return this.index(depth) + (depth == this.depth && !this.textOffset ? 0 : 1);\n }\n /**\n The (absolute) position at the start of the node at the given\n level.\n */\n start(depth) {\n depth = this.resolveDepth(depth);\n return depth == 0 ? 0 : this.path[depth * 3 - 1] + 1;\n }\n /**\n The (absolute) position at the end of the node at the given\n level.\n */\n end(depth) {\n depth = this.resolveDepth(depth);\n return this.start(depth) + this.node(depth).content.size;\n }\n /**\n The (absolute) position directly before the wrapping node at the\n given level, or, when `depth` is `this.depth + 1`, the original\n position.\n */\n before(depth) {\n depth = this.resolveDepth(depth);\n if (!depth)\n throw new RangeError(\"There is no position before the top-level node\");\n return depth == this.depth + 1 ? this.pos : this.path[depth * 3 - 1];\n }\n /**\n The (absolute) position directly after the wrapping node at the\n given level, or the original position when `depth` is `this.depth + 1`.\n */\n after(depth) {\n depth = this.resolveDepth(depth);\n if (!depth)\n throw new RangeError(\"There is no position after the top-level node\");\n return depth == this.depth + 1 ? this.pos : this.path[depth * 3 - 1] + this.path[depth * 3].nodeSize;\n }\n /**\n When this position points into a text node, this returns the\n distance between the position and the start of the text node.\n Will be zero for positions that point between nodes.\n */\n get textOffset() { return this.pos - this.path[this.path.length - 1]; }\n /**\n Get the node directly after the position, if any. If the position\n points into a text node, only the part of that node after the\n position is returned.\n */\n get nodeAfter() {\n let parent = this.parent, index = this.index(this.depth);\n if (index == parent.childCount)\n return null;\n let dOff = this.pos - this.path[this.path.length - 1], child = parent.child(index);\n return dOff ? parent.child(index).cut(dOff) : child;\n }\n /**\n Get the node directly before the position, if any. If the\n position points into a text node, only the part of that node\n before the position is returned.\n */\n get nodeBefore() {\n let index = this.index(this.depth);\n let dOff = this.pos - this.path[this.path.length - 1];\n if (dOff)\n return this.parent.child(index).cut(0, dOff);\n return index == 0 ? null : this.parent.child(index - 1);\n }\n /**\n Get the position at the given index in the parent node at the\n given depth (which defaults to `this.depth`).\n */\n posAtIndex(index, depth) {\n depth = this.resolveDepth(depth);\n let node = this.path[depth * 3], pos = depth == 0 ? 0 : this.path[depth * 3 - 1] + 1;\n for (let i = 0; i < index; i++)\n pos += node.child(i).nodeSize;\n return pos;\n }\n /**\n Get the marks at this position, factoring in the surrounding\n marks' [`inclusive`](https://prosemirror.net/docs/ref/#model.MarkSpec.inclusive) property. If the\n position is at the start of a non-empty node, the marks of the\n node after it (if any) are returned.\n */\n marks() {\n let parent = this.parent, index = this.index();\n // In an empty parent, return the empty array\n if (parent.content.size == 0)\n return Mark.none;\n // When inside a text node, just return the text node's marks\n if (this.textOffset)\n return parent.child(index).marks;\n let main = parent.maybeChild(index - 1), other = parent.maybeChild(index);\n // If the `after` flag is true of there is no node before, make\n // the node after this position the main reference.\n if (!main) {\n let tmp = main;\n main = other;\n other = tmp;\n }\n // Use all marks in the main node, except those that have\n // `inclusive` set to false and are not present in the other node.\n let marks = main.marks;\n for (var i = 0; i < marks.length; i++)\n if (marks[i].type.spec.inclusive === false && (!other || !marks[i].isInSet(other.marks)))\n marks = marks[i--].removeFromSet(marks);\n return marks;\n }\n /**\n Get the marks after the current position, if any, except those\n that are non-inclusive and not present at position `$end`. This\n is mostly useful for getting the set of marks to preserve after a\n deletion. Will return `null` if this position is at the end of\n its parent node or its parent node isn't a textblock (in which\n case no marks should be preserved).\n */\n marksAcross($end) {\n let after = this.parent.maybeChild(this.index());\n if (!after || !after.isInline)\n return null;\n let marks = after.marks, next = $end.parent.maybeChild($end.index());\n for (var i = 0; i < marks.length; i++)\n if (marks[i].type.spec.inclusive === false && (!next || !marks[i].isInSet(next.marks)))\n marks = marks[i--].removeFromSet(marks);\n return marks;\n }\n /**\n The depth up to which this position and the given (non-resolved)\n position share the same parent nodes.\n */\n sharedDepth(pos) {\n for (let depth = this.depth; depth > 0; depth--)\n if (this.start(depth) <= pos && this.end(depth) >= pos)\n return depth;\n return 0;\n }\n /**\n Returns a range based on the place where this position and the\n given position diverge around block content. If both point into\n the same textblock, for example, a range around that textblock\n will be returned. If they point into different blocks, the range\n around those blocks in their shared ancestor is returned. You can\n pass in an optional predicate that will be called with a parent\n node to see if a range into that parent is acceptable.\n */\n blockRange(other = this, pred) {\n if (other.pos < this.pos)\n return other.blockRange(this);\n for (let d = this.depth - (this.parent.inlineContent || this.pos == other.pos ? 1 : 0); d >= 0; d--)\n if (other.pos <= this.end(d) && (!pred || pred(this.node(d))))\n return new NodeRange(this, other, d);\n return null;\n }\n /**\n Query whether the given position shares the same parent node.\n */\n sameParent(other) {\n return this.pos - this.parentOffset == other.pos - other.parentOffset;\n }\n /**\n Return the greater of this and the given position.\n */\n max(other) {\n return other.pos > this.pos ? other : this;\n }\n /**\n Return the smaller of this and the given position.\n */\n min(other) {\n return other.pos < this.pos ? other : this;\n }\n /**\n @internal\n */\n toString() {\n let str = \"\";\n for (let i = 1; i <= this.depth; i++)\n str += (str ? \"/\" : \"\") + this.node(i).type.name + \"_\" + this.index(i - 1);\n return str + \":\" + this.parentOffset;\n }\n /**\n @internal\n */\n static resolve(doc, pos) {\n if (!(pos >= 0 && pos <= doc.content.size))\n throw new RangeError(\"Position \" + pos + \" out of range\");\n let path = [];\n let start = 0, parentOffset = pos;\n for (let node = doc;;) {\n let { index, offset } = node.content.findIndex(parentOffset);\n let rem = parentOffset - offset;\n path.push(node, index, start + offset);\n if (!rem)\n break;\n node = node.child(index);\n if (node.isText)\n break;\n parentOffset = rem - 1;\n start += offset + 1;\n }\n return new ResolvedPos(pos, path, parentOffset);\n }\n /**\n @internal\n */\n static resolveCached(doc, pos) {\n let cache = resolveCache.get(doc);\n if (cache) {\n for (let i = 0; i < cache.elts.length; i++) {\n let elt = cache.elts[i];\n if (elt.pos == pos)\n return elt;\n }\n }\n else {\n resolveCache.set(doc, cache = new ResolveCache);\n }\n let result = cache.elts[cache.i] = ResolvedPos.resolve(doc, pos);\n cache.i = (cache.i + 1) % resolveCacheSize;\n return result;\n }\n}\nclass ResolveCache {\n constructor() {\n this.elts = [];\n this.i = 0;\n }\n}\nconst resolveCacheSize = 12, resolveCache = new WeakMap();\n/**\nRepresents a flat range of content, i.e. one that starts and\nends in the same node.\n*/\nclass NodeRange {\n /**\n Construct a node range. `$from` and `$to` should point into the\n same node until at least the given `depth`, since a node range\n denotes an adjacent set of nodes in a single parent node.\n */\n constructor(\n /**\n A resolved position along the start of the content. May have a\n `depth` greater than this object's `depth` property, since\n these are the positions that were used to compute the range,\n not re-resolved positions directly at its boundaries.\n */\n $from, \n /**\n A position along the end of the content. See\n caveat for [`$from`](https://prosemirror.net/docs/ref/#model.NodeRange.$from).\n */\n $to, \n /**\n The depth of the node that this range points into.\n */\n depth) {\n this.$from = $from;\n this.$to = $to;\n this.depth = depth;\n }\n /**\n The position at the start of the range.\n */\n get start() { return this.$from.before(this.depth + 1); }\n /**\n The position at the end of the range.\n */\n get end() { return this.$to.after(this.depth + 1); }\n /**\n The parent node that the range points into.\n */\n get parent() { return this.$from.node(this.depth); }\n /**\n The start index of the range in the parent node.\n */\n get startIndex() { return this.$from.index(this.depth); }\n /**\n The end index of the range in the parent node.\n */\n get endIndex() { return this.$to.indexAfter(this.depth); }\n}\n\nconst emptyAttrs = Object.create(null);\n/**\nThis class represents a node in the tree that makes up a\nProseMirror document. So a document is an instance of `Node`, with\nchildren that are also instances of `Node`.\n\nNodes are persistent data structures. Instead of changing them, you\ncreate new ones with the content you want. Old ones keep pointing\nat the old document shape. This is made cheaper by sharing\nstructure between the old and new data as much as possible, which a\ntree shape like this (without back pointers) makes easy.\n\n**Do not** directly mutate the properties of a `Node` object. See\n[the guide](https://prosemirror.net/docs/guide/#doc) for more information.\n*/\nclass Node {\n /**\n @internal\n */\n constructor(\n /**\n The type of node that this is.\n */\n type, \n /**\n An object mapping attribute names to values. The kind of\n attributes allowed and required are\n [determined](https://prosemirror.net/docs/ref/#model.NodeSpec.attrs) by the node type.\n */\n attrs, \n // A fragment holding the node's children.\n content, \n /**\n The marks (things like whether it is emphasized or part of a\n link) applied to this node.\n */\n marks = Mark.none) {\n this.type = type;\n this.attrs = attrs;\n this.marks = marks;\n this.content = content || Fragment.empty;\n }\n /**\n The array of this node's child nodes.\n */\n get children() { return this.content.content; }\n /**\n The size of this node, as defined by the integer-based [indexing\n scheme](https://prosemirror.net/docs/guide/#doc.indexing). For text nodes, this is the\n amount of characters. For other leaf nodes, it is one. For\n non-leaf nodes, it is the size of the content plus two (the\n start and end token).\n */\n get nodeSize() { return this.isLeaf ? 1 : 2 + this.content.size; }\n /**\n The number of children that the node has.\n */\n get childCount() { return this.content.childCount; }\n /**\n Get the child node at the given index. Raises an error when the\n index is out of range.\n */\n child(index) { return this.content.child(index); }\n /**\n Get the child node at the given index, if it exists.\n */\n maybeChild(index) { return this.content.maybeChild(index); }\n /**\n Call `f` for every child node, passing the node, its offset\n into this parent node, and its index.\n */\n forEach(f) { this.content.forEach(f); }\n /**\n Invoke a callback for all descendant nodes recursively between\n the given two positions that are relative to start of this\n node's content. The callback is invoked with the node, its\n position relative to the original node (method receiver),\n its parent node, and its child index. When the callback returns\n false for a given node, that node's children will not be\n recursed over. The last parameter can be used to specify a\n starting position to count from.\n */\n nodesBetween(from, to, f, startPos = 0) {\n this.content.nodesBetween(from, to, f, startPos, this);\n }\n /**\n Call the given callback for every descendant node. Doesn't\n descend into a node when the callback returns `false`.\n */\n descendants(f) {\n this.nodesBetween(0, this.content.size, f);\n }\n /**\n Concatenates all the text nodes found in this fragment and its\n children.\n */\n get textContent() {\n return (this.isLeaf && this.type.spec.leafText)\n ? this.type.spec.leafText(this)\n : this.textBetween(0, this.content.size, \"\");\n }\n /**\n Get all text between positions `from` and `to`. When\n `blockSeparator` is given, it will be inserted to separate text\n from different block nodes. If `leafText` is given, it'll be\n inserted for every non-text leaf node encountered, otherwise\n [`leafText`](https://prosemirror.net/docs/ref/#model.NodeSpec.leafText) will be used.\n */\n textBetween(from, to, blockSeparator, leafText) {\n return this.content.textBetween(from, to, blockSeparator, leafText);\n }\n /**\n Returns this node's first child, or `null` if there are no\n children.\n */\n get firstChild() { return this.content.firstChild; }\n /**\n Returns this node's last child, or `null` if there are no\n children.\n */\n get lastChild() { return this.content.lastChild; }\n /**\n Test whether two nodes represent the same piece of document.\n */\n eq(other) {\n return this == other || (this.sameMarkup(other) && this.content.eq(other.content));\n }\n /**\n Compare the markup (type, attributes, and marks) of this node to\n those of another. Returns `true` if both have the same markup.\n */\n sameMarkup(other) {\n return this.hasMarkup(other.type, other.attrs, other.marks);\n }\n /**\n Check whether this node's markup correspond to the given type,\n attributes, and marks.\n */\n hasMarkup(type, attrs, marks) {\n return this.type == type &&\n compareDeep(this.attrs, attrs || type.defaultAttrs || emptyAttrs) &&\n Mark.sameSet(this.marks, marks || Mark.none);\n }\n /**\n Create a new node with the same markup as this node, containing\n the given content (or empty, if no content is given).\n */\n copy(content = null) {\n if (content == this.content)\n return this;\n return new Node(this.type, this.attrs, content, this.marks);\n }\n /**\n Create a copy of this node, with the given set of marks instead\n of the node's own marks.\n */\n mark(marks) {\n return marks == this.marks ? this : new Node(this.type, this.attrs, this.content, marks);\n }\n /**\n Create a copy of this node with only the content between the\n given positions. If `to` is not given, it defaults to the end of\n the node.\n */\n cut(from, to = this.content.size) {\n if (from == 0 && to == this.content.size)\n return this;\n return this.copy(this.content.cut(from, to));\n }\n /**\n Cut out the part of the document between the given positions, and\n return it as a `Slice` object.\n */\n slice(from, to = this.content.size, includeParents = false) {\n if (from == to)\n return Slice.empty;\n let $from = this.resolve(from), $to = this.resolve(to);\n let depth = includeParents ? 0 : $from.sharedDepth(to);\n let start = $from.start(depth), node = $from.node(depth);\n let content = node.content.cut($from.pos - start, $to.pos - start);\n return new Slice(content, $from.depth - depth, $to.depth - depth);\n }\n /**\n Replace the part of the document between the given positions with\n the given slice. The slice must 'fit', meaning its open sides\n must be able to connect to the surrounding content, and its\n content nodes must be valid children for the node they are placed\n into. If any of this is violated, an error of type\n [`ReplaceError`](https://prosemirror.net/docs/ref/#model.ReplaceError) is thrown.\n */\n replace(from, to, slice) {\n return replace(this.resolve(from), this.resolve(to), slice);\n }\n /**\n Find the node directly after the given position.\n */\n nodeAt(pos) {\n for (let node = this;;) {\n let { index, offset } = node.content.findIndex(pos);\n node = node.maybeChild(index);\n if (!node)\n return null;\n if (offset == pos || node.isText)\n return node;\n pos -= offset + 1;\n }\n }\n /**\n Find the (direct) child node after the given offset, if any,\n and return it along with its index and offset relative to this\n node.\n */\n childAfter(pos) {\n let { index, offset } = this.content.findIndex(pos);\n return { node: this.content.maybeChild(index), index, offset };\n }\n /**\n Find the (direct) child node before the given offset, if any,\n and return it along with its index and offset relative to this\n node.\n */\n childBefore(pos) {\n if (pos == 0)\n return { node: null, index: 0, offset: 0 };\n let { index, offset } = this.content.findIndex(pos);\n if (offset < pos)\n return { node: this.content.child(index), index, offset };\n let node = this.content.child(index - 1);\n return { node, index: index - 1, offset: offset - node.nodeSize };\n }\n /**\n Resolve the given position in the document, returning an\n [object](https://prosemirror.net/docs/ref/#model.ResolvedPos) with information about its context.\n */\n resolve(pos) { return ResolvedPos.resolveCached(this, pos); }\n /**\n @internal\n */\n resolveNoCache(pos) { return ResolvedPos.resolve(this, pos); }\n /**\n Test whether a given mark or mark type occurs in this document\n between the two given positions.\n */\n rangeHasMark(from, to, type) {\n let found = false;\n if (to > from)\n this.nodesBetween(from, to, node => {\n if (type.isInSet(node.marks))\n found = true;\n return !found;\n });\n return found;\n }\n /**\n True when this is a block (non-inline node)\n */\n get isBlock() { return this.type.isBlock; }\n /**\n True when this is a textblock node, a block node with inline\n content.\n */\n get isTextblock() { return this.type.isTextblock; }\n /**\n True when this node allows inline content.\n */\n get inlineContent() { return this.type.inlineContent; }\n /**\n True when this is an inline node (a text node or a node that can\n appear among text).\n */\n get isInline() { return this.type.isInline; }\n /**\n True when this is a text node.\n */\n get isText() { return this.type.isText; }\n /**\n True when this is a leaf node.\n */\n get isLeaf() { return this.type.isLeaf; }\n /**\n True when this is an atom, i.e. when it does not have directly\n editable content. This is usually the same as `isLeaf`, but can\n be configured with the [`atom` property](https://prosemirror.net/docs/ref/#model.NodeSpec.atom)\n on a node's spec (typically used when the node is displayed as\n an uneditable [node view](https://prosemirror.net/docs/ref/#view.NodeView)).\n */\n get isAtom() { return this.type.isAtom; }\n /**\n Return a string representation of this node for debugging\n purposes.\n */\n toString() {\n if (this.type.spec.toDebugString)\n return this.type.spec.toDebugString(this);\n let name = this.type.name;\n if (this.content.size)\n name += \"(\" + this.content.toStringInner() + \")\";\n return wrapMarks(this.marks, name);\n }\n /**\n Get the content match in this node at the given index.\n */\n contentMatchAt(index) {\n let match = this.type.contentMatch.matchFragment(this.content, 0, index);\n if (!match)\n throw new Error(\"Called contentMatchAt on a node with invalid content\");\n return match;\n }\n /**\n Test whether replacing the range between `from` and `to` (by\n child index) with the given replacement fragment (which defaults\n to the empty fragment) would leave the node's content valid. You\n can optionally pass `start` and `end` indices into the\n replacement fragment.\n */\n canReplace(from, to, replacement = Fragment.empty, start = 0, end = replacement.childCount) {\n let one = this.contentMatchAt(from).matchFragment(replacement, start, end);\n let two = one && one.matchFragment(this.content, to);\n if (!two || !two.validEnd)\n return false;\n for (let i = start; i < end; i++)\n if (!this.type.allowsMarks(replacement.child(i).marks))\n return false;\n return true;\n }\n /**\n Test whether replacing the range `from` to `to` (by index) with\n a node of the given type would leave the node's content valid.\n */\n canReplaceWith(from, to, type, marks) {\n if (marks && !this.type.allowsMarks(marks))\n return false;\n let start = this.contentMatchAt(from).matchType(type);\n let end = start && start.matchFragment(this.content, to);\n return end ? end.validEnd : false;\n }\n /**\n Test whether the given node's content could be appended to this\n node. If that node is empty, this will only return true if there\n is at least one node type that can appear in both nodes (to avoid\n merging completely incompatible nodes).\n */\n canAppend(other) {\n if (other.content.size)\n return this.canReplace(this.childCount, this.childCount, other.content);\n else\n return this.type.compatibleContent(other.type);\n }\n /**\n Check whether this node and its descendants conform to the\n schema, and raise an exception when they do not.\n */\n check() {\n this.type.checkContent(this.content);\n this.type.checkAttrs(this.attrs);\n let copy = Mark.none;\n for (let i = 0; i < this.marks.length; i++) {\n let mark = this.marks[i];\n mark.type.checkAttrs(mark.attrs);\n copy = mark.addToSet(copy);\n }\n if (!Mark.sameSet(copy, this.marks))\n throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(m => m.type.name)}`);\n this.content.forEach(node => node.check());\n }\n /**\n Return a JSON-serializeable representation of this node.\n */\n toJSON() {\n let obj = { type: this.type.name };\n for (let _ in this.attrs) {\n obj.attrs = this.attrs;\n break;\n }\n if (this.content.size)\n obj.content = this.content.toJSON();\n if (this.marks.length)\n obj.marks = this.marks.map(n => n.toJSON());\n return obj;\n }\n /**\n Deserialize a node from its JSON representation.\n */\n static fromJSON(schema, json) {\n if (!json)\n throw new RangeError(\"Invalid input for Node.fromJSON\");\n let marks = undefined;\n if (json.marks) {\n if (!Array.isArray(json.marks))\n throw new RangeError(\"Invalid mark data for Node.fromJSON\");\n marks = json.marks.map(schema.markFromJSON);\n }\n if (json.type == \"text\") {\n if (typeof json.text != \"string\")\n throw new RangeError(\"Invalid text node in JSON\");\n return schema.text(json.text, marks);\n }\n let content = Fragment.fromJSON(schema, json.content);\n let node = schema.nodeType(json.type).create(json.attrs, content, marks);\n node.type.checkAttrs(node.attrs);\n return node;\n }\n}\nNode.prototype.text = undefined;\nclass TextNode extends Node {\n /**\n @internal\n */\n constructor(type, attrs, content, marks) {\n super(type, attrs, null, marks);\n if (!content)\n throw new RangeError(\"Empty text nodes are not allowed\");\n this.text = content;\n }\n toString() {\n if (this.type.spec.toDebugString)\n return this.type.spec.toDebugString(this);\n return wrapMarks(this.marks, JSON.stringify(this.text));\n }\n get textContent() { return this.text; }\n textBetween(from, to) { return this.text.slice(from, to); }\n get nodeSize() { return this.text.length; }\n mark(marks) {\n return marks == this.marks ? this : new TextNode(this.type, this.attrs, this.text, marks);\n }\n withText(text) {\n if (text == this.text)\n return this;\n return new TextNode(this.type, this.attrs, text, this.marks);\n }\n cut(from = 0, to = this.text.length) {\n if (from == 0 && to == this.text.length)\n return this;\n return this.withText(this.text.slice(from, to));\n }\n eq(other) {\n return this.sameMarkup(other) && this.text == other.text;\n }\n toJSON() {\n let base = super.toJSON();\n base.text = this.text;\n return base;\n }\n}\nfunction wrapMarks(marks, str) {\n for (let i = marks.length - 1; i >= 0; i--)\n str = marks[i].type.name + \"(\" + str + \")\";\n return str;\n}\n\n/**\nInstances of this class represent a match state of a node type's\n[content expression](https://prosemirror.net/docs/ref/#model.NodeSpec.content), and can be used to\nfind out whether further content matches here, and whether a given\nposition is a valid end of the node.\n*/\nclass ContentMatch {\n /**\n @internal\n */\n constructor(\n /**\n True when this match state represents a valid end of the node.\n */\n validEnd) {\n this.validEnd = validEnd;\n /**\n @internal\n */\n this.next = [];\n /**\n @internal\n */\n this.wrapCache = [];\n }\n /**\n @internal\n */\n static parse(string, nodeTypes) {\n let stream = new TokenStream(string, nodeTypes);\n if (stream.next == null)\n return ContentMatch.empty;\n let expr = parseExpr(stream);\n if (stream.next)\n stream.err(\"Unexpected trailing text\");\n let match = dfa(nfa(expr));\n checkForDeadEnds(match, stream);\n return match;\n }\n /**\n Match a node type, returning a match after that node if\n successful.\n */\n matchType(type) {\n for (let i = 0; i < this.next.length; i++)\n if (this.next[i].type == type)\n return this.next[i].next;\n return null;\n }\n /**\n Try to match a fragment. Returns the resulting match when\n successful.\n */\n matchFragment(frag, start = 0, end = frag.childCount) {\n let cur = this;\n for (let i = start; cur && i < end; i++)\n cur = cur.matchType(frag.child(i).type);\n return cur;\n }\n /**\n @internal\n */\n get inlineContent() {\n return this.next.length != 0 && this.next[0].type.isInline;\n }\n /**\n Get the first matching node type at this match position that can\n be generated.\n */\n get defaultType() {\n for (let i = 0; i < this.next.length; i++) {\n let { type } = this.next[i];\n if (!(type.isText || type.hasRequiredAttrs()))\n return type;\n }\n return null;\n }\n /**\n @internal\n */\n compatible(other) {\n for (let i = 0; i < this.next.length; i++)\n for (let j = 0; j < other.next.length; j++)\n if (this.next[i].type == other.next[j].type)\n return true;\n return false;\n }\n /**\n Try to match the given fragment, and if that fails, see if it can\n be made to match by inserting nodes in front of it. When\n successful, return a fragment of inserted nodes (which may be\n empty if nothing had to be inserted). When `toEnd` is true, only\n return a fragment if the resulting match goes to the end of the\n content expression.\n */\n fillBefore(after, toEnd = false, startIndex = 0) {\n let seen = [this];\n function search(match, types) {\n let finished = match.matchFragment(after, startIndex);\n if (finished && (!toEnd || finished.validEnd))\n return Fragment.from(types.map(tp => tp.createAndFill()));\n for (let i = 0; i < match.next.length; i++) {\n let { type, next } = match.next[i];\n if (!(type.isText || type.hasRequiredAttrs()) && seen.indexOf(next) == -1) {\n seen.push(next);\n let found = search(next, types.concat(type));\n if (found)\n return found;\n }\n }\n return null;\n }\n return search(this, []);\n }\n /**\n Find a set of wrapping node types that would allow a node of the\n given type to appear at this position. The result may be empty\n (when it fits directly) and will be null when no such wrapping\n exists.\n */\n findWrapping(target) {\n for (let i = 0; i < this.wrapCache.length; i += 2)\n if (this.wrapCache[i] == target)\n return this.wrapCache[i + 1];\n let computed = this.computeWrapping(target);\n this.wrapCache.push(target, computed);\n return computed;\n }\n /**\n @internal\n */\n computeWrapping(target) {\n let seen = Object.create(null), active = [{ match: this, type: null, via: null }];\n while (active.length) {\n let current = active.shift(), match = current.match;\n if (match.matchType(target)) {\n let result = [];\n for (let obj = current; obj.type; obj = obj.via)\n result.push(obj.type);\n return result.reverse();\n }\n for (let i = 0; i < match.next.length; i++) {\n let { type, next } = match.next[i];\n if (!type.isLeaf && !type.hasRequiredAttrs() && !(type.name in seen) && (!current.type || next.validEnd)) {\n active.push({ match: type.contentMatch, type, via: current });\n seen[type.name] = true;\n }\n }\n }\n return null;\n }\n /**\n The number of outgoing edges this node has in the finite\n automaton that describes the content expression.\n */\n get edgeCount() {\n return this.next.length;\n }\n /**\n Get the _n_​th outgoing edge from this node in the finite\n automaton that describes the content expression.\n */\n edge(n) {\n if (n >= this.next.length)\n throw new RangeError(`There's no ${n}th edge in this content match`);\n return this.next[n];\n }\n /**\n @internal\n */\n toString() {\n let seen = [];\n function scan(m) {\n seen.push(m);\n for (let i = 0; i < m.next.length; i++)\n if (seen.indexOf(m.next[i].next) == -1)\n scan(m.next[i].next);\n }\n scan(this);\n return seen.map((m, i) => {\n let out = i + (m.validEnd ? \"*\" : \" \") + \" \";\n for (let i = 0; i < m.next.length; i++)\n out += (i ? \", \" : \"\") + m.next[i].type.name + \"->\" + seen.indexOf(m.next[i].next);\n return out;\n }).join(\"\\n\");\n }\n}\n/**\n@internal\n*/\nContentMatch.empty = new ContentMatch(true);\nclass TokenStream {\n constructor(string, nodeTypes) {\n this.string = string;\n this.nodeTypes = nodeTypes;\n this.inline = null;\n this.pos = 0;\n this.tokens = string.split(/\\s*(?=\\b|\\W|$)/);\n if (this.tokens[this.tokens.length - 1] == \"\")\n this.tokens.pop();\n if (this.tokens[0] == \"\")\n this.tokens.shift();\n }\n get next() { return this.tokens[this.pos]; }\n eat(tok) { return this.next == tok && (this.pos++ || true); }\n err(str) { throw new SyntaxError(str + \" (in content expression '\" + this.string + \"')\"); }\n}\nfunction parseExpr(stream) {\n let exprs = [];\n do {\n exprs.push(parseExprSeq(stream));\n } while (stream.eat(\"|\"));\n return exprs.length == 1 ? exprs[0] : { type: \"choice\", exprs };\n}\nfunction parseExprSeq(stream) {\n let exprs = [];\n do {\n exprs.push(parseExprSubscript(stream));\n } while (stream.next && stream.next != \")\" && stream.next != \"|\");\n return exprs.length == 1 ? exprs[0] : { type: \"seq\", exprs };\n}\nfunction parseExprSubscript(stream) {\n let expr = parseExprAtom(stream);\n for (;;) {\n if (stream.eat(\"+\"))\n expr = { type: \"plus\", expr };\n else if (stream.eat(\"*\"))\n expr = { type: \"star\", expr };\n else if (stream.eat(\"?\"))\n expr = { type: \"opt\", expr };\n else if (stream.eat(\"{\"))\n expr = parseExprRange(stream, expr);\n else\n break;\n }\n return expr;\n}\nfunction parseNum(stream) {\n if (/\\D/.test(stream.next))\n stream.err(\"Expected number, got '\" + stream.next + \"'\");\n let result = Number(stream.next);\n stream.pos++;\n return result;\n}\nfunction parseExprRange(stream, expr) {\n let min = parseNum(stream), max = min;\n if (stream.eat(\",\")) {\n if (stream.next != \"}\")\n max = parseNum(stream);\n else\n max = -1;\n }\n if (!stream.eat(\"}\"))\n stream.err(\"Unclosed braced range\");\n return { type: \"range\", min, max, expr };\n}\nfunction resolveName(stream, name) {\n let types = stream.nodeTypes, type = types[name];\n if (type)\n return [type];\n let result = [];\n for (let typeName in types) {\n let type = types[typeName];\n if (type.isInGroup(name))\n result.push(type);\n }\n if (result.length == 0)\n stream.err(\"No node type or group '\" + name + \"' found\");\n return result;\n}\nfunction parseExprAtom(stream) {\n if (stream.eat(\"(\")) {\n let expr = parseExpr(stream);\n if (!stream.eat(\")\"))\n stream.err(\"Missing closing paren\");\n return expr;\n }\n else if (!/\\W/.test(stream.next)) {\n let exprs = resolveName(stream, stream.next).map(type => {\n if (stream.inline == null)\n stream.inline = type.isInline;\n else if (stream.inline != type.isInline)\n stream.err(\"Mixing inline and block content\");\n return { type: \"name\", value: type };\n });\n stream.pos++;\n return exprs.length == 1 ? exprs[0] : { type: \"choice\", exprs };\n }\n else {\n stream.err(\"Unexpected token '\" + stream.next + \"'\");\n }\n}\n// Construct an NFA from an expression as returned by the parser. The\n// NFA is represented as an array of states, which are themselves\n// arrays of edges, which are `{term, to}` objects. The first state is\n// the entry state and the last node is the success state.\n//\n// Note that unlike typical NFAs, the edge ordering in this one is\n// significant, in that it is used to contruct filler content when\n// necessary.\nfunction nfa(expr) {\n let nfa = [[]];\n connect(compile(expr, 0), node());\n return nfa;\n function node() { return nfa.push([]) - 1; }\n function edge(from, to, term) {\n let edge = { term, to };\n nfa[from].push(edge);\n return edge;\n }\n function connect(edges, to) {\n edges.forEach(edge => edge.to = to);\n }\n function compile(expr, from) {\n if (expr.type == \"choice\") {\n return expr.exprs.reduce((out, expr) => out.concat(compile(expr, from)), []);\n }\n else if (expr.type == \"seq\") {\n for (let i = 0;; i++) {\n let next = compile(expr.exprs[i], from);\n if (i == expr.exprs.length - 1)\n return next;\n connect(next, from = node());\n }\n }\n else if (expr.type == \"star\") {\n let loop = node();\n edge(from, loop);\n connect(compile(expr.expr, loop), loop);\n return [edge(loop)];\n }\n else if (expr.type == \"plus\") {\n let loop = node();\n connect(compile(expr.expr, from), loop);\n connect(compile(expr.expr, loop), loop);\n return [edge(loop)];\n }\n else if (expr.type == \"opt\") {\n return [edge(from)].concat(compile(expr.expr, from));\n }\n else if (expr.type == \"range\") {\n let cur = from;\n for (let i = 0; i < expr.min; i++) {\n let next = node();\n connect(compile(expr.expr, cur), next);\n cur = next;\n }\n if (expr.max == -1) {\n connect(compile(expr.expr, cur), cur);\n }\n else {\n for (let i = expr.min; i < expr.max; i++) {\n let next = node();\n edge(cur, next);\n connect(compile(expr.expr, cur), next);\n cur = next;\n }\n }\n return [edge(cur)];\n }\n else if (expr.type == \"name\") {\n return [edge(from, undefined, expr.value)];\n }\n else {\n throw new Error(\"Unknown expr type\");\n }\n }\n}\nfunction cmp(a, b) { return b - a; }\n// Get the set of nodes reachable by null edges from `node`. Omit\n// nodes with only a single null-out-edge, since they may lead to\n// needless duplicated nodes.\nfunction nullFrom(nfa, node) {\n let result = [];\n scan(node);\n return result.sort(cmp);\n function scan(node) {\n let edges = nfa[node];\n if (edges.length == 1 && !edges[0].term)\n return scan(edges[0].to);\n result.push(node);\n for (let i = 0; i < edges.length; i++) {\n let { term, to } = edges[i];\n if (!term && result.indexOf(to) == -1)\n scan(to);\n }\n }\n}\n// Compiles an NFA as produced by `nfa` into a DFA, modeled as a set\n// of state objects (`ContentMatch` instances) with transitions\n// between them.\nfunction dfa(nfa) {\n let labeled = Object.create(null);\n return explore(nullFrom(nfa, 0));\n function explore(states) {\n let out = [];\n states.forEach(node => {\n nfa[node].forEach(({ term, to }) => {\n if (!term)\n return;\n let set;\n for (let i = 0; i < out.length; i++)\n if (out[i][0] == term)\n set = out[i][1];\n nullFrom(nfa, to).forEach(node => {\n if (!set)\n out.push([term, set = []]);\n if (set.indexOf(node) == -1)\n set.push(node);\n });\n });\n });\n let state = labeled[states.join(\",\")] = new ContentMatch(states.indexOf(nfa.length - 1) > -1);\n for (let i = 0; i < out.length; i++) {\n let states = out[i][1].sort(cmp);\n state.next.push({ type: out[i][0], next: labeled[states.join(\",\")] || explore(states) });\n }\n return state;\n }\n}\nfunction checkForDeadEnds(match, stream) {\n for (let i = 0, work = [match]; i < work.length; i++) {\n let state = work[i], dead = !state.validEnd, nodes = [];\n for (let j = 0; j < state.next.length; j++) {\n let { type, next } = state.next[j];\n nodes.push(type.name);\n if (dead && !(type.isText || type.hasRequiredAttrs()))\n dead = false;\n if (work.indexOf(next) == -1)\n work.push(next);\n }\n if (dead)\n stream.err(\"Only non-generatable nodes (\" + nodes.join(\", \") + \") in a required position (see https://prosemirror.net/docs/guide/#generatable)\");\n }\n}\n\n// For node types where all attrs have a default value (or which don't\n// have any attributes), build up a single reusable default attribute\n// object, and use it for all nodes that don't specify specific\n// attributes.\nfunction defaultAttrs(attrs) {\n let defaults = Object.create(null);\n for (let attrName in attrs) {\n let attr = attrs[attrName];\n if (!attr.hasDefault)\n return null;\n defaults[attrName] = attr.default;\n }\n return defaults;\n}\nfunction computeAttrs(attrs, value) {\n let built = Object.create(null);\n for (let name in attrs) {\n let given = value && value[name];\n if (given === undefined) {\n let attr = attrs[name];\n if (attr.hasDefault)\n given = attr.default;\n else\n throw new RangeError(\"No value supplied for attribute \" + name);\n }\n built[name] = given;\n }\n return built;\n}\nfunction checkAttrs(attrs, values, type, name) {\n for (let name in values)\n if (!(name in attrs))\n throw new RangeError(`Unsupported attribute ${name} for ${type} of type ${name}`);\n for (let name in attrs) {\n let attr = attrs[name];\n if (attr.validate)\n attr.validate(values[name]);\n }\n}\nfunction initAttrs(typeName, attrs) {\n let result = Object.create(null);\n if (attrs)\n for (let name in attrs)\n result[name] = new Attribute(typeName, name, attrs[name]);\n return result;\n}\n/**\nNode types are objects allocated once per `Schema` and used to\n[tag](https://prosemirror.net/docs/ref/#model.Node.type) `Node` instances. They contain information\nabout the node type, such as its name and what kind of node it\nrepresents.\n*/\nclass NodeType {\n /**\n @internal\n */\n constructor(\n /**\n The name the node type has in this schema.\n */\n name, \n /**\n A link back to the `Schema` the node type belongs to.\n */\n schema, \n /**\n The spec that this type is based on\n */\n spec) {\n this.name = name;\n this.schema = schema;\n this.spec = spec;\n /**\n The set of marks allowed in this node. `null` means all marks\n are allowed.\n */\n this.markSet = null;\n this.groups = spec.group ? spec.group.split(\" \") : [];\n this.attrs = initAttrs(name, spec.attrs);\n this.defaultAttrs = defaultAttrs(this.attrs);\n this.contentMatch = null;\n this.inlineContent = null;\n this.isBlock = !(spec.inline || name == \"text\");\n this.isText = name == \"text\";\n }\n /**\n True if this is an inline type.\n */\n get isInline() { return !this.isBlock; }\n /**\n True if this is a textblock type, a block that contains inline\n content.\n */\n get isTextblock() { return this.isBlock && this.inlineContent; }\n /**\n True for node types that allow no content.\n */\n get isLeaf() { return this.contentMatch == ContentMatch.empty; }\n /**\n True when this node is an atom, i.e. when it does not have\n directly editable content.\n */\n get isAtom() { return this.isLeaf || !!this.spec.atom; }\n /**\n Return true when this node type is part of the given\n [group](https://prosemirror.net/docs/ref/#model.NodeSpec.group).\n */\n isInGroup(group) {\n return this.groups.indexOf(group) > -1;\n }\n /**\n The node type's [whitespace](https://prosemirror.net/docs/ref/#model.NodeSpec.whitespace) option.\n */\n get whitespace() {\n return this.spec.whitespace || (this.spec.code ? \"pre\" : \"normal\");\n }\n /**\n Tells you whether this node type has any required attributes.\n */\n hasRequiredAttrs() {\n for (let n in this.attrs)\n if (this.attrs[n].isRequired)\n return true;\n return false;\n }\n /**\n Indicates whether this node allows some of the same content as\n the given node type.\n */\n compatibleContent(other) {\n return this == other || this.contentMatch.compatible(other.contentMatch);\n }\n /**\n @internal\n */\n computeAttrs(attrs) {\n if (!attrs && this.defaultAttrs)\n return this.defaultAttrs;\n else\n return computeAttrs(this.attrs, attrs);\n }\n /**\n Create a `Node` of this type. The given attributes are\n checked and defaulted (you can pass `null` to use the type's\n defaults entirely, if no required attributes exist). `content`\n may be a `Fragment`, a node, an array of nodes, or\n `null`. Similarly `marks` may be `null` to default to the empty\n set of marks.\n */\n create(attrs = null, content, marks) {\n if (this.isText)\n throw new Error(\"NodeType.create can't construct text nodes\");\n return new Node(this, this.computeAttrs(attrs), Fragment.from(content), Mark.setFrom(marks));\n }\n /**\n Like [`create`](https://prosemirror.net/docs/ref/#model.NodeType.create), but check the given content\n against the node type's content restrictions, and throw an error\n if it doesn't match.\n */\n createChecked(attrs = null, content, marks) {\n content = Fragment.from(content);\n this.checkContent(content);\n return new Node(this, this.computeAttrs(attrs), content, Mark.setFrom(marks));\n }\n /**\n Like [`create`](https://prosemirror.net/docs/ref/#model.NodeType.create), but see if it is\n necessary to add nodes to the start or end of the given fragment\n to make it fit the node. If no fitting wrapping can be found,\n return null. Note that, due to the fact that required nodes can\n always be created, this will always succeed if you pass null or\n `Fragment.empty` as content.\n */\n createAndFill(attrs = null, content, marks) {\n attrs = this.computeAttrs(attrs);\n content = Fragment.from(content);\n if (content.size) {\n let before = this.contentMatch.fillBefore(content);\n if (!before)\n return null;\n content = before.append(content);\n }\n let matched = this.contentMatch.matchFragment(content);\n let after = matched && matched.fillBefore(Fragment.empty, true);\n if (!after)\n return null;\n return new Node(this, attrs, content.append(after), Mark.setFrom(marks));\n }\n /**\n Returns true if the given fragment is valid content for this node\n type.\n */\n validContent(content) {\n let result = this.contentMatch.matchFragment(content);\n if (!result || !result.validEnd)\n return false;\n for (let i = 0; i < content.childCount; i++)\n if (!this.allowsMarks(content.child(i).marks))\n return false;\n return true;\n }\n /**\n Throws a RangeError if the given fragment is not valid content for this\n node type.\n @internal\n */\n checkContent(content) {\n if (!this.validContent(content))\n throw new RangeError(`Invalid content for node ${this.name}: ${content.toString().slice(0, 50)}`);\n }\n /**\n @internal\n */\n checkAttrs(attrs) {\n checkAttrs(this.attrs, attrs, \"node\", this.name);\n }\n /**\n Check whether the given mark type is allowed in this node.\n */\n allowsMarkType(markType) {\n return this.markSet == null || this.markSet.indexOf(markType) > -1;\n }\n /**\n Test whether the given set of marks are allowed in this node.\n */\n allowsMarks(marks) {\n if (this.markSet == null)\n return true;\n for (let i = 0; i < marks.length; i++)\n if (!this.allowsMarkType(marks[i].type))\n return false;\n return true;\n }\n /**\n Removes the marks that are not allowed in this node from the given set.\n */\n allowedMarks(marks) {\n if (this.markSet == null)\n return marks;\n let copy;\n for (let i = 0; i < marks.length; i++) {\n if (!this.allowsMarkType(marks[i].type)) {\n if (!copy)\n copy = marks.slice(0, i);\n }\n else if (copy) {\n copy.push(marks[i]);\n }\n }\n return !copy ? marks : copy.length ? copy : Mark.none;\n }\n /**\n @internal\n */\n static compile(nodes, schema) {\n let result = Object.create(null);\n nodes.forEach((name, spec) => result[name] = new NodeType(name, schema, spec));\n let topType = schema.spec.topNode || \"doc\";\n if (!result[topType])\n throw new RangeError(\"Schema is missing its top node type ('\" + topType + \"')\");\n if (!result.text)\n throw new RangeError(\"Every schema needs a 'text' type\");\n for (let _ in result.text.attrs)\n throw new RangeError(\"The text node type should not have attributes\");\n return result;\n }\n}\nfunction validateType(typeName, attrName, type) {\n let types = type.split(\"|\");\n return (value) => {\n let name = value === null ? \"null\" : typeof value;\n if (types.indexOf(name) < 0)\n throw new RangeError(`Expected value of type ${types} for attribute ${attrName} on type ${typeName}, got ${name}`);\n };\n}\n// Attribute descriptors\nclass Attribute {\n constructor(typeName, attrName, options) {\n this.hasDefault = Object.prototype.hasOwnProperty.call(options, \"default\");\n this.default = options.default;\n this.validate = typeof options.validate == \"string\" ? validateType(typeName, attrName, options.validate) : options.validate;\n }\n get isRequired() {\n return !this.hasDefault;\n }\n}\n// Marks\n/**\nLike nodes, marks (which are associated with nodes to signify\nthings like emphasis or being part of a link) are\n[tagged](https://prosemirror.net/docs/ref/#model.Mark.type) with type objects, which are\ninstantiated once per `Schema`.\n*/\nclass MarkType {\n /**\n @internal\n */\n constructor(\n /**\n The name of the mark type.\n */\n name, \n /**\n @internal\n */\n rank, \n /**\n The schema that this mark type instance is part of.\n */\n schema, \n /**\n The spec on which the type is based.\n */\n spec) {\n this.name = name;\n this.rank = rank;\n this.schema = schema;\n this.spec = spec;\n this.attrs = initAttrs(name, spec.attrs);\n this.excluded = null;\n let defaults = defaultAttrs(this.attrs);\n this.instance = defaults ? new Mark(this, defaults) : null;\n }\n /**\n Create a mark of this type. `attrs` may be `null` or an object\n containing only some of the mark's attributes. The others, if\n they have defaults, will be added.\n */\n create(attrs = null) {\n if (!attrs && this.instance)\n return this.instance;\n return new Mark(this, computeAttrs(this.attrs, attrs));\n }\n /**\n @internal\n */\n static compile(marks, schema) {\n let result = Object.create(null), rank = 0;\n marks.forEach((name, spec) => result[name] = new MarkType(name, rank++, schema, spec));\n return result;\n }\n /**\n When there is a mark of this type in the given set, a new set\n without it is returned. Otherwise, the input set is returned.\n */\n removeFromSet(set) {\n for (var i = 0; i < set.length; i++)\n if (set[i].type == this) {\n set = set.slice(0, i).concat(set.slice(i + 1));\n i--;\n }\n return set;\n }\n /**\n Tests whether there is a mark of this type in the given set.\n */\n isInSet(set) {\n for (let i = 0; i < set.length; i++)\n if (set[i].type == this)\n return set[i];\n }\n /**\n @internal\n */\n checkAttrs(attrs) {\n checkAttrs(this.attrs, attrs, \"mark\", this.name);\n }\n /**\n Queries whether a given mark type is\n [excluded](https://prosemirror.net/docs/ref/#model.MarkSpec.excludes) by this one.\n */\n excludes(other) {\n return this.excluded.indexOf(other) > -1;\n }\n}\n/**\nA document schema. Holds [node](https://prosemirror.net/docs/ref/#model.NodeType) and [mark\ntype](https://prosemirror.net/docs/ref/#model.MarkType) objects for the nodes and marks that may\noccur in conforming documents, and provides functionality for\ncreating and deserializing such documents.\n\nWhen given, the type parameters provide the names of the nodes and\nmarks in this schema.\n*/\nclass Schema {\n /**\n Construct a schema from a schema [specification](https://prosemirror.net/docs/ref/#model.SchemaSpec).\n */\n constructor(spec) {\n /**\n The [linebreak\n replacement](https://prosemirror.net/docs/ref/#model.NodeSpec.linebreakReplacement) node defined\n in this schema, if any.\n */\n this.linebreakReplacement = null;\n /**\n An object for storing whatever values modules may want to\n compute and cache per schema. (If you want to store something\n in it, try to use property names unlikely to clash.)\n */\n this.cached = Object.create(null);\n let instanceSpec = this.spec = {};\n for (let prop in spec)\n instanceSpec[prop] = spec[prop];\n instanceSpec.nodes = orderedmap__WEBPACK_IMPORTED_MODULE_0__[\"default\"].from(spec.nodes),\n instanceSpec.marks = orderedmap__WEBPACK_IMPORTED_MODULE_0__[\"default\"].from(spec.marks || {}),\n this.nodes = NodeType.compile(this.spec.nodes, this);\n this.marks = MarkType.compile(this.spec.marks, this);\n let contentExprCache = Object.create(null);\n for (let prop in this.nodes) {\n if (prop in this.marks)\n throw new RangeError(prop + \" can not be both a node and a mark\");\n let type = this.nodes[prop], contentExpr = type.spec.content || \"\", markExpr = type.spec.marks;\n type.contentMatch = contentExprCache[contentExpr] ||\n (contentExprCache[contentExpr] = ContentMatch.parse(contentExpr, this.nodes));\n type.inlineContent = type.contentMatch.inlineContent;\n if (type.spec.linebreakReplacement) {\n if (this.linebreakReplacement)\n throw new RangeError(\"Multiple linebreak nodes defined\");\n if (!type.isInline || !type.isLeaf)\n throw new RangeError(\"Linebreak replacement nodes must be inline leaf nodes\");\n this.linebreakReplacement = type;\n }\n type.markSet = markExpr == \"_\" ? null :\n markExpr ? gatherMarks(this, markExpr.split(\" \")) :\n markExpr == \"\" || !type.inlineContent ? [] : null;\n }\n for (let prop in this.marks) {\n let type = this.marks[prop], excl = type.spec.excludes;\n type.excluded = excl == null ? [type] : excl == \"\" ? [] : gatherMarks(this, excl.split(\" \"));\n }\n this.nodeFromJSON = json => Node.fromJSON(this, json);\n this.markFromJSON = json => Mark.fromJSON(this, json);\n this.topNodeType = this.nodes[this.spec.topNode || \"doc\"];\n this.cached.wrappings = Object.create(null);\n }\n /**\n Create a node in this schema. The `type` may be a string or a\n `NodeType` instance. Attributes will be extended with defaults,\n `content` may be a `Fragment`, `null`, a `Node`, or an array of\n nodes.\n */\n node(type, attrs = null, content, marks) {\n if (typeof type == \"string\")\n type = this.nodeType(type);\n else if (!(type instanceof NodeType))\n throw new RangeError(\"Invalid node type: \" + type);\n else if (type.schema != this)\n throw new RangeError(\"Node type from different schema used (\" + type.name + \")\");\n return type.createChecked(attrs, content, marks);\n }\n /**\n Create a text node in the schema. Empty text nodes are not\n allowed.\n */\n text(text, marks) {\n let type = this.nodes.text;\n return new TextNode(type, type.defaultAttrs, text, Mark.setFrom(marks));\n }\n /**\n Create a mark with the given type and attributes.\n */\n mark(type, attrs) {\n if (typeof type == \"string\")\n type = this.marks[type];\n return type.create(attrs);\n }\n /**\n @internal\n */\n nodeType(name) {\n let found = this.nodes[name];\n if (!found)\n throw new RangeError(\"Unknown node type: \" + name);\n return found;\n }\n}\nfunction gatherMarks(schema, marks) {\n let found = [];\n for (let i = 0; i < marks.length; i++) {\n let name = marks[i], mark = schema.marks[name], ok = mark;\n if (mark) {\n found.push(mark);\n }\n else {\n for (let prop in schema.marks) {\n let mark = schema.marks[prop];\n if (name == \"_\" || (mark.spec.group && mark.spec.group.split(\" \").indexOf(name) > -1))\n found.push(ok = mark);\n }\n }\n if (!ok)\n throw new SyntaxError(\"Unknown mark type: '\" + marks[i] + \"'\");\n }\n return found;\n}\n\nfunction isTagRule(rule) { return rule.tag != null; }\nfunction isStyleRule(rule) { return rule.style != null; }\n/**\nA DOM parser represents a strategy for parsing DOM content into a\nProseMirror document conforming to a given schema. Its behavior is\ndefined by an array of [rules](https://prosemirror.net/docs/ref/#model.ParseRule).\n*/\nclass DOMParser {\n /**\n Create a parser that targets the given schema, using the given\n parsing rules.\n */\n constructor(\n /**\n The schema into which the parser parses.\n */\n schema, \n /**\n The set of [parse rules](https://prosemirror.net/docs/ref/#model.ParseRule) that the parser\n uses, in order of precedence.\n */\n rules) {\n this.schema = schema;\n this.rules = rules;\n /**\n @internal\n */\n this.tags = [];\n /**\n @internal\n */\n this.styles = [];\n let matchedStyles = this.matchedStyles = [];\n rules.forEach(rule => {\n if (isTagRule(rule)) {\n this.tags.push(rule);\n }\n else if (isStyleRule(rule)) {\n let prop = /[^=]*/.exec(rule.style)[0];\n if (matchedStyles.indexOf(prop) < 0)\n matchedStyles.push(prop);\n this.styles.push(rule);\n }\n });\n // Only normalize list elements when lists in the schema can't directly contain themselves\n this.normalizeLists = !this.tags.some(r => {\n if (!/^(ul|ol)\\b/.test(r.tag) || !r.node)\n return false;\n let node = schema.nodes[r.node];\n return node.contentMatch.matchType(node);\n });\n }\n /**\n Parse a document from the content of a DOM node.\n */\n parse(dom, options = {}) {\n let context = new ParseContext(this, options, false);\n context.addAll(dom, Mark.none, options.from, options.to);\n return context.finish();\n }\n /**\n Parses the content of the given DOM node, like\n [`parse`](https://prosemirror.net/docs/ref/#model.DOMParser.parse), and takes the same set of\n options. But unlike that method, which produces a whole node,\n this one returns a slice that is open at the sides, meaning that\n the schema constraints aren't applied to the start of nodes to\n the left of the input and the end of nodes at the end.\n */\n parseSlice(dom, options = {}) {\n let context = new ParseContext(this, options, true);\n context.addAll(dom, Mark.none, options.from, options.to);\n return Slice.maxOpen(context.finish());\n }\n /**\n @internal\n */\n matchTag(dom, context, after) {\n for (let i = after ? this.tags.indexOf(after) + 1 : 0; i < this.tags.length; i++) {\n let rule = this.tags[i];\n if (matches(dom, rule.tag) &&\n (rule.namespace === undefined || dom.namespaceURI == rule.namespace) &&\n (!rule.context || context.matchesContext(rule.context))) {\n if (rule.getAttrs) {\n let result = rule.getAttrs(dom);\n if (result === false)\n continue;\n rule.attrs = result || undefined;\n }\n return rule;\n }\n }\n }\n /**\n @internal\n */\n matchStyle(prop, value, context, after) {\n for (let i = after ? this.styles.indexOf(after) + 1 : 0; i < this.styles.length; i++) {\n let rule = this.styles[i], style = rule.style;\n if (style.indexOf(prop) != 0 ||\n rule.context && !context.matchesContext(rule.context) ||\n // Test that the style string either precisely matches the prop,\n // or has an '=' sign after the prop, followed by the given\n // value.\n style.length > prop.length &&\n (style.charCodeAt(prop.length) != 61 || style.slice(prop.length + 1) != value))\n continue;\n if (rule.getAttrs) {\n let result = rule.getAttrs(value);\n if (result === false)\n continue;\n rule.attrs = result || undefined;\n }\n return rule;\n }\n }\n /**\n @internal\n */\n static schemaRules(schema) {\n let result = [];\n function insert(rule) {\n let priority = rule.priority == null ? 50 : rule.priority, i = 0;\n for (; i < result.length; i++) {\n let next = result[i], nextPriority = next.priority == null ? 50 : next.priority;\n if (nextPriority < priority)\n break;\n }\n result.splice(i, 0, rule);\n }\n for (let name in schema.marks) {\n let rules = schema.marks[name].spec.parseDOM;\n if (rules)\n rules.forEach(rule => {\n insert(rule = copy(rule));\n if (!(rule.mark || rule.ignore || rule.clearMark))\n rule.mark = name;\n });\n }\n for (let name in schema.nodes) {\n let rules = schema.nodes[name].spec.parseDOM;\n if (rules)\n rules.forEach(rule => {\n insert(rule = copy(rule));\n if (!(rule.node || rule.ignore || rule.mark))\n rule.node = name;\n });\n }\n return result;\n }\n /**\n Construct a DOM parser using the parsing rules listed in a\n schema's [node specs](https://prosemirror.net/docs/ref/#model.NodeSpec.parseDOM), reordered by\n [priority](https://prosemirror.net/docs/ref/#model.GenericParseRule.priority).\n */\n static fromSchema(schema) {\n return schema.cached.domParser ||\n (schema.cached.domParser = new DOMParser(schema, DOMParser.schemaRules(schema)));\n }\n}\nconst blockTags = {\n address: true, article: true, aside: true, blockquote: true, canvas: true,\n dd: true, div: true, dl: true, fieldset: true, figcaption: true, figure: true,\n footer: true, form: true, h1: true, h2: true, h3: true, h4: true, h5: true,\n h6: true, header: true, hgroup: true, hr: true, li: true, noscript: true, ol: true,\n output: true, p: true, pre: true, section: true, table: true, tfoot: true, ul: true\n};\nconst ignoreTags = {\n head: true, noscript: true, object: true, script: true, style: true, title: true\n};\nconst listTags = { ol: true, ul: true };\n// Using a bitfield for node context options\nconst OPT_PRESERVE_WS = 1, OPT_PRESERVE_WS_FULL = 2, OPT_OPEN_LEFT = 4;\nfunction wsOptionsFor(type, preserveWhitespace, base) {\n if (preserveWhitespace != null)\n return (preserveWhitespace ? OPT_PRESERVE_WS : 0) |\n (preserveWhitespace === \"full\" ? OPT_PRESERVE_WS_FULL : 0);\n return type && type.whitespace == \"pre\" ? OPT_PRESERVE_WS | OPT_PRESERVE_WS_FULL : base & ~OPT_OPEN_LEFT;\n}\nclass NodeContext {\n constructor(type, attrs, marks, solid, match, options) {\n this.type = type;\n this.attrs = attrs;\n this.marks = marks;\n this.solid = solid;\n this.options = options;\n this.content = [];\n // Marks applied to the node's children\n this.activeMarks = Mark.none;\n this.match = match || (options & OPT_OPEN_LEFT ? null : type.contentMatch);\n }\n findWrapping(node) {\n if (!this.match) {\n if (!this.type)\n return [];\n let fill = this.type.contentMatch.fillBefore(Fragment.from(node));\n if (fill) {\n this.match = this.type.contentMatch.matchFragment(fill);\n }\n else {\n let start = this.type.contentMatch, wrap;\n if (wrap = start.findWrapping(node.type)) {\n this.match = start;\n return wrap;\n }\n else {\n return null;\n }\n }\n }\n return this.match.findWrapping(node.type);\n }\n finish(openEnd) {\n if (!(this.options & OPT_PRESERVE_WS)) { // Strip trailing whitespace\n let last = this.content[this.content.length - 1], m;\n if (last && last.isText && (m = /[ \\t\\r\\n\\u000c]+$/.exec(last.text))) {\n let text = last;\n if (last.text.length == m[0].length)\n this.content.pop();\n else\n this.content[this.content.length - 1] = text.withText(text.text.slice(0, text.text.length - m[0].length));\n }\n }\n let content = Fragment.from(this.content);\n if (!openEnd && this.match)\n content = content.append(this.match.fillBefore(Fragment.empty, true));\n return this.type ? this.type.create(this.attrs, content, this.marks) : content;\n }\n inlineContext(node) {\n if (this.type)\n return this.type.inlineContent;\n if (this.content.length)\n return this.content[0].isInline;\n return node.parentNode && !blockTags.hasOwnProperty(node.parentNode.nodeName.toLowerCase());\n }\n}\nclass ParseContext {\n constructor(\n // The parser we are using.\n parser, \n // The options passed to this parse.\n options, isOpen) {\n this.parser = parser;\n this.options = options;\n this.isOpen = isOpen;\n this.open = 0;\n this.localPreserveWS = false;\n let topNode = options.topNode, topContext;\n let topOptions = wsOptionsFor(null, options.preserveWhitespace, 0) | (isOpen ? OPT_OPEN_LEFT : 0);\n if (topNode)\n topContext = new NodeContext(topNode.type, topNode.attrs, Mark.none, true, options.topMatch || topNode.type.contentMatch, topOptions);\n else if (isOpen)\n topContext = new NodeContext(null, null, Mark.none, true, null, topOptions);\n else\n topContext = new NodeContext(parser.schema.topNodeType, null, Mark.none, true, null, topOptions);\n this.nodes = [topContext];\n this.find = options.findPositions;\n this.needsBlock = false;\n }\n get top() {\n return this.nodes[this.open];\n }\n // Add a DOM node to the content. Text is inserted as text node,\n // otherwise, the node is passed to `addElement` or, if it has a\n // `style` attribute, `addElementWithStyles`.\n addDOM(dom, marks) {\n if (dom.nodeType == 3)\n this.addTextNode(dom, marks);\n else if (dom.nodeType == 1)\n this.addElement(dom, marks);\n }\n addTextNode(dom, marks) {\n let value = dom.nodeValue;\n let top = this.top, preserveWS = (top.options & OPT_PRESERVE_WS_FULL) ? \"full\"\n : this.localPreserveWS || (top.options & OPT_PRESERVE_WS) > 0;\n let { schema } = this.parser;\n if (preserveWS === \"full\" ||\n top.inlineContext(dom) ||\n /[^ \\t\\r\\n\\u000c]/.test(value)) {\n if (!preserveWS) {\n value = value.replace(/[ \\t\\r\\n\\u000c]+/g, \" \");\n // If this starts with whitespace, and there is no node before it, or\n // a hard break, or a text node that ends with whitespace, strip the\n // leading space.\n if (/^[ \\t\\r\\n\\u000c]/.test(value) && this.open == this.nodes.length - 1) {\n let nodeBefore = top.content[top.content.length - 1];\n let domNodeBefore = dom.previousSibling;\n if (!nodeBefore ||\n (domNodeBefore && domNodeBefore.nodeName == 'BR') ||\n (nodeBefore.isText && /[ \\t\\r\\n\\u000c]$/.test(nodeBefore.text)))\n value = value.slice(1);\n }\n }\n else if (preserveWS === \"full\") {\n value = value.replace(/\\r\\n?/g, \"\\n\");\n }\n else if (schema.linebreakReplacement && /[\\r\\n]/.test(value) && this.top.findWrapping(schema.linebreakReplacement.create())) {\n let lines = value.split(/\\r?\\n|\\r/);\n for (let i = 0; i < lines.length; i++) {\n if (i)\n this.insertNode(schema.linebreakReplacement.create(), marks, true);\n if (lines[i])\n this.insertNode(schema.text(lines[i]), marks, !/\\S/.test(lines[i]));\n }\n value = \"\";\n }\n else {\n value = value.replace(/\\r?\\n|\\r/g, \" \");\n }\n if (value)\n this.insertNode(schema.text(value), marks, !/\\S/.test(value));\n this.findInText(dom);\n }\n else {\n this.findInside(dom);\n }\n }\n // Try to find a handler for the given tag and use that to parse. If\n // none is found, the element's content nodes are added directly.\n addElement(dom, marks, matchAfter) {\n let outerWS = this.localPreserveWS, top = this.top;\n if (dom.tagName == \"PRE\" || /pre/.test(dom.style && dom.style.whiteSpace))\n this.localPreserveWS = true;\n let name = dom.nodeName.toLowerCase(), ruleID;\n if (listTags.hasOwnProperty(name) && this.parser.normalizeLists)\n normalizeList(dom);\n let rule = (this.options.ruleFromNode && this.options.ruleFromNode(dom)) ||\n (ruleID = this.parser.matchTag(dom, this, matchAfter));\n out: if (rule ? rule.ignore : ignoreTags.hasOwnProperty(name)) {\n this.findInside(dom);\n this.ignoreFallback(dom, marks);\n }\n else if (!rule || rule.skip || rule.closeParent) {\n if (rule && rule.closeParent)\n this.open = Math.max(0, this.open - 1);\n else if (rule && rule.skip.nodeType)\n dom = rule.skip;\n let sync, oldNeedsBlock = this.needsBlock;\n if (blockTags.hasOwnProperty(name)) {\n if (top.content.length && top.content[0].isInline && this.open) {\n this.open--;\n top = this.top;\n }\n sync = true;\n if (!top.type)\n this.needsBlock = true;\n }\n else if (!dom.firstChild) {\n this.leafFallback(dom, marks);\n break out;\n }\n let innerMarks = rule && rule.skip ? marks : this.readStyles(dom, marks);\n if (innerMarks)\n this.addAll(dom, innerMarks);\n if (sync)\n this.sync(top);\n this.needsBlock = oldNeedsBlock;\n }\n else {\n let innerMarks = this.readStyles(dom, marks);\n if (innerMarks)\n this.addElementByRule(dom, rule, innerMarks, rule.consuming === false ? ruleID : undefined);\n }\n this.localPreserveWS = outerWS;\n }\n // Called for leaf DOM nodes that would otherwise be ignored\n leafFallback(dom, marks) {\n if (dom.nodeName == \"BR\" && this.top.type && this.top.type.inlineContent)\n this.addTextNode(dom.ownerDocument.createTextNode(\"\\n\"), marks);\n }\n // Called for ignored nodes\n ignoreFallback(dom, marks) {\n // Ignored BR nodes should at least create an inline context\n if (dom.nodeName == \"BR\" && (!this.top.type || !this.top.type.inlineContent))\n this.findPlace(this.parser.schema.text(\"-\"), marks, true);\n }\n // Run any style parser associated with the node's styles. Either\n // return an updated array of marks, or null to indicate some of the\n // styles had a rule with `ignore` set.\n readStyles(dom, marks) {\n let styles = dom.style;\n // Because many properties will only show up in 'normalized' form\n // in `style.item` (i.e. text-decoration becomes\n // text-decoration-line, text-decoration-color, etc), we directly\n // query the styles mentioned in our rules instead of iterating\n // over the items.\n if (styles && styles.length)\n for (let i = 0; i < this.parser.matchedStyles.length; i++) {\n let name = this.parser.matchedStyles[i], value = styles.getPropertyValue(name);\n if (value)\n for (let after = undefined;;) {\n let rule = this.parser.matchStyle(name, value, this, after);\n if (!rule)\n break;\n if (rule.ignore)\n return null;\n if (rule.clearMark)\n marks = marks.filter(m => !rule.clearMark(m));\n else\n marks = marks.concat(this.parser.schema.marks[rule.mark].create(rule.attrs));\n if (rule.consuming === false)\n after = rule;\n else\n break;\n }\n }\n return marks;\n }\n // Look up a handler for the given node. If none are found, return\n // false. Otherwise, apply it, use its return value to drive the way\n // the node's content is wrapped, and return true.\n addElementByRule(dom, rule, marks, continueAfter) {\n let sync, nodeType;\n if (rule.node) {\n nodeType = this.parser.schema.nodes[rule.node];\n if (!nodeType.isLeaf) {\n let inner = this.enter(nodeType, rule.attrs || null, marks, rule.preserveWhitespace);\n if (inner) {\n sync = true;\n marks = inner;\n }\n }\n else if (!this.insertNode(nodeType.create(rule.attrs), marks, dom.nodeName == \"BR\")) {\n this.leafFallback(dom, marks);\n }\n }\n else {\n let markType = this.parser.schema.marks[rule.mark];\n marks = marks.concat(markType.create(rule.attrs));\n }\n let startIn = this.top;\n if (nodeType && nodeType.isLeaf) {\n this.findInside(dom);\n }\n else if (continueAfter) {\n this.addElement(dom, marks, continueAfter);\n }\n else if (rule.getContent) {\n this.findInside(dom);\n rule.getContent(dom, this.parser.schema).forEach(node => this.insertNode(node, marks, false));\n }\n else {\n let contentDOM = dom;\n if (typeof rule.contentElement == \"string\")\n contentDOM = dom.querySelector(rule.contentElement);\n else if (typeof rule.contentElement == \"function\")\n contentDOM = rule.contentElement(dom);\n else if (rule.contentElement)\n contentDOM = rule.contentElement;\n this.findAround(dom, contentDOM, true);\n this.addAll(contentDOM, marks);\n this.findAround(dom, contentDOM, false);\n }\n if (sync && this.sync(startIn))\n this.open--;\n }\n // Add all child nodes between `startIndex` and `endIndex` (or the\n // whole node, if not given). If `sync` is passed, use it to\n // synchronize after every block element.\n addAll(parent, marks, startIndex, endIndex) {\n let index = startIndex || 0;\n for (let dom = startIndex ? parent.childNodes[startIndex] : parent.firstChild, end = endIndex == null ? null : parent.childNodes[endIndex]; dom != end; dom = dom.nextSibling, ++index) {\n this.findAtPoint(parent, index);\n this.addDOM(dom, marks);\n }\n this.findAtPoint(parent, index);\n }\n // Try to find a way to fit the given node type into the current\n // context. May add intermediate wrappers and/or leave non-solid\n // nodes that we're in.\n findPlace(node, marks, cautious) {\n let route, sync;\n for (let depth = this.open, penalty = 0; depth >= 0; depth--) {\n let cx = this.nodes[depth];\n let found = cx.findWrapping(node);\n if (found && (!route || route.length > found.length + penalty)) {\n route = found;\n sync = cx;\n if (!found.length)\n break;\n }\n if (cx.solid) {\n if (cautious)\n break;\n penalty += 2;\n }\n }\n if (!route)\n return null;\n this.sync(sync);\n for (let i = 0; i < route.length; i++)\n marks = this.enterInner(route[i], null, marks, false);\n return marks;\n }\n // Try to insert the given node, adjusting the context when needed.\n insertNode(node, marks, cautious) {\n if (node.isInline && this.needsBlock && !this.top.type) {\n let block = this.textblockFromContext();\n if (block)\n marks = this.enterInner(block, null, marks);\n }\n let innerMarks = this.findPlace(node, marks, cautious);\n if (innerMarks) {\n this.closeExtra();\n let top = this.top;\n if (top.match)\n top.match = top.match.matchType(node.type);\n let nodeMarks = Mark.none;\n for (let m of innerMarks.concat(node.marks))\n if (top.type ? top.type.allowsMarkType(m.type) : markMayApply(m.type, node.type))\n nodeMarks = m.addToSet(nodeMarks);\n top.content.push(node.mark(nodeMarks));\n return true;\n }\n return false;\n }\n // Try to start a node of the given type, adjusting the context when\n // necessary.\n enter(type, attrs, marks, preserveWS) {\n let innerMarks = this.findPlace(type.create(attrs), marks, false);\n if (innerMarks)\n innerMarks = this.enterInner(type, attrs, marks, true, preserveWS);\n return innerMarks;\n }\n // Open a node of the given type\n enterInner(type, attrs, marks, solid = false, preserveWS) {\n this.closeExtra();\n let top = this.top;\n top.match = top.match && top.match.matchType(type);\n let options = wsOptionsFor(type, preserveWS, top.options);\n if ((top.options & OPT_OPEN_LEFT) && top.content.length == 0)\n options |= OPT_OPEN_LEFT;\n let applyMarks = Mark.none;\n marks = marks.filter(m => {\n if (top.type ? top.type.allowsMarkType(m.type) : markMayApply(m.type, type)) {\n applyMarks = m.addToSet(applyMarks);\n return false;\n }\n return true;\n });\n this.nodes.push(new NodeContext(type, attrs, applyMarks, solid, null, options));\n this.open++;\n return marks;\n }\n // Make sure all nodes above this.open are finished and added to\n // their parents\n closeExtra(openEnd = false) {\n let i = this.nodes.length - 1;\n if (i > this.open) {\n for (; i > this.open; i--)\n this.nodes[i - 1].content.push(this.nodes[i].finish(openEnd));\n this.nodes.length = this.open + 1;\n }\n }\n finish() {\n this.open = 0;\n this.closeExtra(this.isOpen);\n return this.nodes[0].finish(!!(this.isOpen || this.options.topOpen));\n }\n sync(to) {\n for (let i = this.open; i >= 0; i--) {\n if (this.nodes[i] == to) {\n this.open = i;\n return true;\n }\n else if (this.localPreserveWS) {\n this.nodes[i].options |= OPT_PRESERVE_WS;\n }\n }\n return false;\n }\n get currentPos() {\n this.closeExtra();\n let pos = 0;\n for (let i = this.open; i >= 0; i--) {\n let content = this.nodes[i].content;\n for (let j = content.length - 1; j >= 0; j--)\n pos += content[j].nodeSize;\n if (i)\n pos++;\n }\n return pos;\n }\n findAtPoint(parent, offset) {\n if (this.find)\n for (let i = 0; i < this.find.length; i++) {\n if (this.find[i].node == parent && this.find[i].offset == offset)\n this.find[i].pos = this.currentPos;\n }\n }\n findInside(parent) {\n if (this.find)\n for (let i = 0; i < this.find.length; i++) {\n if (this.find[i].pos == null && parent.nodeType == 1 && parent.contains(this.find[i].node))\n this.find[i].pos = this.currentPos;\n }\n }\n findAround(parent, content, before) {\n if (parent != content && this.find)\n for (let i = 0; i < this.find.length; i++) {\n if (this.find[i].pos == null && parent.nodeType == 1 && parent.contains(this.find[i].node)) {\n let pos = content.compareDocumentPosition(this.find[i].node);\n if (pos & (before ? 2 : 4))\n this.find[i].pos = this.currentPos;\n }\n }\n }\n findInText(textNode) {\n if (this.find)\n for (let i = 0; i < this.find.length; i++) {\n if (this.find[i].node == textNode)\n this.find[i].pos = this.currentPos - (textNode.nodeValue.length - this.find[i].offset);\n }\n }\n // Determines whether the given context string matches this context.\n matchesContext(context) {\n if (context.indexOf(\"|\") > -1)\n return context.split(/\\s*\\|\\s*/).some(this.matchesContext, this);\n let parts = context.split(\"/\");\n let option = this.options.context;\n let useRoot = !this.isOpen && (!option || option.parent.type == this.nodes[0].type);\n let minDepth = -(option ? option.depth + 1 : 0) + (useRoot ? 0 : 1);\n let match = (i, depth) => {\n for (; i >= 0; i--) {\n let part = parts[i];\n if (part == \"\") {\n if (i == parts.length - 1 || i == 0)\n continue;\n for (; depth >= minDepth; depth--)\n if (match(i - 1, depth))\n return true;\n return false;\n }\n else {\n let next = depth > 0 || (depth == 0 && useRoot) ? this.nodes[depth].type\n : option && depth >= minDepth ? option.node(depth - minDepth).type\n : null;\n if (!next || (next.name != part && !next.isInGroup(part)))\n return false;\n depth--;\n }\n }\n return true;\n };\n return match(parts.length - 1, this.open);\n }\n textblockFromContext() {\n let $context = this.options.context;\n if ($context)\n for (let d = $context.depth; d >= 0; d--) {\n let deflt = $context.node(d).contentMatchAt($context.indexAfter(d)).defaultType;\n if (deflt && deflt.isTextblock && deflt.defaultAttrs)\n return deflt;\n }\n for (let name in this.parser.schema.nodes) {\n let type = this.parser.schema.nodes[name];\n if (type.isTextblock && type.defaultAttrs)\n return type;\n }\n }\n}\n// Kludge to work around directly nested list nodes produced by some\n// tools and allowed by browsers to mean that the nested list is\n// actually part of the list item above it.\nfunction normalizeList(dom) {\n for (let child = dom.firstChild, prevItem = null; child; child = child.nextSibling) {\n let name = child.nodeType == 1 ? child.nodeName.toLowerCase() : null;\n if (name && listTags.hasOwnProperty(name) && prevItem) {\n prevItem.appendChild(child);\n child = prevItem;\n }\n else if (name == \"li\") {\n prevItem = child;\n }\n else if (name) {\n prevItem = null;\n }\n }\n}\n// Apply a CSS selector.\nfunction matches(dom, selector) {\n return (dom.matches || dom.msMatchesSelector || dom.webkitMatchesSelector || dom.mozMatchesSelector).call(dom, selector);\n}\nfunction copy(obj) {\n let copy = {};\n for (let prop in obj)\n copy[prop] = obj[prop];\n return copy;\n}\n// Used when finding a mark at the top level of a fragment parse.\n// Checks whether it would be reasonable to apply a given mark type to\n// a given node, by looking at the way the mark occurs in the schema.\nfunction markMayApply(markType, nodeType) {\n let nodes = nodeType.schema.nodes;\n for (let name in nodes) {\n let parent = nodes[name];\n if (!parent.allowsMarkType(markType))\n continue;\n let seen = [], scan = (match) => {\n seen.push(match);\n for (let i = 0; i < match.edgeCount; i++) {\n let { type, next } = match.edge(i);\n if (type == nodeType)\n return true;\n if (seen.indexOf(next) < 0 && scan(next))\n return true;\n }\n };\n if (scan(parent.contentMatch))\n return true;\n }\n}\n\n/**\nA DOM serializer knows how to convert ProseMirror nodes and\nmarks of various types to DOM nodes.\n*/\nclass DOMSerializer {\n /**\n Create a serializer. `nodes` should map node names to functions\n that take a node and return a description of the corresponding\n DOM. `marks` does the same for mark names, but also gets an\n argument that tells it whether the mark's content is block or\n inline content (for typical use, it'll always be inline). A mark\n serializer may be `null` to indicate that marks of that type\n should not be serialized.\n */\n constructor(\n /**\n The node serialization functions.\n */\n nodes, \n /**\n The mark serialization functions.\n */\n marks) {\n this.nodes = nodes;\n this.marks = marks;\n }\n /**\n Serialize the content of this fragment to a DOM fragment. When\n not in the browser, the `document` option, containing a DOM\n document, should be passed so that the serializer can create\n nodes.\n */\n serializeFragment(fragment, options = {}, target) {\n if (!target)\n target = doc(options).createDocumentFragment();\n let top = target, active = [];\n fragment.forEach(node => {\n if (active.length || node.marks.length) {\n let keep = 0, rendered = 0;\n while (keep < active.length && rendered < node.marks.length) {\n let next = node.marks[rendered];\n if (!this.marks[next.type.name]) {\n rendered++;\n continue;\n }\n if (!next.eq(active[keep][0]) || next.type.spec.spanning === false)\n break;\n keep++;\n rendered++;\n }\n while (keep < active.length)\n top = active.pop()[1];\n while (rendered < node.marks.length) {\n let add = node.marks[rendered++];\n let markDOM = this.serializeMark(add, node.isInline, options);\n if (markDOM) {\n active.push([add, top]);\n top.appendChild(markDOM.dom);\n top = markDOM.contentDOM || markDOM.dom;\n }\n }\n }\n top.appendChild(this.serializeNodeInner(node, options));\n });\n return target;\n }\n /**\n @internal\n */\n serializeNodeInner(node, options) {\n let { dom, contentDOM } = renderSpec(doc(options), this.nodes[node.type.name](node), null, node.attrs);\n if (contentDOM) {\n if (node.isLeaf)\n throw new RangeError(\"Content hole not allowed in a leaf node spec\");\n this.serializeFragment(node.content, options, contentDOM);\n }\n return dom;\n }\n /**\n Serialize this node to a DOM node. This can be useful when you\n need to serialize a part of a document, as opposed to the whole\n document. To serialize a whole document, use\n [`serializeFragment`](https://prosemirror.net/docs/ref/#model.DOMSerializer.serializeFragment) on\n its [content](https://prosemirror.net/docs/ref/#model.Node.content).\n */\n serializeNode(node, options = {}) {\n let dom = this.serializeNodeInner(node, options);\n for (let i = node.marks.length - 1; i >= 0; i--) {\n let wrap = this.serializeMark(node.marks[i], node.isInline, options);\n if (wrap) {\n (wrap.contentDOM || wrap.dom).appendChild(dom);\n dom = wrap.dom;\n }\n }\n return dom;\n }\n /**\n @internal\n */\n serializeMark(mark, inline, options = {}) {\n let toDOM = this.marks[mark.type.name];\n return toDOM && renderSpec(doc(options), toDOM(mark, inline), null, mark.attrs);\n }\n static renderSpec(doc, structure, xmlNS = null, blockArraysIn) {\n return renderSpec(doc, structure, xmlNS, blockArraysIn);\n }\n /**\n Build a serializer using the [`toDOM`](https://prosemirror.net/docs/ref/#model.NodeSpec.toDOM)\n properties in a schema's node and mark specs.\n */\n static fromSchema(schema) {\n return schema.cached.domSerializer ||\n (schema.cached.domSerializer = new DOMSerializer(this.nodesFromSchema(schema), this.marksFromSchema(schema)));\n }\n /**\n Gather the serializers in a schema's node specs into an object.\n This can be useful as a base to build a custom serializer from.\n */\n static nodesFromSchema(schema) {\n let result = gatherToDOM(schema.nodes);\n if (!result.text)\n result.text = node => node.text;\n return result;\n }\n /**\n Gather the serializers in a schema's mark specs into an object.\n */\n static marksFromSchema(schema) {\n return gatherToDOM(schema.marks);\n }\n}\nfunction gatherToDOM(obj) {\n let result = {};\n for (let name in obj) {\n let toDOM = obj[name].spec.toDOM;\n if (toDOM)\n result[name] = toDOM;\n }\n return result;\n}\nfunction doc(options) {\n return options.document || window.document;\n}\nconst suspiciousAttributeCache = new WeakMap();\nfunction suspiciousAttributes(attrs) {\n let value = suspiciousAttributeCache.get(attrs);\n if (value === undefined)\n suspiciousAttributeCache.set(attrs, value = suspiciousAttributesInner(attrs));\n return value;\n}\nfunction suspiciousAttributesInner(attrs) {\n let result = null;\n function scan(value) {\n if (value && typeof value == \"object\") {\n if (Array.isArray(value)) {\n if (typeof value[0] == \"string\") {\n if (!result)\n result = [];\n result.push(value);\n }\n else {\n for (let i = 0; i < value.length; i++)\n scan(value[i]);\n }\n }\n else {\n for (let prop in value)\n scan(value[prop]);\n }\n }\n }\n scan(attrs);\n return result;\n}\nfunction renderSpec(doc, structure, xmlNS, blockArraysIn) {\n if (typeof structure == \"string\")\n return { dom: doc.createTextNode(structure) };\n if (structure.nodeType != null)\n return { dom: structure };\n if (structure.dom && structure.dom.nodeType != null)\n return structure;\n let tagName = structure[0], suspicious;\n if (typeof tagName != \"string\")\n throw new RangeError(\"Invalid array passed to renderSpec\");\n if (blockArraysIn && (suspicious = suspiciousAttributes(blockArraysIn)) &&\n suspicious.indexOf(structure) > -1)\n throw new RangeError(\"Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.\");\n let space = tagName.indexOf(\" \");\n if (space > 0) {\n xmlNS = tagName.slice(0, space);\n tagName = tagName.slice(space + 1);\n }\n let contentDOM;\n let dom = (xmlNS ? doc.createElementNS(xmlNS, tagName) : doc.createElement(tagName));\n let attrs = structure[1], start = 1;\n if (attrs && typeof attrs == \"object\" && attrs.nodeType == null && !Array.isArray(attrs)) {\n start = 2;\n for (let name in attrs)\n if (attrs[name] != null) {\n let space = name.indexOf(\" \");\n if (space > 0)\n dom.setAttributeNS(name.slice(0, space), name.slice(space + 1), attrs[name]);\n else if (name == \"style\" && dom.style)\n dom.style.cssText = attrs[name];\n else\n dom.setAttribute(name, attrs[name]);\n }\n }\n for (let i = start; i < structure.length; i++) {\n let child = structure[i];\n if (child === 0) {\n if (i < structure.length - 1 || i > start)\n throw new RangeError(\"Content hole must be the only child of its parent node\");\n return { dom, contentDOM: dom };\n }\n else {\n let { dom: inner, contentDOM: innerContent } = renderSpec(doc, child, xmlNS, blockArraysIn);\n dom.appendChild(inner);\n if (innerContent) {\n if (contentDOM)\n throw new RangeError(\"Multiple content holes\");\n contentDOM = innerContent;\n }\n }\n }\n return { dom, contentDOM };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvcHJvc2VtaXJyb3ItbW9kZWwvZGlzdC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFvQzs7QUFFcEM7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsa0NBQWtDO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLG9CQUFvQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLFVBQVU7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsMEJBQTBCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsVUFBVTtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qix5QkFBeUI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IseUJBQXlCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsS0FBSyx1QkFBdUIsS0FBSztBQUM5RSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isa0JBQWtCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixjQUFjO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnQkFBZ0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRCxXQUFXO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixjQUFjO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyw2REFBNkQ7QUFDdkc7QUFDQSx5Q0FBeUMsNkRBQTZEO0FBQ3RHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsZ0JBQWdCO0FBQzFCLFVBQVUsbUNBQW1DO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxnQkFBZ0I7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUdBQWlHO0FBQ2pHO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxhQUFhO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsY0FBYztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixRQUFRO0FBQ3BDO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsV0FBVztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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L0Msa0JBQWtCLGFBQWE7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRCxNQUFNLE1BQU0sTUFBTSxVQUFVLEtBQUs7QUFDM0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isd0JBQXdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2REFBNkQsVUFBVSxJQUFJLGdDQUFnQztBQUMzRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixrQkFBa0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixrQkFBa0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQsT0FBTyxnQkFBZ0IsVUFBVSxVQUFVLFNBQVMsUUFBUSxLQUFLO0FBQzVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxTQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLGtCQUFrQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixzQ0FBc0M7QUFDbEU7QUFDQTtBQUNBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9KQUFvSixZQUFZO0FBQ2hLO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELFlBQVk7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixrQkFBa0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixlQUFlO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLFFBQVE7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsUUFBUTtBQUN4QztBQUNBLDZDQUE2QyxRQUFRO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsc0JBQXNCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixzQkFBc0I7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHNCQUFzQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsc0JBQXNCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLFFBQVE7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsbUJBQW1CO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsUUFBUTtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0QsT0FBTztBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixxQkFBcUI7QUFDakQsc0JBQXNCLGFBQWE7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxrQkFBa0I7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBLDRDQUE0QyxRQUFRO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0Msa0JBQWtCO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixzQkFBc0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLGtCQUFrQix1Q0FBdUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjs7QUFFaUoiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXHByb3NlbWlycm9yLW1vZGVsXFxkaXN0XFxpbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT3JkZXJlZE1hcCBmcm9tICdvcmRlcmVkbWFwJztcblxuZnVuY3Rpb24gZmluZERpZmZTdGFydChhLCBiLCBwb3MpIHtcbiAgICBmb3IgKGxldCBpID0gMDs7IGkrKykge1xuICAgICAgICBpZiAoaSA9PSBhLmNoaWxkQ291bnQgfHwgaSA9PSBiLmNoaWxkQ291bnQpXG4gICAgICAgICAgICByZXR1cm4gYS5jaGlsZENvdW50ID09IGIuY2hpbGRDb3VudCA/IG51bGwgOiBwb3M7XG4gICAgICAgIGxldCBjaGlsZEEgPSBhLmNoaWxkKGkpLCBjaGlsZEIgPSBiLmNoaWxkKGkpO1xuICAgICAgICBpZiAoY2hpbGRBID09IGNoaWxkQikge1xuICAgICAgICAgICAgcG9zICs9IGNoaWxkQS5ub2RlU2l6ZTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY2hpbGRBLnNhbWVNYXJrdXAoY2hpbGRCKSlcbiAgICAgICAgICAgIHJldHVybiBwb3M7XG4gICAgICAgIGlmIChjaGlsZEEuaXNUZXh0ICYmIGNoaWxkQS50ZXh0ICE9IGNoaWxkQi50ZXh0KSB7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgY2hpbGRBLnRleHRbal0gPT0gY2hpbGRCLnRleHRbal07IGorKylcbiAgICAgICAgICAgICAgICBwb3MrKztcbiAgICAgICAgICAgIHJldHVybiBwb3M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoaWxkQS5jb250ZW50LnNpemUgfHwgY2hpbGRCLmNvbnRlbnQuc2l6ZSkge1xuICAgICAgICAgICAgbGV0IGlubmVyID0gZmluZERpZmZTdGFydChjaGlsZEEuY29udGVudCwgY2hpbGRCLmNvbnRlbnQsIHBvcyArIDEpO1xuICAgICAgICAgICAgaWYgKGlubmVyICE9IG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGlubmVyO1xuICAgICAgICB9XG4gICAgICAgIHBvcyArPSBjaGlsZEEubm9kZVNpemU7XG4gICAgfVxufVxuZnVuY3Rpb24gZmluZERpZmZFbmQoYSwgYiwgcG9zQSwgcG9zQikge1xuICAgIGZvciAobGV0IGlBID0gYS5jaGlsZENvdW50LCBpQiA9IGIuY2hpbGRDb3VudDs7KSB7XG4gICAgICAgIGlmIChpQSA9PSAwIHx8IGlCID09IDApXG4gICAgICAgICAgICByZXR1cm4gaUEgPT0gaUIgPyBudWxsIDogeyBhOiBwb3NBLCBiOiBwb3NCIH07XG4gICAgICAgIGxldCBjaGlsZEEgPSBhLmNoaWxkKC0taUEpLCBjaGlsZEIgPSBiLmNoaWxkKC0taUIpLCBzaXplID0gY2hpbGRBLm5vZGVTaXplO1xuICAgICAgICBpZiAoY2hpbGRBID09IGNoaWxkQikge1xuICAgICAgICAgICAgcG9zQSAtPSBzaXplO1xuICAgICAgICAgICAgcG9zQiAtPSBzaXplO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFjaGlsZEEuc2FtZU1hcmt1cChjaGlsZEIpKVxuICAgICAgICAgICAgcmV0dXJuIHsgYTogcG9zQSwgYjogcG9zQiB9O1xuICAgICAgICBpZiAoY2hpbGRBLmlzVGV4dCAmJiBjaGlsZEEudGV4dCAhPSBjaGlsZEIudGV4dCkge1xuICAgICAgICAgICAgbGV0IHNhbWUgPSAwLCBtaW5TaXplID0gTWF0aC5taW4oY2hpbGRBLnRleHQubGVuZ3RoLCBjaGlsZEIudGV4dC5sZW5ndGgpO1xuICAgICAgICAgICAgd2hpbGUgKHNhbWUgPCBtaW5TaXplICYmIGNoaWxkQS50ZXh0W2NoaWxkQS50ZXh0Lmxlbmd0aCAtIHNhbWUgLSAxXSA9PSBjaGlsZEIudGV4dFtjaGlsZEIudGV4dC5sZW5ndGggLSBzYW1lIC0gMV0pIHtcbiAgICAgICAgICAgICAgICBzYW1lKys7XG4gICAgICAgICAgICAgICAgcG9zQS0tO1xuICAgICAgICAgICAgICAgIHBvc0ItLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7IGE6IHBvc0EsIGI6IHBvc0IgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hpbGRBLmNvbnRlbnQuc2l6ZSB8fCBjaGlsZEIuY29udGVudC5zaXplKSB7XG4gICAgICAgICAgICBsZXQgaW5uZXIgPSBmaW5kRGlmZkVuZChjaGlsZEEuY29udGVudCwgY2hpbGRCLmNvbnRlbnQsIHBvc0EgLSAxLCBwb3NCIC0gMSk7XG4gICAgICAgICAgICBpZiAoaW5uZXIpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGlubmVyO1xuICAgICAgICB9XG4gICAgICAgIHBvc0EgLT0gc2l6ZTtcbiAgICAgICAgcG9zQiAtPSBzaXplO1xuICAgIH1cbn1cblxuLyoqXG5BIGZyYWdtZW50IHJlcHJlc2VudHMgYSBub2RlJ3MgY29sbGVjdGlvbiBvZiBjaGlsZCBub2Rlcy5cblxuTGlrZSBub2RlcywgZnJhZ21lbnRzIGFyZSBwZXJzaXN0ZW50IGRhdGEgc3RydWN0dXJlcywgYW5kIHlvdVxuc2hvdWxkIG5vdCBtdXRhdGUgdGhlbSBvciB0aGVpciBjb250ZW50LiBSYXRoZXIsIHlvdSBjcmVhdGUgbmV3XG5pbnN0YW5jZXMgd2hlbmV2ZXIgbmVlZGVkLiBUaGUgQVBJIHRyaWVzIHRvIG1ha2UgdGhpcyBlYXN5LlxuKi9cbmNsYXNzIEZyYWdtZW50IHtcbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgIFRoZSBjaGlsZCBub2RlcyBpbiB0aGlzIGZyYWdtZW50LlxuICAgICovXG4gICAgY29udGVudCwgc2l6ZSkge1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSBjb250ZW50O1xuICAgICAgICB0aGlzLnNpemUgPSBzaXplIHx8IDA7XG4gICAgICAgIGlmIChzaXplID09IG51bGwpXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRlbnQubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICAgICAgdGhpcy5zaXplICs9IGNvbnRlbnRbaV0ubm9kZVNpemU7XG4gICAgfVxuICAgIC8qKlxuICAgIEludm9rZSBhIGNhbGxiYWNrIGZvciBhbGwgZGVzY2VuZGFudCBub2RlcyBiZXR3ZWVuIHRoZSBnaXZlbiB0d29cbiAgICBwb3NpdGlvbnMgKHJlbGF0aXZlIHRvIHN0YXJ0IG9mIHRoaXMgZnJhZ21lbnQpLiBEb2Vzbid0IGRlc2NlbmRcbiAgICBpbnRvIGEgbm9kZSB3aGVuIHRoZSBjYWxsYmFjayByZXR1cm5zIGBmYWxzZWAuXG4gICAgKi9cbiAgICBub2Rlc0JldHdlZW4oZnJvbSwgdG8sIGYsIG5vZGVTdGFydCA9IDAsIHBhcmVudCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgcG9zID0gMDsgcG9zIDwgdG87IGkrKykge1xuICAgICAgICAgICAgbGV0IGNoaWxkID0gdGhpcy5jb250ZW50W2ldLCBlbmQgPSBwb3MgKyBjaGlsZC5ub2RlU2l6ZTtcbiAgICAgICAgICAgIGlmIChlbmQgPiBmcm9tICYmIGYoY2hpbGQsIG5vZGVTdGFydCArIHBvcywgcGFyZW50IHx8IG51bGwsIGkpICE9PSBmYWxzZSAmJiBjaGlsZC5jb250ZW50LnNpemUpIHtcbiAgICAgICAgICAgICAgICBsZXQgc3RhcnQgPSBwb3MgKyAxO1xuICAgICAgICAgICAgICAgIGNoaWxkLm5vZGVzQmV0d2VlbihNYXRoLm1heCgwLCBmcm9tIC0gc3RhcnQpLCBNYXRoLm1pbihjaGlsZC5jb250ZW50LnNpemUsIHRvIC0gc3RhcnQpLCBmLCBub2RlU3RhcnQgKyBzdGFydCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwb3MgPSBlbmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgQ2FsbCB0aGUgZ2l2ZW4gY2FsbGJhY2sgZm9yIGV2ZXJ5IGRlc2NlbmRhbnQgbm9kZS4gYHBvc2Agd2lsbCBiZVxuICAgIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgZnJhZ21lbnQuIFRoZSBjYWxsYmFjayBtYXkgcmV0dXJuXG4gICAgYGZhbHNlYCB0byBwcmV2ZW50IHRyYXZlcnNhbCBvZiBhIGdpdmVuIG5vZGUncyBjaGlsZHJlbi5cbiAgICAqL1xuICAgIGRlc2NlbmRhbnRzKGYpIHtcbiAgICAgICAgdGhpcy5ub2Rlc0JldHdlZW4oMCwgdGhpcy5zaXplLCBmKTtcbiAgICB9XG4gICAgLyoqXG4gICAgRXh0cmFjdCB0aGUgdGV4dCBiZXR3ZWVuIGBmcm9tYCBhbmQgYHRvYC4gU2VlIHRoZSBzYW1lIG1ldGhvZCBvblxuICAgIFtgTm9kZWBdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNtb2RlbC5Ob2RlLnRleHRCZXR3ZWVuKS5cbiAgICAqL1xuICAgIHRleHRCZXR3ZWVuKGZyb20sIHRvLCBibG9ja1NlcGFyYXRvciwgbGVhZlRleHQpIHtcbiAgICAgICAgbGV0IHRleHQgPSBcIlwiLCBmaXJzdCA9IHRydWU7XG4gICAgICAgIHRoaXMubm9kZXNCZXR3ZWVuKGZyb20sIHRvLCAobm9kZSwgcG9zKSA9PiB7XG4gICAgICAgICAgICBsZXQgbm9kZVRleHQgPSBub2RlLmlzVGV4dCA/IG5vZGUudGV4dC5zbGljZShNYXRoLm1heChmcm9tLCBwb3MpIC0gcG9zLCB0byAtIHBvcylcbiAgICAgICAgICAgICAgICA6ICFub2RlLmlzTGVhZiA/IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgOiBsZWFmVGV4dCA/ICh0eXBlb2YgbGVhZlRleHQgPT09IFwiZnVuY3Rpb25cIiA/IGxlYWZUZXh0KG5vZGUpIDogbGVhZlRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IG5vZGUudHlwZS5zcGVjLmxlYWZUZXh0ID8gbm9kZS50eXBlLnNwZWMubGVhZlRleHQobm9kZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiXCI7XG4gICAgICAgICAgICBpZiAobm9kZS5pc0Jsb2NrICYmIChub2RlLmlzTGVhZiAmJiBub2RlVGV4dCB8fCBub2RlLmlzVGV4dGJsb2NrKSAmJiBibG9ja1NlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgIGlmIChmaXJzdClcbiAgICAgICAgICAgICAgICAgICAgZmlyc3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIHRleHQgKz0gYmxvY2tTZXBhcmF0b3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0ZXh0ICs9IG5vZGVUZXh0O1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuICAgIC8qKlxuICAgIENyZWF0ZSBhIG5ldyBmcmFnbWVudCBjb250YWluaW5nIHRoZSBjb21iaW5lZCBjb250ZW50IG9mIHRoaXNcbiAgICBmcmFnbWVudCBhbmQgdGhlIG90aGVyLlxuICAgICovXG4gICAgYXBwZW5kKG90aGVyKSB7XG4gICAgICAgIGlmICghb3RoZXIuc2l6ZSlcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICBpZiAoIXRoaXMuc2l6ZSlcbiAgICAgICAgICAgIHJldHVybiBvdGhlcjtcbiAgICAgICAgbGV0IGxhc3QgPSB0aGlzLmxhc3RDaGlsZCwgZmlyc3QgPSBvdGhlci5maXJzdENoaWxkLCBjb250ZW50ID0gdGhpcy5jb250ZW50LnNsaWNlKCksIGkgPSAwO1xuICAgICAgICBpZiAobGFzdC5pc1RleHQgJiYgbGFzdC5zYW1lTWFya3VwKGZpcnN0KSkge1xuICAgICAgICAgICAgY29udGVudFtjb250ZW50Lmxlbmd0aCAtIDFdID0gbGFzdC53aXRoVGV4dChsYXN0LnRleHQgKyBmaXJzdC50ZXh0KTtcbiAgICAgICAgICAgIGkgPSAxO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoOyBpIDwgb3RoZXIuY29udGVudC5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIGNvbnRlbnQucHVzaChvdGhlci5jb250ZW50W2ldKTtcbiAgICAgICAgcmV0dXJuIG5ldyBGcmFnbWVudChjb250ZW50LCB0aGlzLnNpemUgKyBvdGhlci5zaXplKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQ3V0IG91dCB0aGUgc3ViLWZyYWdtZW50IGJldHdlZW4gdGhlIHR3byBnaXZlbiBwb3NpdGlvbnMuXG4gICAgKi9cbiAgICBjdXQoZnJvbSwgdG8gPSB0aGlzLnNpemUpIHtcbiAgICAgICAgaWYgKGZyb20gPT0gMCAmJiB0byA9PSB0aGlzLnNpemUpXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgbGV0IHJlc3VsdCA9IFtdLCBzaXplID0gMDtcbiAgICAgICAgaWYgKHRvID4gZnJvbSlcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBwb3MgPSAwOyBwb3MgPCB0bzsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGNoaWxkID0gdGhpcy5jb250ZW50W2ldLCBlbmQgPSBwb3MgKyBjaGlsZC5ub2RlU2l6ZTtcbiAgICAgICAgICAgICAgICBpZiAoZW5kID4gZnJvbSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAocG9zIDwgZnJvbSB8fCBlbmQgPiB0bykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLmlzVGV4dClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZCA9IGNoaWxkLmN1dChNYXRoLm1heCgwLCBmcm9tIC0gcG9zKSwgTWF0aC5taW4oY2hpbGQudGV4dC5sZW5ndGgsIHRvIC0gcG9zKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQgPSBjaGlsZC5jdXQoTWF0aC5tYXgoMCwgZnJvbSAtIHBvcyAtIDEpLCBNYXRoLm1pbihjaGlsZC5jb250ZW50LnNpemUsIHRvIC0gcG9zIC0gMSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZSArPSBjaGlsZC5ub2RlU2l6ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcG9zID0gZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IEZyYWdtZW50KHJlc3VsdCwgc2l6ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgY3V0QnlJbmRleChmcm9tLCB0bykge1xuICAgICAgICBpZiAoZnJvbSA9PSB0bylcbiAgICAgICAgICAgIHJldHVybiBGcmFnbWVudC5lbXB0eTtcbiAgICAgICAgaWYgKGZyb20gPT0gMCAmJiB0byA9PSB0aGlzLmNvbnRlbnQubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIHJldHVybiBuZXcgRnJhZ21lbnQodGhpcy5jb250ZW50LnNsaWNlKGZyb20sIHRvKSk7XG4gICAgfVxuICAgIC8qKlxuICAgIENyZWF0ZSBhIG5ldyBmcmFnbWVudCBpbiB3aGljaCB0aGUgbm9kZSBhdCB0aGUgZ2l2ZW4gaW5kZXggaXNcbiAgICByZXBsYWNlZCBieSB0aGUgZ2l2ZW4gbm9kZS5cbiAgICAqL1xuICAgIHJlcGxhY2VDaGlsZChpbmRleCwgbm9kZSkge1xuICAgICAgICBsZXQgY3VycmVudCA9IHRoaXMuY29udGVudFtpbmRleF07XG4gICAgICAgIGlmIChjdXJyZW50ID09IG5vZGUpXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgbGV0IGNvcHkgPSB0aGlzLmNvbnRlbnQuc2xpY2UoKTtcbiAgICAgICAgbGV0IHNpemUgPSB0aGlzLnNpemUgKyBub2RlLm5vZGVTaXplIC0gY3VycmVudC5ub2RlU2l6ZTtcbiAgICAgICAgY29weVtpbmRleF0gPSBub2RlO1xuICAgICAgICByZXR1cm4gbmV3IEZyYWdtZW50KGNvcHksIHNpemUpO1xuICAgIH1cbiAgICAvKipcbiAgICBDcmVhdGUgYSBuZXcgZnJhZ21lbnQgYnkgcHJlcGVuZGluZyB0aGUgZ2l2ZW4gbm9kZSB0byB0aGlzXG4gICAgZnJhZ21lbnQuXG4gICAgKi9cbiAgICBhZGRUb1N0YXJ0KG5vZGUpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGcmFnbWVudChbbm9kZV0uY29uY2F0KHRoaXMuY29udGVudCksIHRoaXMuc2l6ZSArIG5vZGUubm9kZVNpemUpO1xuICAgIH1cbiAgICAvKipcbiAgICBDcmVhdGUgYSBuZXcgZnJhZ21lbnQgYnkgYXBwZW5kaW5nIHRoZSBnaXZlbiBub2RlIHRvIHRoaXNcbiAgICBmcmFnbWVudC5cbiAgICAqL1xuICAgIGFkZFRvRW5kKG5vZGUpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGcmFnbWVudCh0aGlzLmNvbnRlbnQuY29uY2F0KG5vZGUpLCB0aGlzLnNpemUgKyBub2RlLm5vZGVTaXplKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQ29tcGFyZSB0aGlzIGZyYWdtZW50IHRvIGFub3RoZXIgb25lLlxuICAgICovXG4gICAgZXEob3RoZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudC5sZW5ndGggIT0gb3RoZXIuY29udGVudC5sZW5ndGgpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb250ZW50Lmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRlbnRbaV0uZXEob3RoZXIuY29udGVudFtpXSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgVGhlIGZpcnN0IGNoaWxkIG9mIHRoZSBmcmFnbWVudCwgb3IgYG51bGxgIGlmIGl0IGlzIGVtcHR5LlxuICAgICovXG4gICAgZ2V0IGZpcnN0Q2hpbGQoKSB7IHJldHVybiB0aGlzLmNvbnRlbnQubGVuZ3RoID8gdGhpcy5jb250ZW50WzBdIDogbnVsbDsgfVxuICAgIC8qKlxuICAgIFRoZSBsYXN0IGNoaWxkIG9mIHRoZSBmcmFnbWVudCwgb3IgYG51bGxgIGlmIGl0IGlzIGVtcHR5LlxuICAgICovXG4gICAgZ2V0IGxhc3RDaGlsZCgpIHsgcmV0dXJuIHRoaXMuY29udGVudC5sZW5ndGggPyB0aGlzLmNvbnRlbnRbdGhpcy5jb250ZW50Lmxlbmd0aCAtIDFdIDogbnVsbDsgfVxuICAgIC8qKlxuICAgIFRoZSBudW1iZXIgb2YgY2hpbGQgbm9kZXMgaW4gdGhpcyBmcmFnbWVudC5cbiAgICAqL1xuICAgIGdldCBjaGlsZENvdW50KCkgeyByZXR1cm4gdGhpcy5jb250ZW50Lmxlbmd0aDsgfVxuICAgIC8qKlxuICAgIEdldCB0aGUgY2hpbGQgbm9kZSBhdCB0aGUgZ2l2ZW4gaW5kZXguIFJhaXNlIGFuIGVycm9yIHdoZW4gdGhlXG4gICAgaW5kZXggaXMgb3V0IG9mIHJhbmdlLlxuICAgICovXG4gICAgY2hpbGQoaW5kZXgpIHtcbiAgICAgICAgbGV0IGZvdW5kID0gdGhpcy5jb250ZW50W2luZGV4XTtcbiAgICAgICAgaWYgKCFmb3VuZClcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiSW5kZXggXCIgKyBpbmRleCArIFwiIG91dCBvZiByYW5nZSBmb3IgXCIgKyB0aGlzKTtcbiAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgIH1cbiAgICAvKipcbiAgICBHZXQgdGhlIGNoaWxkIG5vZGUgYXQgdGhlIGdpdmVuIGluZGV4LCBpZiBpdCBleGlzdHMuXG4gICAgKi9cbiAgICBtYXliZUNoaWxkKGluZGV4KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRbaW5kZXhdIHx8IG51bGw7XG4gICAgfVxuICAgIC8qKlxuICAgIENhbGwgYGZgIGZvciBldmVyeSBjaGlsZCBub2RlLCBwYXNzaW5nIHRoZSBub2RlLCBpdHMgb2Zmc2V0XG4gICAgaW50byB0aGlzIHBhcmVudCBub2RlLCBhbmQgaXRzIGluZGV4LlxuICAgICovXG4gICAgZm9yRWFjaChmKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBwID0gMDsgaSA8IHRoaXMuY29udGVudC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IGNoaWxkID0gdGhpcy5jb250ZW50W2ldO1xuICAgICAgICAgICAgZihjaGlsZCwgcCwgaSk7XG4gICAgICAgICAgICBwICs9IGNoaWxkLm5vZGVTaXplO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgIEZpbmQgdGhlIGZpcnN0IHBvc2l0aW9uIGF0IHdoaWNoIHRoaXMgZnJhZ21lbnQgYW5kIGFub3RoZXJcbiAgICBmcmFnbWVudCBkaWZmZXIsIG9yIGBudWxsYCBpZiB0aGV5IGFyZSB0aGUgc2FtZS5cbiAgICAqL1xuICAgIGZpbmREaWZmU3RhcnQob3RoZXIsIHBvcyA9IDApIHtcbiAgICAgICAgcmV0dXJuIGZpbmREaWZmU3RhcnQodGhpcywgb3RoZXIsIHBvcyk7XG4gICAgfVxuICAgIC8qKlxuICAgIEZpbmQgdGhlIGZpcnN0IHBvc2l0aW9uLCBzZWFyY2hpbmcgZnJvbSB0aGUgZW5kLCBhdCB3aGljaCB0aGlzXG4gICAgZnJhZ21lbnQgYW5kIHRoZSBnaXZlbiBmcmFnbWVudCBkaWZmZXIsIG9yIGBudWxsYCBpZiB0aGV5IGFyZVxuICAgIHRoZSBzYW1lLiBTaW5jZSB0aGlzIHBvc2l0aW9uIHdpbGwgbm90IGJlIHRoZSBzYW1lIGluIGJvdGhcbiAgICBub2RlcywgYW4gb2JqZWN0IHdpdGggdHdvIHNlcGFyYXRlIHBvc2l0aW9ucyBpcyByZXR1cm5lZC5cbiAgICAqL1xuICAgIGZpbmREaWZmRW5kKG90aGVyLCBwb3MgPSB0aGlzLnNpemUsIG90aGVyUG9zID0gb3RoZXIuc2l6ZSkge1xuICAgICAgICByZXR1cm4gZmluZERpZmZFbmQodGhpcywgb3RoZXIsIHBvcywgb3RoZXJQb3MpO1xuICAgIH1cbiAgICAvKipcbiAgICBGaW5kIHRoZSBpbmRleCBhbmQgaW5uZXIgb2Zmc2V0IGNvcnJlc3BvbmRpbmcgdG8gYSBnaXZlbiByZWxhdGl2ZVxuICAgIHBvc2l0aW9uIGluIHRoaXMgZnJhZ21lbnQuIFRoZSByZXN1bHQgb2JqZWN0IHdpbGwgYmUgcmV1c2VkXG4gICAgKG92ZXJ3cml0dGVuKSB0aGUgbmV4dCB0aW1lIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQuIEBpbnRlcm5hbFxuICAgICovXG4gICAgZmluZEluZGV4KHBvcykge1xuICAgICAgICBpZiAocG9zID09IDApXG4gICAgICAgICAgICByZXR1cm4gcmV0SW5kZXgoMCwgcG9zKTtcbiAgICAgICAgaWYgKHBvcyA9PSB0aGlzLnNpemUpXG4gICAgICAgICAgICByZXR1cm4gcmV0SW5kZXgodGhpcy5jb250ZW50Lmxlbmd0aCwgcG9zKTtcbiAgICAgICAgaWYgKHBvcyA+IHRoaXMuc2l6ZSB8fCBwb3MgPCAwKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFBvc2l0aW9uICR7cG9zfSBvdXRzaWRlIG9mIGZyYWdtZW50ICgke3RoaXN9KWApO1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgY3VyUG9zID0gMDs7IGkrKykge1xuICAgICAgICAgICAgbGV0IGN1ciA9IHRoaXMuY2hpbGQoaSksIGVuZCA9IGN1clBvcyArIGN1ci5ub2RlU2l6ZTtcbiAgICAgICAgICAgIGlmIChlbmQgPj0gcG9zKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVuZCA9PSBwb3MpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXRJbmRleChpICsgMSwgZW5kKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmV0SW5kZXgoaSwgY3VyUG9zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGN1clBvcyA9IGVuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICBSZXR1cm4gYSBkZWJ1Z2dpbmcgc3RyaW5nIHRoYXQgZGVzY3JpYmVzIHRoaXMgZnJhZ21lbnQuXG4gICAgKi9cbiAgICB0b1N0cmluZygpIHsgcmV0dXJuIFwiPFwiICsgdGhpcy50b1N0cmluZ0lubmVyKCkgKyBcIj5cIjsgfVxuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgdG9TdHJpbmdJbm5lcigpIHsgcmV0dXJuIHRoaXMuY29udGVudC5qb2luKFwiLCBcIik7IH1cbiAgICAvKipcbiAgICBDcmVhdGUgYSBKU09OLXNlcmlhbGl6ZWFibGUgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBmcmFnbWVudC5cbiAgICAqL1xuICAgIHRvSlNPTigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudC5sZW5ndGggPyB0aGlzLmNvbnRlbnQubWFwKG4gPT4gbi50b0pTT04oKSkgOiBudWxsO1xuICAgIH1cbiAgICAvKipcbiAgICBEZXNlcmlhbGl6ZSBhIGZyYWdtZW50IGZyb20gaXRzIEpTT04gcmVwcmVzZW50YXRpb24uXG4gICAgKi9cbiAgICBzdGF0aWMgZnJvbUpTT04oc2NoZW1hLCB2YWx1ZSkge1xuICAgICAgICBpZiAoIXZhbHVlKVxuICAgICAgICAgICAgcmV0dXJuIEZyYWdtZW50LmVtcHR5O1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIGlucHV0IGZvciBGcmFnbWVudC5mcm9tSlNPTlwiKTtcbiAgICAgICAgcmV0dXJuIG5ldyBGcmFnbWVudCh2YWx1ZS5tYXAoc2NoZW1hLm5vZGVGcm9tSlNPTikpO1xuICAgIH1cbiAgICAvKipcbiAgICBCdWlsZCBhIGZyYWdtZW50IGZyb20gYW4gYXJyYXkgb2Ygbm9kZXMuIEVuc3VyZXMgdGhhdCBhZGphY2VudFxuICAgIHRleHQgbm9kZXMgd2l0aCB0aGUgc2FtZSBtYXJrcyBhcmUgam9pbmVkIHRvZ2V0aGVyLlxuICAgICovXG4gICAgc3RhdGljIGZyb21BcnJheShhcnJheSkge1xuICAgICAgICBpZiAoIWFycmF5Lmxlbmd0aClcbiAgICAgICAgICAgIHJldHVybiBGcmFnbWVudC5lbXB0eTtcbiAgICAgICAgbGV0IGpvaW5lZCwgc2l6ZSA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBub2RlID0gYXJyYXlbaV07XG4gICAgICAgICAgICBzaXplICs9IG5vZGUubm9kZVNpemU7XG4gICAgICAgICAgICBpZiAoaSAmJiBub2RlLmlzVGV4dCAmJiBhcnJheVtpIC0gMV0uc2FtZU1hcmt1cChub2RlKSkge1xuICAgICAgICAgICAgICAgIGlmICgham9pbmVkKVxuICAgICAgICAgICAgICAgICAgICBqb2luZWQgPSBhcnJheS5zbGljZSgwLCBpKTtcbiAgICAgICAgICAgICAgICBqb2luZWRbam9pbmVkLmxlbmd0aCAtIDFdID0gbm9kZVxuICAgICAgICAgICAgICAgICAgICAud2l0aFRleHQoam9pbmVkW2pvaW5lZC5sZW5ndGggLSAxXS50ZXh0ICsgbm9kZS50ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGpvaW5lZCkge1xuICAgICAgICAgICAgICAgIGpvaW5lZC5wdXNoKG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgRnJhZ21lbnQoam9pbmVkIHx8IGFycmF5LCBzaXplKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQ3JlYXRlIGEgZnJhZ21lbnQgZnJvbSBzb21ldGhpbmcgdGhhdCBjYW4gYmUgaW50ZXJwcmV0ZWQgYXMgYVxuICAgIHNldCBvZiBub2Rlcy4gRm9yIGBudWxsYCwgaXQgcmV0dXJucyB0aGUgZW1wdHkgZnJhZ21lbnQuIEZvciBhXG4gICAgZnJhZ21lbnQsIHRoZSBmcmFnbWVudCBpdHNlbGYuIEZvciBhIG5vZGUgb3IgYXJyYXkgb2Ygbm9kZXMsIGFcbiAgICBmcmFnbWVudCBjb250YWluaW5nIHRob3NlIG5vZGVzLlxuICAgICovXG4gICAgc3RhdGljIGZyb20obm9kZXMpIHtcbiAgICAgICAgaWYgKCFub2RlcylcbiAgICAgICAgICAgIHJldHVybiBGcmFnbWVudC5lbXB0eTtcbiAgICAgICAgaWYgKG5vZGVzIGluc3RhbmNlb2YgRnJhZ21lbnQpXG4gICAgICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG5vZGVzKSlcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZyb21BcnJheShub2Rlcyk7XG4gICAgICAgIGlmIChub2Rlcy5hdHRycylcbiAgICAgICAgICAgIHJldHVybiBuZXcgRnJhZ21lbnQoW25vZGVzXSwgbm9kZXMubm9kZVNpemUpO1xuICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkNhbiBub3QgY29udmVydCBcIiArIG5vZGVzICsgXCIgdG8gYSBGcmFnbWVudFwiICtcbiAgICAgICAgICAgIChub2Rlcy5ub2Rlc0JldHdlZW4gPyBcIiAobG9va3MgbGlrZSBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBwcm9zZW1pcnJvci1tb2RlbCB3ZXJlIGxvYWRlZClcIiA6IFwiXCIpKTtcbiAgICB9XG59XG4vKipcbkFuIGVtcHR5IGZyYWdtZW50LiBJbnRlbmRlZCB0byBiZSByZXVzZWQgd2hlbmV2ZXIgYSBub2RlIGRvZXNuJ3RcbmNvbnRhaW4gYW55dGhpbmcgKHJhdGhlciB0aGFuIGFsbG9jYXRpbmcgYSBuZXcgZW1wdHkgZnJhZ21lbnQgZm9yXG5lYWNoIGxlYWYgbm9kZSkuXG4qL1xuRnJhZ21lbnQuZW1wdHkgPSBuZXcgRnJhZ21lbnQoW10sIDApO1xuY29uc3QgZm91bmQgPSB7IGluZGV4OiAwLCBvZmZzZXQ6IDAgfTtcbmZ1bmN0aW9uIHJldEluZGV4KGluZGV4LCBvZmZzZXQpIHtcbiAgICBmb3VuZC5pbmRleCA9IGluZGV4O1xuICAgIGZvdW5kLm9mZnNldCA9IG9mZnNldDtcbiAgICByZXR1cm4gZm91bmQ7XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVEZWVwKGEsIGIpIHtcbiAgICBpZiAoYSA9PT0gYilcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKCEoYSAmJiB0eXBlb2YgYSA9PSBcIm9iamVjdFwiKSB8fFxuICAgICAgICAhKGIgJiYgdHlwZW9mIGIgPT0gXCJvYmplY3RcIikpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBsZXQgYXJyYXkgPSBBcnJheS5pc0FycmF5KGEpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGIpICE9IGFycmF5KVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGFycmF5KSB7XG4gICAgICAgIGlmIChhLmxlbmd0aCAhPSBiLmxlbmd0aClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgaWYgKCFjb21wYXJlRGVlcChhW2ldLCBiW2ldKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBmb3IgKGxldCBwIGluIGEpXG4gICAgICAgICAgICBpZiAoIShwIGluIGIpIHx8ICFjb21wYXJlRGVlcChhW3BdLCBiW3BdKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGZvciAobGV0IHAgaW4gYilcbiAgICAgICAgICAgIGlmICghKHAgaW4gYSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG5BIG1hcmsgaXMgYSBwaWVjZSBvZiBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSBhdHRhY2hlZCB0byBhIG5vZGUsXG5zdWNoIGFzIGl0IGJlaW5nIGVtcGhhc2l6ZWQsIGluIGNvZGUgZm9udCwgb3IgYSBsaW5rLiBJdCBoYXMgYVxudHlwZSBhbmQgb3B0aW9uYWxseSBhIHNldCBvZiBhdHRyaWJ1dGVzIHRoYXQgcHJvdmlkZSBmdXJ0aGVyXG5pbmZvcm1hdGlvbiAoc3VjaCBhcyB0aGUgdGFyZ2V0IG9mIHRoZSBsaW5rKS4gTWFya3MgYXJlIGNyZWF0ZWRcbnRocm91Z2ggYSBgU2NoZW1hYCwgd2hpY2ggY29udHJvbHMgd2hpY2ggdHlwZXMgZXhpc3QgYW5kIHdoaWNoXG5hdHRyaWJ1dGVzIHRoZXkgaGF2ZS5cbiovXG5jbGFzcyBNYXJrIHtcbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgIFRoZSB0eXBlIG9mIHRoaXMgbWFyay5cbiAgICAqL1xuICAgIHR5cGUsIFxuICAgIC8qKlxuICAgIFRoZSBhdHRyaWJ1dGVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1hcmsuXG4gICAgKi9cbiAgICBhdHRycykge1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLmF0dHJzID0gYXR0cnM7XG4gICAgfVxuICAgIC8qKlxuICAgIEdpdmVuIGEgc2V0IG9mIG1hcmtzLCBjcmVhdGUgYSBuZXcgc2V0IHdoaWNoIGNvbnRhaW5zIHRoaXMgb25lIGFzXG4gICAgd2VsbCwgaW4gdGhlIHJpZ2h0IHBvc2l0aW9uLiBJZiB0aGlzIG1hcmsgaXMgYWxyZWFkeSBpbiB0aGUgc2V0LFxuICAgIHRoZSBzZXQgaXRzZWxmIGlzIHJldHVybmVkLiBJZiBhbnkgbWFya3MgdGhhdCBhcmUgc2V0IHRvIGJlXG4gICAgW2V4Y2x1c2l2ZV0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI21vZGVsLk1hcmtTcGVjLmV4Y2x1ZGVzKSB3aXRoIHRoaXMgbWFyayBhcmUgcHJlc2VudCxcbiAgICB0aG9zZSBhcmUgcmVwbGFjZWQgYnkgdGhpcyBvbmUuXG4gICAgKi9cbiAgICBhZGRUb1NldChzZXQpIHtcbiAgICAgICAgbGV0IGNvcHksIHBsYWNlZCA9IGZhbHNlO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNldC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IG90aGVyID0gc2V0W2ldO1xuICAgICAgICAgICAgaWYgKHRoaXMuZXEob3RoZXIpKVxuICAgICAgICAgICAgICAgIHJldHVybiBzZXQ7XG4gICAgICAgICAgICBpZiAodGhpcy50eXBlLmV4Y2x1ZGVzKG90aGVyLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFjb3B5KVxuICAgICAgICAgICAgICAgICAgICBjb3B5ID0gc2V0LnNsaWNlKDAsIGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAob3RoZXIudHlwZS5leGNsdWRlcyh0aGlzLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICghcGxhY2VkICYmIG90aGVyLnR5cGUucmFuayA+IHRoaXMudHlwZS5yYW5rKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghY29weSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvcHkgPSBzZXQuc2xpY2UoMCwgaSk7XG4gICAgICAgICAgICAgICAgICAgIGNvcHkucHVzaCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNvcHkpXG4gICAgICAgICAgICAgICAgICAgIGNvcHkucHVzaChvdGhlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFjb3B5KVxuICAgICAgICAgICAgY29weSA9IHNldC5zbGljZSgpO1xuICAgICAgICBpZiAoIXBsYWNlZClcbiAgICAgICAgICAgIGNvcHkucHVzaCh0aGlzKTtcbiAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfVxuICAgIC8qKlxuICAgIFJlbW92ZSB0aGlzIG1hcmsgZnJvbSB0aGUgZ2l2ZW4gc2V0LCByZXR1cm5pbmcgYSBuZXcgc2V0LiBJZiB0aGlzXG4gICAgbWFyayBpcyBub3QgaW4gdGhlIHNldCwgdGhlIHNldCBpdHNlbGYgaXMgcmV0dXJuZWQuXG4gICAgKi9cbiAgICByZW1vdmVGcm9tU2V0KHNldCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNldC5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIGlmICh0aGlzLmVxKHNldFtpXSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHNldC5zbGljZSgwLCBpKS5jb25jYXQoc2V0LnNsaWNlKGkgKyAxKSk7XG4gICAgICAgIHJldHVybiBzZXQ7XG4gICAgfVxuICAgIC8qKlxuICAgIFRlc3Qgd2hldGhlciB0aGlzIG1hcmsgaXMgaW4gdGhlIGdpdmVuIHNldCBvZiBtYXJrcy5cbiAgICAqL1xuICAgIGlzSW5TZXQoc2V0KSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2V0Lmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgaWYgKHRoaXMuZXEoc2V0W2ldKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICBUZXN0IHdoZXRoZXIgdGhpcyBtYXJrIGhhcyB0aGUgc2FtZSB0eXBlIGFuZCBhdHRyaWJ1dGVzIGFzXG4gICAgYW5vdGhlciBtYXJrLlxuICAgICovXG4gICAgZXEob3RoZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMgPT0gb3RoZXIgfHxcbiAgICAgICAgICAgICh0aGlzLnR5cGUgPT0gb3RoZXIudHlwZSAmJiBjb21wYXJlRGVlcCh0aGlzLmF0dHJzLCBvdGhlci5hdHRycykpO1xuICAgIH1cbiAgICAvKipcbiAgICBDb252ZXJ0IHRoaXMgbWFyayB0byBhIEpTT04tc2VyaWFsaXplYWJsZSByZXByZXNlbnRhdGlvbi5cbiAgICAqL1xuICAgIHRvSlNPTigpIHtcbiAgICAgICAgbGV0IG9iaiA9IHsgdHlwZTogdGhpcy50eXBlLm5hbWUgfTtcbiAgICAgICAgZm9yIChsZXQgXyBpbiB0aGlzLmF0dHJzKSB7XG4gICAgICAgICAgICBvYmouYXR0cnMgPSB0aGlzLmF0dHJzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9XG4gICAgLyoqXG4gICAgRGVzZXJpYWxpemUgYSBtYXJrIGZyb20gSlNPTi5cbiAgICAqL1xuICAgIHN0YXRpYyBmcm9tSlNPTihzY2hlbWEsIGpzb24pIHtcbiAgICAgICAgaWYgKCFqc29uKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIGlucHV0IGZvciBNYXJrLmZyb21KU09OXCIpO1xuICAgICAgICBsZXQgdHlwZSA9IHNjaGVtYS5tYXJrc1tqc29uLnR5cGVdO1xuICAgICAgICBpZiAoIXR5cGUpXG4gICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVGhlcmUgaXMgbm8gbWFyayB0eXBlICR7anNvbi50eXBlfSBpbiB0aGlzIHNjaGVtYWApO1xuICAgICAgICBsZXQgbWFyayA9IHR5cGUuY3JlYXRlKGpzb24uYXR0cnMpO1xuICAgICAgICB0eXBlLmNoZWNrQXR0cnMobWFyay5hdHRycyk7XG4gICAgICAgIHJldHVybiBtYXJrO1xuICAgIH1cbiAgICAvKipcbiAgICBUZXN0IHdoZXRoZXIgdHdvIHNldHMgb2YgbWFya3MgYXJlIGlkZW50aWNhbC5cbiAgICAqL1xuICAgIHN0YXRpYyBzYW1lU2V0KGEsIGIpIHtcbiAgICAgICAgaWYgKGEgPT0gYilcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoYS5sZW5ndGggIT0gYi5sZW5ndGgpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIGlmICghYVtpXS5lcShiW2ldKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvKipcbiAgICBDcmVhdGUgYSBwcm9wZXJseSBzb3J0ZWQgbWFyayBzZXQgZnJvbSBudWxsLCBhIHNpbmdsZSBtYXJrLCBvciBhblxuICAgIHVuc29ydGVkIGFycmF5IG9mIG1hcmtzLlxuICAgICovXG4gICAgc3RhdGljIHNldEZyb20obWFya3MpIHtcbiAgICAgICAgaWYgKCFtYXJrcyB8fCBBcnJheS5pc0FycmF5KG1hcmtzKSAmJiBtYXJrcy5sZW5ndGggPT0gMClcbiAgICAgICAgICAgIHJldHVybiBNYXJrLm5vbmU7XG4gICAgICAgIGlmIChtYXJrcyBpbnN0YW5jZW9mIE1hcmspXG4gICAgICAgICAgICByZXR1cm4gW21hcmtzXTtcbiAgICAgICAgbGV0IGNvcHkgPSBtYXJrcy5zbGljZSgpO1xuICAgICAgICBjb3B5LnNvcnQoKGEsIGIpID0+IGEudHlwZS5yYW5rIC0gYi50eXBlLnJhbmspO1xuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9XG59XG4vKipcblRoZSBlbXB0eSBzZXQgb2YgbWFya3MuXG4qL1xuTWFyay5ub25lID0gW107XG5cbi8qKlxuRXJyb3IgdHlwZSByYWlzZWQgYnkgW2BOb2RlLnJlcGxhY2VgXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuTm9kZS5yZXBsYWNlKSB3aGVuXG5naXZlbiBhbiBpbnZhbGlkIHJlcGxhY2VtZW50LlxuKi9cbmNsYXNzIFJlcGxhY2VFcnJvciBleHRlbmRzIEVycm9yIHtcbn1cbi8qXG5SZXBsYWNlRXJyb3IgPSBmdW5jdGlvbih0aGlzOiBhbnksIG1lc3NhZ2U6IHN0cmluZykge1xuICBsZXQgZXJyID0gRXJyb3IuY2FsbCh0aGlzLCBtZXNzYWdlKVxuICA7KGVyciBhcyBhbnkpLl9fcHJvdG9fXyA9IFJlcGxhY2VFcnJvci5wcm90b3R5cGVcbiAgcmV0dXJuIGVyclxufSBhcyBhbnlcblxuUmVwbGFjZUVycm9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKVxuUmVwbGFjZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFJlcGxhY2VFcnJvclxuUmVwbGFjZUVycm9yLnByb3RvdHlwZS5uYW1lID0gXCJSZXBsYWNlRXJyb3JcIlxuKi9cbi8qKlxuQSBzbGljZSByZXByZXNlbnRzIGEgcGllY2UgY3V0IG91dCBvZiBhIGxhcmdlciBkb2N1bWVudC4gSXRcbnN0b3JlcyBub3Qgb25seSBhIGZyYWdtZW50LCBidXQgYWxzbyB0aGUgZGVwdGggdXAgdG8gd2hpY2ggbm9kZXMgb25cbmJvdGggc2lkZSBhcmUg4oCYb3BlbuKAmSAoY3V0IHRocm91Z2gpLlxuKi9cbmNsYXNzIFNsaWNlIHtcbiAgICAvKipcbiAgICBDcmVhdGUgYSBzbGljZS4gV2hlbiBzcGVjaWZ5aW5nIGEgbm9uLXplcm8gb3BlbiBkZXB0aCwgeW91IG11c3RcbiAgICBtYWtlIHN1cmUgdGhhdCB0aGVyZSBhcmUgbm9kZXMgb2YgYXQgbGVhc3QgdGhhdCBkZXB0aCBhdCB0aGVcbiAgICBhcHByb3ByaWF0ZSBzaWRlIG9mIHRoZSBmcmFnbWVudOKAlGkuZS4gaWYgdGhlIGZyYWdtZW50IGlzIGFuXG4gICAgZW1wdHkgcGFyYWdyYXBoIG5vZGUsIGBvcGVuU3RhcnRgIGFuZCBgb3BlbkVuZGAgY2FuJ3QgYmUgZ3JlYXRlclxuICAgIHRoYW4gMS5cbiAgICBcbiAgICBJdCBpcyBub3QgbmVjZXNzYXJ5IGZvciB0aGUgY29udGVudCBvZiBvcGVuIG5vZGVzIHRvIGNvbmZvcm0gdG9cbiAgICB0aGUgc2NoZW1hJ3MgY29udGVudCBjb25zdHJhaW50cywgdGhvdWdoIGl0IHNob3VsZCBiZSBhIHZhbGlkXG4gICAgc3RhcnQvZW5kL21pZGRsZSBmb3Igc3VjaCBhIG5vZGUsIGRlcGVuZGluZyBvbiB3aGljaCBzaWRlcyBhcmVcbiAgICBvcGVuLlxuICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgVGhlIHNsaWNlJ3MgY29udGVudC5cbiAgICAqL1xuICAgIGNvbnRlbnQsIFxuICAgIC8qKlxuICAgIFRoZSBvcGVuIGRlcHRoIGF0IHRoZSBzdGFydCBvZiB0aGUgZnJhZ21lbnQuXG4gICAgKi9cbiAgICBvcGVuU3RhcnQsIFxuICAgIC8qKlxuICAgIFRoZSBvcGVuIGRlcHRoIGF0IHRoZSBlbmQuXG4gICAgKi9cbiAgICBvcGVuRW5kKSB7XG4gICAgICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XG4gICAgICAgIHRoaXMub3BlblN0YXJ0ID0gb3BlblN0YXJ0O1xuICAgICAgICB0aGlzLm9wZW5FbmQgPSBvcGVuRW5kO1xuICAgIH1cbiAgICAvKipcbiAgICBUaGUgc2l6ZSB0aGlzIHNsaWNlIHdvdWxkIGFkZCB3aGVuIGluc2VydGVkIGludG8gYSBkb2N1bWVudC5cbiAgICAqL1xuICAgIGdldCBzaXplKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50LnNpemUgLSB0aGlzLm9wZW5TdGFydCAtIHRoaXMub3BlbkVuZDtcbiAgICB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICBpbnNlcnRBdChwb3MsIGZyYWdtZW50KSB7XG4gICAgICAgIGxldCBjb250ZW50ID0gaW5zZXJ0SW50byh0aGlzLmNvbnRlbnQsIHBvcyArIHRoaXMub3BlblN0YXJ0LCBmcmFnbWVudCk7XG4gICAgICAgIHJldHVybiBjb250ZW50ICYmIG5ldyBTbGljZShjb250ZW50LCB0aGlzLm9wZW5TdGFydCwgdGhpcy5vcGVuRW5kKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICByZW1vdmVCZXR3ZWVuKGZyb20sIHRvKSB7XG4gICAgICAgIHJldHVybiBuZXcgU2xpY2UocmVtb3ZlUmFuZ2UodGhpcy5jb250ZW50LCBmcm9tICsgdGhpcy5vcGVuU3RhcnQsIHRvICsgdGhpcy5vcGVuU3RhcnQpLCB0aGlzLm9wZW5TdGFydCwgdGhpcy5vcGVuRW5kKTtcbiAgICB9XG4gICAgLyoqXG4gICAgVGVzdHMgd2hldGhlciB0aGlzIHNsaWNlIGlzIGVxdWFsIHRvIGFub3RoZXIgc2xpY2UuXG4gICAgKi9cbiAgICBlcShvdGhlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50LmVxKG90aGVyLmNvbnRlbnQpICYmIHRoaXMub3BlblN0YXJ0ID09IG90aGVyLm9wZW5TdGFydCAmJiB0aGlzLm9wZW5FbmQgPT0gb3RoZXIub3BlbkVuZDtcbiAgICB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudCArIFwiKFwiICsgdGhpcy5vcGVuU3RhcnQgKyBcIixcIiArIHRoaXMub3BlbkVuZCArIFwiKVwiO1xuICAgIH1cbiAgICAvKipcbiAgICBDb252ZXJ0IGEgc2xpY2UgdG8gYSBKU09OLXNlcmlhbGl6YWJsZSByZXByZXNlbnRhdGlvbi5cbiAgICAqL1xuICAgIHRvSlNPTigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRlbnQuc2l6ZSlcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICBsZXQganNvbiA9IHsgY29udGVudDogdGhpcy5jb250ZW50LnRvSlNPTigpIH07XG4gICAgICAgIGlmICh0aGlzLm9wZW5TdGFydCA+IDApXG4gICAgICAgICAgICBqc29uLm9wZW5TdGFydCA9IHRoaXMub3BlblN0YXJ0O1xuICAgICAgICBpZiAodGhpcy5vcGVuRW5kID4gMClcbiAgICAgICAgICAgIGpzb24ub3BlbkVuZCA9IHRoaXMub3BlbkVuZDtcbiAgICAgICAgcmV0dXJuIGpzb247XG4gICAgfVxuICAgIC8qKlxuICAgIERlc2VyaWFsaXplIGEgc2xpY2UgZnJvbSBpdHMgSlNPTiByZXByZXNlbnRhdGlvbi5cbiAgICAqL1xuICAgIHN0YXRpYyBmcm9tSlNPTihzY2hlbWEsIGpzb24pIHtcbiAgICAgICAgaWYgKCFqc29uKVxuICAgICAgICAgICAgcmV0dXJuIFNsaWNlLmVtcHR5O1xuICAgICAgICBsZXQgb3BlblN0YXJ0ID0ganNvbi5vcGVuU3RhcnQgfHwgMCwgb3BlbkVuZCA9IGpzb24ub3BlbkVuZCB8fCAwO1xuICAgICAgICBpZiAodHlwZW9mIG9wZW5TdGFydCAhPSBcIm51bWJlclwiIHx8IHR5cGVvZiBvcGVuRW5kICE9IFwibnVtYmVyXCIpXG4gICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkludmFsaWQgaW5wdXQgZm9yIFNsaWNlLmZyb21KU09OXCIpO1xuICAgICAgICByZXR1cm4gbmV3IFNsaWNlKEZyYWdtZW50LmZyb21KU09OKHNjaGVtYSwganNvbi5jb250ZW50KSwgb3BlblN0YXJ0LCBvcGVuRW5kKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQ3JlYXRlIGEgc2xpY2UgZnJvbSBhIGZyYWdtZW50IGJ5IHRha2luZyB0aGUgbWF4aW11bSBwb3NzaWJsZVxuICAgIG9wZW4gdmFsdWUgb24gYm90aCBzaWRlIG9mIHRoZSBmcmFnbWVudC5cbiAgICAqL1xuICAgIHN0YXRpYyBtYXhPcGVuKGZyYWdtZW50LCBvcGVuSXNvbGF0aW5nID0gdHJ1ZSkge1xuICAgICAgICBsZXQgb3BlblN0YXJ0ID0gMCwgb3BlbkVuZCA9IDA7XG4gICAgICAgIGZvciAobGV0IG4gPSBmcmFnbWVudC5maXJzdENoaWxkOyBuICYmICFuLmlzTGVhZiAmJiAob3Blbklzb2xhdGluZyB8fCAhbi50eXBlLnNwZWMuaXNvbGF0aW5nKTsgbiA9IG4uZmlyc3RDaGlsZClcbiAgICAgICAgICAgIG9wZW5TdGFydCsrO1xuICAgICAgICBmb3IgKGxldCBuID0gZnJhZ21lbnQubGFzdENoaWxkOyBuICYmICFuLmlzTGVhZiAmJiAob3Blbklzb2xhdGluZyB8fCAhbi50eXBlLnNwZWMuaXNvbGF0aW5nKTsgbiA9IG4ubGFzdENoaWxkKVxuICAgICAgICAgICAgb3BlbkVuZCsrO1xuICAgICAgICByZXR1cm4gbmV3IFNsaWNlKGZyYWdtZW50LCBvcGVuU3RhcnQsIG9wZW5FbmQpO1xuICAgIH1cbn1cbi8qKlxuVGhlIGVtcHR5IHNsaWNlLlxuKi9cblNsaWNlLmVtcHR5ID0gbmV3IFNsaWNlKEZyYWdtZW50LmVtcHR5LCAwLCAwKTtcbmZ1bmN0aW9uIHJlbW92ZVJhbmdlKGNvbnRlbnQsIGZyb20sIHRvKSB7XG4gICAgbGV0IHsgaW5kZXgsIG9mZnNldCB9ID0gY29udGVudC5maW5kSW5kZXgoZnJvbSksIGNoaWxkID0gY29udGVudC5tYXliZUNoaWxkKGluZGV4KTtcbiAgICBsZXQgeyBpbmRleDogaW5kZXhUbywgb2Zmc2V0OiBvZmZzZXRUbyB9ID0gY29udGVudC5maW5kSW5kZXgodG8pO1xuICAgIGlmIChvZmZzZXQgPT0gZnJvbSB8fCBjaGlsZC5pc1RleHQpIHtcbiAgICAgICAgaWYgKG9mZnNldFRvICE9IHRvICYmICFjb250ZW50LmNoaWxkKGluZGV4VG8pLmlzVGV4dClcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiUmVtb3Zpbmcgbm9uLWZsYXQgcmFuZ2VcIik7XG4gICAgICAgIHJldHVybiBjb250ZW50LmN1dCgwLCBmcm9tKS5hcHBlbmQoY29udGVudC5jdXQodG8pKTtcbiAgICB9XG4gICAgaWYgKGluZGV4ICE9IGluZGV4VG8pXG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiUmVtb3Zpbmcgbm9uLWZsYXQgcmFuZ2VcIik7XG4gICAgcmV0dXJuIGNvbnRlbnQucmVwbGFjZUNoaWxkKGluZGV4LCBjaGlsZC5jb3B5KHJlbW92ZVJhbmdlKGNoaWxkLmNvbnRlbnQsIGZyb20gLSBvZmZzZXQgLSAxLCB0byAtIG9mZnNldCAtIDEpKSk7XG59XG5mdW5jdGlvbiBpbnNlcnRJbnRvKGNvbnRlbnQsIGRpc3QsIGluc2VydCwgcGFyZW50KSB7XG4gICAgbGV0IHsgaW5kZXgsIG9mZnNldCB9ID0gY29udGVudC5maW5kSW5kZXgoZGlzdCksIGNoaWxkID0gY29udGVudC5tYXliZUNoaWxkKGluZGV4KTtcbiAgICBpZiAob2Zmc2V0ID09IGRpc3QgfHwgY2hpbGQuaXNUZXh0KSB7XG4gICAgICAgIGlmIChwYXJlbnQgJiYgIXBhcmVudC5jYW5SZXBsYWNlKGluZGV4LCBpbmRleCwgaW5zZXJ0KSlcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4gY29udGVudC5jdXQoMCwgZGlzdCkuYXBwZW5kKGluc2VydCkuYXBwZW5kKGNvbnRlbnQuY3V0KGRpc3QpKTtcbiAgICB9XG4gICAgbGV0IGlubmVyID0gaW5zZXJ0SW50byhjaGlsZC5jb250ZW50LCBkaXN0IC0gb2Zmc2V0IC0gMSwgaW5zZXJ0LCBjaGlsZCk7XG4gICAgcmV0dXJuIGlubmVyICYmIGNvbnRlbnQucmVwbGFjZUNoaWxkKGluZGV4LCBjaGlsZC5jb3B5KGlubmVyKSk7XG59XG5mdW5jdGlvbiByZXBsYWNlKCRmcm9tLCAkdG8sIHNsaWNlKSB7XG4gICAgaWYgKHNsaWNlLm9wZW5TdGFydCA+ICRmcm9tLmRlcHRoKVxuICAgICAgICB0aHJvdyBuZXcgUmVwbGFjZUVycm9yKFwiSW5zZXJ0ZWQgY29udGVudCBkZWVwZXIgdGhhbiBpbnNlcnRpb24gcG9zaXRpb25cIik7XG4gICAgaWYgKCRmcm9tLmRlcHRoIC0gc2xpY2Uub3BlblN0YXJ0ICE9ICR0by5kZXB0aCAtIHNsaWNlLm9wZW5FbmQpXG4gICAgICAgIHRocm93IG5ldyBSZXBsYWNlRXJyb3IoXCJJbmNvbnNpc3RlbnQgb3BlbiBkZXB0aHNcIik7XG4gICAgcmV0dXJuIHJlcGxhY2VPdXRlcigkZnJvbSwgJHRvLCBzbGljZSwgMCk7XG59XG5mdW5jdGlvbiByZXBsYWNlT3V0ZXIoJGZyb20sICR0bywgc2xpY2UsIGRlcHRoKSB7XG4gICAgbGV0IGluZGV4ID0gJGZyb20uaW5kZXgoZGVwdGgpLCBub2RlID0gJGZyb20ubm9kZShkZXB0aCk7XG4gICAgaWYgKGluZGV4ID09ICR0by5pbmRleChkZXB0aCkgJiYgZGVwdGggPCAkZnJvbS5kZXB0aCAtIHNsaWNlLm9wZW5TdGFydCkge1xuICAgICAgICBsZXQgaW5uZXIgPSByZXBsYWNlT3V0ZXIoJGZyb20sICR0bywgc2xpY2UsIGRlcHRoICsgMSk7XG4gICAgICAgIHJldHVybiBub2RlLmNvcHkobm9kZS5jb250ZW50LnJlcGxhY2VDaGlsZChpbmRleCwgaW5uZXIpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoIXNsaWNlLmNvbnRlbnQuc2l6ZSkge1xuICAgICAgICByZXR1cm4gY2xvc2Uobm9kZSwgcmVwbGFjZVR3b1dheSgkZnJvbSwgJHRvLCBkZXB0aCkpO1xuICAgIH1cbiAgICBlbHNlIGlmICghc2xpY2Uub3BlblN0YXJ0ICYmICFzbGljZS5vcGVuRW5kICYmICRmcm9tLmRlcHRoID09IGRlcHRoICYmICR0by5kZXB0aCA9PSBkZXB0aCkgeyAvLyBTaW1wbGUsIGZsYXQgY2FzZVxuICAgICAgICBsZXQgcGFyZW50ID0gJGZyb20ucGFyZW50LCBjb250ZW50ID0gcGFyZW50LmNvbnRlbnQ7XG4gICAgICAgIHJldHVybiBjbG9zZShwYXJlbnQsIGNvbnRlbnQuY3V0KDAsICRmcm9tLnBhcmVudE9mZnNldCkuYXBwZW5kKHNsaWNlLmNvbnRlbnQpLmFwcGVuZChjb250ZW50LmN1dCgkdG8ucGFyZW50T2Zmc2V0KSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbGV0IHsgc3RhcnQsIGVuZCB9ID0gcHJlcGFyZVNsaWNlRm9yUmVwbGFjZShzbGljZSwgJGZyb20pO1xuICAgICAgICByZXR1cm4gY2xvc2Uobm9kZSwgcmVwbGFjZVRocmVlV2F5KCRmcm9tLCBzdGFydCwgZW5kLCAkdG8sIGRlcHRoKSk7XG4gICAgfVxufVxuZnVuY3Rpb24gY2hlY2tKb2luKG1haW4sIHN1Yikge1xuICAgIGlmICghc3ViLnR5cGUuY29tcGF0aWJsZUNvbnRlbnQobWFpbi50eXBlKSlcbiAgICAgICAgdGhyb3cgbmV3IFJlcGxhY2VFcnJvcihcIkNhbm5vdCBqb2luIFwiICsgc3ViLnR5cGUubmFtZSArIFwiIG9udG8gXCIgKyBtYWluLnR5cGUubmFtZSk7XG59XG5mdW5jdGlvbiBqb2luYWJsZSgkYmVmb3JlLCAkYWZ0ZXIsIGRlcHRoKSB7XG4gICAgbGV0IG5vZGUgPSAkYmVmb3JlLm5vZGUoZGVwdGgpO1xuICAgIGNoZWNrSm9pbihub2RlLCAkYWZ0ZXIubm9kZShkZXB0aCkpO1xuICAgIHJldHVybiBub2RlO1xufVxuZnVuY3Rpb24gYWRkTm9kZShjaGlsZCwgdGFyZ2V0KSB7XG4gICAgbGV0IGxhc3QgPSB0YXJnZXQubGVuZ3RoIC0gMTtcbiAgICBpZiAobGFzdCA+PSAwICYmIGNoaWxkLmlzVGV4dCAmJiBjaGlsZC5zYW1lTWFya3VwKHRhcmdldFtsYXN0XSkpXG4gICAgICAgIHRhcmdldFtsYXN0XSA9IGNoaWxkLndpdGhUZXh0KHRhcmdldFtsYXN0XS50ZXh0ICsgY2hpbGQudGV4dCk7XG4gICAgZWxzZVxuICAgICAgICB0YXJnZXQucHVzaChjaGlsZCk7XG59XG5mdW5jdGlvbiBhZGRSYW5nZSgkc3RhcnQsICRlbmQsIGRlcHRoLCB0YXJnZXQpIHtcbiAgICBsZXQgbm9kZSA9ICgkZW5kIHx8ICRzdGFydCkubm9kZShkZXB0aCk7XG4gICAgbGV0IHN0YXJ0SW5kZXggPSAwLCBlbmRJbmRleCA9ICRlbmQgPyAkZW5kLmluZGV4KGRlcHRoKSA6IG5vZGUuY2hpbGRDb3VudDtcbiAgICBpZiAoJHN0YXJ0KSB7XG4gICAgICAgIHN0YXJ0SW5kZXggPSAkc3RhcnQuaW5kZXgoZGVwdGgpO1xuICAgICAgICBpZiAoJHN0YXJ0LmRlcHRoID4gZGVwdGgpIHtcbiAgICAgICAgICAgIHN0YXJ0SW5kZXgrKztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICgkc3RhcnQudGV4dE9mZnNldCkge1xuICAgICAgICAgICAgYWRkTm9kZSgkc3RhcnQubm9kZUFmdGVyLCB0YXJnZXQpO1xuICAgICAgICAgICAgc3RhcnRJbmRleCsrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpIDwgZW5kSW5kZXg7IGkrKylcbiAgICAgICAgYWRkTm9kZShub2RlLmNoaWxkKGkpLCB0YXJnZXQpO1xuICAgIGlmICgkZW5kICYmICRlbmQuZGVwdGggPT0gZGVwdGggJiYgJGVuZC50ZXh0T2Zmc2V0KVxuICAgICAgICBhZGROb2RlKCRlbmQubm9kZUJlZm9yZSwgdGFyZ2V0KTtcbn1cbmZ1bmN0aW9uIGNsb3NlKG5vZGUsIGNvbnRlbnQpIHtcbiAgICBub2RlLnR5cGUuY2hlY2tDb250ZW50KGNvbnRlbnQpO1xuICAgIHJldHVybiBub2RlLmNvcHkoY29udGVudCk7XG59XG5mdW5jdGlvbiByZXBsYWNlVGhyZWVXYXkoJGZyb20sICRzdGFydCwgJGVuZCwgJHRvLCBkZXB0aCkge1xuICAgIGxldCBvcGVuU3RhcnQgPSAkZnJvbS5kZXB0aCA+IGRlcHRoICYmIGpvaW5hYmxlKCRmcm9tLCAkc3RhcnQsIGRlcHRoICsgMSk7XG4gICAgbGV0IG9wZW5FbmQgPSAkdG8uZGVwdGggPiBkZXB0aCAmJiBqb2luYWJsZSgkZW5kLCAkdG8sIGRlcHRoICsgMSk7XG4gICAgbGV0IGNvbnRlbnQgPSBbXTtcbiAgICBhZGRSYW5nZShudWxsLCAkZnJvbSwgZGVwdGgsIGNvbnRlbnQpO1xuICAgIGlmIChvcGVuU3RhcnQgJiYgb3BlbkVuZCAmJiAkc3RhcnQuaW5kZXgoZGVwdGgpID09ICRlbmQuaW5kZXgoZGVwdGgpKSB7XG4gICAgICAgIGNoZWNrSm9pbihvcGVuU3RhcnQsIG9wZW5FbmQpO1xuICAgICAgICBhZGROb2RlKGNsb3NlKG9wZW5TdGFydCwgcmVwbGFjZVRocmVlV2F5KCRmcm9tLCAkc3RhcnQsICRlbmQsICR0bywgZGVwdGggKyAxKSksIGNvbnRlbnQpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgaWYgKG9wZW5TdGFydClcbiAgICAgICAgICAgIGFkZE5vZGUoY2xvc2Uob3BlblN0YXJ0LCByZXBsYWNlVHdvV2F5KCRmcm9tLCAkc3RhcnQsIGRlcHRoICsgMSkpLCBjb250ZW50KTtcbiAgICAgICAgYWRkUmFuZ2UoJHN0YXJ0LCAkZW5kLCBkZXB0aCwgY29udGVudCk7XG4gICAgICAgIGlmIChvcGVuRW5kKVxuICAgICAgICAgICAgYWRkTm9kZShjbG9zZShvcGVuRW5kLCByZXBsYWNlVHdvV2F5KCRlbmQsICR0bywgZGVwdGggKyAxKSksIGNvbnRlbnQpO1xuICAgIH1cbiAgICBhZGRSYW5nZSgkdG8sIG51bGwsIGRlcHRoLCBjb250ZW50KTtcbiAgICByZXR1cm4gbmV3IEZyYWdtZW50KGNvbnRlbnQpO1xufVxuZnVuY3Rpb24gcmVwbGFjZVR3b1dheSgkZnJvbSwgJHRvLCBkZXB0aCkge1xuICAgIGxldCBjb250ZW50ID0gW107XG4gICAgYWRkUmFuZ2UobnVsbCwgJGZyb20sIGRlcHRoLCBjb250ZW50KTtcbiAgICBpZiAoJGZyb20uZGVwdGggPiBkZXB0aCkge1xuICAgICAgICBsZXQgdHlwZSA9IGpvaW5hYmxlKCRmcm9tLCAkdG8sIGRlcHRoICsgMSk7XG4gICAgICAgIGFkZE5vZGUoY2xvc2UodHlwZSwgcmVwbGFjZVR3b1dheSgkZnJvbSwgJHRvLCBkZXB0aCArIDEpKSwgY29udGVudCk7XG4gICAgfVxuICAgIGFkZFJhbmdlKCR0bywgbnVsbCwgZGVwdGgsIGNvbnRlbnQpO1xuICAgIHJldHVybiBuZXcgRnJhZ21lbnQoY29udGVudCk7XG59XG5mdW5jdGlvbiBwcmVwYXJlU2xpY2VGb3JSZXBsYWNlKHNsaWNlLCAkYWxvbmcpIHtcbiAgICBsZXQgZXh0cmEgPSAkYWxvbmcuZGVwdGggLSBzbGljZS5vcGVuU3RhcnQsIHBhcmVudCA9ICRhbG9uZy5ub2RlKGV4dHJhKTtcbiAgICBsZXQgbm9kZSA9IHBhcmVudC5jb3B5KHNsaWNlLmNvbnRlbnQpO1xuICAgIGZvciAobGV0IGkgPSBleHRyYSAtIDE7IGkgPj0gMDsgaS0tKVxuICAgICAgICBub2RlID0gJGFsb25nLm5vZGUoaSkuY29weShGcmFnbWVudC5mcm9tKG5vZGUpKTtcbiAgICByZXR1cm4geyBzdGFydDogbm9kZS5yZXNvbHZlTm9DYWNoZShzbGljZS5vcGVuU3RhcnQgKyBleHRyYSksXG4gICAgICAgIGVuZDogbm9kZS5yZXNvbHZlTm9DYWNoZShub2RlLmNvbnRlbnQuc2l6ZSAtIHNsaWNlLm9wZW5FbmQgLSBleHRyYSkgfTtcbn1cblxuLyoqXG5Zb3UgY2FuIFtfcmVzb2x2ZV9dKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNtb2RlbC5Ob2RlLnJlc29sdmUpIGEgcG9zaXRpb24gdG8gZ2V0IG1vcmVcbmluZm9ybWF0aW9uIGFib3V0IGl0LiBPYmplY3RzIG9mIHRoaXMgY2xhc3MgcmVwcmVzZW50IHN1Y2ggYVxucmVzb2x2ZWQgcG9zaXRpb24sIHByb3ZpZGluZyB2YXJpb3VzIHBpZWNlcyBvZiBjb250ZXh0XG5pbmZvcm1hdGlvbiwgYW5kIHNvbWUgaGVscGVyIG1ldGhvZHMuXG5cblRocm91Z2hvdXQgdGhpcyBpbnRlcmZhY2UsIG1ldGhvZHMgdGhhdCB0YWtlIGFuIG9wdGlvbmFsIGBkZXB0aGBcbnBhcmFtZXRlciB3aWxsIGludGVycHJldCB1bmRlZmluZWQgYXMgYHRoaXMuZGVwdGhgIGFuZCBuZWdhdGl2ZVxubnVtYmVycyBhcyBgdGhpcy5kZXB0aCArIHZhbHVlYC5cbiovXG5jbGFzcyBSZXNvbHZlZFBvcyB7XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICBUaGUgcG9zaXRpb24gdGhhdCB3YXMgcmVzb2x2ZWQuXG4gICAgKi9cbiAgICBwb3MsIFxuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgcGF0aCwgXG4gICAgLyoqXG4gICAgVGhlIG9mZnNldCB0aGlzIHBvc2l0aW9uIGhhcyBpbnRvIGl0cyBwYXJlbnQgbm9kZS5cbiAgICAqL1xuICAgIHBhcmVudE9mZnNldCkge1xuICAgICAgICB0aGlzLnBvcyA9IHBvcztcbiAgICAgICAgdGhpcy5wYXRoID0gcGF0aDtcbiAgICAgICAgdGhpcy5wYXJlbnRPZmZzZXQgPSBwYXJlbnRPZmZzZXQ7XG4gICAgICAgIHRoaXMuZGVwdGggPSBwYXRoLmxlbmd0aCAvIDMgLSAxO1xuICAgIH1cbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIHJlc29sdmVEZXB0aCh2YWwpIHtcbiAgICAgICAgaWYgKHZhbCA9PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVwdGg7XG4gICAgICAgIGlmICh2YWwgPCAwKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVwdGggKyB2YWw7XG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgfVxuICAgIC8qKlxuICAgIFRoZSBwYXJlbnQgbm9kZSB0aGF0IHRoZSBwb3NpdGlvbiBwb2ludHMgaW50by4gTm90ZSB0aGF0IGV2ZW4gaWZcbiAgICBhIHBvc2l0aW9uIHBvaW50cyBpbnRvIGEgdGV4dCBub2RlLCB0aGF0IG5vZGUgaXMgbm90IGNvbnNpZGVyZWRcbiAgICB0aGUgcGFyZW504oCUdGV4dCBub2RlcyBhcmUg4oCYZmxhdOKAmSBpbiB0aGlzIG1vZGVsLCBhbmQgaGF2ZSBubyBjb250ZW50LlxuICAgICovXG4gICAgZ2V0IHBhcmVudCgpIHsgcmV0dXJuIHRoaXMubm9kZSh0aGlzLmRlcHRoKTsgfVxuICAgIC8qKlxuICAgIFRoZSByb290IG5vZGUgaW4gd2hpY2ggdGhlIHBvc2l0aW9uIHdhcyByZXNvbHZlZC5cbiAgICAqL1xuICAgIGdldCBkb2MoKSB7IHJldHVybiB0aGlzLm5vZGUoMCk7IH1cbiAgICAvKipcbiAgICBUaGUgYW5jZXN0b3Igbm9kZSBhdCB0aGUgZ2l2ZW4gbGV2ZWwuIGBwLm5vZGUocC5kZXB0aClgIGlzIHRoZVxuICAgIHNhbWUgYXMgYHAucGFyZW50YC5cbiAgICAqL1xuICAgIG5vZGUoZGVwdGgpIHsgcmV0dXJuIHRoaXMucGF0aFt0aGlzLnJlc29sdmVEZXB0aChkZXB0aCkgKiAzXTsgfVxuICAgIC8qKlxuICAgIFRoZSBpbmRleCBpbnRvIHRoZSBhbmNlc3RvciBhdCB0aGUgZ2l2ZW4gbGV2ZWwuIElmIHRoaXMgcG9pbnRzXG4gICAgYXQgdGhlIDNyZCBub2RlIGluIHRoZSAybmQgcGFyYWdyYXBoIG9uIHRoZSB0b3AgbGV2ZWwsIGZvclxuICAgIGV4YW1wbGUsIGBwLmluZGV4KDApYCBpcyAxIGFuZCBgcC5pbmRleCgxKWAgaXMgMi5cbiAgICAqL1xuICAgIGluZGV4KGRlcHRoKSB7IHJldHVybiB0aGlzLnBhdGhbdGhpcy5yZXNvbHZlRGVwdGgoZGVwdGgpICogMyArIDFdOyB9XG4gICAgLyoqXG4gICAgVGhlIGluZGV4IHBvaW50aW5nIGFmdGVyIHRoaXMgcG9zaXRpb24gaW50byB0aGUgYW5jZXN0b3IgYXQgdGhlXG4gICAgZ2l2ZW4gbGV2ZWwuXG4gICAgKi9cbiAgICBpbmRleEFmdGVyKGRlcHRoKSB7XG4gICAgICAgIGRlcHRoID0gdGhpcy5yZXNvbHZlRGVwdGgoZGVwdGgpO1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleChkZXB0aCkgKyAoZGVwdGggPT0gdGhpcy5kZXB0aCAmJiAhdGhpcy50ZXh0T2Zmc2V0ID8gMCA6IDEpO1xuICAgIH1cbiAgICAvKipcbiAgICBUaGUgKGFic29sdXRlKSBwb3NpdGlvbiBhdCB0aGUgc3RhcnQgb2YgdGhlIG5vZGUgYXQgdGhlIGdpdmVuXG4gICAgbGV2ZWwuXG4gICAgKi9cbiAgICBzdGFydChkZXB0aCkge1xuICAgICAgICBkZXB0aCA9IHRoaXMucmVzb2x2ZURlcHRoKGRlcHRoKTtcbiAgICAgICAgcmV0dXJuIGRlcHRoID09IDAgPyAwIDogdGhpcy5wYXRoW2RlcHRoICogMyAtIDFdICsgMTtcbiAgICB9XG4gICAgLyoqXG4gICAgVGhlIChhYnNvbHV0ZSkgcG9zaXRpb24gYXQgdGhlIGVuZCBvZiB0aGUgbm9kZSBhdCB0aGUgZ2l2ZW5cbiAgICBsZXZlbC5cbiAgICAqL1xuICAgIGVuZChkZXB0aCkge1xuICAgICAgICBkZXB0aCA9IHRoaXMucmVzb2x2ZURlcHRoKGRlcHRoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnQoZGVwdGgpICsgdGhpcy5ub2RlKGRlcHRoKS5jb250ZW50LnNpemU7XG4gICAgfVxuICAgIC8qKlxuICAgIFRoZSAoYWJzb2x1dGUpIHBvc2l0aW9uIGRpcmVjdGx5IGJlZm9yZSB0aGUgd3JhcHBpbmcgbm9kZSBhdCB0aGVcbiAgICBnaXZlbiBsZXZlbCwgb3IsIHdoZW4gYGRlcHRoYCBpcyBgdGhpcy5kZXB0aCArIDFgLCB0aGUgb3JpZ2luYWxcbiAgICBwb3NpdGlvbi5cbiAgICAqL1xuICAgIGJlZm9yZShkZXB0aCkge1xuICAgICAgICBkZXB0aCA9IHRoaXMucmVzb2x2ZURlcHRoKGRlcHRoKTtcbiAgICAgICAgaWYgKCFkZXB0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiVGhlcmUgaXMgbm8gcG9zaXRpb24gYmVmb3JlIHRoZSB0b3AtbGV2ZWwgbm9kZVwiKTtcbiAgICAgICAgcmV0dXJuIGRlcHRoID09IHRoaXMuZGVwdGggKyAxID8gdGhpcy5wb3MgOiB0aGlzLnBhdGhbZGVwdGggKiAzIC0gMV07XG4gICAgfVxuICAgIC8qKlxuICAgIFRoZSAoYWJzb2x1dGUpIHBvc2l0aW9uIGRpcmVjdGx5IGFmdGVyIHRoZSB3cmFwcGluZyBub2RlIGF0IHRoZVxuICAgIGdpdmVuIGxldmVsLCBvciB0aGUgb3JpZ2luYWwgcG9zaXRpb24gd2hlbiBgZGVwdGhgIGlzIGB0aGlzLmRlcHRoICsgMWAuXG4gICAgKi9cbiAgICBhZnRlcihkZXB0aCkge1xuICAgICAgICBkZXB0aCA9IHRoaXMucmVzb2x2ZURlcHRoKGRlcHRoKTtcbiAgICAgICAgaWYgKCFkZXB0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiVGhlcmUgaXMgbm8gcG9zaXRpb24gYWZ0ZXIgdGhlIHRvcC1sZXZlbCBub2RlXCIpO1xuICAgICAgICByZXR1cm4gZGVwdGggPT0gdGhpcy5kZXB0aCArIDEgPyB0aGlzLnBvcyA6IHRoaXMucGF0aFtkZXB0aCAqIDMgLSAxXSArIHRoaXMucGF0aFtkZXB0aCAqIDNdLm5vZGVTaXplO1xuICAgIH1cbiAgICAvKipcbiAgICBXaGVuIHRoaXMgcG9zaXRpb24gcG9pbnRzIGludG8gYSB0ZXh0IG5vZGUsIHRoaXMgcmV0dXJucyB0aGVcbiAgICBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBwb3NpdGlvbiBhbmQgdGhlIHN0YXJ0IG9mIHRoZSB0ZXh0IG5vZGUuXG4gICAgV2lsbCBiZSB6ZXJvIGZvciBwb3NpdGlvbnMgdGhhdCBwb2ludCBiZXR3ZWVuIG5vZGVzLlxuICAgICovXG4gICAgZ2V0IHRleHRPZmZzZXQoKSB7IHJldHVybiB0aGlzLnBvcyAtIHRoaXMucGF0aFt0aGlzLnBhdGgubGVuZ3RoIC0gMV07IH1cbiAgICAvKipcbiAgICBHZXQgdGhlIG5vZGUgZGlyZWN0bHkgYWZ0ZXIgdGhlIHBvc2l0aW9uLCBpZiBhbnkuIElmIHRoZSBwb3NpdGlvblxuICAgIHBvaW50cyBpbnRvIGEgdGV4dCBub2RlLCBvbmx5IHRoZSBwYXJ0IG9mIHRoYXQgbm9kZSBhZnRlciB0aGVcbiAgICBwb3NpdGlvbiBpcyByZXR1cm5lZC5cbiAgICAqL1xuICAgIGdldCBub2RlQWZ0ZXIoKSB7XG4gICAgICAgIGxldCBwYXJlbnQgPSB0aGlzLnBhcmVudCwgaW5kZXggPSB0aGlzLmluZGV4KHRoaXMuZGVwdGgpO1xuICAgICAgICBpZiAoaW5kZXggPT0gcGFyZW50LmNoaWxkQ291bnQpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgbGV0IGRPZmYgPSB0aGlzLnBvcyAtIHRoaXMucGF0aFt0aGlzLnBhdGgubGVuZ3RoIC0gMV0sIGNoaWxkID0gcGFyZW50LmNoaWxkKGluZGV4KTtcbiAgICAgICAgcmV0dXJuIGRPZmYgPyBwYXJlbnQuY2hpbGQoaW5kZXgpLmN1dChkT2ZmKSA6IGNoaWxkO1xuICAgIH1cbiAgICAvKipcbiAgICBHZXQgdGhlIG5vZGUgZGlyZWN0bHkgYmVmb3JlIHRoZSBwb3NpdGlvbiwgaWYgYW55LiBJZiB0aGVcbiAgICBwb3NpdGlvbiBwb2ludHMgaW50byBhIHRleHQgbm9kZSwgb25seSB0aGUgcGFydCBvZiB0aGF0IG5vZGVcbiAgICBiZWZvcmUgdGhlIHBvc2l0aW9uIGlzIHJldHVybmVkLlxuICAgICovXG4gICAgZ2V0IG5vZGVCZWZvcmUoKSB7XG4gICAgICAgIGxldCBpbmRleCA9IHRoaXMuaW5kZXgodGhpcy5kZXB0aCk7XG4gICAgICAgIGxldCBkT2ZmID0gdGhpcy5wb3MgLSB0aGlzLnBhdGhbdGhpcy5wYXRoLmxlbmd0aCAtIDFdO1xuICAgICAgICBpZiAoZE9mZilcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBhcmVudC5jaGlsZChpbmRleCkuY3V0KDAsIGRPZmYpO1xuICAgICAgICByZXR1cm4gaW5kZXggPT0gMCA/IG51bGwgOiB0aGlzLnBhcmVudC5jaGlsZChpbmRleCAtIDEpO1xuICAgIH1cbiAgICAvKipcbiAgICBHZXQgdGhlIHBvc2l0aW9uIGF0IHRoZSBnaXZlbiBpbmRleCBpbiB0aGUgcGFyZW50IG5vZGUgYXQgdGhlXG4gICAgZ2l2ZW4gZGVwdGggKHdoaWNoIGRlZmF1bHRzIHRvIGB0aGlzLmRlcHRoYCkuXG4gICAgKi9cbiAgICBwb3NBdEluZGV4KGluZGV4LCBkZXB0aCkge1xuICAgICAgICBkZXB0aCA9IHRoaXMucmVzb2x2ZURlcHRoKGRlcHRoKTtcbiAgICAgICAgbGV0IG5vZGUgPSB0aGlzLnBhdGhbZGVwdGggKiAzXSwgcG9zID0gZGVwdGggPT0gMCA/IDAgOiB0aGlzLnBhdGhbZGVwdGggKiAzIC0gMV0gKyAxO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluZGV4OyBpKyspXG4gICAgICAgICAgICBwb3MgKz0gbm9kZS5jaGlsZChpKS5ub2RlU2l6ZTtcbiAgICAgICAgcmV0dXJuIHBvcztcbiAgICB9XG4gICAgLyoqXG4gICAgR2V0IHRoZSBtYXJrcyBhdCB0aGlzIHBvc2l0aW9uLCBmYWN0b3JpbmcgaW4gdGhlIHN1cnJvdW5kaW5nXG4gICAgbWFya3MnIFtgaW5jbHVzaXZlYF0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI21vZGVsLk1hcmtTcGVjLmluY2x1c2l2ZSkgcHJvcGVydHkuIElmIHRoZVxuICAgIHBvc2l0aW9uIGlzIGF0IHRoZSBzdGFydCBvZiBhIG5vbi1lbXB0eSBub2RlLCB0aGUgbWFya3Mgb2YgdGhlXG4gICAgbm9kZSBhZnRlciBpdCAoaWYgYW55KSBhcmUgcmV0dXJuZWQuXG4gICAgKi9cbiAgICBtYXJrcygpIHtcbiAgICAgICAgbGV0IHBhcmVudCA9IHRoaXMucGFyZW50LCBpbmRleCA9IHRoaXMuaW5kZXgoKTtcbiAgICAgICAgLy8gSW4gYW4gZW1wdHkgcGFyZW50LCByZXR1cm4gdGhlIGVtcHR5IGFycmF5XG4gICAgICAgIGlmIChwYXJlbnQuY29udGVudC5zaXplID09IDApXG4gICAgICAgICAgICByZXR1cm4gTWFyay5ub25lO1xuICAgICAgICAvLyBXaGVuIGluc2lkZSBhIHRleHQgbm9kZSwganVzdCByZXR1cm4gdGhlIHRleHQgbm9kZSdzIG1hcmtzXG4gICAgICAgIGlmICh0aGlzLnRleHRPZmZzZXQpXG4gICAgICAgICAgICByZXR1cm4gcGFyZW50LmNoaWxkKGluZGV4KS5tYXJrcztcbiAgICAgICAgbGV0IG1haW4gPSBwYXJlbnQubWF5YmVDaGlsZChpbmRleCAtIDEpLCBvdGhlciA9IHBhcmVudC5tYXliZUNoaWxkKGluZGV4KTtcbiAgICAgICAgLy8gSWYgdGhlIGBhZnRlcmAgZmxhZyBpcyB0cnVlIG9mIHRoZXJlIGlzIG5vIG5vZGUgYmVmb3JlLCBtYWtlXG4gICAgICAgIC8vIHRoZSBub2RlIGFmdGVyIHRoaXMgcG9zaXRpb24gdGhlIG1haW4gcmVmZXJlbmNlLlxuICAgICAgICBpZiAoIW1haW4pIHtcbiAgICAgICAgICAgIGxldCB0bXAgPSBtYWluO1xuICAgICAgICAgICAgbWFpbiA9IG90aGVyO1xuICAgICAgICAgICAgb3RoZXIgPSB0bXA7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVXNlIGFsbCBtYXJrcyBpbiB0aGUgbWFpbiBub2RlLCBleGNlcHQgdGhvc2UgdGhhdCBoYXZlXG4gICAgICAgIC8vIGBpbmNsdXNpdmVgIHNldCB0byBmYWxzZSBhbmQgYXJlIG5vdCBwcmVzZW50IGluIHRoZSBvdGhlciBub2RlLlxuICAgICAgICBsZXQgbWFya3MgPSBtYWluLm1hcmtzO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1hcmtzLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgaWYgKG1hcmtzW2ldLnR5cGUuc3BlYy5pbmNsdXNpdmUgPT09IGZhbHNlICYmICghb3RoZXIgfHwgIW1hcmtzW2ldLmlzSW5TZXQob3RoZXIubWFya3MpKSlcbiAgICAgICAgICAgICAgICBtYXJrcyA9IG1hcmtzW2ktLV0ucmVtb3ZlRnJvbVNldChtYXJrcyk7XG4gICAgICAgIHJldHVybiBtYXJrcztcbiAgICB9XG4gICAgLyoqXG4gICAgR2V0IHRoZSBtYXJrcyBhZnRlciB0aGUgY3VycmVudCBwb3NpdGlvbiwgaWYgYW55LCBleGNlcHQgdGhvc2VcbiAgICB0aGF0IGFyZSBub24taW5jbHVzaXZlIGFuZCBub3QgcHJlc2VudCBhdCBwb3NpdGlvbiBgJGVuZGAuIFRoaXNcbiAgICBpcyBtb3N0bHkgdXNlZnVsIGZvciBnZXR0aW5nIHRoZSBzZXQgb2YgbWFya3MgdG8gcHJlc2VydmUgYWZ0ZXIgYVxuICAgIGRlbGV0aW9uLiBXaWxsIHJldHVybiBgbnVsbGAgaWYgdGhpcyBwb3NpdGlvbiBpcyBhdCB0aGUgZW5kIG9mXG4gICAgaXRzIHBhcmVudCBub2RlIG9yIGl0cyBwYXJlbnQgbm9kZSBpc24ndCBhIHRleHRibG9jayAoaW4gd2hpY2hcbiAgICBjYXNlIG5vIG1hcmtzIHNob3VsZCBiZSBwcmVzZXJ2ZWQpLlxuICAgICovXG4gICAgbWFya3NBY3Jvc3MoJGVuZCkge1xuICAgICAgICBsZXQgYWZ0ZXIgPSB0aGlzLnBhcmVudC5tYXliZUNoaWxkKHRoaXMuaW5kZXgoKSk7XG4gICAgICAgIGlmICghYWZ0ZXIgfHwgIWFmdGVyLmlzSW5saW5lKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIGxldCBtYXJrcyA9IGFmdGVyLm1hcmtzLCBuZXh0ID0gJGVuZC5wYXJlbnQubWF5YmVDaGlsZCgkZW5kLmluZGV4KCkpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1hcmtzLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgaWYgKG1hcmtzW2ldLnR5cGUuc3BlYy5pbmNsdXNpdmUgPT09IGZhbHNlICYmICghbmV4dCB8fCAhbWFya3NbaV0uaXNJblNldChuZXh0Lm1hcmtzKSkpXG4gICAgICAgICAgICAgICAgbWFya3MgPSBtYXJrc1tpLS1dLnJlbW92ZUZyb21TZXQobWFya3MpO1xuICAgICAgICByZXR1cm4gbWFya3M7XG4gICAgfVxuICAgIC8qKlxuICAgIFRoZSBkZXB0aCB1cCB0byB3aGljaCB0aGlzIHBvc2l0aW9uIGFuZCB0aGUgZ2l2ZW4gKG5vbi1yZXNvbHZlZClcbiAgICBwb3NpdGlvbiBzaGFyZSB0aGUgc2FtZSBwYXJlbnQgbm9kZXMuXG4gICAgKi9cbiAgICBzaGFyZWREZXB0aChwb3MpIHtcbiAgICAgICAgZm9yIChsZXQgZGVwdGggPSB0aGlzLmRlcHRoOyBkZXB0aCA+IDA7IGRlcHRoLS0pXG4gICAgICAgICAgICBpZiAodGhpcy5zdGFydChkZXB0aCkgPD0gcG9zICYmIHRoaXMuZW5kKGRlcHRoKSA+PSBwb3MpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlcHRoO1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgLyoqXG4gICAgUmV0dXJucyBhIHJhbmdlIGJhc2VkIG9uIHRoZSBwbGFjZSB3aGVyZSB0aGlzIHBvc2l0aW9uIGFuZCB0aGVcbiAgICBnaXZlbiBwb3NpdGlvbiBkaXZlcmdlIGFyb3VuZCBibG9jayBjb250ZW50LiBJZiBib3RoIHBvaW50IGludG9cbiAgICB0aGUgc2FtZSB0ZXh0YmxvY2ssIGZvciBleGFtcGxlLCBhIHJhbmdlIGFyb3VuZCB0aGF0IHRleHRibG9ja1xuICAgIHdpbGwgYmUgcmV0dXJuZWQuIElmIHRoZXkgcG9pbnQgaW50byBkaWZmZXJlbnQgYmxvY2tzLCB0aGUgcmFuZ2VcbiAgICBhcm91bmQgdGhvc2UgYmxvY2tzIGluIHRoZWlyIHNoYXJlZCBhbmNlc3RvciBpcyByZXR1cm5lZC4gWW91IGNhblxuICAgIHBhc3MgaW4gYW4gb3B0aW9uYWwgcHJlZGljYXRlIHRoYXQgd2lsbCBiZSBjYWxsZWQgd2l0aCBhIHBhcmVudFxuICAgIG5vZGUgdG8gc2VlIGlmIGEgcmFuZ2UgaW50byB0aGF0IHBhcmVudCBpcyBhY2NlcHRhYmxlLlxuICAgICovXG4gICAgYmxvY2tSYW5nZShvdGhlciA9IHRoaXMsIHByZWQpIHtcbiAgICAgICAgaWYgKG90aGVyLnBvcyA8IHRoaXMucG9zKVxuICAgICAgICAgICAgcmV0dXJuIG90aGVyLmJsb2NrUmFuZ2UodGhpcyk7XG4gICAgICAgIGZvciAobGV0IGQgPSB0aGlzLmRlcHRoIC0gKHRoaXMucGFyZW50LmlubGluZUNvbnRlbnQgfHwgdGhpcy5wb3MgPT0gb3RoZXIucG9zID8gMSA6IDApOyBkID49IDA7IGQtLSlcbiAgICAgICAgICAgIGlmIChvdGhlci5wb3MgPD0gdGhpcy5lbmQoZCkgJiYgKCFwcmVkIHx8IHByZWQodGhpcy5ub2RlKGQpKSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBOb2RlUmFuZ2UodGhpcywgb3RoZXIsIGQpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgLyoqXG4gICAgUXVlcnkgd2hldGhlciB0aGUgZ2l2ZW4gcG9zaXRpb24gc2hhcmVzIHRoZSBzYW1lIHBhcmVudCBub2RlLlxuICAgICovXG4gICAgc2FtZVBhcmVudChvdGhlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3MgLSB0aGlzLnBhcmVudE9mZnNldCA9PSBvdGhlci5wb3MgLSBvdGhlci5wYXJlbnRPZmZzZXQ7XG4gICAgfVxuICAgIC8qKlxuICAgIFJldHVybiB0aGUgZ3JlYXRlciBvZiB0aGlzIGFuZCB0aGUgZ2l2ZW4gcG9zaXRpb24uXG4gICAgKi9cbiAgICBtYXgob3RoZXIpIHtcbiAgICAgICAgcmV0dXJuIG90aGVyLnBvcyA+IHRoaXMucG9zID8gb3RoZXIgOiB0aGlzO1xuICAgIH1cbiAgICAvKipcbiAgICBSZXR1cm4gdGhlIHNtYWxsZXIgb2YgdGhpcyBhbmQgdGhlIGdpdmVuIHBvc2l0aW9uLlxuICAgICovXG4gICAgbWluKG90aGVyKSB7XG4gICAgICAgIHJldHVybiBvdGhlci5wb3MgPCB0aGlzLnBvcyA/IG90aGVyIDogdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICB0b1N0cmluZygpIHtcbiAgICAgICAgbGV0IHN0ciA9IFwiXCI7XG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IHRoaXMuZGVwdGg7IGkrKylcbiAgICAgICAgICAgIHN0ciArPSAoc3RyID8gXCIvXCIgOiBcIlwiKSArIHRoaXMubm9kZShpKS50eXBlLm5hbWUgKyBcIl9cIiArIHRoaXMuaW5kZXgoaSAtIDEpO1xuICAgICAgICByZXR1cm4gc3RyICsgXCI6XCIgKyB0aGlzLnBhcmVudE9mZnNldDtcbiAgICB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICBzdGF0aWMgcmVzb2x2ZShkb2MsIHBvcykge1xuICAgICAgICBpZiAoIShwb3MgPj0gMCAmJiBwb3MgPD0gZG9jLmNvbnRlbnQuc2l6ZSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIlBvc2l0aW9uIFwiICsgcG9zICsgXCIgb3V0IG9mIHJhbmdlXCIpO1xuICAgICAgICBsZXQgcGF0aCA9IFtdO1xuICAgICAgICBsZXQgc3RhcnQgPSAwLCBwYXJlbnRPZmZzZXQgPSBwb3M7XG4gICAgICAgIGZvciAobGV0IG5vZGUgPSBkb2M7Oykge1xuICAgICAgICAgICAgbGV0IHsgaW5kZXgsIG9mZnNldCB9ID0gbm9kZS5jb250ZW50LmZpbmRJbmRleChwYXJlbnRPZmZzZXQpO1xuICAgICAgICAgICAgbGV0IHJlbSA9IHBhcmVudE9mZnNldCAtIG9mZnNldDtcbiAgICAgICAgICAgIHBhdGgucHVzaChub2RlLCBpbmRleCwgc3RhcnQgKyBvZmZzZXQpO1xuICAgICAgICAgICAgaWYgKCFyZW0pXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBub2RlID0gbm9kZS5jaGlsZChpbmRleCk7XG4gICAgICAgICAgICBpZiAobm9kZS5pc1RleHQpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBwYXJlbnRPZmZzZXQgPSByZW0gLSAxO1xuICAgICAgICAgICAgc3RhcnQgKz0gb2Zmc2V0ICsgMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFJlc29sdmVkUG9zKHBvcywgcGF0aCwgcGFyZW50T2Zmc2V0KTtcbiAgICB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICBzdGF0aWMgcmVzb2x2ZUNhY2hlZChkb2MsIHBvcykge1xuICAgICAgICBsZXQgY2FjaGUgPSByZXNvbHZlQ2FjaGUuZ2V0KGRvYyk7XG4gICAgICAgIGlmIChjYWNoZSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYWNoZS5lbHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGVsdCA9IGNhY2hlLmVsdHNbaV07XG4gICAgICAgICAgICAgICAgaWYgKGVsdC5wb3MgPT0gcG9zKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmVzb2x2ZUNhY2hlLnNldChkb2MsIGNhY2hlID0gbmV3IFJlc29sdmVDYWNoZSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlc3VsdCA9IGNhY2hlLmVsdHNbY2FjaGUuaV0gPSBSZXNvbHZlZFBvcy5yZXNvbHZlKGRvYywgcG9zKTtcbiAgICAgICAgY2FjaGUuaSA9IChjYWNoZS5pICsgMSkgJSByZXNvbHZlQ2FjaGVTaXplO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbmNsYXNzIFJlc29sdmVDYWNoZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZWx0cyA9IFtdO1xuICAgICAgICB0aGlzLmkgPSAwO1xuICAgIH1cbn1cbmNvbnN0IHJlc29sdmVDYWNoZVNpemUgPSAxMiwgcmVzb2x2ZUNhY2hlID0gbmV3IFdlYWtNYXAoKTtcbi8qKlxuUmVwcmVzZW50cyBhIGZsYXQgcmFuZ2Ugb2YgY29udGVudCwgaS5lLiBvbmUgdGhhdCBzdGFydHMgYW5kXG5lbmRzIGluIHRoZSBzYW1lIG5vZGUuXG4qL1xuY2xhc3MgTm9kZVJhbmdlIHtcbiAgICAvKipcbiAgICBDb25zdHJ1Y3QgYSBub2RlIHJhbmdlLiBgJGZyb21gIGFuZCBgJHRvYCBzaG91bGQgcG9pbnQgaW50byB0aGVcbiAgICBzYW1lIG5vZGUgdW50aWwgYXQgbGVhc3QgdGhlIGdpdmVuIGBkZXB0aGAsIHNpbmNlIGEgbm9kZSByYW5nZVxuICAgIGRlbm90ZXMgYW4gYWRqYWNlbnQgc2V0IG9mIG5vZGVzIGluIGEgc2luZ2xlIHBhcmVudCBub2RlLlxuICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgQSByZXNvbHZlZCBwb3NpdGlvbiBhbG9uZyB0aGUgc3RhcnQgb2YgdGhlIGNvbnRlbnQuIE1heSBoYXZlIGFcbiAgICBgZGVwdGhgIGdyZWF0ZXIgdGhhbiB0aGlzIG9iamVjdCdzIGBkZXB0aGAgcHJvcGVydHksIHNpbmNlXG4gICAgdGhlc2UgYXJlIHRoZSBwb3NpdGlvbnMgdGhhdCB3ZXJlIHVzZWQgdG8gY29tcHV0ZSB0aGUgcmFuZ2UsXG4gICAgbm90IHJlLXJlc29sdmVkIHBvc2l0aW9ucyBkaXJlY3RseSBhdCBpdHMgYm91bmRhcmllcy5cbiAgICAqL1xuICAgICRmcm9tLCBcbiAgICAvKipcbiAgICBBIHBvc2l0aW9uIGFsb25nIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQuIFNlZVxuICAgIGNhdmVhdCBmb3IgW2AkZnJvbWBdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNtb2RlbC5Ob2RlUmFuZ2UuJGZyb20pLlxuICAgICovXG4gICAgJHRvLCBcbiAgICAvKipcbiAgICBUaGUgZGVwdGggb2YgdGhlIG5vZGUgdGhhdCB0aGlzIHJhbmdlIHBvaW50cyBpbnRvLlxuICAgICovXG4gICAgZGVwdGgpIHtcbiAgICAgICAgdGhpcy4kZnJvbSA9ICRmcm9tO1xuICAgICAgICB0aGlzLiR0byA9ICR0bztcbiAgICAgICAgdGhpcy5kZXB0aCA9IGRlcHRoO1xuICAgIH1cbiAgICAvKipcbiAgICBUaGUgcG9zaXRpb24gYXQgdGhlIHN0YXJ0IG9mIHRoZSByYW5nZS5cbiAgICAqL1xuICAgIGdldCBzdGFydCgpIHsgcmV0dXJuIHRoaXMuJGZyb20uYmVmb3JlKHRoaXMuZGVwdGggKyAxKTsgfVxuICAgIC8qKlxuICAgIFRoZSBwb3NpdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSByYW5nZS5cbiAgICAqL1xuICAgIGdldCBlbmQoKSB7IHJldHVybiB0aGlzLiR0by5hZnRlcih0aGlzLmRlcHRoICsgMSk7IH1cbiAgICAvKipcbiAgICBUaGUgcGFyZW50IG5vZGUgdGhhdCB0aGUgcmFuZ2UgcG9pbnRzIGludG8uXG4gICAgKi9cbiAgICBnZXQgcGFyZW50KCkgeyByZXR1cm4gdGhpcy4kZnJvbS5ub2RlKHRoaXMuZGVwdGgpOyB9XG4gICAgLyoqXG4gICAgVGhlIHN0YXJ0IGluZGV4IG9mIHRoZSByYW5nZSBpbiB0aGUgcGFyZW50IG5vZGUuXG4gICAgKi9cbiAgICBnZXQgc3RhcnRJbmRleCgpIHsgcmV0dXJuIHRoaXMuJGZyb20uaW5kZXgodGhpcy5kZXB0aCk7IH1cbiAgICAvKipcbiAgICBUaGUgZW5kIGluZGV4IG9mIHRoZSByYW5nZSBpbiB0aGUgcGFyZW50IG5vZGUuXG4gICAgKi9cbiAgICBnZXQgZW5kSW5kZXgoKSB7IHJldHVybiB0aGlzLiR0by5pbmRleEFmdGVyKHRoaXMuZGVwdGgpOyB9XG59XG5cbmNvbnN0IGVtcHR5QXR0cnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuLyoqXG5UaGlzIGNsYXNzIHJlcHJlc2VudHMgYSBub2RlIGluIHRoZSB0cmVlIHRoYXQgbWFrZXMgdXAgYVxuUHJvc2VNaXJyb3IgZG9jdW1lbnQuIFNvIGEgZG9jdW1lbnQgaXMgYW4gaW5zdGFuY2Ugb2YgYE5vZGVgLCB3aXRoXG5jaGlsZHJlbiB0aGF0IGFyZSBhbHNvIGluc3RhbmNlcyBvZiBgTm9kZWAuXG5cbk5vZGVzIGFyZSBwZXJzaXN0ZW50IGRhdGEgc3RydWN0dXJlcy4gSW5zdGVhZCBvZiBjaGFuZ2luZyB0aGVtLCB5b3VcbmNyZWF0ZSBuZXcgb25lcyB3aXRoIHRoZSBjb250ZW50IHlvdSB3YW50LiBPbGQgb25lcyBrZWVwIHBvaW50aW5nXG5hdCB0aGUgb2xkIGRvY3VtZW50IHNoYXBlLiBUaGlzIGlzIG1hZGUgY2hlYXBlciBieSBzaGFyaW5nXG5zdHJ1Y3R1cmUgYmV0d2VlbiB0aGUgb2xkIGFuZCBuZXcgZGF0YSBhcyBtdWNoIGFzIHBvc3NpYmxlLCB3aGljaCBhXG50cmVlIHNoYXBlIGxpa2UgdGhpcyAod2l0aG91dCBiYWNrIHBvaW50ZXJzKSBtYWtlcyBlYXN5LlxuXG4qKkRvIG5vdCoqIGRpcmVjdGx5IG11dGF0ZSB0aGUgcHJvcGVydGllcyBvZiBhIGBOb2RlYCBvYmplY3QuIFNlZVxuW3RoZSBndWlkZV0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9ndWlkZS8jZG9jKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiovXG5jbGFzcyBOb2RlIHtcbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgIFRoZSB0eXBlIG9mIG5vZGUgdGhhdCB0aGlzIGlzLlxuICAgICovXG4gICAgdHlwZSwgXG4gICAgLyoqXG4gICAgQW4gb2JqZWN0IG1hcHBpbmcgYXR0cmlidXRlIG5hbWVzIHRvIHZhbHVlcy4gVGhlIGtpbmQgb2ZcbiAgICBhdHRyaWJ1dGVzIGFsbG93ZWQgYW5kIHJlcXVpcmVkIGFyZVxuICAgIFtkZXRlcm1pbmVkXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuTm9kZVNwZWMuYXR0cnMpIGJ5IHRoZSBub2RlIHR5cGUuXG4gICAgKi9cbiAgICBhdHRycywgXG4gICAgLy8gQSBmcmFnbWVudCBob2xkaW5nIHRoZSBub2RlJ3MgY2hpbGRyZW4uXG4gICAgY29udGVudCwgXG4gICAgLyoqXG4gICAgVGhlIG1hcmtzICh0aGluZ3MgbGlrZSB3aGV0aGVyIGl0IGlzIGVtcGhhc2l6ZWQgb3IgcGFydCBvZiBhXG4gICAgbGluaykgYXBwbGllZCB0byB0aGlzIG5vZGUuXG4gICAgKi9cbiAgICBtYXJrcyA9IE1hcmsubm9uZSkge1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICB0aGlzLmF0dHJzID0gYXR0cnM7XG4gICAgICAgIHRoaXMubWFya3MgPSBtYXJrcztcbiAgICAgICAgdGhpcy5jb250ZW50ID0gY29udGVudCB8fCBGcmFnbWVudC5lbXB0eTtcbiAgICB9XG4gICAgLyoqXG4gICAgVGhlIGFycmF5IG9mIHRoaXMgbm9kZSdzIGNoaWxkIG5vZGVzLlxuICAgICovXG4gICAgZ2V0IGNoaWxkcmVuKCkgeyByZXR1cm4gdGhpcy5jb250ZW50LmNvbnRlbnQ7IH1cbiAgICAvKipcbiAgICBUaGUgc2l6ZSBvZiB0aGlzIG5vZGUsIGFzIGRlZmluZWQgYnkgdGhlIGludGVnZXItYmFzZWQgW2luZGV4aW5nXG4gICAgc2NoZW1lXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL2d1aWRlLyNkb2MuaW5kZXhpbmcpLiBGb3IgdGV4dCBub2RlcywgdGhpcyBpcyB0aGVcbiAgICBhbW91bnQgb2YgY2hhcmFjdGVycy4gRm9yIG90aGVyIGxlYWYgbm9kZXMsIGl0IGlzIG9uZS4gRm9yXG4gICAgbm9uLWxlYWYgbm9kZXMsIGl0IGlzIHRoZSBzaXplIG9mIHRoZSBjb250ZW50IHBsdXMgdHdvICh0aGVcbiAgICBzdGFydCBhbmQgZW5kIHRva2VuKS5cbiAgICAqL1xuICAgIGdldCBub2RlU2l6ZSgpIHsgcmV0dXJuIHRoaXMuaXNMZWFmID8gMSA6IDIgKyB0aGlzLmNvbnRlbnQuc2l6ZTsgfVxuICAgIC8qKlxuICAgIFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdGhhdCB0aGUgbm9kZSBoYXMuXG4gICAgKi9cbiAgICBnZXQgY2hpbGRDb3VudCgpIHsgcmV0dXJuIHRoaXMuY29udGVudC5jaGlsZENvdW50OyB9XG4gICAgLyoqXG4gICAgR2V0IHRoZSBjaGlsZCBub2RlIGF0IHRoZSBnaXZlbiBpbmRleC4gUmFpc2VzIGFuIGVycm9yIHdoZW4gdGhlXG4gICAgaW5kZXggaXMgb3V0IG9mIHJhbmdlLlxuICAgICovXG4gICAgY2hpbGQoaW5kZXgpIHsgcmV0dXJuIHRoaXMuY29udGVudC5jaGlsZChpbmRleCk7IH1cbiAgICAvKipcbiAgICBHZXQgdGhlIGNoaWxkIG5vZGUgYXQgdGhlIGdpdmVuIGluZGV4LCBpZiBpdCBleGlzdHMuXG4gICAgKi9cbiAgICBtYXliZUNoaWxkKGluZGV4KSB7IHJldHVybiB0aGlzLmNvbnRlbnQubWF5YmVDaGlsZChpbmRleCk7IH1cbiAgICAvKipcbiAgICBDYWxsIGBmYCBmb3IgZXZlcnkgY2hpbGQgbm9kZSwgcGFzc2luZyB0aGUgbm9kZSwgaXRzIG9mZnNldFxuICAgIGludG8gdGhpcyBwYXJlbnQgbm9kZSwgYW5kIGl0cyBpbmRleC5cbiAgICAqL1xuICAgIGZvckVhY2goZikgeyB0aGlzLmNvbnRlbnQuZm9yRWFjaChmKTsgfVxuICAgIC8qKlxuICAgIEludm9rZSBhIGNhbGxiYWNrIGZvciBhbGwgZGVzY2VuZGFudCBub2RlcyByZWN1cnNpdmVseSBiZXR3ZWVuXG4gICAgdGhlIGdpdmVuIHR3byBwb3NpdGlvbnMgdGhhdCBhcmUgcmVsYXRpdmUgdG8gc3RhcnQgb2YgdGhpc1xuICAgIG5vZGUncyBjb250ZW50LiBUaGUgY2FsbGJhY2sgaXMgaW52b2tlZCB3aXRoIHRoZSBub2RlLCBpdHNcbiAgICBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgb3JpZ2luYWwgbm9kZSAobWV0aG9kIHJlY2VpdmVyKSxcbiAgICBpdHMgcGFyZW50IG5vZGUsIGFuZCBpdHMgY2hpbGQgaW5kZXguIFdoZW4gdGhlIGNhbGxiYWNrIHJldHVybnNcbiAgICBmYWxzZSBmb3IgYSBnaXZlbiBub2RlLCB0aGF0IG5vZGUncyBjaGlsZHJlbiB3aWxsIG5vdCBiZVxuICAgIHJlY3Vyc2VkIG92ZXIuIFRoZSBsYXN0IHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGFcbiAgICBzdGFydGluZyBwb3NpdGlvbiB0byBjb3VudCBmcm9tLlxuICAgICovXG4gICAgbm9kZXNCZXR3ZWVuKGZyb20sIHRvLCBmLCBzdGFydFBvcyA9IDApIHtcbiAgICAgICAgdGhpcy5jb250ZW50Lm5vZGVzQmV0d2Vlbihmcm9tLCB0bywgZiwgc3RhcnRQb3MsIHRoaXMpO1xuICAgIH1cbiAgICAvKipcbiAgICBDYWxsIHRoZSBnaXZlbiBjYWxsYmFjayBmb3IgZXZlcnkgZGVzY2VuZGFudCBub2RlLiBEb2Vzbid0XG4gICAgZGVzY2VuZCBpbnRvIGEgbm9kZSB3aGVuIHRoZSBjYWxsYmFjayByZXR1cm5zIGBmYWxzZWAuXG4gICAgKi9cbiAgICBkZXNjZW5kYW50cyhmKSB7XG4gICAgICAgIHRoaXMubm9kZXNCZXR3ZWVuKDAsIHRoaXMuY29udGVudC5zaXplLCBmKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQ29uY2F0ZW5hdGVzIGFsbCB0aGUgdGV4dCBub2RlcyBmb3VuZCBpbiB0aGlzIGZyYWdtZW50IGFuZCBpdHNcbiAgICBjaGlsZHJlbi5cbiAgICAqL1xuICAgIGdldCB0ZXh0Q29udGVudCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmlzTGVhZiAmJiB0aGlzLnR5cGUuc3BlYy5sZWFmVGV4dClcbiAgICAgICAgICAgID8gdGhpcy50eXBlLnNwZWMubGVhZlRleHQodGhpcylcbiAgICAgICAgICAgIDogdGhpcy50ZXh0QmV0d2VlbigwLCB0aGlzLmNvbnRlbnQuc2l6ZSwgXCJcIik7XG4gICAgfVxuICAgIC8qKlxuICAgIEdldCBhbGwgdGV4dCBiZXR3ZWVuIHBvc2l0aW9ucyBgZnJvbWAgYW5kIGB0b2AuIFdoZW5cbiAgICBgYmxvY2tTZXBhcmF0b3JgIGlzIGdpdmVuLCBpdCB3aWxsIGJlIGluc2VydGVkIHRvIHNlcGFyYXRlIHRleHRcbiAgICBmcm9tIGRpZmZlcmVudCBibG9jayBub2Rlcy4gSWYgYGxlYWZUZXh0YCBpcyBnaXZlbiwgaXQnbGwgYmVcbiAgICBpbnNlcnRlZCBmb3IgZXZlcnkgbm9uLXRleHQgbGVhZiBub2RlIGVuY291bnRlcmVkLCBvdGhlcndpc2VcbiAgICBbYGxlYWZUZXh0YF0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI21vZGVsLk5vZGVTcGVjLmxlYWZUZXh0KSB3aWxsIGJlIHVzZWQuXG4gICAgKi9cbiAgICB0ZXh0QmV0d2Vlbihmcm9tLCB0bywgYmxvY2tTZXBhcmF0b3IsIGxlYWZUZXh0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQudGV4dEJldHdlZW4oZnJvbSwgdG8sIGJsb2NrU2VwYXJhdG9yLCBsZWFmVGV4dCk7XG4gICAgfVxuICAgIC8qKlxuICAgIFJldHVybnMgdGhpcyBub2RlJ3MgZmlyc3QgY2hpbGQsIG9yIGBudWxsYCBpZiB0aGVyZSBhcmUgbm9cbiAgICBjaGlsZHJlbi5cbiAgICAqL1xuICAgIGdldCBmaXJzdENoaWxkKCkgeyByZXR1cm4gdGhpcy5jb250ZW50LmZpcnN0Q2hpbGQ7IH1cbiAgICAvKipcbiAgICBSZXR1cm5zIHRoaXMgbm9kZSdzIGxhc3QgY2hpbGQsIG9yIGBudWxsYCBpZiB0aGVyZSBhcmUgbm9cbiAgICBjaGlsZHJlbi5cbiAgICAqL1xuICAgIGdldCBsYXN0Q2hpbGQoKSB7IHJldHVybiB0aGlzLmNvbnRlbnQubGFzdENoaWxkOyB9XG4gICAgLyoqXG4gICAgVGVzdCB3aGV0aGVyIHR3byBub2RlcyByZXByZXNlbnQgdGhlIHNhbWUgcGllY2Ugb2YgZG9jdW1lbnQuXG4gICAgKi9cbiAgICBlcShvdGhlcikge1xuICAgICAgICByZXR1cm4gdGhpcyA9PSBvdGhlciB8fCAodGhpcy5zYW1lTWFya3VwKG90aGVyKSAmJiB0aGlzLmNvbnRlbnQuZXEob3RoZXIuY29udGVudCkpO1xuICAgIH1cbiAgICAvKipcbiAgICBDb21wYXJlIHRoZSBtYXJrdXAgKHR5cGUsIGF0dHJpYnV0ZXMsIGFuZCBtYXJrcykgb2YgdGhpcyBub2RlIHRvXG4gICAgdGhvc2Ugb2YgYW5vdGhlci4gUmV0dXJucyBgdHJ1ZWAgaWYgYm90aCBoYXZlIHRoZSBzYW1lIG1hcmt1cC5cbiAgICAqL1xuICAgIHNhbWVNYXJrdXAob3RoZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzTWFya3VwKG90aGVyLnR5cGUsIG90aGVyLmF0dHJzLCBvdGhlci5tYXJrcyk7XG4gICAgfVxuICAgIC8qKlxuICAgIENoZWNrIHdoZXRoZXIgdGhpcyBub2RlJ3MgbWFya3VwIGNvcnJlc3BvbmQgdG8gdGhlIGdpdmVuIHR5cGUsXG4gICAgYXR0cmlidXRlcywgYW5kIG1hcmtzLlxuICAgICovXG4gICAgaGFzTWFya3VwKHR5cGUsIGF0dHJzLCBtYXJrcykge1xuICAgICAgICByZXR1cm4gdGhpcy50eXBlID09IHR5cGUgJiZcbiAgICAgICAgICAgIGNvbXBhcmVEZWVwKHRoaXMuYXR0cnMsIGF0dHJzIHx8IHR5cGUuZGVmYXVsdEF0dHJzIHx8IGVtcHR5QXR0cnMpICYmXG4gICAgICAgICAgICBNYXJrLnNhbWVTZXQodGhpcy5tYXJrcywgbWFya3MgfHwgTWFyay5ub25lKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQ3JlYXRlIGEgbmV3IG5vZGUgd2l0aCB0aGUgc2FtZSBtYXJrdXAgYXMgdGhpcyBub2RlLCBjb250YWluaW5nXG4gICAgdGhlIGdpdmVuIGNvbnRlbnQgKG9yIGVtcHR5LCBpZiBubyBjb250ZW50IGlzIGdpdmVuKS5cbiAgICAqL1xuICAgIGNvcHkoY29udGVudCA9IG51bGwpIHtcbiAgICAgICAgaWYgKGNvbnRlbnQgPT0gdGhpcy5jb250ZW50KVxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIHJldHVybiBuZXcgTm9kZSh0aGlzLnR5cGUsIHRoaXMuYXR0cnMsIGNvbnRlbnQsIHRoaXMubWFya3MpO1xuICAgIH1cbiAgICAvKipcbiAgICBDcmVhdGUgYSBjb3B5IG9mIHRoaXMgbm9kZSwgd2l0aCB0aGUgZ2l2ZW4gc2V0IG9mIG1hcmtzIGluc3RlYWRcbiAgICBvZiB0aGUgbm9kZSdzIG93biBtYXJrcy5cbiAgICAqL1xuICAgIG1hcmsobWFya3MpIHtcbiAgICAgICAgcmV0dXJuIG1hcmtzID09IHRoaXMubWFya3MgPyB0aGlzIDogbmV3IE5vZGUodGhpcy50eXBlLCB0aGlzLmF0dHJzLCB0aGlzLmNvbnRlbnQsIG1hcmtzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQ3JlYXRlIGEgY29weSBvZiB0aGlzIG5vZGUgd2l0aCBvbmx5IHRoZSBjb250ZW50IGJldHdlZW4gdGhlXG4gICAgZ2l2ZW4gcG9zaXRpb25zLiBJZiBgdG9gIGlzIG5vdCBnaXZlbiwgaXQgZGVmYXVsdHMgdG8gdGhlIGVuZCBvZlxuICAgIHRoZSBub2RlLlxuICAgICovXG4gICAgY3V0KGZyb20sIHRvID0gdGhpcy5jb250ZW50LnNpemUpIHtcbiAgICAgICAgaWYgKGZyb20gPT0gMCAmJiB0byA9PSB0aGlzLmNvbnRlbnQuc2l6ZSlcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICByZXR1cm4gdGhpcy5jb3B5KHRoaXMuY29udGVudC5jdXQoZnJvbSwgdG8pKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQ3V0IG91dCB0aGUgcGFydCBvZiB0aGUgZG9jdW1lbnQgYmV0d2VlbiB0aGUgZ2l2ZW4gcG9zaXRpb25zLCBhbmRcbiAgICByZXR1cm4gaXQgYXMgYSBgU2xpY2VgIG9iamVjdC5cbiAgICAqL1xuICAgIHNsaWNlKGZyb20sIHRvID0gdGhpcy5jb250ZW50LnNpemUsIGluY2x1ZGVQYXJlbnRzID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKGZyb20gPT0gdG8pXG4gICAgICAgICAgICByZXR1cm4gU2xpY2UuZW1wdHk7XG4gICAgICAgIGxldCAkZnJvbSA9IHRoaXMucmVzb2x2ZShmcm9tKSwgJHRvID0gdGhpcy5yZXNvbHZlKHRvKTtcbiAgICAgICAgbGV0IGRlcHRoID0gaW5jbHVkZVBhcmVudHMgPyAwIDogJGZyb20uc2hhcmVkRGVwdGgodG8pO1xuICAgICAgICBsZXQgc3RhcnQgPSAkZnJvbS5zdGFydChkZXB0aCksIG5vZGUgPSAkZnJvbS5ub2RlKGRlcHRoKTtcbiAgICAgICAgbGV0IGNvbnRlbnQgPSBub2RlLmNvbnRlbnQuY3V0KCRmcm9tLnBvcyAtIHN0YXJ0LCAkdG8ucG9zIC0gc3RhcnQpO1xuICAgICAgICByZXR1cm4gbmV3IFNsaWNlKGNvbnRlbnQsICRmcm9tLmRlcHRoIC0gZGVwdGgsICR0by5kZXB0aCAtIGRlcHRoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgUmVwbGFjZSB0aGUgcGFydCBvZiB0aGUgZG9jdW1lbnQgYmV0d2VlbiB0aGUgZ2l2ZW4gcG9zaXRpb25zIHdpdGhcbiAgICB0aGUgZ2l2ZW4gc2xpY2UuIFRoZSBzbGljZSBtdXN0ICdmaXQnLCBtZWFuaW5nIGl0cyBvcGVuIHNpZGVzXG4gICAgbXVzdCBiZSBhYmxlIHRvIGNvbm5lY3QgdG8gdGhlIHN1cnJvdW5kaW5nIGNvbnRlbnQsIGFuZCBpdHNcbiAgICBjb250ZW50IG5vZGVzIG11c3QgYmUgdmFsaWQgY2hpbGRyZW4gZm9yIHRoZSBub2RlIHRoZXkgYXJlIHBsYWNlZFxuICAgIGludG8uIElmIGFueSBvZiB0aGlzIGlzIHZpb2xhdGVkLCBhbiBlcnJvciBvZiB0eXBlXG4gICAgW2BSZXBsYWNlRXJyb3JgXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuUmVwbGFjZUVycm9yKSBpcyB0aHJvd24uXG4gICAgKi9cbiAgICByZXBsYWNlKGZyb20sIHRvLCBzbGljZSkge1xuICAgICAgICByZXR1cm4gcmVwbGFjZSh0aGlzLnJlc29sdmUoZnJvbSksIHRoaXMucmVzb2x2ZSh0byksIHNsaWNlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgRmluZCB0aGUgbm9kZSBkaXJlY3RseSBhZnRlciB0aGUgZ2l2ZW4gcG9zaXRpb24uXG4gICAgKi9cbiAgICBub2RlQXQocG9zKSB7XG4gICAgICAgIGZvciAobGV0IG5vZGUgPSB0aGlzOzspIHtcbiAgICAgICAgICAgIGxldCB7IGluZGV4LCBvZmZzZXQgfSA9IG5vZGUuY29udGVudC5maW5kSW5kZXgocG9zKTtcbiAgICAgICAgICAgIG5vZGUgPSBub2RlLm1heWJlQ2hpbGQoaW5kZXgpO1xuICAgICAgICAgICAgaWYgKCFub2RlKVxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgaWYgKG9mZnNldCA9PSBwb3MgfHwgbm9kZS5pc1RleHQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgICAgICBwb3MgLT0gb2Zmc2V0ICsgMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICBGaW5kIHRoZSAoZGlyZWN0KSBjaGlsZCBub2RlIGFmdGVyIHRoZSBnaXZlbiBvZmZzZXQsIGlmIGFueSxcbiAgICBhbmQgcmV0dXJuIGl0IGFsb25nIHdpdGggaXRzIGluZGV4IGFuZCBvZmZzZXQgcmVsYXRpdmUgdG8gdGhpc1xuICAgIG5vZGUuXG4gICAgKi9cbiAgICBjaGlsZEFmdGVyKHBvcykge1xuICAgICAgICBsZXQgeyBpbmRleCwgb2Zmc2V0IH0gPSB0aGlzLmNvbnRlbnQuZmluZEluZGV4KHBvcyk7XG4gICAgICAgIHJldHVybiB7IG5vZGU6IHRoaXMuY29udGVudC5tYXliZUNoaWxkKGluZGV4KSwgaW5kZXgsIG9mZnNldCB9O1xuICAgIH1cbiAgICAvKipcbiAgICBGaW5kIHRoZSAoZGlyZWN0KSBjaGlsZCBub2RlIGJlZm9yZSB0aGUgZ2l2ZW4gb2Zmc2V0LCBpZiBhbnksXG4gICAgYW5kIHJldHVybiBpdCBhbG9uZyB3aXRoIGl0cyBpbmRleCBhbmQgb2Zmc2V0IHJlbGF0aXZlIHRvIHRoaXNcbiAgICBub2RlLlxuICAgICovXG4gICAgY2hpbGRCZWZvcmUocG9zKSB7XG4gICAgICAgIGlmIChwb3MgPT0gMClcbiAgICAgICAgICAgIHJldHVybiB7IG5vZGU6IG51bGwsIGluZGV4OiAwLCBvZmZzZXQ6IDAgfTtcbiAgICAgICAgbGV0IHsgaW5kZXgsIG9mZnNldCB9ID0gdGhpcy5jb250ZW50LmZpbmRJbmRleChwb3MpO1xuICAgICAgICBpZiAob2Zmc2V0IDwgcG9zKVxuICAgICAgICAgICAgcmV0dXJuIHsgbm9kZTogdGhpcy5jb250ZW50LmNoaWxkKGluZGV4KSwgaW5kZXgsIG9mZnNldCB9O1xuICAgICAgICBsZXQgbm9kZSA9IHRoaXMuY29udGVudC5jaGlsZChpbmRleCAtIDEpO1xuICAgICAgICByZXR1cm4geyBub2RlLCBpbmRleDogaW5kZXggLSAxLCBvZmZzZXQ6IG9mZnNldCAtIG5vZGUubm9kZVNpemUgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgUmVzb2x2ZSB0aGUgZ2l2ZW4gcG9zaXRpb24gaW4gdGhlIGRvY3VtZW50LCByZXR1cm5pbmcgYW5cbiAgICBbb2JqZWN0XShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuUmVzb2x2ZWRQb3MpIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgaXRzIGNvbnRleHQuXG4gICAgKi9cbiAgICByZXNvbHZlKHBvcykgeyByZXR1cm4gUmVzb2x2ZWRQb3MucmVzb2x2ZUNhY2hlZCh0aGlzLCBwb3MpOyB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICByZXNvbHZlTm9DYWNoZShwb3MpIHsgcmV0dXJuIFJlc29sdmVkUG9zLnJlc29sdmUodGhpcywgcG9zKTsgfVxuICAgIC8qKlxuICAgIFRlc3Qgd2hldGhlciBhIGdpdmVuIG1hcmsgb3IgbWFyayB0eXBlIG9jY3VycyBpbiB0aGlzIGRvY3VtZW50XG4gICAgYmV0d2VlbiB0aGUgdHdvIGdpdmVuIHBvc2l0aW9ucy5cbiAgICAqL1xuICAgIHJhbmdlSGFzTWFyayhmcm9tLCB0bywgdHlwZSkge1xuICAgICAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRvID4gZnJvbSlcbiAgICAgICAgICAgIHRoaXMubm9kZXNCZXR3ZWVuKGZyb20sIHRvLCBub2RlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZS5pc0luU2V0KG5vZGUubWFya3MpKVxuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFmb3VuZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgfVxuICAgIC8qKlxuICAgIFRydWUgd2hlbiB0aGlzIGlzIGEgYmxvY2sgKG5vbi1pbmxpbmUgbm9kZSlcbiAgICAqL1xuICAgIGdldCBpc0Jsb2NrKCkgeyByZXR1cm4gdGhpcy50eXBlLmlzQmxvY2s7IH1cbiAgICAvKipcbiAgICBUcnVlIHdoZW4gdGhpcyBpcyBhIHRleHRibG9jayBub2RlLCBhIGJsb2NrIG5vZGUgd2l0aCBpbmxpbmVcbiAgICBjb250ZW50LlxuICAgICovXG4gICAgZ2V0IGlzVGV4dGJsb2NrKCkgeyByZXR1cm4gdGhpcy50eXBlLmlzVGV4dGJsb2NrOyB9XG4gICAgLyoqXG4gICAgVHJ1ZSB3aGVuIHRoaXMgbm9kZSBhbGxvd3MgaW5saW5lIGNvbnRlbnQuXG4gICAgKi9cbiAgICBnZXQgaW5saW5lQ29udGVudCgpIHsgcmV0dXJuIHRoaXMudHlwZS5pbmxpbmVDb250ZW50OyB9XG4gICAgLyoqXG4gICAgVHJ1ZSB3aGVuIHRoaXMgaXMgYW4gaW5saW5lIG5vZGUgKGEgdGV4dCBub2RlIG9yIGEgbm9kZSB0aGF0IGNhblxuICAgIGFwcGVhciBhbW9uZyB0ZXh0KS5cbiAgICAqL1xuICAgIGdldCBpc0lubGluZSgpIHsgcmV0dXJuIHRoaXMudHlwZS5pc0lubGluZTsgfVxuICAgIC8qKlxuICAgIFRydWUgd2hlbiB0aGlzIGlzIGEgdGV4dCBub2RlLlxuICAgICovXG4gICAgZ2V0IGlzVGV4dCgpIHsgcmV0dXJuIHRoaXMudHlwZS5pc1RleHQ7IH1cbiAgICAvKipcbiAgICBUcnVlIHdoZW4gdGhpcyBpcyBhIGxlYWYgbm9kZS5cbiAgICAqL1xuICAgIGdldCBpc0xlYWYoKSB7IHJldHVybiB0aGlzLnR5cGUuaXNMZWFmOyB9XG4gICAgLyoqXG4gICAgVHJ1ZSB3aGVuIHRoaXMgaXMgYW4gYXRvbSwgaS5lLiB3aGVuIGl0IGRvZXMgbm90IGhhdmUgZGlyZWN0bHlcbiAgICBlZGl0YWJsZSBjb250ZW50LiBUaGlzIGlzIHVzdWFsbHkgdGhlIHNhbWUgYXMgYGlzTGVhZmAsIGJ1dCBjYW5cbiAgICBiZSBjb25maWd1cmVkIHdpdGggdGhlIFtgYXRvbWAgcHJvcGVydHldKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNtb2RlbC5Ob2RlU3BlYy5hdG9tKVxuICAgIG9uIGEgbm9kZSdzIHNwZWMgKHR5cGljYWxseSB1c2VkIHdoZW4gdGhlIG5vZGUgaXMgZGlzcGxheWVkIGFzXG4gICAgYW4gdW5lZGl0YWJsZSBbbm9kZSB2aWV3XShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jdmlldy5Ob2RlVmlldykpLlxuICAgICovXG4gICAgZ2V0IGlzQXRvbSgpIHsgcmV0dXJuIHRoaXMudHlwZS5pc0F0b207IH1cbiAgICAvKipcbiAgICBSZXR1cm4gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBub2RlIGZvciBkZWJ1Z2dpbmdcbiAgICBwdXJwb3Nlcy5cbiAgICAqL1xuICAgIHRvU3RyaW5nKCkge1xuICAgICAgICBpZiAodGhpcy50eXBlLnNwZWMudG9EZWJ1Z1N0cmluZylcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnR5cGUuc3BlYy50b0RlYnVnU3RyaW5nKHRoaXMpO1xuICAgICAgICBsZXQgbmFtZSA9IHRoaXMudHlwZS5uYW1lO1xuICAgICAgICBpZiAodGhpcy5jb250ZW50LnNpemUpXG4gICAgICAgICAgICBuYW1lICs9IFwiKFwiICsgdGhpcy5jb250ZW50LnRvU3RyaW5nSW5uZXIoKSArIFwiKVwiO1xuICAgICAgICByZXR1cm4gd3JhcE1hcmtzKHRoaXMubWFya3MsIG5hbWUpO1xuICAgIH1cbiAgICAvKipcbiAgICBHZXQgdGhlIGNvbnRlbnQgbWF0Y2ggaW4gdGhpcyBub2RlIGF0IHRoZSBnaXZlbiBpbmRleC5cbiAgICAqL1xuICAgIGNvbnRlbnRNYXRjaEF0KGluZGV4KSB7XG4gICAgICAgIGxldCBtYXRjaCA9IHRoaXMudHlwZS5jb250ZW50TWF0Y2gubWF0Y2hGcmFnbWVudCh0aGlzLmNvbnRlbnQsIDAsIGluZGV4KTtcbiAgICAgICAgaWYgKCFtYXRjaClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbGxlZCBjb250ZW50TWF0Y2hBdCBvbiBhIG5vZGUgd2l0aCBpbnZhbGlkIGNvbnRlbnRcIik7XG4gICAgICAgIHJldHVybiBtYXRjaDtcbiAgICB9XG4gICAgLyoqXG4gICAgVGVzdCB3aGV0aGVyIHJlcGxhY2luZyB0aGUgcmFuZ2UgYmV0d2VlbiBgZnJvbWAgYW5kIGB0b2AgKGJ5XG4gICAgY2hpbGQgaW5kZXgpIHdpdGggdGhlIGdpdmVuIHJlcGxhY2VtZW50IGZyYWdtZW50ICh3aGljaCBkZWZhdWx0c1xuICAgIHRvIHRoZSBlbXB0eSBmcmFnbWVudCkgd291bGQgbGVhdmUgdGhlIG5vZGUncyBjb250ZW50IHZhbGlkLiBZb3VcbiAgICBjYW4gb3B0aW9uYWxseSBwYXNzIGBzdGFydGAgYW5kIGBlbmRgIGluZGljZXMgaW50byB0aGVcbiAgICByZXBsYWNlbWVudCBmcmFnbWVudC5cbiAgICAqL1xuICAgIGNhblJlcGxhY2UoZnJvbSwgdG8sIHJlcGxhY2VtZW50ID0gRnJhZ21lbnQuZW1wdHksIHN0YXJ0ID0gMCwgZW5kID0gcmVwbGFjZW1lbnQuY2hpbGRDb3VudCkge1xuICAgICAgICBsZXQgb25lID0gdGhpcy5jb250ZW50TWF0Y2hBdChmcm9tKS5tYXRjaEZyYWdtZW50KHJlcGxhY2VtZW50LCBzdGFydCwgZW5kKTtcbiAgICAgICAgbGV0IHR3byA9IG9uZSAmJiBvbmUubWF0Y2hGcmFnbWVudCh0aGlzLmNvbnRlbnQsIHRvKTtcbiAgICAgICAgaWYgKCF0d28gfHwgIXR3by52YWxpZEVuZClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpKyspXG4gICAgICAgICAgICBpZiAoIXRoaXMudHlwZS5hbGxvd3NNYXJrcyhyZXBsYWNlbWVudC5jaGlsZChpKS5tYXJrcykpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgVGVzdCB3aGV0aGVyIHJlcGxhY2luZyB0aGUgcmFuZ2UgYGZyb21gIHRvIGB0b2AgKGJ5IGluZGV4KSB3aXRoXG4gICAgYSBub2RlIG9mIHRoZSBnaXZlbiB0eXBlIHdvdWxkIGxlYXZlIHRoZSBub2RlJ3MgY29udGVudCB2YWxpZC5cbiAgICAqL1xuICAgIGNhblJlcGxhY2VXaXRoKGZyb20sIHRvLCB0eXBlLCBtYXJrcykge1xuICAgICAgICBpZiAobWFya3MgJiYgIXRoaXMudHlwZS5hbGxvd3NNYXJrcyhtYXJrcykpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGxldCBzdGFydCA9IHRoaXMuY29udGVudE1hdGNoQXQoZnJvbSkubWF0Y2hUeXBlKHR5cGUpO1xuICAgICAgICBsZXQgZW5kID0gc3RhcnQgJiYgc3RhcnQubWF0Y2hGcmFnbWVudCh0aGlzLmNvbnRlbnQsIHRvKTtcbiAgICAgICAgcmV0dXJuIGVuZCA/IGVuZC52YWxpZEVuZCA6IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICBUZXN0IHdoZXRoZXIgdGhlIGdpdmVuIG5vZGUncyBjb250ZW50IGNvdWxkIGJlIGFwcGVuZGVkIHRvIHRoaXNcbiAgICBub2RlLiBJZiB0aGF0IG5vZGUgaXMgZW1wdHksIHRoaXMgd2lsbCBvbmx5IHJldHVybiB0cnVlIGlmIHRoZXJlXG4gICAgaXMgYXQgbGVhc3Qgb25lIG5vZGUgdHlwZSB0aGF0IGNhbiBhcHBlYXIgaW4gYm90aCBub2RlcyAodG8gYXZvaWRcbiAgICBtZXJnaW5nIGNvbXBsZXRlbHkgaW5jb21wYXRpYmxlIG5vZGVzKS5cbiAgICAqL1xuICAgIGNhbkFwcGVuZChvdGhlcikge1xuICAgICAgICBpZiAob3RoZXIuY29udGVudC5zaXplKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FuUmVwbGFjZSh0aGlzLmNoaWxkQ291bnQsIHRoaXMuY2hpbGRDb3VudCwgb3RoZXIuY29udGVudCk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnR5cGUuY29tcGF0aWJsZUNvbnRlbnQob3RoZXIudHlwZSk7XG4gICAgfVxuICAgIC8qKlxuICAgIENoZWNrIHdoZXRoZXIgdGhpcyBub2RlIGFuZCBpdHMgZGVzY2VuZGFudHMgY29uZm9ybSB0byB0aGVcbiAgICBzY2hlbWEsIGFuZCByYWlzZSBhbiBleGNlcHRpb24gd2hlbiB0aGV5IGRvIG5vdC5cbiAgICAqL1xuICAgIGNoZWNrKCkge1xuICAgICAgICB0aGlzLnR5cGUuY2hlY2tDb250ZW50KHRoaXMuY29udGVudCk7XG4gICAgICAgIHRoaXMudHlwZS5jaGVja0F0dHJzKHRoaXMuYXR0cnMpO1xuICAgICAgICBsZXQgY29weSA9IE1hcmsubm9uZTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1hcmtzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgbWFyayA9IHRoaXMubWFya3NbaV07XG4gICAgICAgICAgICBtYXJrLnR5cGUuY2hlY2tBdHRycyhtYXJrLmF0dHJzKTtcbiAgICAgICAgICAgIGNvcHkgPSBtYXJrLmFkZFRvU2V0KGNvcHkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghTWFyay5zYW1lU2V0KGNvcHksIHRoaXMubWFya3MpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYEludmFsaWQgY29sbGVjdGlvbiBvZiBtYXJrcyBmb3Igbm9kZSAke3RoaXMudHlwZS5uYW1lfTogJHt0aGlzLm1hcmtzLm1hcChtID0+IG0udHlwZS5uYW1lKX1gKTtcbiAgICAgICAgdGhpcy5jb250ZW50LmZvckVhY2gobm9kZSA9PiBub2RlLmNoZWNrKCkpO1xuICAgIH1cbiAgICAvKipcbiAgICBSZXR1cm4gYSBKU09OLXNlcmlhbGl6ZWFibGUgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBub2RlLlxuICAgICovXG4gICAgdG9KU09OKCkge1xuICAgICAgICBsZXQgb2JqID0geyB0eXBlOiB0aGlzLnR5cGUubmFtZSB9O1xuICAgICAgICBmb3IgKGxldCBfIGluIHRoaXMuYXR0cnMpIHtcbiAgICAgICAgICAgIG9iai5hdHRycyA9IHRoaXMuYXR0cnM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb250ZW50LnNpemUpXG4gICAgICAgICAgICBvYmouY29udGVudCA9IHRoaXMuY29udGVudC50b0pTT04oKTtcbiAgICAgICAgaWYgKHRoaXMubWFya3MubGVuZ3RoKVxuICAgICAgICAgICAgb2JqLm1hcmtzID0gdGhpcy5tYXJrcy5tYXAobiA9PiBuLnRvSlNPTigpKTtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9XG4gICAgLyoqXG4gICAgRGVzZXJpYWxpemUgYSBub2RlIGZyb20gaXRzIEpTT04gcmVwcmVzZW50YXRpb24uXG4gICAgKi9cbiAgICBzdGF0aWMgZnJvbUpTT04oc2NoZW1hLCBqc29uKSB7XG4gICAgICAgIGlmICghanNvbilcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiSW52YWxpZCBpbnB1dCBmb3IgTm9kZS5mcm9tSlNPTlwiKTtcbiAgICAgICAgbGV0IG1hcmtzID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoanNvbi5tYXJrcykge1xuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGpzb24ubWFya3MpKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiSW52YWxpZCBtYXJrIGRhdGEgZm9yIE5vZGUuZnJvbUpTT05cIik7XG4gICAgICAgICAgICBtYXJrcyA9IGpzb24ubWFya3MubWFwKHNjaGVtYS5tYXJrRnJvbUpTT04pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChqc29uLnR5cGUgPT0gXCJ0ZXh0XCIpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YganNvbi50ZXh0ICE9IFwic3RyaW5nXCIpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIHRleHQgbm9kZSBpbiBKU09OXCIpO1xuICAgICAgICAgICAgcmV0dXJuIHNjaGVtYS50ZXh0KGpzb24udGV4dCwgbWFya3MpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjb250ZW50ID0gRnJhZ21lbnQuZnJvbUpTT04oc2NoZW1hLCBqc29uLmNvbnRlbnQpO1xuICAgICAgICBsZXQgbm9kZSA9IHNjaGVtYS5ub2RlVHlwZShqc29uLnR5cGUpLmNyZWF0ZShqc29uLmF0dHJzLCBjb250ZW50LCBtYXJrcyk7XG4gICAgICAgIG5vZGUudHlwZS5jaGVja0F0dHJzKG5vZGUuYXR0cnMpO1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG59XG5Ob2RlLnByb3RvdHlwZS50ZXh0ID0gdW5kZWZpbmVkO1xuY2xhc3MgVGV4dE5vZGUgZXh0ZW5kcyBOb2RlIHtcbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHR5cGUsIGF0dHJzLCBjb250ZW50LCBtYXJrcykge1xuICAgICAgICBzdXBlcih0eXBlLCBhdHRycywgbnVsbCwgbWFya3MpO1xuICAgICAgICBpZiAoIWNvbnRlbnQpXG4gICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkVtcHR5IHRleHQgbm9kZXMgYXJlIG5vdCBhbGxvd2VkXCIpO1xuICAgICAgICB0aGlzLnRleHQgPSBjb250ZW50O1xuICAgIH1cbiAgICB0b1N0cmluZygpIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZS5zcGVjLnRvRGVidWdTdHJpbmcpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy50eXBlLnNwZWMudG9EZWJ1Z1N0cmluZyh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHdyYXBNYXJrcyh0aGlzLm1hcmtzLCBKU09OLnN0cmluZ2lmeSh0aGlzLnRleHQpKTtcbiAgICB9XG4gICAgZ2V0IHRleHRDb250ZW50KCkgeyByZXR1cm4gdGhpcy50ZXh0OyB9XG4gICAgdGV4dEJldHdlZW4oZnJvbSwgdG8pIHsgcmV0dXJuIHRoaXMudGV4dC5zbGljZShmcm9tLCB0byk7IH1cbiAgICBnZXQgbm9kZVNpemUoKSB7IHJldHVybiB0aGlzLnRleHQubGVuZ3RoOyB9XG4gICAgbWFyayhtYXJrcykge1xuICAgICAgICByZXR1cm4gbWFya3MgPT0gdGhpcy5tYXJrcyA/IHRoaXMgOiBuZXcgVGV4dE5vZGUodGhpcy50eXBlLCB0aGlzLmF0dHJzLCB0aGlzLnRleHQsIG1hcmtzKTtcbiAgICB9XG4gICAgd2l0aFRleHQodGV4dCkge1xuICAgICAgICBpZiAodGV4dCA9PSB0aGlzLnRleHQpXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgcmV0dXJuIG5ldyBUZXh0Tm9kZSh0aGlzLnR5cGUsIHRoaXMuYXR0cnMsIHRleHQsIHRoaXMubWFya3MpO1xuICAgIH1cbiAgICBjdXQoZnJvbSA9IDAsIHRvID0gdGhpcy50ZXh0Lmxlbmd0aCkge1xuICAgICAgICBpZiAoZnJvbSA9PSAwICYmIHRvID09IHRoaXMudGV4dC5sZW5ndGgpXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aFRleHQodGhpcy50ZXh0LnNsaWNlKGZyb20sIHRvKSk7XG4gICAgfVxuICAgIGVxKG90aGVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbWVNYXJrdXAob3RoZXIpICYmIHRoaXMudGV4dCA9PSBvdGhlci50ZXh0O1xuICAgIH1cbiAgICB0b0pTT04oKSB7XG4gICAgICAgIGxldCBiYXNlID0gc3VwZXIudG9KU09OKCk7XG4gICAgICAgIGJhc2UudGV4dCA9IHRoaXMudGV4dDtcbiAgICAgICAgcmV0dXJuIGJhc2U7XG4gICAgfVxufVxuZnVuY3Rpb24gd3JhcE1hcmtzKG1hcmtzLCBzdHIpIHtcbiAgICBmb3IgKGxldCBpID0gbWFya3MubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pXG4gICAgICAgIHN0ciA9IG1hcmtzW2ldLnR5cGUubmFtZSArIFwiKFwiICsgc3RyICsgXCIpXCI7XG4gICAgcmV0dXJuIHN0cjtcbn1cblxuLyoqXG5JbnN0YW5jZXMgb2YgdGhpcyBjbGFzcyByZXByZXNlbnQgYSBtYXRjaCBzdGF0ZSBvZiBhIG5vZGUgdHlwZSdzXG5bY29udGVudCBleHByZXNzaW9uXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuTm9kZVNwZWMuY29udGVudCksIGFuZCBjYW4gYmUgdXNlZCB0b1xuZmluZCBvdXQgd2hldGhlciBmdXJ0aGVyIGNvbnRlbnQgbWF0Y2hlcyBoZXJlLCBhbmQgd2hldGhlciBhIGdpdmVuXG5wb3NpdGlvbiBpcyBhIHZhbGlkIGVuZCBvZiB0aGUgbm9kZS5cbiovXG5jbGFzcyBDb250ZW50TWF0Y2gge1xuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgVHJ1ZSB3aGVuIHRoaXMgbWF0Y2ggc3RhdGUgcmVwcmVzZW50cyBhIHZhbGlkIGVuZCBvZiB0aGUgbm9kZS5cbiAgICAqL1xuICAgIHZhbGlkRW5kKSB7XG4gICAgICAgIHRoaXMudmFsaWRFbmQgPSB2YWxpZEVuZDtcbiAgICAgICAgLyoqXG4gICAgICAgIEBpbnRlcm5hbFxuICAgICAgICAqL1xuICAgICAgICB0aGlzLm5leHQgPSBbXTtcbiAgICAgICAgLyoqXG4gICAgICAgIEBpbnRlcm5hbFxuICAgICAgICAqL1xuICAgICAgICB0aGlzLndyYXBDYWNoZSA9IFtdO1xuICAgIH1cbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIHN0YXRpYyBwYXJzZShzdHJpbmcsIG5vZGVUeXBlcykge1xuICAgICAgICBsZXQgc3RyZWFtID0gbmV3IFRva2VuU3RyZWFtKHN0cmluZywgbm9kZVR5cGVzKTtcbiAgICAgICAgaWYgKHN0cmVhbS5uZXh0ID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gQ29udGVudE1hdGNoLmVtcHR5O1xuICAgICAgICBsZXQgZXhwciA9IHBhcnNlRXhwcihzdHJlYW0pO1xuICAgICAgICBpZiAoc3RyZWFtLm5leHQpXG4gICAgICAgICAgICBzdHJlYW0uZXJyKFwiVW5leHBlY3RlZCB0cmFpbGluZyB0ZXh0XCIpO1xuICAgICAgICBsZXQgbWF0Y2ggPSBkZmEobmZhKGV4cHIpKTtcbiAgICAgICAgY2hlY2tGb3JEZWFkRW5kcyhtYXRjaCwgc3RyZWFtKTtcbiAgICAgICAgcmV0dXJuIG1hdGNoO1xuICAgIH1cbiAgICAvKipcbiAgICBNYXRjaCBhIG5vZGUgdHlwZSwgcmV0dXJuaW5nIGEgbWF0Y2ggYWZ0ZXIgdGhhdCBub2RlIGlmXG4gICAgc3VjY2Vzc2Z1bC5cbiAgICAqL1xuICAgIG1hdGNoVHlwZSh0eXBlKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5uZXh0Lmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgaWYgKHRoaXMubmV4dFtpXS50eXBlID09IHR5cGUpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubmV4dFtpXS5uZXh0O1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgLyoqXG4gICAgVHJ5IHRvIG1hdGNoIGEgZnJhZ21lbnQuIFJldHVybnMgdGhlIHJlc3VsdGluZyBtYXRjaCB3aGVuXG4gICAgc3VjY2Vzc2Z1bC5cbiAgICAqL1xuICAgIG1hdGNoRnJhZ21lbnQoZnJhZywgc3RhcnQgPSAwLCBlbmQgPSBmcmFnLmNoaWxkQ291bnQpIHtcbiAgICAgICAgbGV0IGN1ciA9IHRoaXM7XG4gICAgICAgIGZvciAobGV0IGkgPSBzdGFydDsgY3VyICYmIGkgPCBlbmQ7IGkrKylcbiAgICAgICAgICAgIGN1ciA9IGN1ci5tYXRjaFR5cGUoZnJhZy5jaGlsZChpKS50eXBlKTtcbiAgICAgICAgcmV0dXJuIGN1cjtcbiAgICB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICBnZXQgaW5saW5lQ29udGVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmV4dC5sZW5ndGggIT0gMCAmJiB0aGlzLm5leHRbMF0udHlwZS5pc0lubGluZTtcbiAgICB9XG4gICAgLyoqXG4gICAgR2V0IHRoZSBmaXJzdCBtYXRjaGluZyBub2RlIHR5cGUgYXQgdGhpcyBtYXRjaCBwb3NpdGlvbiB0aGF0IGNhblxuICAgIGJlIGdlbmVyYXRlZC5cbiAgICAqL1xuICAgIGdldCBkZWZhdWx0VHlwZSgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm5leHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCB7IHR5cGUgfSA9IHRoaXMubmV4dFtpXTtcbiAgICAgICAgICAgIGlmICghKHR5cGUuaXNUZXh0IHx8IHR5cGUuaGFzUmVxdWlyZWRBdHRycygpKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICBjb21wYXRpYmxlKG90aGVyKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5uZXh0Lmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBvdGhlci5uZXh0Lmxlbmd0aDsgaisrKVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm5leHRbaV0udHlwZSA9PSBvdGhlci5uZXh0W2pdLnR5cGUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8qKlxuICAgIFRyeSB0byBtYXRjaCB0aGUgZ2l2ZW4gZnJhZ21lbnQsIGFuZCBpZiB0aGF0IGZhaWxzLCBzZWUgaWYgaXQgY2FuXG4gICAgYmUgbWFkZSB0byBtYXRjaCBieSBpbnNlcnRpbmcgbm9kZXMgaW4gZnJvbnQgb2YgaXQuIFdoZW5cbiAgICBzdWNjZXNzZnVsLCByZXR1cm4gYSBmcmFnbWVudCBvZiBpbnNlcnRlZCBub2RlcyAod2hpY2ggbWF5IGJlXG4gICAgZW1wdHkgaWYgbm90aGluZyBoYWQgdG8gYmUgaW5zZXJ0ZWQpLiBXaGVuIGB0b0VuZGAgaXMgdHJ1ZSwgb25seVxuICAgIHJldHVybiBhIGZyYWdtZW50IGlmIHRoZSByZXN1bHRpbmcgbWF0Y2ggZ29lcyB0byB0aGUgZW5kIG9mIHRoZVxuICAgIGNvbnRlbnQgZXhwcmVzc2lvbi5cbiAgICAqL1xuICAgIGZpbGxCZWZvcmUoYWZ0ZXIsIHRvRW5kID0gZmFsc2UsIHN0YXJ0SW5kZXggPSAwKSB7XG4gICAgICAgIGxldCBzZWVuID0gW3RoaXNdO1xuICAgICAgICBmdW5jdGlvbiBzZWFyY2gobWF0Y2gsIHR5cGVzKSB7XG4gICAgICAgICAgICBsZXQgZmluaXNoZWQgPSBtYXRjaC5tYXRjaEZyYWdtZW50KGFmdGVyLCBzdGFydEluZGV4KTtcbiAgICAgICAgICAgIGlmIChmaW5pc2hlZCAmJiAoIXRvRW5kIHx8IGZpbmlzaGVkLnZhbGlkRW5kKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gRnJhZ21lbnQuZnJvbSh0eXBlcy5tYXAodHAgPT4gdHAuY3JlYXRlQW5kRmlsbCgpKSk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hdGNoLm5leHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBsZXQgeyB0eXBlLCBuZXh0IH0gPSBtYXRjaC5uZXh0W2ldO1xuICAgICAgICAgICAgICAgIGlmICghKHR5cGUuaXNUZXh0IHx8IHR5cGUuaGFzUmVxdWlyZWRBdHRycygpKSAmJiBzZWVuLmluZGV4T2YobmV4dCkgPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgc2Vlbi5wdXNoKG5leHQpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZm91bmQgPSBzZWFyY2gobmV4dCwgdHlwZXMuY29uY2F0KHR5cGUpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvdW5kKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZWFyY2godGhpcywgW10pO1xuICAgIH1cbiAgICAvKipcbiAgICBGaW5kIGEgc2V0IG9mIHdyYXBwaW5nIG5vZGUgdHlwZXMgdGhhdCB3b3VsZCBhbGxvdyBhIG5vZGUgb2YgdGhlXG4gICAgZ2l2ZW4gdHlwZSB0byBhcHBlYXIgYXQgdGhpcyBwb3NpdGlvbi4gVGhlIHJlc3VsdCBtYXkgYmUgZW1wdHlcbiAgICAod2hlbiBpdCBmaXRzIGRpcmVjdGx5KSBhbmQgd2lsbCBiZSBudWxsIHdoZW4gbm8gc3VjaCB3cmFwcGluZ1xuICAgIGV4aXN0cy5cbiAgICAqL1xuICAgIGZpbmRXcmFwcGluZyh0YXJnZXQpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLndyYXBDYWNoZS5sZW5ndGg7IGkgKz0gMilcbiAgICAgICAgICAgIGlmICh0aGlzLndyYXBDYWNoZVtpXSA9PSB0YXJnZXQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMud3JhcENhY2hlW2kgKyAxXTtcbiAgICAgICAgbGV0IGNvbXB1dGVkID0gdGhpcy5jb21wdXRlV3JhcHBpbmcodGFyZ2V0KTtcbiAgICAgICAgdGhpcy53cmFwQ2FjaGUucHVzaCh0YXJnZXQsIGNvbXB1dGVkKTtcbiAgICAgICAgcmV0dXJuIGNvbXB1dGVkO1xuICAgIH1cbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIGNvbXB1dGVXcmFwcGluZyh0YXJnZXQpIHtcbiAgICAgICAgbGV0IHNlZW4gPSBPYmplY3QuY3JlYXRlKG51bGwpLCBhY3RpdmUgPSBbeyBtYXRjaDogdGhpcywgdHlwZTogbnVsbCwgdmlhOiBudWxsIH1dO1xuICAgICAgICB3aGlsZSAoYWN0aXZlLmxlbmd0aCkge1xuICAgICAgICAgICAgbGV0IGN1cnJlbnQgPSBhY3RpdmUuc2hpZnQoKSwgbWF0Y2ggPSBjdXJyZW50Lm1hdGNoO1xuICAgICAgICAgICAgaWYgKG1hdGNoLm1hdGNoVHlwZSh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IG9iaiA9IGN1cnJlbnQ7IG9iai50eXBlOyBvYmogPSBvYmoudmlhKVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChvYmoudHlwZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZXZlcnNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hdGNoLm5leHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBsZXQgeyB0eXBlLCBuZXh0IH0gPSBtYXRjaC5uZXh0W2ldO1xuICAgICAgICAgICAgICAgIGlmICghdHlwZS5pc0xlYWYgJiYgIXR5cGUuaGFzUmVxdWlyZWRBdHRycygpICYmICEodHlwZS5uYW1lIGluIHNlZW4pICYmICghY3VycmVudC50eXBlIHx8IG5leHQudmFsaWRFbmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZS5wdXNoKHsgbWF0Y2g6IHR5cGUuY29udGVudE1hdGNoLCB0eXBlLCB2aWE6IGN1cnJlbnQgfSk7XG4gICAgICAgICAgICAgICAgICAgIHNlZW5bdHlwZS5uYW1lXSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAvKipcbiAgICBUaGUgbnVtYmVyIG9mIG91dGdvaW5nIGVkZ2VzIHRoaXMgbm9kZSBoYXMgaW4gdGhlIGZpbml0ZVxuICAgIGF1dG9tYXRvbiB0aGF0IGRlc2NyaWJlcyB0aGUgY29udGVudCBleHByZXNzaW9uLlxuICAgICovXG4gICAgZ2V0IGVkZ2VDb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmV4dC5sZW5ndGg7XG4gICAgfVxuICAgIC8qKlxuICAgIEdldCB0aGUgX25f4oCLdGggb3V0Z29pbmcgZWRnZSBmcm9tIHRoaXMgbm9kZSBpbiB0aGUgZmluaXRlXG4gICAgYXV0b21hdG9uIHRoYXQgZGVzY3JpYmVzIHRoZSBjb250ZW50IGV4cHJlc3Npb24uXG4gICAgKi9cbiAgICBlZGdlKG4pIHtcbiAgICAgICAgaWYgKG4gPj0gdGhpcy5uZXh0Lmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKGBUaGVyZSdzIG5vICR7bn10aCBlZGdlIGluIHRoaXMgY29udGVudCBtYXRjaGApO1xuICAgICAgICByZXR1cm4gdGhpcy5uZXh0W25dO1xuICAgIH1cbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIHRvU3RyaW5nKCkge1xuICAgICAgICBsZXQgc2VlbiA9IFtdO1xuICAgICAgICBmdW5jdGlvbiBzY2FuKG0pIHtcbiAgICAgICAgICAgIHNlZW4ucHVzaChtKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbS5uZXh0Lmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgICAgIGlmIChzZWVuLmluZGV4T2YobS5uZXh0W2ldLm5leHQpID09IC0xKVxuICAgICAgICAgICAgICAgICAgICBzY2FuKG0ubmV4dFtpXS5uZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBzY2FuKHRoaXMpO1xuICAgICAgICByZXR1cm4gc2Vlbi5tYXAoKG0sIGkpID0+IHtcbiAgICAgICAgICAgIGxldCBvdXQgPSBpICsgKG0udmFsaWRFbmQgPyBcIipcIiA6IFwiIFwiKSArIFwiIFwiO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtLm5leHQubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICAgICAgb3V0ICs9IChpID8gXCIsIFwiIDogXCJcIikgKyBtLm5leHRbaV0udHlwZS5uYW1lICsgXCItPlwiICsgc2Vlbi5pbmRleE9mKG0ubmV4dFtpXS5uZXh0KTtcbiAgICAgICAgICAgIHJldHVybiBvdXQ7XG4gICAgICAgIH0pLmpvaW4oXCJcXG5cIik7XG4gICAgfVxufVxuLyoqXG5AaW50ZXJuYWxcbiovXG5Db250ZW50TWF0Y2guZW1wdHkgPSBuZXcgQ29udGVudE1hdGNoKHRydWUpO1xuY2xhc3MgVG9rZW5TdHJlYW0ge1xuICAgIGNvbnN0cnVjdG9yKHN0cmluZywgbm9kZVR5cGVzKSB7XG4gICAgICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgICAgICB0aGlzLm5vZGVUeXBlcyA9IG5vZGVUeXBlcztcbiAgICAgICAgdGhpcy5pbmxpbmUgPSBudWxsO1xuICAgICAgICB0aGlzLnBvcyA9IDA7XG4gICAgICAgIHRoaXMudG9rZW5zID0gc3RyaW5nLnNwbGl0KC9cXHMqKD89XFxifFxcV3wkKS8pO1xuICAgICAgICBpZiAodGhpcy50b2tlbnNbdGhpcy50b2tlbnMubGVuZ3RoIC0gMV0gPT0gXCJcIilcbiAgICAgICAgICAgIHRoaXMudG9rZW5zLnBvcCgpO1xuICAgICAgICBpZiAodGhpcy50b2tlbnNbMF0gPT0gXCJcIilcbiAgICAgICAgICAgIHRoaXMudG9rZW5zLnNoaWZ0KCk7XG4gICAgfVxuICAgIGdldCBuZXh0KCkgeyByZXR1cm4gdGhpcy50b2tlbnNbdGhpcy5wb3NdOyB9XG4gICAgZWF0KHRvaykgeyByZXR1cm4gdGhpcy5uZXh0ID09IHRvayAmJiAodGhpcy5wb3MrKyB8fCB0cnVlKTsgfVxuICAgIGVycihzdHIpIHsgdGhyb3cgbmV3IFN5bnRheEVycm9yKHN0ciArIFwiIChpbiBjb250ZW50IGV4cHJlc3Npb24gJ1wiICsgdGhpcy5zdHJpbmcgKyBcIicpXCIpOyB9XG59XG5mdW5jdGlvbiBwYXJzZUV4cHIoc3RyZWFtKSB7XG4gICAgbGV0IGV4cHJzID0gW107XG4gICAgZG8ge1xuICAgICAgICBleHBycy5wdXNoKHBhcnNlRXhwclNlcShzdHJlYW0pKTtcbiAgICB9IHdoaWxlIChzdHJlYW0uZWF0KFwifFwiKSk7XG4gICAgcmV0dXJuIGV4cHJzLmxlbmd0aCA9PSAxID8gZXhwcnNbMF0gOiB7IHR5cGU6IFwiY2hvaWNlXCIsIGV4cHJzIH07XG59XG5mdW5jdGlvbiBwYXJzZUV4cHJTZXEoc3RyZWFtKSB7XG4gICAgbGV0IGV4cHJzID0gW107XG4gICAgZG8ge1xuICAgICAgICBleHBycy5wdXNoKHBhcnNlRXhwclN1YnNjcmlwdChzdHJlYW0pKTtcbiAgICB9IHdoaWxlIChzdHJlYW0ubmV4dCAmJiBzdHJlYW0ubmV4dCAhPSBcIilcIiAmJiBzdHJlYW0ubmV4dCAhPSBcInxcIik7XG4gICAgcmV0dXJuIGV4cHJzLmxlbmd0aCA9PSAxID8gZXhwcnNbMF0gOiB7IHR5cGU6IFwic2VxXCIsIGV4cHJzIH07XG59XG5mdW5jdGlvbiBwYXJzZUV4cHJTdWJzY3JpcHQoc3RyZWFtKSB7XG4gICAgbGV0IGV4cHIgPSBwYXJzZUV4cHJBdG9tKHN0cmVhbSk7XG4gICAgZm9yICg7Oykge1xuICAgICAgICBpZiAoc3RyZWFtLmVhdChcIitcIikpXG4gICAgICAgICAgICBleHByID0geyB0eXBlOiBcInBsdXNcIiwgZXhwciB9O1xuICAgICAgICBlbHNlIGlmIChzdHJlYW0uZWF0KFwiKlwiKSlcbiAgICAgICAgICAgIGV4cHIgPSB7IHR5cGU6IFwic3RhclwiLCBleHByIH07XG4gICAgICAgIGVsc2UgaWYgKHN0cmVhbS5lYXQoXCI/XCIpKVxuICAgICAgICAgICAgZXhwciA9IHsgdHlwZTogXCJvcHRcIiwgZXhwciB9O1xuICAgICAgICBlbHNlIGlmIChzdHJlYW0uZWF0KFwie1wiKSlcbiAgICAgICAgICAgIGV4cHIgPSBwYXJzZUV4cHJSYW5nZShzdHJlYW0sIGV4cHIpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIGV4cHI7XG59XG5mdW5jdGlvbiBwYXJzZU51bShzdHJlYW0pIHtcbiAgICBpZiAoL1xcRC8udGVzdChzdHJlYW0ubmV4dCkpXG4gICAgICAgIHN0cmVhbS5lcnIoXCJFeHBlY3RlZCBudW1iZXIsIGdvdCAnXCIgKyBzdHJlYW0ubmV4dCArIFwiJ1wiKTtcbiAgICBsZXQgcmVzdWx0ID0gTnVtYmVyKHN0cmVhbS5uZXh0KTtcbiAgICBzdHJlYW0ucG9zKys7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIHBhcnNlRXhwclJhbmdlKHN0cmVhbSwgZXhwcikge1xuICAgIGxldCBtaW4gPSBwYXJzZU51bShzdHJlYW0pLCBtYXggPSBtaW47XG4gICAgaWYgKHN0cmVhbS5lYXQoXCIsXCIpKSB7XG4gICAgICAgIGlmIChzdHJlYW0ubmV4dCAhPSBcIn1cIilcbiAgICAgICAgICAgIG1heCA9IHBhcnNlTnVtKHN0cmVhbSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIG1heCA9IC0xO1xuICAgIH1cbiAgICBpZiAoIXN0cmVhbS5lYXQoXCJ9XCIpKVxuICAgICAgICBzdHJlYW0uZXJyKFwiVW5jbG9zZWQgYnJhY2VkIHJhbmdlXCIpO1xuICAgIHJldHVybiB7IHR5cGU6IFwicmFuZ2VcIiwgbWluLCBtYXgsIGV4cHIgfTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVOYW1lKHN0cmVhbSwgbmFtZSkge1xuICAgIGxldCB0eXBlcyA9IHN0cmVhbS5ub2RlVHlwZXMsIHR5cGUgPSB0eXBlc1tuYW1lXTtcbiAgICBpZiAodHlwZSlcbiAgICAgICAgcmV0dXJuIFt0eXBlXTtcbiAgICBsZXQgcmVzdWx0ID0gW107XG4gICAgZm9yIChsZXQgdHlwZU5hbWUgaW4gdHlwZXMpIHtcbiAgICAgICAgbGV0IHR5cGUgPSB0eXBlc1t0eXBlTmFtZV07XG4gICAgICAgIGlmICh0eXBlLmlzSW5Hcm91cChuYW1lKSlcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHR5cGUpO1xuICAgIH1cbiAgICBpZiAocmVzdWx0Lmxlbmd0aCA9PSAwKVxuICAgICAgICBzdHJlYW0uZXJyKFwiTm8gbm9kZSB0eXBlIG9yIGdyb3VwICdcIiArIG5hbWUgKyBcIicgZm91bmRcIik7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIHBhcnNlRXhwckF0b20oc3RyZWFtKSB7XG4gICAgaWYgKHN0cmVhbS5lYXQoXCIoXCIpKSB7XG4gICAgICAgIGxldCBleHByID0gcGFyc2VFeHByKHN0cmVhbSk7XG4gICAgICAgIGlmICghc3RyZWFtLmVhdChcIilcIikpXG4gICAgICAgICAgICBzdHJlYW0uZXJyKFwiTWlzc2luZyBjbG9zaW5nIHBhcmVuXCIpO1xuICAgICAgICByZXR1cm4gZXhwcjtcbiAgICB9XG4gICAgZWxzZSBpZiAoIS9cXFcvLnRlc3Qoc3RyZWFtLm5leHQpKSB7XG4gICAgICAgIGxldCBleHBycyA9IHJlc29sdmVOYW1lKHN0cmVhbSwgc3RyZWFtLm5leHQpLm1hcCh0eXBlID0+IHtcbiAgICAgICAgICAgIGlmIChzdHJlYW0uaW5saW5lID09IG51bGwpXG4gICAgICAgICAgICAgICAgc3RyZWFtLmlubGluZSA9IHR5cGUuaXNJbmxpbmU7XG4gICAgICAgICAgICBlbHNlIGlmIChzdHJlYW0uaW5saW5lICE9IHR5cGUuaXNJbmxpbmUpXG4gICAgICAgICAgICAgICAgc3RyZWFtLmVycihcIk1peGluZyBpbmxpbmUgYW5kIGJsb2NrIGNvbnRlbnRcIik7XG4gICAgICAgICAgICByZXR1cm4geyB0eXBlOiBcIm5hbWVcIiwgdmFsdWU6IHR5cGUgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIHN0cmVhbS5wb3MrKztcbiAgICAgICAgcmV0dXJuIGV4cHJzLmxlbmd0aCA9PSAxID8gZXhwcnNbMF0gOiB7IHR5cGU6IFwiY2hvaWNlXCIsIGV4cHJzIH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBzdHJlYW0uZXJyKFwiVW5leHBlY3RlZCB0b2tlbiAnXCIgKyBzdHJlYW0ubmV4dCArIFwiJ1wiKTtcbiAgICB9XG59XG4vLyBDb25zdHJ1Y3QgYW4gTkZBIGZyb20gYW4gZXhwcmVzc2lvbiBhcyByZXR1cm5lZCBieSB0aGUgcGFyc2VyLiBUaGVcbi8vIE5GQSBpcyByZXByZXNlbnRlZCBhcyBhbiBhcnJheSBvZiBzdGF0ZXMsIHdoaWNoIGFyZSB0aGVtc2VsdmVzXG4vLyBhcnJheXMgb2YgZWRnZXMsIHdoaWNoIGFyZSBge3Rlcm0sIHRvfWAgb2JqZWN0cy4gVGhlIGZpcnN0IHN0YXRlIGlzXG4vLyB0aGUgZW50cnkgc3RhdGUgYW5kIHRoZSBsYXN0IG5vZGUgaXMgdGhlIHN1Y2Nlc3Mgc3RhdGUuXG4vL1xuLy8gTm90ZSB0aGF0IHVubGlrZSB0eXBpY2FsIE5GQXMsIHRoZSBlZGdlIG9yZGVyaW5nIGluIHRoaXMgb25lIGlzXG4vLyBzaWduaWZpY2FudCwgaW4gdGhhdCBpdCBpcyB1c2VkIHRvIGNvbnRydWN0IGZpbGxlciBjb250ZW50IHdoZW5cbi8vIG5lY2Vzc2FyeS5cbmZ1bmN0aW9uIG5mYShleHByKSB7XG4gICAgbGV0IG5mYSA9IFtbXV07XG4gICAgY29ubmVjdChjb21waWxlKGV4cHIsIDApLCBub2RlKCkpO1xuICAgIHJldHVybiBuZmE7XG4gICAgZnVuY3Rpb24gbm9kZSgpIHsgcmV0dXJuIG5mYS5wdXNoKFtdKSAtIDE7IH1cbiAgICBmdW5jdGlvbiBlZGdlKGZyb20sIHRvLCB0ZXJtKSB7XG4gICAgICAgIGxldCBlZGdlID0geyB0ZXJtLCB0byB9O1xuICAgICAgICBuZmFbZnJvbV0ucHVzaChlZGdlKTtcbiAgICAgICAgcmV0dXJuIGVkZ2U7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbm5lY3QoZWRnZXMsIHRvKSB7XG4gICAgICAgIGVkZ2VzLmZvckVhY2goZWRnZSA9PiBlZGdlLnRvID0gdG8pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjb21waWxlKGV4cHIsIGZyb20pIHtcbiAgICAgICAgaWYgKGV4cHIudHlwZSA9PSBcImNob2ljZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZXhwci5leHBycy5yZWR1Y2UoKG91dCwgZXhwcikgPT4gb3V0LmNvbmNhdChjb21waWxlKGV4cHIsIGZyb20pKSwgW10pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGV4cHIudHlwZSA9PSBcInNlcVwiKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDs7IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCBuZXh0ID0gY29tcGlsZShleHByLmV4cHJzW2ldLCBmcm9tKTtcbiAgICAgICAgICAgICAgICBpZiAoaSA9PSBleHByLmV4cHJzLmxlbmd0aCAtIDEpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICAgICAgICAgIGNvbm5lY3QobmV4dCwgZnJvbSA9IG5vZGUoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZXhwci50eXBlID09IFwic3RhclwiKSB7XG4gICAgICAgICAgICBsZXQgbG9vcCA9IG5vZGUoKTtcbiAgICAgICAgICAgIGVkZ2UoZnJvbSwgbG9vcCk7XG4gICAgICAgICAgICBjb25uZWN0KGNvbXBpbGUoZXhwci5leHByLCBsb29wKSwgbG9vcCk7XG4gICAgICAgICAgICByZXR1cm4gW2VkZ2UobG9vcCldO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGV4cHIudHlwZSA9PSBcInBsdXNcIikge1xuICAgICAgICAgICAgbGV0IGxvb3AgPSBub2RlKCk7XG4gICAgICAgICAgICBjb25uZWN0KGNvbXBpbGUoZXhwci5leHByLCBmcm9tKSwgbG9vcCk7XG4gICAgICAgICAgICBjb25uZWN0KGNvbXBpbGUoZXhwci5leHByLCBsb29wKSwgbG9vcCk7XG4gICAgICAgICAgICByZXR1cm4gW2VkZ2UobG9vcCldO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGV4cHIudHlwZSA9PSBcIm9wdFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gW2VkZ2UoZnJvbSldLmNvbmNhdChjb21waWxlKGV4cHIuZXhwciwgZnJvbSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGV4cHIudHlwZSA9PSBcInJhbmdlXCIpIHtcbiAgICAgICAgICAgIGxldCBjdXIgPSBmcm9tO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBleHByLm1pbjsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IG5leHQgPSBub2RlKCk7XG4gICAgICAgICAgICAgICAgY29ubmVjdChjb21waWxlKGV4cHIuZXhwciwgY3VyKSwgbmV4dCk7XG4gICAgICAgICAgICAgICAgY3VyID0gbmV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChleHByLm1heCA9PSAtMSkge1xuICAgICAgICAgICAgICAgIGNvbm5lY3QoY29tcGlsZShleHByLmV4cHIsIGN1ciksIGN1cik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gZXhwci5taW47IGkgPCBleHByLm1heDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXh0ID0gbm9kZSgpO1xuICAgICAgICAgICAgICAgICAgICBlZGdlKGN1ciwgbmV4dCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbm5lY3QoY29tcGlsZShleHByLmV4cHIsIGN1ciksIG5leHQpO1xuICAgICAgICAgICAgICAgICAgICBjdXIgPSBuZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBbZWRnZShjdXIpXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChleHByLnR5cGUgPT0gXCJuYW1lXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBbZWRnZShmcm9tLCB1bmRlZmluZWQsIGV4cHIudmFsdWUpXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gZXhwciB0eXBlXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gY21wKGEsIGIpIHsgcmV0dXJuIGIgLSBhOyB9XG4vLyBHZXQgdGhlIHNldCBvZiBub2RlcyByZWFjaGFibGUgYnkgbnVsbCBlZGdlcyBmcm9tIGBub2RlYC4gT21pdFxuLy8gbm9kZXMgd2l0aCBvbmx5IGEgc2luZ2xlIG51bGwtb3V0LWVkZ2UsIHNpbmNlIHRoZXkgbWF5IGxlYWQgdG9cbi8vIG5lZWRsZXNzIGR1cGxpY2F0ZWQgbm9kZXMuXG5mdW5jdGlvbiBudWxsRnJvbShuZmEsIG5vZGUpIHtcbiAgICBsZXQgcmVzdWx0ID0gW107XG4gICAgc2Nhbihub2RlKTtcbiAgICByZXR1cm4gcmVzdWx0LnNvcnQoY21wKTtcbiAgICBmdW5jdGlvbiBzY2FuKG5vZGUpIHtcbiAgICAgICAgbGV0IGVkZ2VzID0gbmZhW25vZGVdO1xuICAgICAgICBpZiAoZWRnZXMubGVuZ3RoID09IDEgJiYgIWVkZ2VzWzBdLnRlcm0pXG4gICAgICAgICAgICByZXR1cm4gc2NhbihlZGdlc1swXS50byk7XG4gICAgICAgIHJlc3VsdC5wdXNoKG5vZGUpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVkZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgeyB0ZXJtLCB0byB9ID0gZWRnZXNbaV07XG4gICAgICAgICAgICBpZiAoIXRlcm0gJiYgcmVzdWx0LmluZGV4T2YodG8pID09IC0xKVxuICAgICAgICAgICAgICAgIHNjYW4odG8pO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gQ29tcGlsZXMgYW4gTkZBIGFzIHByb2R1Y2VkIGJ5IGBuZmFgIGludG8gYSBERkEsIG1vZGVsZWQgYXMgYSBzZXRcbi8vIG9mIHN0YXRlIG9iamVjdHMgKGBDb250ZW50TWF0Y2hgIGluc3RhbmNlcykgd2l0aCB0cmFuc2l0aW9uc1xuLy8gYmV0d2VlbiB0aGVtLlxuZnVuY3Rpb24gZGZhKG5mYSkge1xuICAgIGxldCBsYWJlbGVkID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICByZXR1cm4gZXhwbG9yZShudWxsRnJvbShuZmEsIDApKTtcbiAgICBmdW5jdGlvbiBleHBsb3JlKHN0YXRlcykge1xuICAgICAgICBsZXQgb3V0ID0gW107XG4gICAgICAgIHN0YXRlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgICAgbmZhW25vZGVdLmZvckVhY2goKHsgdGVybSwgdG8gfSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGVybSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGxldCBzZXQ7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvdXQubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICAgICAgICAgIGlmIChvdXRbaV1bMF0gPT0gdGVybSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldCA9IG91dFtpXVsxXTtcbiAgICAgICAgICAgICAgICBudWxsRnJvbShuZmEsIHRvKS5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXNldClcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dC5wdXNoKFt0ZXJtLCBzZXQgPSBbXV0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2V0LmluZGV4T2Yobm9kZSkgPT0gLTEpXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXQucHVzaChub2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgbGV0IHN0YXRlID0gbGFiZWxlZFtzdGF0ZXMuam9pbihcIixcIildID0gbmV3IENvbnRlbnRNYXRjaChzdGF0ZXMuaW5kZXhPZihuZmEubGVuZ3RoIC0gMSkgPiAtMSk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3V0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgc3RhdGVzID0gb3V0W2ldWzFdLnNvcnQoY21wKTtcbiAgICAgICAgICAgIHN0YXRlLm5leHQucHVzaCh7IHR5cGU6IG91dFtpXVswXSwgbmV4dDogbGFiZWxlZFtzdGF0ZXMuam9pbihcIixcIildIHx8IGV4cGxvcmUoc3RhdGVzKSB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxufVxuZnVuY3Rpb24gY2hlY2tGb3JEZWFkRW5kcyhtYXRjaCwgc3RyZWFtKSB7XG4gICAgZm9yIChsZXQgaSA9IDAsIHdvcmsgPSBbbWF0Y2hdOyBpIDwgd29yay5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgc3RhdGUgPSB3b3JrW2ldLCBkZWFkID0gIXN0YXRlLnZhbGlkRW5kLCBub2RlcyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHN0YXRlLm5leHQubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgIGxldCB7IHR5cGUsIG5leHQgfSA9IHN0YXRlLm5leHRbal07XG4gICAgICAgICAgICBub2Rlcy5wdXNoKHR5cGUubmFtZSk7XG4gICAgICAgICAgICBpZiAoZGVhZCAmJiAhKHR5cGUuaXNUZXh0IHx8IHR5cGUuaGFzUmVxdWlyZWRBdHRycygpKSlcbiAgICAgICAgICAgICAgICBkZWFkID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAod29yay5pbmRleE9mKG5leHQpID09IC0xKVxuICAgICAgICAgICAgICAgIHdvcmsucHVzaChuZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVhZClcbiAgICAgICAgICAgIHN0cmVhbS5lcnIoXCJPbmx5IG5vbi1nZW5lcmF0YWJsZSBub2RlcyAoXCIgKyBub2Rlcy5qb2luKFwiLCBcIikgKyBcIikgaW4gYSByZXF1aXJlZCBwb3NpdGlvbiAoc2VlIGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvZ3VpZGUvI2dlbmVyYXRhYmxlKVwiKTtcbiAgICB9XG59XG5cbi8vIEZvciBub2RlIHR5cGVzIHdoZXJlIGFsbCBhdHRycyBoYXZlIGEgZGVmYXVsdCB2YWx1ZSAob3Igd2hpY2ggZG9uJ3Rcbi8vIGhhdmUgYW55IGF0dHJpYnV0ZXMpLCBidWlsZCB1cCBhIHNpbmdsZSByZXVzYWJsZSBkZWZhdWx0IGF0dHJpYnV0ZVxuLy8gb2JqZWN0LCBhbmQgdXNlIGl0IGZvciBhbGwgbm9kZXMgdGhhdCBkb24ndCBzcGVjaWZ5IHNwZWNpZmljXG4vLyBhdHRyaWJ1dGVzLlxuZnVuY3Rpb24gZGVmYXVsdEF0dHJzKGF0dHJzKSB7XG4gICAgbGV0IGRlZmF1bHRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBmb3IgKGxldCBhdHRyTmFtZSBpbiBhdHRycykge1xuICAgICAgICBsZXQgYXR0ciA9IGF0dHJzW2F0dHJOYW1lXTtcbiAgICAgICAgaWYgKCFhdHRyLmhhc0RlZmF1bHQpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgZGVmYXVsdHNbYXR0ck5hbWVdID0gYXR0ci5kZWZhdWx0O1xuICAgIH1cbiAgICByZXR1cm4gZGVmYXVsdHM7XG59XG5mdW5jdGlvbiBjb21wdXRlQXR0cnMoYXR0cnMsIHZhbHVlKSB7XG4gICAgbGV0IGJ1aWx0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBmb3IgKGxldCBuYW1lIGluIGF0dHJzKSB7XG4gICAgICAgIGxldCBnaXZlbiA9IHZhbHVlICYmIHZhbHVlW25hbWVdO1xuICAgICAgICBpZiAoZ2l2ZW4gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbGV0IGF0dHIgPSBhdHRyc1tuYW1lXTtcbiAgICAgICAgICAgIGlmIChhdHRyLmhhc0RlZmF1bHQpXG4gICAgICAgICAgICAgICAgZ2l2ZW4gPSBhdHRyLmRlZmF1bHQ7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJObyB2YWx1ZSBzdXBwbGllZCBmb3IgYXR0cmlidXRlIFwiICsgbmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnVpbHRbbmFtZV0gPSBnaXZlbjtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWx0O1xufVxuZnVuY3Rpb24gY2hlY2tBdHRycyhhdHRycywgdmFsdWVzLCB0eXBlLCBuYW1lKSB7XG4gICAgZm9yIChsZXQgbmFtZSBpbiB2YWx1ZXMpXG4gICAgICAgIGlmICghKG5hbWUgaW4gYXR0cnMpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFVuc3VwcG9ydGVkIGF0dHJpYnV0ZSAke25hbWV9IGZvciAke3R5cGV9IG9mIHR5cGUgJHtuYW1lfWApO1xuICAgIGZvciAobGV0IG5hbWUgaW4gYXR0cnMpIHtcbiAgICAgICAgbGV0IGF0dHIgPSBhdHRyc1tuYW1lXTtcbiAgICAgICAgaWYgKGF0dHIudmFsaWRhdGUpXG4gICAgICAgICAgICBhdHRyLnZhbGlkYXRlKHZhbHVlc1tuYW1lXSk7XG4gICAgfVxufVxuZnVuY3Rpb24gaW5pdEF0dHJzKHR5cGVOYW1lLCBhdHRycykge1xuICAgIGxldCByZXN1bHQgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIGlmIChhdHRycylcbiAgICAgICAgZm9yIChsZXQgbmFtZSBpbiBhdHRycylcbiAgICAgICAgICAgIHJlc3VsdFtuYW1lXSA9IG5ldyBBdHRyaWJ1dGUodHlwZU5hbWUsIG5hbWUsIGF0dHJzW25hbWVdKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLyoqXG5Ob2RlIHR5cGVzIGFyZSBvYmplY3RzIGFsbG9jYXRlZCBvbmNlIHBlciBgU2NoZW1hYCBhbmQgdXNlZCB0b1xuW3RhZ10oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI21vZGVsLk5vZGUudHlwZSkgYE5vZGVgIGluc3RhbmNlcy4gVGhleSBjb250YWluIGluZm9ybWF0aW9uXG5hYm91dCB0aGUgbm9kZSB0eXBlLCBzdWNoIGFzIGl0cyBuYW1lIGFuZCB3aGF0IGtpbmQgb2Ygbm9kZSBpdFxucmVwcmVzZW50cy5cbiovXG5jbGFzcyBOb2RlVHlwZSB7XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICBUaGUgbmFtZSB0aGUgbm9kZSB0eXBlIGhhcyBpbiB0aGlzIHNjaGVtYS5cbiAgICAqL1xuICAgIG5hbWUsIFxuICAgIC8qKlxuICAgIEEgbGluayBiYWNrIHRvIHRoZSBgU2NoZW1hYCB0aGUgbm9kZSB0eXBlIGJlbG9uZ3MgdG8uXG4gICAgKi9cbiAgICBzY2hlbWEsIFxuICAgIC8qKlxuICAgIFRoZSBzcGVjIHRoYXQgdGhpcyB0eXBlIGlzIGJhc2VkIG9uXG4gICAgKi9cbiAgICBzcGVjKSB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuc2NoZW1hID0gc2NoZW1hO1xuICAgICAgICB0aGlzLnNwZWMgPSBzcGVjO1xuICAgICAgICAvKipcbiAgICAgICAgVGhlIHNldCBvZiBtYXJrcyBhbGxvd2VkIGluIHRoaXMgbm9kZS4gYG51bGxgIG1lYW5zIGFsbCBtYXJrc1xuICAgICAgICBhcmUgYWxsb3dlZC5cbiAgICAgICAgKi9cbiAgICAgICAgdGhpcy5tYXJrU2V0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5ncm91cHMgPSBzcGVjLmdyb3VwID8gc3BlYy5ncm91cC5zcGxpdChcIiBcIikgOiBbXTtcbiAgICAgICAgdGhpcy5hdHRycyA9IGluaXRBdHRycyhuYW1lLCBzcGVjLmF0dHJzKTtcbiAgICAgICAgdGhpcy5kZWZhdWx0QXR0cnMgPSBkZWZhdWx0QXR0cnModGhpcy5hdHRycyk7XG4gICAgICAgIHRoaXMuY29udGVudE1hdGNoID0gbnVsbDtcbiAgICAgICAgdGhpcy5pbmxpbmVDb250ZW50ID0gbnVsbDtcbiAgICAgICAgdGhpcy5pc0Jsb2NrID0gIShzcGVjLmlubGluZSB8fCBuYW1lID09IFwidGV4dFwiKTtcbiAgICAgICAgdGhpcy5pc1RleHQgPSBuYW1lID09IFwidGV4dFwiO1xuICAgIH1cbiAgICAvKipcbiAgICBUcnVlIGlmIHRoaXMgaXMgYW4gaW5saW5lIHR5cGUuXG4gICAgKi9cbiAgICBnZXQgaXNJbmxpbmUoKSB7IHJldHVybiAhdGhpcy5pc0Jsb2NrOyB9XG4gICAgLyoqXG4gICAgVHJ1ZSBpZiB0aGlzIGlzIGEgdGV4dGJsb2NrIHR5cGUsIGEgYmxvY2sgdGhhdCBjb250YWlucyBpbmxpbmVcbiAgICBjb250ZW50LlxuICAgICovXG4gICAgZ2V0IGlzVGV4dGJsb2NrKCkgeyByZXR1cm4gdGhpcy5pc0Jsb2NrICYmIHRoaXMuaW5saW5lQ29udGVudDsgfVxuICAgIC8qKlxuICAgIFRydWUgZm9yIG5vZGUgdHlwZXMgdGhhdCBhbGxvdyBubyBjb250ZW50LlxuICAgICovXG4gICAgZ2V0IGlzTGVhZigpIHsgcmV0dXJuIHRoaXMuY29udGVudE1hdGNoID09IENvbnRlbnRNYXRjaC5lbXB0eTsgfVxuICAgIC8qKlxuICAgIFRydWUgd2hlbiB0aGlzIG5vZGUgaXMgYW4gYXRvbSwgaS5lLiB3aGVuIGl0IGRvZXMgbm90IGhhdmVcbiAgICBkaXJlY3RseSBlZGl0YWJsZSBjb250ZW50LlxuICAgICovXG4gICAgZ2V0IGlzQXRvbSgpIHsgcmV0dXJuIHRoaXMuaXNMZWFmIHx8ICEhdGhpcy5zcGVjLmF0b207IH1cbiAgICAvKipcbiAgICBSZXR1cm4gdHJ1ZSB3aGVuIHRoaXMgbm9kZSB0eXBlIGlzIHBhcnQgb2YgdGhlIGdpdmVuXG4gICAgW2dyb3VwXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuTm9kZVNwZWMuZ3JvdXApLlxuICAgICovXG4gICAgaXNJbkdyb3VwKGdyb3VwKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyb3Vwcy5pbmRleE9mKGdyb3VwKSA+IC0xO1xuICAgIH1cbiAgICAvKipcbiAgICBUaGUgbm9kZSB0eXBlJ3MgW3doaXRlc3BhY2VdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNtb2RlbC5Ob2RlU3BlYy53aGl0ZXNwYWNlKSBvcHRpb24uXG4gICAgKi9cbiAgICBnZXQgd2hpdGVzcGFjZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3BlYy53aGl0ZXNwYWNlIHx8ICh0aGlzLnNwZWMuY29kZSA/IFwicHJlXCIgOiBcIm5vcm1hbFwiKTtcbiAgICB9XG4gICAgLyoqXG4gICAgVGVsbHMgeW91IHdoZXRoZXIgdGhpcyBub2RlIHR5cGUgaGFzIGFueSByZXF1aXJlZCBhdHRyaWJ1dGVzLlxuICAgICovXG4gICAgaGFzUmVxdWlyZWRBdHRycygpIHtcbiAgICAgICAgZm9yIChsZXQgbiBpbiB0aGlzLmF0dHJzKVxuICAgICAgICAgICAgaWYgKHRoaXMuYXR0cnNbbl0uaXNSZXF1aXJlZClcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICBJbmRpY2F0ZXMgd2hldGhlciB0aGlzIG5vZGUgYWxsb3dzIHNvbWUgb2YgdGhlIHNhbWUgY29udGVudCBhc1xuICAgIHRoZSBnaXZlbiBub2RlIHR5cGUuXG4gICAgKi9cbiAgICBjb21wYXRpYmxlQ29udGVudChvdGhlcikge1xuICAgICAgICByZXR1cm4gdGhpcyA9PSBvdGhlciB8fCB0aGlzLmNvbnRlbnRNYXRjaC5jb21wYXRpYmxlKG90aGVyLmNvbnRlbnRNYXRjaCk7XG4gICAgfVxuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgY29tcHV0ZUF0dHJzKGF0dHJzKSB7XG4gICAgICAgIGlmICghYXR0cnMgJiYgdGhpcy5kZWZhdWx0QXR0cnMpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0QXR0cnM7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBjb21wdXRlQXR0cnModGhpcy5hdHRycywgYXR0cnMpO1xuICAgIH1cbiAgICAvKipcbiAgICBDcmVhdGUgYSBgTm9kZWAgb2YgdGhpcyB0eXBlLiBUaGUgZ2l2ZW4gYXR0cmlidXRlcyBhcmVcbiAgICBjaGVja2VkIGFuZCBkZWZhdWx0ZWQgKHlvdSBjYW4gcGFzcyBgbnVsbGAgdG8gdXNlIHRoZSB0eXBlJ3NcbiAgICBkZWZhdWx0cyBlbnRpcmVseSwgaWYgbm8gcmVxdWlyZWQgYXR0cmlidXRlcyBleGlzdCkuIGBjb250ZW50YFxuICAgIG1heSBiZSBhIGBGcmFnbWVudGAsIGEgbm9kZSwgYW4gYXJyYXkgb2Ygbm9kZXMsIG9yXG4gICAgYG51bGxgLiBTaW1pbGFybHkgYG1hcmtzYCBtYXkgYmUgYG51bGxgIHRvIGRlZmF1bHQgdG8gdGhlIGVtcHR5XG4gICAgc2V0IG9mIG1hcmtzLlxuICAgICovXG4gICAgY3JlYXRlKGF0dHJzID0gbnVsbCwgY29udGVudCwgbWFya3MpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNUZXh0KVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm9kZVR5cGUuY3JlYXRlIGNhbid0IGNvbnN0cnVjdCB0ZXh0IG5vZGVzXCIpO1xuICAgICAgICByZXR1cm4gbmV3IE5vZGUodGhpcywgdGhpcy5jb21wdXRlQXR0cnMoYXR0cnMpLCBGcmFnbWVudC5mcm9tKGNvbnRlbnQpLCBNYXJrLnNldEZyb20obWFya3MpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgTGlrZSBbYGNyZWF0ZWBdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNtb2RlbC5Ob2RlVHlwZS5jcmVhdGUpLCBidXQgY2hlY2sgdGhlIGdpdmVuIGNvbnRlbnRcbiAgICBhZ2FpbnN0IHRoZSBub2RlIHR5cGUncyBjb250ZW50IHJlc3RyaWN0aW9ucywgYW5kIHRocm93IGFuIGVycm9yXG4gICAgaWYgaXQgZG9lc24ndCBtYXRjaC5cbiAgICAqL1xuICAgIGNyZWF0ZUNoZWNrZWQoYXR0cnMgPSBudWxsLCBjb250ZW50LCBtYXJrcykge1xuICAgICAgICBjb250ZW50ID0gRnJhZ21lbnQuZnJvbShjb250ZW50KTtcbiAgICAgICAgdGhpcy5jaGVja0NvbnRlbnQoY29udGVudCk7XG4gICAgICAgIHJldHVybiBuZXcgTm9kZSh0aGlzLCB0aGlzLmNvbXB1dGVBdHRycyhhdHRycyksIGNvbnRlbnQsIE1hcmsuc2V0RnJvbShtYXJrcykpO1xuICAgIH1cbiAgICAvKipcbiAgICBMaWtlIFtgY3JlYXRlYF0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI21vZGVsLk5vZGVUeXBlLmNyZWF0ZSksIGJ1dCBzZWUgaWYgaXQgaXNcbiAgICBuZWNlc3NhcnkgdG8gYWRkIG5vZGVzIHRvIHRoZSBzdGFydCBvciBlbmQgb2YgdGhlIGdpdmVuIGZyYWdtZW50XG4gICAgdG8gbWFrZSBpdCBmaXQgdGhlIG5vZGUuIElmIG5vIGZpdHRpbmcgd3JhcHBpbmcgY2FuIGJlIGZvdW5kLFxuICAgIHJldHVybiBudWxsLiBOb3RlIHRoYXQsIGR1ZSB0byB0aGUgZmFjdCB0aGF0IHJlcXVpcmVkIG5vZGVzIGNhblxuICAgIGFsd2F5cyBiZSBjcmVhdGVkLCB0aGlzIHdpbGwgYWx3YXlzIHN1Y2NlZWQgaWYgeW91IHBhc3MgbnVsbCBvclxuICAgIGBGcmFnbWVudC5lbXB0eWAgYXMgY29udGVudC5cbiAgICAqL1xuICAgIGNyZWF0ZUFuZEZpbGwoYXR0cnMgPSBudWxsLCBjb250ZW50LCBtYXJrcykge1xuICAgICAgICBhdHRycyA9IHRoaXMuY29tcHV0ZUF0dHJzKGF0dHJzKTtcbiAgICAgICAgY29udGVudCA9IEZyYWdtZW50LmZyb20oY29udGVudCk7XG4gICAgICAgIGlmIChjb250ZW50LnNpemUpIHtcbiAgICAgICAgICAgIGxldCBiZWZvcmUgPSB0aGlzLmNvbnRlbnRNYXRjaC5maWxsQmVmb3JlKGNvbnRlbnQpO1xuICAgICAgICAgICAgaWYgKCFiZWZvcmUpXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICBjb250ZW50ID0gYmVmb3JlLmFwcGVuZChjb250ZW50KTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbWF0Y2hlZCA9IHRoaXMuY29udGVudE1hdGNoLm1hdGNoRnJhZ21lbnQoY29udGVudCk7XG4gICAgICAgIGxldCBhZnRlciA9IG1hdGNoZWQgJiYgbWF0Y2hlZC5maWxsQmVmb3JlKEZyYWdtZW50LmVtcHR5LCB0cnVlKTtcbiAgICAgICAgaWYgKCFhZnRlcilcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4gbmV3IE5vZGUodGhpcywgYXR0cnMsIGNvbnRlbnQuYXBwZW5kKGFmdGVyKSwgTWFyay5zZXRGcm9tKG1hcmtzKSk7XG4gICAgfVxuICAgIC8qKlxuICAgIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gZnJhZ21lbnQgaXMgdmFsaWQgY29udGVudCBmb3IgdGhpcyBub2RlXG4gICAgdHlwZS5cbiAgICAqL1xuICAgIHZhbGlkQ29udGVudChjb250ZW50KSB7XG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLmNvbnRlbnRNYXRjaC5tYXRjaEZyYWdtZW50KGNvbnRlbnQpO1xuICAgICAgICBpZiAoIXJlc3VsdCB8fCAhcmVzdWx0LnZhbGlkRW5kKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRlbnQuY2hpbGRDb3VudDsgaSsrKVxuICAgICAgICAgICAgaWYgKCF0aGlzLmFsbG93c01hcmtzKGNvbnRlbnQuY2hpbGQoaSkubWFya3MpKVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgIFRocm93cyBhIFJhbmdlRXJyb3IgaWYgdGhlIGdpdmVuIGZyYWdtZW50IGlzIG5vdCB2YWxpZCBjb250ZW50IGZvciB0aGlzXG4gICAgbm9kZSB0eXBlLlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgY2hlY2tDb250ZW50KGNvbnRlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbGlkQ29udGVudChjb250ZW50KSlcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKGBJbnZhbGlkIGNvbnRlbnQgZm9yIG5vZGUgJHt0aGlzLm5hbWV9OiAke2NvbnRlbnQudG9TdHJpbmcoKS5zbGljZSgwLCA1MCl9YCk7XG4gICAgfVxuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgY2hlY2tBdHRycyhhdHRycykge1xuICAgICAgICBjaGVja0F0dHJzKHRoaXMuYXR0cnMsIGF0dHJzLCBcIm5vZGVcIiwgdGhpcy5uYW1lKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQ2hlY2sgd2hldGhlciB0aGUgZ2l2ZW4gbWFyayB0eXBlIGlzIGFsbG93ZWQgaW4gdGhpcyBub2RlLlxuICAgICovXG4gICAgYWxsb3dzTWFya1R5cGUobWFya1R5cGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFya1NldCA9PSBudWxsIHx8IHRoaXMubWFya1NldC5pbmRleE9mKG1hcmtUeXBlKSA+IC0xO1xuICAgIH1cbiAgICAvKipcbiAgICBUZXN0IHdoZXRoZXIgdGhlIGdpdmVuIHNldCBvZiBtYXJrcyBhcmUgYWxsb3dlZCBpbiB0aGlzIG5vZGUuXG4gICAgKi9cbiAgICBhbGxvd3NNYXJrcyhtYXJrcykge1xuICAgICAgICBpZiAodGhpcy5tYXJrU2V0ID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXJrcy5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIGlmICghdGhpcy5hbGxvd3NNYXJrVHlwZShtYXJrc1tpXS50eXBlKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvKipcbiAgICBSZW1vdmVzIHRoZSBtYXJrcyB0aGF0IGFyZSBub3QgYWxsb3dlZCBpbiB0aGlzIG5vZGUgZnJvbSB0aGUgZ2l2ZW4gc2V0LlxuICAgICovXG4gICAgYWxsb3dlZE1hcmtzKG1hcmtzKSB7XG4gICAgICAgIGlmICh0aGlzLm1hcmtTZXQgPT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiBtYXJrcztcbiAgICAgICAgbGV0IGNvcHk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFya3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5hbGxvd3NNYXJrVHlwZShtYXJrc1tpXS50eXBlKSkge1xuICAgICAgICAgICAgICAgIGlmICghY29weSlcbiAgICAgICAgICAgICAgICAgICAgY29weSA9IG1hcmtzLnNsaWNlKDAsIGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY29weSkge1xuICAgICAgICAgICAgICAgIGNvcHkucHVzaChtYXJrc1tpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICFjb3B5ID8gbWFya3MgOiBjb3B5Lmxlbmd0aCA/IGNvcHkgOiBNYXJrLm5vbmU7XG4gICAgfVxuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgc3RhdGljIGNvbXBpbGUobm9kZXMsIHNjaGVtYSkge1xuICAgICAgICBsZXQgcmVzdWx0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgbm9kZXMuZm9yRWFjaCgobmFtZSwgc3BlYykgPT4gcmVzdWx0W25hbWVdID0gbmV3IE5vZGVUeXBlKG5hbWUsIHNjaGVtYSwgc3BlYykpO1xuICAgICAgICBsZXQgdG9wVHlwZSA9IHNjaGVtYS5zcGVjLnRvcE5vZGUgfHwgXCJkb2NcIjtcbiAgICAgICAgaWYgKCFyZXN1bHRbdG9wVHlwZV0pXG4gICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIlNjaGVtYSBpcyBtaXNzaW5nIGl0cyB0b3Agbm9kZSB0eXBlICgnXCIgKyB0b3BUeXBlICsgXCInKVwiKTtcbiAgICAgICAgaWYgKCFyZXN1bHQudGV4dClcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiRXZlcnkgc2NoZW1hIG5lZWRzIGEgJ3RleHQnIHR5cGVcIik7XG4gICAgICAgIGZvciAobGV0IF8gaW4gcmVzdWx0LnRleHQuYXR0cnMpXG4gICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIlRoZSB0ZXh0IG5vZGUgdHlwZSBzaG91bGQgbm90IGhhdmUgYXR0cmlidXRlc1wiKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG5mdW5jdGlvbiB2YWxpZGF0ZVR5cGUodHlwZU5hbWUsIGF0dHJOYW1lLCB0eXBlKSB7XG4gICAgbGV0IHR5cGVzID0gdHlwZS5zcGxpdChcInxcIik7XG4gICAgcmV0dXJuICh2YWx1ZSkgPT4ge1xuICAgICAgICBsZXQgbmFtZSA9IHZhbHVlID09PSBudWxsID8gXCJudWxsXCIgOiB0eXBlb2YgdmFsdWU7XG4gICAgICAgIGlmICh0eXBlcy5pbmRleE9mKG5hbWUpIDwgMClcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKGBFeHBlY3RlZCB2YWx1ZSBvZiB0eXBlICR7dHlwZXN9IGZvciBhdHRyaWJ1dGUgJHthdHRyTmFtZX0gb24gdHlwZSAke3R5cGVOYW1lfSwgZ290ICR7bmFtZX1gKTtcbiAgICB9O1xufVxuLy8gQXR0cmlidXRlIGRlc2NyaXB0b3JzXG5jbGFzcyBBdHRyaWJ1dGUge1xuICAgIGNvbnN0cnVjdG9yKHR5cGVOYW1lLCBhdHRyTmFtZSwgb3B0aW9ucykge1xuICAgICAgICB0aGlzLmhhc0RlZmF1bHQgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob3B0aW9ucywgXCJkZWZhdWx0XCIpO1xuICAgICAgICB0aGlzLmRlZmF1bHQgPSBvcHRpb25zLmRlZmF1bHQ7XG4gICAgICAgIHRoaXMudmFsaWRhdGUgPSB0eXBlb2Ygb3B0aW9ucy52YWxpZGF0ZSA9PSBcInN0cmluZ1wiID8gdmFsaWRhdGVUeXBlKHR5cGVOYW1lLCBhdHRyTmFtZSwgb3B0aW9ucy52YWxpZGF0ZSkgOiBvcHRpb25zLnZhbGlkYXRlO1xuICAgIH1cbiAgICBnZXQgaXNSZXF1aXJlZCgpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmhhc0RlZmF1bHQ7XG4gICAgfVxufVxuLy8gTWFya3Ncbi8qKlxuTGlrZSBub2RlcywgbWFya3MgKHdoaWNoIGFyZSBhc3NvY2lhdGVkIHdpdGggbm9kZXMgdG8gc2lnbmlmeVxudGhpbmdzIGxpa2UgZW1waGFzaXMgb3IgYmVpbmcgcGFydCBvZiBhIGxpbmspIGFyZVxuW3RhZ2dlZF0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI21vZGVsLk1hcmsudHlwZSkgd2l0aCB0eXBlIG9iamVjdHMsIHdoaWNoIGFyZVxuaW5zdGFudGlhdGVkIG9uY2UgcGVyIGBTY2hlbWFgLlxuKi9cbmNsYXNzIE1hcmtUeXBlIHtcbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgIFRoZSBuYW1lIG9mIHRoZSBtYXJrIHR5cGUuXG4gICAgKi9cbiAgICBuYW1lLCBcbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIHJhbmssIFxuICAgIC8qKlxuICAgIFRoZSBzY2hlbWEgdGhhdCB0aGlzIG1hcmsgdHlwZSBpbnN0YW5jZSBpcyBwYXJ0IG9mLlxuICAgICovXG4gICAgc2NoZW1hLCBcbiAgICAvKipcbiAgICBUaGUgc3BlYyBvbiB3aGljaCB0aGUgdHlwZSBpcyBiYXNlZC5cbiAgICAqL1xuICAgIHNwZWMpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5yYW5rID0gcmFuaztcbiAgICAgICAgdGhpcy5zY2hlbWEgPSBzY2hlbWE7XG4gICAgICAgIHRoaXMuc3BlYyA9IHNwZWM7XG4gICAgICAgIHRoaXMuYXR0cnMgPSBpbml0QXR0cnMobmFtZSwgc3BlYy5hdHRycyk7XG4gICAgICAgIHRoaXMuZXhjbHVkZWQgPSBudWxsO1xuICAgICAgICBsZXQgZGVmYXVsdHMgPSBkZWZhdWx0QXR0cnModGhpcy5hdHRycyk7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSBkZWZhdWx0cyA/IG5ldyBNYXJrKHRoaXMsIGRlZmF1bHRzKSA6IG51bGw7XG4gICAgfVxuICAgIC8qKlxuICAgIENyZWF0ZSBhIG1hcmsgb2YgdGhpcyB0eXBlLiBgYXR0cnNgIG1heSBiZSBgbnVsbGAgb3IgYW4gb2JqZWN0XG4gICAgY29udGFpbmluZyBvbmx5IHNvbWUgb2YgdGhlIG1hcmsncyBhdHRyaWJ1dGVzLiBUaGUgb3RoZXJzLCBpZlxuICAgIHRoZXkgaGF2ZSBkZWZhdWx0cywgd2lsbCBiZSBhZGRlZC5cbiAgICAqL1xuICAgIGNyZWF0ZShhdHRycyA9IG51bGwpIHtcbiAgICAgICAgaWYgKCFhdHRycyAmJiB0aGlzLmluc3RhbmNlKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5zdGFuY2U7XG4gICAgICAgIHJldHVybiBuZXcgTWFyayh0aGlzLCBjb21wdXRlQXR0cnModGhpcy5hdHRycywgYXR0cnMpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICBzdGF0aWMgY29tcGlsZShtYXJrcywgc2NoZW1hKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSBPYmplY3QuY3JlYXRlKG51bGwpLCByYW5rID0gMDtcbiAgICAgICAgbWFya3MuZm9yRWFjaCgobmFtZSwgc3BlYykgPT4gcmVzdWx0W25hbWVdID0gbmV3IE1hcmtUeXBlKG5hbWUsIHJhbmsrKywgc2NoZW1hLCBzcGVjKSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIC8qKlxuICAgIFdoZW4gdGhlcmUgaXMgYSBtYXJrIG9mIHRoaXMgdHlwZSBpbiB0aGUgZ2l2ZW4gc2V0LCBhIG5ldyBzZXRcbiAgICB3aXRob3V0IGl0IGlzIHJldHVybmVkLiBPdGhlcndpc2UsIHRoZSBpbnB1dCBzZXQgaXMgcmV0dXJuZWQuXG4gICAgKi9cbiAgICByZW1vdmVGcm9tU2V0KHNldCkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNldC5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIGlmIChzZXRbaV0udHlwZSA9PSB0aGlzKSB7XG4gICAgICAgICAgICAgICAgc2V0ID0gc2V0LnNsaWNlKDAsIGkpLmNvbmNhdChzZXQuc2xpY2UoaSArIDEpKTtcbiAgICAgICAgICAgICAgICBpLS07XG4gICAgICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZXQ7XG4gICAgfVxuICAgIC8qKlxuICAgIFRlc3RzIHdoZXRoZXIgdGhlcmUgaXMgYSBtYXJrIG9mIHRoaXMgdHlwZSBpbiB0aGUgZ2l2ZW4gc2V0LlxuICAgICovXG4gICAgaXNJblNldChzZXQpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZXQubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICBpZiAoc2V0W2ldLnR5cGUgPT0gdGhpcylcbiAgICAgICAgICAgICAgICByZXR1cm4gc2V0W2ldO1xuICAgIH1cbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIGNoZWNrQXR0cnMoYXR0cnMpIHtcbiAgICAgICAgY2hlY2tBdHRycyh0aGlzLmF0dHJzLCBhdHRycywgXCJtYXJrXCIsIHRoaXMubmFtZSk7XG4gICAgfVxuICAgIC8qKlxuICAgIFF1ZXJpZXMgd2hldGhlciBhIGdpdmVuIG1hcmsgdHlwZSBpc1xuICAgIFtleGNsdWRlZF0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI21vZGVsLk1hcmtTcGVjLmV4Y2x1ZGVzKSBieSB0aGlzIG9uZS5cbiAgICAqL1xuICAgIGV4Y2x1ZGVzKG90aGVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4Y2x1ZGVkLmluZGV4T2Yob3RoZXIpID4gLTE7XG4gICAgfVxufVxuLyoqXG5BIGRvY3VtZW50IHNjaGVtYS4gSG9sZHMgW25vZGVdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNtb2RlbC5Ob2RlVHlwZSkgYW5kIFttYXJrXG50eXBlXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuTWFya1R5cGUpIG9iamVjdHMgZm9yIHRoZSBub2RlcyBhbmQgbWFya3MgdGhhdCBtYXlcbm9jY3VyIGluIGNvbmZvcm1pbmcgZG9jdW1lbnRzLCBhbmQgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3JcbmNyZWF0aW5nIGFuZCBkZXNlcmlhbGl6aW5nIHN1Y2ggZG9jdW1lbnRzLlxuXG5XaGVuIGdpdmVuLCB0aGUgdHlwZSBwYXJhbWV0ZXJzIHByb3ZpZGUgdGhlIG5hbWVzIG9mIHRoZSBub2RlcyBhbmRcbm1hcmtzIGluIHRoaXMgc2NoZW1hLlxuKi9cbmNsYXNzIFNjaGVtYSB7XG4gICAgLyoqXG4gICAgQ29uc3RydWN0IGEgc2NoZW1hIGZyb20gYSBzY2hlbWEgW3NwZWNpZmljYXRpb25dKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNtb2RlbC5TY2hlbWFTcGVjKS5cbiAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHNwZWMpIHtcbiAgICAgICAgLyoqXG4gICAgICAgIFRoZSBbbGluZWJyZWFrXG4gICAgICAgIHJlcGxhY2VtZW50XShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuTm9kZVNwZWMubGluZWJyZWFrUmVwbGFjZW1lbnQpIG5vZGUgZGVmaW5lZFxuICAgICAgICBpbiB0aGlzIHNjaGVtYSwgaWYgYW55LlxuICAgICAgICAqL1xuICAgICAgICB0aGlzLmxpbmVicmVha1JlcGxhY2VtZW50ID0gbnVsbDtcbiAgICAgICAgLyoqXG4gICAgICAgIEFuIG9iamVjdCBmb3Igc3RvcmluZyB3aGF0ZXZlciB2YWx1ZXMgbW9kdWxlcyBtYXkgd2FudCB0b1xuICAgICAgICBjb21wdXRlIGFuZCBjYWNoZSBwZXIgc2NoZW1hLiAoSWYgeW91IHdhbnQgdG8gc3RvcmUgc29tZXRoaW5nXG4gICAgICAgIGluIGl0LCB0cnkgdG8gdXNlIHByb3BlcnR5IG5hbWVzIHVubGlrZWx5IHRvIGNsYXNoLilcbiAgICAgICAgKi9cbiAgICAgICAgdGhpcy5jYWNoZWQgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgICBsZXQgaW5zdGFuY2VTcGVjID0gdGhpcy5zcGVjID0ge307XG4gICAgICAgIGZvciAobGV0IHByb3AgaW4gc3BlYylcbiAgICAgICAgICAgIGluc3RhbmNlU3BlY1twcm9wXSA9IHNwZWNbcHJvcF07XG4gICAgICAgIGluc3RhbmNlU3BlYy5ub2RlcyA9IE9yZGVyZWRNYXAuZnJvbShzcGVjLm5vZGVzKSxcbiAgICAgICAgICAgIGluc3RhbmNlU3BlYy5tYXJrcyA9IE9yZGVyZWRNYXAuZnJvbShzcGVjLm1hcmtzIHx8IHt9KSxcbiAgICAgICAgICAgIHRoaXMubm9kZXMgPSBOb2RlVHlwZS5jb21waWxlKHRoaXMuc3BlYy5ub2RlcywgdGhpcyk7XG4gICAgICAgIHRoaXMubWFya3MgPSBNYXJrVHlwZS5jb21waWxlKHRoaXMuc3BlYy5tYXJrcywgdGhpcyk7XG4gICAgICAgIGxldCBjb250ZW50RXhwckNhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgZm9yIChsZXQgcHJvcCBpbiB0aGlzLm5vZGVzKSB7XG4gICAgICAgICAgICBpZiAocHJvcCBpbiB0aGlzLm1hcmtzKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKHByb3AgKyBcIiBjYW4gbm90IGJlIGJvdGggYSBub2RlIGFuZCBhIG1hcmtcIik7XG4gICAgICAgICAgICBsZXQgdHlwZSA9IHRoaXMubm9kZXNbcHJvcF0sIGNvbnRlbnRFeHByID0gdHlwZS5zcGVjLmNvbnRlbnQgfHwgXCJcIiwgbWFya0V4cHIgPSB0eXBlLnNwZWMubWFya3M7XG4gICAgICAgICAgICB0eXBlLmNvbnRlbnRNYXRjaCA9IGNvbnRlbnRFeHByQ2FjaGVbY29udGVudEV4cHJdIHx8XG4gICAgICAgICAgICAgICAgKGNvbnRlbnRFeHByQ2FjaGVbY29udGVudEV4cHJdID0gQ29udGVudE1hdGNoLnBhcnNlKGNvbnRlbnRFeHByLCB0aGlzLm5vZGVzKSk7XG4gICAgICAgICAgICB0eXBlLmlubGluZUNvbnRlbnQgPSB0eXBlLmNvbnRlbnRNYXRjaC5pbmxpbmVDb250ZW50O1xuICAgICAgICAgICAgaWYgKHR5cGUuc3BlYy5saW5lYnJlYWtSZXBsYWNlbWVudCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxpbmVicmVha1JlcGxhY2VtZW50KVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk11bHRpcGxlIGxpbmVicmVhayBub2RlcyBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgICAgIGlmICghdHlwZS5pc0lubGluZSB8fCAhdHlwZS5pc0xlYWYpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiTGluZWJyZWFrIHJlcGxhY2VtZW50IG5vZGVzIG11c3QgYmUgaW5saW5lIGxlYWYgbm9kZXNcIik7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5lYnJlYWtSZXBsYWNlbWVudCA9IHR5cGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlLm1hcmtTZXQgPSBtYXJrRXhwciA9PSBcIl9cIiA/IG51bGwgOlxuICAgICAgICAgICAgICAgIG1hcmtFeHByID8gZ2F0aGVyTWFya3ModGhpcywgbWFya0V4cHIuc3BsaXQoXCIgXCIpKSA6XG4gICAgICAgICAgICAgICAgICAgIG1hcmtFeHByID09IFwiXCIgfHwgIXR5cGUuaW5saW5lQ29udGVudCA/IFtdIDogbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBwcm9wIGluIHRoaXMubWFya3MpIHtcbiAgICAgICAgICAgIGxldCB0eXBlID0gdGhpcy5tYXJrc1twcm9wXSwgZXhjbCA9IHR5cGUuc3BlYy5leGNsdWRlcztcbiAgICAgICAgICAgIHR5cGUuZXhjbHVkZWQgPSBleGNsID09IG51bGwgPyBbdHlwZV0gOiBleGNsID09IFwiXCIgPyBbXSA6IGdhdGhlck1hcmtzKHRoaXMsIGV4Y2wuc3BsaXQoXCIgXCIpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm5vZGVGcm9tSlNPTiA9IGpzb24gPT4gTm9kZS5mcm9tSlNPTih0aGlzLCBqc29uKTtcbiAgICAgICAgdGhpcy5tYXJrRnJvbUpTT04gPSBqc29uID0+IE1hcmsuZnJvbUpTT04odGhpcywganNvbik7XG4gICAgICAgIHRoaXMudG9wTm9kZVR5cGUgPSB0aGlzLm5vZGVzW3RoaXMuc3BlYy50b3BOb2RlIHx8IFwiZG9jXCJdO1xuICAgICAgICB0aGlzLmNhY2hlZC53cmFwcGluZ3MgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIH1cbiAgICAvKipcbiAgICBDcmVhdGUgYSBub2RlIGluIHRoaXMgc2NoZW1hLiBUaGUgYHR5cGVgIG1heSBiZSBhIHN0cmluZyBvciBhXG4gICAgYE5vZGVUeXBlYCBpbnN0YW5jZS4gQXR0cmlidXRlcyB3aWxsIGJlIGV4dGVuZGVkIHdpdGggZGVmYXVsdHMsXG4gICAgYGNvbnRlbnRgIG1heSBiZSBhIGBGcmFnbWVudGAsIGBudWxsYCwgYSBgTm9kZWAsIG9yIGFuIGFycmF5IG9mXG4gICAgbm9kZXMuXG4gICAgKi9cbiAgICBub2RlKHR5cGUsIGF0dHJzID0gbnVsbCwgY29udGVudCwgbWFya3MpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0eXBlID09IFwic3RyaW5nXCIpXG4gICAgICAgICAgICB0eXBlID0gdGhpcy5ub2RlVHlwZSh0eXBlKTtcbiAgICAgICAgZWxzZSBpZiAoISh0eXBlIGluc3RhbmNlb2YgTm9kZVR5cGUpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIG5vZGUgdHlwZTogXCIgKyB0eXBlKTtcbiAgICAgICAgZWxzZSBpZiAodHlwZS5zY2hlbWEgIT0gdGhpcylcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiTm9kZSB0eXBlIGZyb20gZGlmZmVyZW50IHNjaGVtYSB1c2VkIChcIiArIHR5cGUubmFtZSArIFwiKVwiKTtcbiAgICAgICAgcmV0dXJuIHR5cGUuY3JlYXRlQ2hlY2tlZChhdHRycywgY29udGVudCwgbWFya3MpO1xuICAgIH1cbiAgICAvKipcbiAgICBDcmVhdGUgYSB0ZXh0IG5vZGUgaW4gdGhlIHNjaGVtYS4gRW1wdHkgdGV4dCBub2RlcyBhcmUgbm90XG4gICAgYWxsb3dlZC5cbiAgICAqL1xuICAgIHRleHQodGV4dCwgbWFya3MpIHtcbiAgICAgICAgbGV0IHR5cGUgPSB0aGlzLm5vZGVzLnRleHQ7XG4gICAgICAgIHJldHVybiBuZXcgVGV4dE5vZGUodHlwZSwgdHlwZS5kZWZhdWx0QXR0cnMsIHRleHQsIE1hcmsuc2V0RnJvbShtYXJrcykpO1xuICAgIH1cbiAgICAvKipcbiAgICBDcmVhdGUgYSBtYXJrIHdpdGggdGhlIGdpdmVuIHR5cGUgYW5kIGF0dHJpYnV0ZXMuXG4gICAgKi9cbiAgICBtYXJrKHR5cGUsIGF0dHJzKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwZSA9PSBcInN0cmluZ1wiKVxuICAgICAgICAgICAgdHlwZSA9IHRoaXMubWFya3NbdHlwZV07XG4gICAgICAgIHJldHVybiB0eXBlLmNyZWF0ZShhdHRycyk7XG4gICAgfVxuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgbm9kZVR5cGUobmFtZSkge1xuICAgICAgICBsZXQgZm91bmQgPSB0aGlzLm5vZGVzW25hbWVdO1xuICAgICAgICBpZiAoIWZvdW5kKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJVbmtub3duIG5vZGUgdHlwZTogXCIgKyBuYW1lKTtcbiAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdhdGhlck1hcmtzKHNjaGVtYSwgbWFya3MpIHtcbiAgICBsZXQgZm91bmQgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcmtzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBuYW1lID0gbWFya3NbaV0sIG1hcmsgPSBzY2hlbWEubWFya3NbbmFtZV0sIG9rID0gbWFyaztcbiAgICAgICAgaWYgKG1hcmspIHtcbiAgICAgICAgICAgIGZvdW5kLnB1c2gobWFyayk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBmb3IgKGxldCBwcm9wIGluIHNjaGVtYS5tYXJrcykge1xuICAgICAgICAgICAgICAgIGxldCBtYXJrID0gc2NoZW1hLm1hcmtzW3Byb3BdO1xuICAgICAgICAgICAgICAgIGlmIChuYW1lID09IFwiX1wiIHx8IChtYXJrLnNwZWMuZ3JvdXAgJiYgbWFyay5zcGVjLmdyb3VwLnNwbGl0KFwiIFwiKS5pbmRleE9mKG5hbWUpID4gLTEpKVxuICAgICAgICAgICAgICAgICAgICBmb3VuZC5wdXNoKG9rID0gbWFyayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvaylcbiAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcihcIlVua25vd24gbWFyayB0eXBlOiAnXCIgKyBtYXJrc1tpXSArIFwiJ1wiKTtcbiAgICB9XG4gICAgcmV0dXJuIGZvdW5kO1xufVxuXG5mdW5jdGlvbiBpc1RhZ1J1bGUocnVsZSkgeyByZXR1cm4gcnVsZS50YWcgIT0gbnVsbDsgfVxuZnVuY3Rpb24gaXNTdHlsZVJ1bGUocnVsZSkgeyByZXR1cm4gcnVsZS5zdHlsZSAhPSBudWxsOyB9XG4vKipcbkEgRE9NIHBhcnNlciByZXByZXNlbnRzIGEgc3RyYXRlZ3kgZm9yIHBhcnNpbmcgRE9NIGNvbnRlbnQgaW50byBhXG5Qcm9zZU1pcnJvciBkb2N1bWVudCBjb25mb3JtaW5nIHRvIGEgZ2l2ZW4gc2NoZW1hLiBJdHMgYmVoYXZpb3IgaXNcbmRlZmluZWQgYnkgYW4gYXJyYXkgb2YgW3J1bGVzXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuUGFyc2VSdWxlKS5cbiovXG5jbGFzcyBET01QYXJzZXIge1xuICAgIC8qKlxuICAgIENyZWF0ZSBhIHBhcnNlciB0aGF0IHRhcmdldHMgdGhlIGdpdmVuIHNjaGVtYSwgdXNpbmcgdGhlIGdpdmVuXG4gICAgcGFyc2luZyBydWxlcy5cbiAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgIFRoZSBzY2hlbWEgaW50byB3aGljaCB0aGUgcGFyc2VyIHBhcnNlcy5cbiAgICAqL1xuICAgIHNjaGVtYSwgXG4gICAgLyoqXG4gICAgVGhlIHNldCBvZiBbcGFyc2UgcnVsZXNdKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNtb2RlbC5QYXJzZVJ1bGUpIHRoYXQgdGhlIHBhcnNlclxuICAgIHVzZXMsIGluIG9yZGVyIG9mIHByZWNlZGVuY2UuXG4gICAgKi9cbiAgICBydWxlcykge1xuICAgICAgICB0aGlzLnNjaGVtYSA9IHNjaGVtYTtcbiAgICAgICAgdGhpcy5ydWxlcyA9IHJ1bGVzO1xuICAgICAgICAvKipcbiAgICAgICAgQGludGVybmFsXG4gICAgICAgICovXG4gICAgICAgIHRoaXMudGFncyA9IFtdO1xuICAgICAgICAvKipcbiAgICAgICAgQGludGVybmFsXG4gICAgICAgICovXG4gICAgICAgIHRoaXMuc3R5bGVzID0gW107XG4gICAgICAgIGxldCBtYXRjaGVkU3R5bGVzID0gdGhpcy5tYXRjaGVkU3R5bGVzID0gW107XG4gICAgICAgIHJ1bGVzLmZvckVhY2gocnVsZSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNUYWdSdWxlKHJ1bGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWdzLnB1c2gocnVsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChpc1N0eWxlUnVsZShydWxlKSkge1xuICAgICAgICAgICAgICAgIGxldCBwcm9wID0gL1tePV0qLy5leGVjKHJ1bGUuc3R5bGUpWzBdO1xuICAgICAgICAgICAgICAgIGlmIChtYXRjaGVkU3R5bGVzLmluZGV4T2YocHJvcCkgPCAwKVxuICAgICAgICAgICAgICAgICAgICBtYXRjaGVkU3R5bGVzLnB1c2gocHJvcCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdHlsZXMucHVzaChydWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIE9ubHkgbm9ybWFsaXplIGxpc3QgZWxlbWVudHMgd2hlbiBsaXN0cyBpbiB0aGUgc2NoZW1hIGNhbid0IGRpcmVjdGx5IGNvbnRhaW4gdGhlbXNlbHZlc1xuICAgICAgICB0aGlzLm5vcm1hbGl6ZUxpc3RzID0gIXRoaXMudGFncy5zb21lKHIgPT4ge1xuICAgICAgICAgICAgaWYgKCEvXih1bHxvbClcXGIvLnRlc3Qoci50YWcpIHx8ICFyLm5vZGUpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgbGV0IG5vZGUgPSBzY2hlbWEubm9kZXNbci5ub2RlXTtcbiAgICAgICAgICAgIHJldHVybiBub2RlLmNvbnRlbnRNYXRjaC5tYXRjaFR5cGUobm9kZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICBQYXJzZSBhIGRvY3VtZW50IGZyb20gdGhlIGNvbnRlbnQgb2YgYSBET00gbm9kZS5cbiAgICAqL1xuICAgIHBhcnNlKGRvbSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGxldCBjb250ZXh0ID0gbmV3IFBhcnNlQ29udGV4dCh0aGlzLCBvcHRpb25zLCBmYWxzZSk7XG4gICAgICAgIGNvbnRleHQuYWRkQWxsKGRvbSwgTWFyay5ub25lLCBvcHRpb25zLmZyb20sIG9wdGlvbnMudG8pO1xuICAgICAgICByZXR1cm4gY29udGV4dC5maW5pc2goKTtcbiAgICB9XG4gICAgLyoqXG4gICAgUGFyc2VzIHRoZSBjb250ZW50IG9mIHRoZSBnaXZlbiBET00gbm9kZSwgbGlrZVxuICAgIFtgcGFyc2VgXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuRE9NUGFyc2VyLnBhcnNlKSwgYW5kIHRha2VzIHRoZSBzYW1lIHNldCBvZlxuICAgIG9wdGlvbnMuIEJ1dCB1bmxpa2UgdGhhdCBtZXRob2QsIHdoaWNoIHByb2R1Y2VzIGEgd2hvbGUgbm9kZSxcbiAgICB0aGlzIG9uZSByZXR1cm5zIGEgc2xpY2UgdGhhdCBpcyBvcGVuIGF0IHRoZSBzaWRlcywgbWVhbmluZyB0aGF0XG4gICAgdGhlIHNjaGVtYSBjb25zdHJhaW50cyBhcmVuJ3QgYXBwbGllZCB0byB0aGUgc3RhcnQgb2Ygbm9kZXMgdG9cbiAgICB0aGUgbGVmdCBvZiB0aGUgaW5wdXQgYW5kIHRoZSBlbmQgb2Ygbm9kZXMgYXQgdGhlIGVuZC5cbiAgICAqL1xuICAgIHBhcnNlU2xpY2UoZG9tLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgbGV0IGNvbnRleHQgPSBuZXcgUGFyc2VDb250ZXh0KHRoaXMsIG9wdGlvbnMsIHRydWUpO1xuICAgICAgICBjb250ZXh0LmFkZEFsbChkb20sIE1hcmsubm9uZSwgb3B0aW9ucy5mcm9tLCBvcHRpb25zLnRvKTtcbiAgICAgICAgcmV0dXJuIFNsaWNlLm1heE9wZW4oY29udGV4dC5maW5pc2goKSk7XG4gICAgfVxuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgbWF0Y2hUYWcoZG9tLCBjb250ZXh0LCBhZnRlcikge1xuICAgICAgICBmb3IgKGxldCBpID0gYWZ0ZXIgPyB0aGlzLnRhZ3MuaW5kZXhPZihhZnRlcikgKyAxIDogMDsgaSA8IHRoaXMudGFncy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IHJ1bGUgPSB0aGlzLnRhZ3NbaV07XG4gICAgICAgICAgICBpZiAobWF0Y2hlcyhkb20sIHJ1bGUudGFnKSAmJlxuICAgICAgICAgICAgICAgIChydWxlLm5hbWVzcGFjZSA9PT0gdW5kZWZpbmVkIHx8IGRvbS5uYW1lc3BhY2VVUkkgPT0gcnVsZS5uYW1lc3BhY2UpICYmXG4gICAgICAgICAgICAgICAgKCFydWxlLmNvbnRleHQgfHwgY29udGV4dC5tYXRjaGVzQ29udGV4dChydWxlLmNvbnRleHQpKSkge1xuICAgICAgICAgICAgICAgIGlmIChydWxlLmdldEF0dHJzKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBydWxlLmdldEF0dHJzKGRvbSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIHJ1bGUuYXR0cnMgPSByZXN1bHQgfHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcnVsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIG1hdGNoU3R5bGUocHJvcCwgdmFsdWUsIGNvbnRleHQsIGFmdGVyKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSBhZnRlciA/IHRoaXMuc3R5bGVzLmluZGV4T2YoYWZ0ZXIpICsgMSA6IDA7IGkgPCB0aGlzLnN0eWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IHJ1bGUgPSB0aGlzLnN0eWxlc1tpXSwgc3R5bGUgPSBydWxlLnN0eWxlO1xuICAgICAgICAgICAgaWYgKHN0eWxlLmluZGV4T2YocHJvcCkgIT0gMCB8fFxuICAgICAgICAgICAgICAgIHJ1bGUuY29udGV4dCAmJiAhY29udGV4dC5tYXRjaGVzQ29udGV4dChydWxlLmNvbnRleHQpIHx8XG4gICAgICAgICAgICAgICAgLy8gVGVzdCB0aGF0IHRoZSBzdHlsZSBzdHJpbmcgZWl0aGVyIHByZWNpc2VseSBtYXRjaGVzIHRoZSBwcm9wLFxuICAgICAgICAgICAgICAgIC8vIG9yIGhhcyBhbiAnPScgc2lnbiBhZnRlciB0aGUgcHJvcCwgZm9sbG93ZWQgYnkgdGhlIGdpdmVuXG4gICAgICAgICAgICAgICAgLy8gdmFsdWUuXG4gICAgICAgICAgICAgICAgc3R5bGUubGVuZ3RoID4gcHJvcC5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICAgICAgKHN0eWxlLmNoYXJDb2RlQXQocHJvcC5sZW5ndGgpICE9IDYxIHx8IHN0eWxlLnNsaWNlKHByb3AubGVuZ3RoICsgMSkgIT0gdmFsdWUpKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgaWYgKHJ1bGUuZ2V0QXR0cnMpIHtcbiAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gcnVsZS5nZXRBdHRycyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIHJ1bGUuYXR0cnMgPSByZXN1bHQgfHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJ1bGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgQGludGVybmFsXG4gICAgKi9cbiAgICBzdGF0aWMgc2NoZW1hUnVsZXMoc2NoZW1hKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICAgICAgZnVuY3Rpb24gaW5zZXJ0KHJ1bGUpIHtcbiAgICAgICAgICAgIGxldCBwcmlvcml0eSA9IHJ1bGUucHJpb3JpdHkgPT0gbnVsbCA/IDUwIDogcnVsZS5wcmlvcml0eSwgaSA9IDA7XG4gICAgICAgICAgICBmb3IgKDsgaSA8IHJlc3VsdC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCBuZXh0ID0gcmVzdWx0W2ldLCBuZXh0UHJpb3JpdHkgPSBuZXh0LnByaW9yaXR5ID09IG51bGwgPyA1MCA6IG5leHQucHJpb3JpdHk7XG4gICAgICAgICAgICAgICAgaWYgKG5leHRQcmlvcml0eSA8IHByaW9yaXR5KVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc3VsdC5zcGxpY2UoaSwgMCwgcnVsZSk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgbmFtZSBpbiBzY2hlbWEubWFya3MpIHtcbiAgICAgICAgICAgIGxldCBydWxlcyA9IHNjaGVtYS5tYXJrc1tuYW1lXS5zcGVjLnBhcnNlRE9NO1xuICAgICAgICAgICAgaWYgKHJ1bGVzKVxuICAgICAgICAgICAgICAgIHJ1bGVzLmZvckVhY2gocnVsZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGluc2VydChydWxlID0gY29weShydWxlKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghKHJ1bGUubWFyayB8fCBydWxlLmlnbm9yZSB8fCBydWxlLmNsZWFyTWFyaykpXG4gICAgICAgICAgICAgICAgICAgICAgICBydWxlLm1hcmsgPSBuYW1lO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IG5hbWUgaW4gc2NoZW1hLm5vZGVzKSB7XG4gICAgICAgICAgICBsZXQgcnVsZXMgPSBzY2hlbWEubm9kZXNbbmFtZV0uc3BlYy5wYXJzZURPTTtcbiAgICAgICAgICAgIGlmIChydWxlcylcbiAgICAgICAgICAgICAgICBydWxlcy5mb3JFYWNoKHJ1bGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpbnNlcnQocnVsZSA9IGNvcHkocnVsZSkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIShydWxlLm5vZGUgfHwgcnVsZS5pZ25vcmUgfHwgcnVsZS5tYXJrKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGUubm9kZSA9IG5hbWU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgQ29uc3RydWN0IGEgRE9NIHBhcnNlciB1c2luZyB0aGUgcGFyc2luZyBydWxlcyBsaXN0ZWQgaW4gYVxuICAgIHNjaGVtYSdzIFtub2RlIHNwZWNzXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuTm9kZVNwZWMucGFyc2VET00pLCByZW9yZGVyZWQgYnlcbiAgICBbcHJpb3JpdHldKGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvcmVmLyNtb2RlbC5HZW5lcmljUGFyc2VSdWxlLnByaW9yaXR5KS5cbiAgICAqL1xuICAgIHN0YXRpYyBmcm9tU2NoZW1hKHNjaGVtYSkge1xuICAgICAgICByZXR1cm4gc2NoZW1hLmNhY2hlZC5kb21QYXJzZXIgfHxcbiAgICAgICAgICAgIChzY2hlbWEuY2FjaGVkLmRvbVBhcnNlciA9IG5ldyBET01QYXJzZXIoc2NoZW1hLCBET01QYXJzZXIuc2NoZW1hUnVsZXMoc2NoZW1hKSkpO1xuICAgIH1cbn1cbmNvbnN0IGJsb2NrVGFncyA9IHtcbiAgICBhZGRyZXNzOiB0cnVlLCBhcnRpY2xlOiB0cnVlLCBhc2lkZTogdHJ1ZSwgYmxvY2txdW90ZTogdHJ1ZSwgY2FudmFzOiB0cnVlLFxuICAgIGRkOiB0cnVlLCBkaXY6IHRydWUsIGRsOiB0cnVlLCBmaWVsZHNldDogdHJ1ZSwgZmlnY2FwdGlvbjogdHJ1ZSwgZmlndXJlOiB0cnVlLFxuICAgIGZvb3RlcjogdHJ1ZSwgZm9ybTogdHJ1ZSwgaDE6IHRydWUsIGgyOiB0cnVlLCBoMzogdHJ1ZSwgaDQ6IHRydWUsIGg1OiB0cnVlLFxuICAgIGg2OiB0cnVlLCBoZWFkZXI6IHRydWUsIGhncm91cDogdHJ1ZSwgaHI6IHRydWUsIGxpOiB0cnVlLCBub3NjcmlwdDogdHJ1ZSwgb2w6IHRydWUsXG4gICAgb3V0cHV0OiB0cnVlLCBwOiB0cnVlLCBwcmU6IHRydWUsIHNlY3Rpb246IHRydWUsIHRhYmxlOiB0cnVlLCB0Zm9vdDogdHJ1ZSwgdWw6IHRydWVcbn07XG5jb25zdCBpZ25vcmVUYWdzID0ge1xuICAgIGhlYWQ6IHRydWUsIG5vc2NyaXB0OiB0cnVlLCBvYmplY3Q6IHRydWUsIHNjcmlwdDogdHJ1ZSwgc3R5bGU6IHRydWUsIHRpdGxlOiB0cnVlXG59O1xuY29uc3QgbGlzdFRhZ3MgPSB7IG9sOiB0cnVlLCB1bDogdHJ1ZSB9O1xuLy8gVXNpbmcgYSBiaXRmaWVsZCBmb3Igbm9kZSBjb250ZXh0IG9wdGlvbnNcbmNvbnN0IE9QVF9QUkVTRVJWRV9XUyA9IDEsIE9QVF9QUkVTRVJWRV9XU19GVUxMID0gMiwgT1BUX09QRU5fTEVGVCA9IDQ7XG5mdW5jdGlvbiB3c09wdGlvbnNGb3IodHlwZSwgcHJlc2VydmVXaGl0ZXNwYWNlLCBiYXNlKSB7XG4gICAgaWYgKHByZXNlcnZlV2hpdGVzcGFjZSAhPSBudWxsKVxuICAgICAgICByZXR1cm4gKHByZXNlcnZlV2hpdGVzcGFjZSA/IE9QVF9QUkVTRVJWRV9XUyA6IDApIHxcbiAgICAgICAgICAgIChwcmVzZXJ2ZVdoaXRlc3BhY2UgPT09IFwiZnVsbFwiID8gT1BUX1BSRVNFUlZFX1dTX0ZVTEwgOiAwKTtcbiAgICByZXR1cm4gdHlwZSAmJiB0eXBlLndoaXRlc3BhY2UgPT0gXCJwcmVcIiA/IE9QVF9QUkVTRVJWRV9XUyB8IE9QVF9QUkVTRVJWRV9XU19GVUxMIDogYmFzZSAmIH5PUFRfT1BFTl9MRUZUO1xufVxuY2xhc3MgTm9kZUNvbnRleHQge1xuICAgIGNvbnN0cnVjdG9yKHR5cGUsIGF0dHJzLCBtYXJrcywgc29saWQsIG1hdGNoLCBvcHRpb25zKSB7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgICAgIHRoaXMuYXR0cnMgPSBhdHRycztcbiAgICAgICAgdGhpcy5tYXJrcyA9IG1hcmtzO1xuICAgICAgICB0aGlzLnNvbGlkID0gc29saWQ7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMuY29udGVudCA9IFtdO1xuICAgICAgICAvLyBNYXJrcyBhcHBsaWVkIHRvIHRoZSBub2RlJ3MgY2hpbGRyZW5cbiAgICAgICAgdGhpcy5hY3RpdmVNYXJrcyA9IE1hcmsubm9uZTtcbiAgICAgICAgdGhpcy5tYXRjaCA9IG1hdGNoIHx8IChvcHRpb25zICYgT1BUX09QRU5fTEVGVCA/IG51bGwgOiB0eXBlLmNvbnRlbnRNYXRjaCk7XG4gICAgfVxuICAgIGZpbmRXcmFwcGluZyhub2RlKSB7XG4gICAgICAgIGlmICghdGhpcy5tYXRjaCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnR5cGUpXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgbGV0IGZpbGwgPSB0aGlzLnR5cGUuY29udGVudE1hdGNoLmZpbGxCZWZvcmUoRnJhZ21lbnQuZnJvbShub2RlKSk7XG4gICAgICAgICAgICBpZiAoZmlsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWF0Y2ggPSB0aGlzLnR5cGUuY29udGVudE1hdGNoLm1hdGNoRnJhZ21lbnQoZmlsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgc3RhcnQgPSB0aGlzLnR5cGUuY29udGVudE1hdGNoLCB3cmFwO1xuICAgICAgICAgICAgICAgIGlmICh3cmFwID0gc3RhcnQuZmluZFdyYXBwaW5nKG5vZGUudHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRjaCA9IHN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5tYXRjaC5maW5kV3JhcHBpbmcobm9kZS50eXBlKTtcbiAgICB9XG4gICAgZmluaXNoKG9wZW5FbmQpIHtcbiAgICAgICAgaWYgKCEodGhpcy5vcHRpb25zICYgT1BUX1BSRVNFUlZFX1dTKSkgeyAvLyBTdHJpcCB0cmFpbGluZyB3aGl0ZXNwYWNlXG4gICAgICAgICAgICBsZXQgbGFzdCA9IHRoaXMuY29udGVudFt0aGlzLmNvbnRlbnQubGVuZ3RoIC0gMV0sIG07XG4gICAgICAgICAgICBpZiAobGFzdCAmJiBsYXN0LmlzVGV4dCAmJiAobSA9IC9bIFxcdFxcclxcblxcdTAwMGNdKyQvLmV4ZWMobGFzdC50ZXh0KSkpIHtcbiAgICAgICAgICAgICAgICBsZXQgdGV4dCA9IGxhc3Q7XG4gICAgICAgICAgICAgICAgaWYgKGxhc3QudGV4dC5sZW5ndGggPT0gbVswXS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC5wb3AoKTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFt0aGlzLmNvbnRlbnQubGVuZ3RoIC0gMV0gPSB0ZXh0LndpdGhUZXh0KHRleHQudGV4dC5zbGljZSgwLCB0ZXh0LnRleHQubGVuZ3RoIC0gbVswXS5sZW5ndGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgY29udGVudCA9IEZyYWdtZW50LmZyb20odGhpcy5jb250ZW50KTtcbiAgICAgICAgaWYgKCFvcGVuRW5kICYmIHRoaXMubWF0Y2gpXG4gICAgICAgICAgICBjb250ZW50ID0gY29udGVudC5hcHBlbmQodGhpcy5tYXRjaC5maWxsQmVmb3JlKEZyYWdtZW50LmVtcHR5LCB0cnVlKSk7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPyB0aGlzLnR5cGUuY3JlYXRlKHRoaXMuYXR0cnMsIGNvbnRlbnQsIHRoaXMubWFya3MpIDogY29udGVudDtcbiAgICB9XG4gICAgaW5saW5lQ29udGV4dChub2RlKSB7XG4gICAgICAgIGlmICh0aGlzLnR5cGUpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy50eXBlLmlubGluZUNvbnRlbnQ7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnQubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudFswXS5pc0lubGluZTtcbiAgICAgICAgcmV0dXJuIG5vZGUucGFyZW50Tm9kZSAmJiAhYmxvY2tUYWdzLmhhc093blByb3BlcnR5KG5vZGUucGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9XG59XG5jbGFzcyBQYXJzZUNvbnRleHQge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgIC8vIFRoZSBwYXJzZXIgd2UgYXJlIHVzaW5nLlxuICAgIHBhcnNlciwgXG4gICAgLy8gVGhlIG9wdGlvbnMgcGFzc2VkIHRvIHRoaXMgcGFyc2UuXG4gICAgb3B0aW9ucywgaXNPcGVuKSB7XG4gICAgICAgIHRoaXMucGFyc2VyID0gcGFyc2VyO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLmlzT3BlbiA9IGlzT3BlbjtcbiAgICAgICAgdGhpcy5vcGVuID0gMDtcbiAgICAgICAgdGhpcy5sb2NhbFByZXNlcnZlV1MgPSBmYWxzZTtcbiAgICAgICAgbGV0IHRvcE5vZGUgPSBvcHRpb25zLnRvcE5vZGUsIHRvcENvbnRleHQ7XG4gICAgICAgIGxldCB0b3BPcHRpb25zID0gd3NPcHRpb25zRm9yKG51bGwsIG9wdGlvbnMucHJlc2VydmVXaGl0ZXNwYWNlLCAwKSB8IChpc09wZW4gPyBPUFRfT1BFTl9MRUZUIDogMCk7XG4gICAgICAgIGlmICh0b3BOb2RlKVxuICAgICAgICAgICAgdG9wQ29udGV4dCA9IG5ldyBOb2RlQ29udGV4dCh0b3BOb2RlLnR5cGUsIHRvcE5vZGUuYXR0cnMsIE1hcmsubm9uZSwgdHJ1ZSwgb3B0aW9ucy50b3BNYXRjaCB8fCB0b3BOb2RlLnR5cGUuY29udGVudE1hdGNoLCB0b3BPcHRpb25zKTtcbiAgICAgICAgZWxzZSBpZiAoaXNPcGVuKVxuICAgICAgICAgICAgdG9wQ29udGV4dCA9IG5ldyBOb2RlQ29udGV4dChudWxsLCBudWxsLCBNYXJrLm5vbmUsIHRydWUsIG51bGwsIHRvcE9wdGlvbnMpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0b3BDb250ZXh0ID0gbmV3IE5vZGVDb250ZXh0KHBhcnNlci5zY2hlbWEudG9wTm9kZVR5cGUsIG51bGwsIE1hcmsubm9uZSwgdHJ1ZSwgbnVsbCwgdG9wT3B0aW9ucyk7XG4gICAgICAgIHRoaXMubm9kZXMgPSBbdG9wQ29udGV4dF07XG4gICAgICAgIHRoaXMuZmluZCA9IG9wdGlvbnMuZmluZFBvc2l0aW9ucztcbiAgICAgICAgdGhpcy5uZWVkc0Jsb2NrID0gZmFsc2U7XG4gICAgfVxuICAgIGdldCB0b3AoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzW3RoaXMub3Blbl07XG4gICAgfVxuICAgIC8vIEFkZCBhIERPTSBub2RlIHRvIHRoZSBjb250ZW50LiBUZXh0IGlzIGluc2VydGVkIGFzIHRleHQgbm9kZSxcbiAgICAvLyBvdGhlcndpc2UsIHRoZSBub2RlIGlzIHBhc3NlZCB0byBgYWRkRWxlbWVudGAgb3IsIGlmIGl0IGhhcyBhXG4gICAgLy8gYHN0eWxlYCBhdHRyaWJ1dGUsIGBhZGRFbGVtZW50V2l0aFN0eWxlc2AuXG4gICAgYWRkRE9NKGRvbSwgbWFya3MpIHtcbiAgICAgICAgaWYgKGRvbS5ub2RlVHlwZSA9PSAzKVxuICAgICAgICAgICAgdGhpcy5hZGRUZXh0Tm9kZShkb20sIG1hcmtzKTtcbiAgICAgICAgZWxzZSBpZiAoZG9tLm5vZGVUeXBlID09IDEpXG4gICAgICAgICAgICB0aGlzLmFkZEVsZW1lbnQoZG9tLCBtYXJrcyk7XG4gICAgfVxuICAgIGFkZFRleHROb2RlKGRvbSwgbWFya3MpIHtcbiAgICAgICAgbGV0IHZhbHVlID0gZG9tLm5vZGVWYWx1ZTtcbiAgICAgICAgbGV0IHRvcCA9IHRoaXMudG9wLCBwcmVzZXJ2ZVdTID0gKHRvcC5vcHRpb25zICYgT1BUX1BSRVNFUlZFX1dTX0ZVTEwpID8gXCJmdWxsXCJcbiAgICAgICAgICAgIDogdGhpcy5sb2NhbFByZXNlcnZlV1MgfHwgKHRvcC5vcHRpb25zICYgT1BUX1BSRVNFUlZFX1dTKSA+IDA7XG4gICAgICAgIGxldCB7IHNjaGVtYSB9ID0gdGhpcy5wYXJzZXI7XG4gICAgICAgIGlmIChwcmVzZXJ2ZVdTID09PSBcImZ1bGxcIiB8fFxuICAgICAgICAgICAgdG9wLmlubGluZUNvbnRleHQoZG9tKSB8fFxuICAgICAgICAgICAgL1teIFxcdFxcclxcblxcdTAwMGNdLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICAgICAgaWYgKCFwcmVzZXJ2ZVdTKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9bIFxcdFxcclxcblxcdTAwMGNdKy9nLCBcIiBcIik7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBzdGFydHMgd2l0aCB3aGl0ZXNwYWNlLCBhbmQgdGhlcmUgaXMgbm8gbm9kZSBiZWZvcmUgaXQsIG9yXG4gICAgICAgICAgICAgICAgLy8gYSBoYXJkIGJyZWFrLCBvciBhIHRleHQgbm9kZSB0aGF0IGVuZHMgd2l0aCB3aGl0ZXNwYWNlLCBzdHJpcCB0aGVcbiAgICAgICAgICAgICAgICAvLyBsZWFkaW5nIHNwYWNlLlxuICAgICAgICAgICAgICAgIGlmICgvXlsgXFx0XFxyXFxuXFx1MDAwY10vLnRlc3QodmFsdWUpICYmIHRoaXMub3BlbiA9PSB0aGlzLm5vZGVzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5vZGVCZWZvcmUgPSB0b3AuY29udGVudFt0b3AuY29udGVudC5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRvbU5vZGVCZWZvcmUgPSBkb20ucHJldmlvdXNTaWJsaW5nO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW5vZGVCZWZvcmUgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIChkb21Ob2RlQmVmb3JlICYmIGRvbU5vZGVCZWZvcmUubm9kZU5hbWUgPT0gJ0JSJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIChub2RlQmVmb3JlLmlzVGV4dCAmJiAvWyBcXHRcXHJcXG5cXHUwMDBjXSQvLnRlc3Qobm9kZUJlZm9yZS50ZXh0KSkpXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnNsaWNlKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHByZXNlcnZlV1MgPT09IFwiZnVsbFwiKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXHJcXG4/L2csIFwiXFxuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoc2NoZW1hLmxpbmVicmVha1JlcGxhY2VtZW50ICYmIC9bXFxyXFxuXS8udGVzdCh2YWx1ZSkgJiYgdGhpcy50b3AuZmluZFdyYXBwaW5nKHNjaGVtYS5saW5lYnJlYWtSZXBsYWNlbWVudC5jcmVhdGUoKSkpIHtcbiAgICAgICAgICAgICAgICBsZXQgbGluZXMgPSB2YWx1ZS5zcGxpdCgvXFxyP1xcbnxcXHIvKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnNlcnROb2RlKHNjaGVtYS5saW5lYnJlYWtSZXBsYWNlbWVudC5jcmVhdGUoKSwgbWFya3MsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobGluZXNbaV0pXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmluc2VydE5vZGUoc2NoZW1hLnRleHQobGluZXNbaV0pLCBtYXJrcywgIS9cXFMvLnRlc3QobGluZXNbaV0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXHI/XFxufFxcci9nLCBcIiBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodmFsdWUpXG4gICAgICAgICAgICAgICAgdGhpcy5pbnNlcnROb2RlKHNjaGVtYS50ZXh0KHZhbHVlKSwgbWFya3MsICEvXFxTLy50ZXN0KHZhbHVlKSk7XG4gICAgICAgICAgICB0aGlzLmZpbmRJblRleHQoZG9tKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmluZEluc2lkZShkb20pO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFRyeSB0byBmaW5kIGEgaGFuZGxlciBmb3IgdGhlIGdpdmVuIHRhZyBhbmQgdXNlIHRoYXQgdG8gcGFyc2UuIElmXG4gICAgLy8gbm9uZSBpcyBmb3VuZCwgdGhlIGVsZW1lbnQncyBjb250ZW50IG5vZGVzIGFyZSBhZGRlZCBkaXJlY3RseS5cbiAgICBhZGRFbGVtZW50KGRvbSwgbWFya3MsIG1hdGNoQWZ0ZXIpIHtcbiAgICAgICAgbGV0IG91dGVyV1MgPSB0aGlzLmxvY2FsUHJlc2VydmVXUywgdG9wID0gdGhpcy50b3A7XG4gICAgICAgIGlmIChkb20udGFnTmFtZSA9PSBcIlBSRVwiIHx8IC9wcmUvLnRlc3QoZG9tLnN0eWxlICYmIGRvbS5zdHlsZS53aGl0ZVNwYWNlKSlcbiAgICAgICAgICAgIHRoaXMubG9jYWxQcmVzZXJ2ZVdTID0gdHJ1ZTtcbiAgICAgICAgbGV0IG5hbWUgPSBkb20ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwgcnVsZUlEO1xuICAgICAgICBpZiAobGlzdFRhZ3MuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgdGhpcy5wYXJzZXIubm9ybWFsaXplTGlzdHMpXG4gICAgICAgICAgICBub3JtYWxpemVMaXN0KGRvbSk7XG4gICAgICAgIGxldCBydWxlID0gKHRoaXMub3B0aW9ucy5ydWxlRnJvbU5vZGUgJiYgdGhpcy5vcHRpb25zLnJ1bGVGcm9tTm9kZShkb20pKSB8fFxuICAgICAgICAgICAgKHJ1bGVJRCA9IHRoaXMucGFyc2VyLm1hdGNoVGFnKGRvbSwgdGhpcywgbWF0Y2hBZnRlcikpO1xuICAgICAgICBvdXQ6IGlmIChydWxlID8gcnVsZS5pZ25vcmUgOiBpZ25vcmVUYWdzLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgICAgICB0aGlzLmZpbmRJbnNpZGUoZG9tKTtcbiAgICAgICAgICAgIHRoaXMuaWdub3JlRmFsbGJhY2soZG9tLCBtYXJrcyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoIXJ1bGUgfHwgcnVsZS5za2lwIHx8IHJ1bGUuY2xvc2VQYXJlbnQpIHtcbiAgICAgICAgICAgIGlmIChydWxlICYmIHJ1bGUuY2xvc2VQYXJlbnQpXG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuID0gTWF0aC5tYXgoMCwgdGhpcy5vcGVuIC0gMSk7XG4gICAgICAgICAgICBlbHNlIGlmIChydWxlICYmIHJ1bGUuc2tpcC5ub2RlVHlwZSlcbiAgICAgICAgICAgICAgICBkb20gPSBydWxlLnNraXA7XG4gICAgICAgICAgICBsZXQgc3luYywgb2xkTmVlZHNCbG9jayA9IHRoaXMubmVlZHNCbG9jaztcbiAgICAgICAgICAgIGlmIChibG9ja1RhZ3MuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodG9wLmNvbnRlbnQubGVuZ3RoICYmIHRvcC5jb250ZW50WzBdLmlzSW5saW5lICYmIHRoaXMub3Blbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW4tLTtcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdGhpcy50b3A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN5bmMgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICghdG9wLnR5cGUpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmVlZHNCbG9jayA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICghZG9tLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxlYWZGYWxsYmFjayhkb20sIG1hcmtzKTtcbiAgICAgICAgICAgICAgICBicmVhayBvdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgaW5uZXJNYXJrcyA9IHJ1bGUgJiYgcnVsZS5za2lwID8gbWFya3MgOiB0aGlzLnJlYWRTdHlsZXMoZG9tLCBtYXJrcyk7XG4gICAgICAgICAgICBpZiAoaW5uZXJNYXJrcylcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEFsbChkb20sIGlubmVyTWFya3MpO1xuICAgICAgICAgICAgaWYgKHN5bmMpXG4gICAgICAgICAgICAgICAgdGhpcy5zeW5jKHRvcCk7XG4gICAgICAgICAgICB0aGlzLm5lZWRzQmxvY2sgPSBvbGROZWVkc0Jsb2NrO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGV0IGlubmVyTWFya3MgPSB0aGlzLnJlYWRTdHlsZXMoZG9tLCBtYXJrcyk7XG4gICAgICAgICAgICBpZiAoaW5uZXJNYXJrcylcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEVsZW1lbnRCeVJ1bGUoZG9tLCBydWxlLCBpbm5lck1hcmtzLCBydWxlLmNvbnN1bWluZyA9PT0gZmFsc2UgPyBydWxlSUQgOiB1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9jYWxQcmVzZXJ2ZVdTID0gb3V0ZXJXUztcbiAgICB9XG4gICAgLy8gQ2FsbGVkIGZvciBsZWFmIERPTSBub2RlcyB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBpZ25vcmVkXG4gICAgbGVhZkZhbGxiYWNrKGRvbSwgbWFya3MpIHtcbiAgICAgICAgaWYgKGRvbS5ub2RlTmFtZSA9PSBcIkJSXCIgJiYgdGhpcy50b3AudHlwZSAmJiB0aGlzLnRvcC50eXBlLmlubGluZUNvbnRlbnQpXG4gICAgICAgICAgICB0aGlzLmFkZFRleHROb2RlKGRvbS5vd25lckRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFwiXFxuXCIpLCBtYXJrcyk7XG4gICAgfVxuICAgIC8vIENhbGxlZCBmb3IgaWdub3JlZCBub2Rlc1xuICAgIGlnbm9yZUZhbGxiYWNrKGRvbSwgbWFya3MpIHtcbiAgICAgICAgLy8gSWdub3JlZCBCUiBub2RlcyBzaG91bGQgYXQgbGVhc3QgY3JlYXRlIGFuIGlubGluZSBjb250ZXh0XG4gICAgICAgIGlmIChkb20ubm9kZU5hbWUgPT0gXCJCUlwiICYmICghdGhpcy50b3AudHlwZSB8fCAhdGhpcy50b3AudHlwZS5pbmxpbmVDb250ZW50KSlcbiAgICAgICAgICAgIHRoaXMuZmluZFBsYWNlKHRoaXMucGFyc2VyLnNjaGVtYS50ZXh0KFwiLVwiKSwgbWFya3MsIHRydWUpO1xuICAgIH1cbiAgICAvLyBSdW4gYW55IHN0eWxlIHBhcnNlciBhc3NvY2lhdGVkIHdpdGggdGhlIG5vZGUncyBzdHlsZXMuIEVpdGhlclxuICAgIC8vIHJldHVybiBhbiB1cGRhdGVkIGFycmF5IG9mIG1hcmtzLCBvciBudWxsIHRvIGluZGljYXRlIHNvbWUgb2YgdGhlXG4gICAgLy8gc3R5bGVzIGhhZCBhIHJ1bGUgd2l0aCBgaWdub3JlYCBzZXQuXG4gICAgcmVhZFN0eWxlcyhkb20sIG1hcmtzKSB7XG4gICAgICAgIGxldCBzdHlsZXMgPSBkb20uc3R5bGU7XG4gICAgICAgIC8vIEJlY2F1c2UgbWFueSBwcm9wZXJ0aWVzIHdpbGwgb25seSBzaG93IHVwIGluICdub3JtYWxpemVkJyBmb3JtXG4gICAgICAgIC8vIGluIGBzdHlsZS5pdGVtYCAoaS5lLiB0ZXh0LWRlY29yYXRpb24gYmVjb21lc1xuICAgICAgICAvLyB0ZXh0LWRlY29yYXRpb24tbGluZSwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBldGMpLCB3ZSBkaXJlY3RseVxuICAgICAgICAvLyBxdWVyeSB0aGUgc3R5bGVzIG1lbnRpb25lZCBpbiBvdXIgcnVsZXMgaW5zdGVhZCBvZiBpdGVyYXRpbmdcbiAgICAgICAgLy8gb3ZlciB0aGUgaXRlbXMuXG4gICAgICAgIGlmIChzdHlsZXMgJiYgc3R5bGVzLmxlbmd0aClcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5wYXJzZXIubWF0Y2hlZFN0eWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCBuYW1lID0gdGhpcy5wYXJzZXIubWF0Y2hlZFN0eWxlc1tpXSwgdmFsdWUgPSBzdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGFmdGVyID0gdW5kZWZpbmVkOzspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBydWxlID0gdGhpcy5wYXJzZXIubWF0Y2hTdHlsZShuYW1lLCB2YWx1ZSwgdGhpcywgYWZ0ZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFydWxlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJ1bGUuaWdub3JlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJ1bGUuY2xlYXJNYXJrKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtzID0gbWFya3MuZmlsdGVyKG0gPT4gIXJ1bGUuY2xlYXJNYXJrKG0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrcyA9IG1hcmtzLmNvbmNhdCh0aGlzLnBhcnNlci5zY2hlbWEubWFya3NbcnVsZS5tYXJrXS5jcmVhdGUocnVsZS5hdHRycykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJ1bGUuY29uc3VtaW5nID09PSBmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlciA9IHJ1bGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1hcmtzO1xuICAgIH1cbiAgICAvLyBMb29rIHVwIGEgaGFuZGxlciBmb3IgdGhlIGdpdmVuIG5vZGUuIElmIG5vbmUgYXJlIGZvdW5kLCByZXR1cm5cbiAgICAvLyBmYWxzZS4gT3RoZXJ3aXNlLCBhcHBseSBpdCwgdXNlIGl0cyByZXR1cm4gdmFsdWUgdG8gZHJpdmUgdGhlIHdheVxuICAgIC8vIHRoZSBub2RlJ3MgY29udGVudCBpcyB3cmFwcGVkLCBhbmQgcmV0dXJuIHRydWUuXG4gICAgYWRkRWxlbWVudEJ5UnVsZShkb20sIHJ1bGUsIG1hcmtzLCBjb250aW51ZUFmdGVyKSB7XG4gICAgICAgIGxldCBzeW5jLCBub2RlVHlwZTtcbiAgICAgICAgaWYgKHJ1bGUubm9kZSkge1xuICAgICAgICAgICAgbm9kZVR5cGUgPSB0aGlzLnBhcnNlci5zY2hlbWEubm9kZXNbcnVsZS5ub2RlXTtcbiAgICAgICAgICAgIGlmICghbm9kZVR5cGUuaXNMZWFmKSB7XG4gICAgICAgICAgICAgICAgbGV0IGlubmVyID0gdGhpcy5lbnRlcihub2RlVHlwZSwgcnVsZS5hdHRycyB8fCBudWxsLCBtYXJrcywgcnVsZS5wcmVzZXJ2ZVdoaXRlc3BhY2UpO1xuICAgICAgICAgICAgICAgIGlmIChpbm5lcikge1xuICAgICAgICAgICAgICAgICAgICBzeW5jID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgbWFya3MgPSBpbm5lcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICghdGhpcy5pbnNlcnROb2RlKG5vZGVUeXBlLmNyZWF0ZShydWxlLmF0dHJzKSwgbWFya3MsIGRvbS5ub2RlTmFtZSA9PSBcIkJSXCIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sZWFmRmFsbGJhY2soZG9tLCBtYXJrcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgbWFya1R5cGUgPSB0aGlzLnBhcnNlci5zY2hlbWEubWFya3NbcnVsZS5tYXJrXTtcbiAgICAgICAgICAgIG1hcmtzID0gbWFya3MuY29uY2F0KG1hcmtUeXBlLmNyZWF0ZShydWxlLmF0dHJzKSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHN0YXJ0SW4gPSB0aGlzLnRvcDtcbiAgICAgICAgaWYgKG5vZGVUeXBlICYmIG5vZGVUeXBlLmlzTGVhZikge1xuICAgICAgICAgICAgdGhpcy5maW5kSW5zaWRlKGRvbSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY29udGludWVBZnRlcikge1xuICAgICAgICAgICAgdGhpcy5hZGRFbGVtZW50KGRvbSwgbWFya3MsIGNvbnRpbnVlQWZ0ZXIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHJ1bGUuZ2V0Q29udGVudCkge1xuICAgICAgICAgICAgdGhpcy5maW5kSW5zaWRlKGRvbSk7XG4gICAgICAgICAgICBydWxlLmdldENvbnRlbnQoZG9tLCB0aGlzLnBhcnNlci5zY2hlbWEpLmZvckVhY2gobm9kZSA9PiB0aGlzLmluc2VydE5vZGUobm9kZSwgbWFya3MsIGZhbHNlKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgY29udGVudERPTSA9IGRvbTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcnVsZS5jb250ZW50RWxlbWVudCA9PSBcInN0cmluZ1wiKVxuICAgICAgICAgICAgICAgIGNvbnRlbnRET00gPSBkb20ucXVlcnlTZWxlY3RvcihydWxlLmNvbnRlbnRFbGVtZW50KTtcbiAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiBydWxlLmNvbnRlbnRFbGVtZW50ID09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgICAgICAgICBjb250ZW50RE9NID0gcnVsZS5jb250ZW50RWxlbWVudChkb20pO1xuICAgICAgICAgICAgZWxzZSBpZiAocnVsZS5jb250ZW50RWxlbWVudClcbiAgICAgICAgICAgICAgICBjb250ZW50RE9NID0gcnVsZS5jb250ZW50RWxlbWVudDtcbiAgICAgICAgICAgIHRoaXMuZmluZEFyb3VuZChkb20sIGNvbnRlbnRET00sIHRydWUpO1xuICAgICAgICAgICAgdGhpcy5hZGRBbGwoY29udGVudERPTSwgbWFya3MpO1xuICAgICAgICAgICAgdGhpcy5maW5kQXJvdW5kKGRvbSwgY29udGVudERPTSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzeW5jICYmIHRoaXMuc3luYyhzdGFydEluKSlcbiAgICAgICAgICAgIHRoaXMub3Blbi0tO1xuICAgIH1cbiAgICAvLyBBZGQgYWxsIGNoaWxkIG5vZGVzIGJldHdlZW4gYHN0YXJ0SW5kZXhgIGFuZCBgZW5kSW5kZXhgIChvciB0aGVcbiAgICAvLyB3aG9sZSBub2RlLCBpZiBub3QgZ2l2ZW4pLiBJZiBgc3luY2AgaXMgcGFzc2VkLCB1c2UgaXQgdG9cbiAgICAvLyBzeW5jaHJvbml6ZSBhZnRlciBldmVyeSBibG9jayBlbGVtZW50LlxuICAgIGFkZEFsbChwYXJlbnQsIG1hcmtzLCBzdGFydEluZGV4LCBlbmRJbmRleCkge1xuICAgICAgICBsZXQgaW5kZXggPSBzdGFydEluZGV4IHx8IDA7XG4gICAgICAgIGZvciAobGV0IGRvbSA9IHN0YXJ0SW5kZXggPyBwYXJlbnQuY2hpbGROb2Rlc1tzdGFydEluZGV4XSA6IHBhcmVudC5maXJzdENoaWxkLCBlbmQgPSBlbmRJbmRleCA9PSBudWxsID8gbnVsbCA6IHBhcmVudC5jaGlsZE5vZGVzW2VuZEluZGV4XTsgZG9tICE9IGVuZDsgZG9tID0gZG9tLm5leHRTaWJsaW5nLCArK2luZGV4KSB7XG4gICAgICAgICAgICB0aGlzLmZpbmRBdFBvaW50KHBhcmVudCwgaW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5hZGRET00oZG9tLCBtYXJrcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5maW5kQXRQb2ludChwYXJlbnQsIGluZGV4KTtcbiAgICB9XG4gICAgLy8gVHJ5IHRvIGZpbmQgYSB3YXkgdG8gZml0IHRoZSBnaXZlbiBub2RlIHR5cGUgaW50byB0aGUgY3VycmVudFxuICAgIC8vIGNvbnRleHQuIE1heSBhZGQgaW50ZXJtZWRpYXRlIHdyYXBwZXJzIGFuZC9vciBsZWF2ZSBub24tc29saWRcbiAgICAvLyBub2RlcyB0aGF0IHdlJ3JlIGluLlxuICAgIGZpbmRQbGFjZShub2RlLCBtYXJrcywgY2F1dGlvdXMpIHtcbiAgICAgICAgbGV0IHJvdXRlLCBzeW5jO1xuICAgICAgICBmb3IgKGxldCBkZXB0aCA9IHRoaXMub3BlbiwgcGVuYWx0eSA9IDA7IGRlcHRoID49IDA7IGRlcHRoLS0pIHtcbiAgICAgICAgICAgIGxldCBjeCA9IHRoaXMubm9kZXNbZGVwdGhdO1xuICAgICAgICAgICAgbGV0IGZvdW5kID0gY3guZmluZFdyYXBwaW5nKG5vZGUpO1xuICAgICAgICAgICAgaWYgKGZvdW5kICYmICghcm91dGUgfHwgcm91dGUubGVuZ3RoID4gZm91bmQubGVuZ3RoICsgcGVuYWx0eSkpIHtcbiAgICAgICAgICAgICAgICByb3V0ZSA9IGZvdW5kO1xuICAgICAgICAgICAgICAgIHN5bmMgPSBjeDtcbiAgICAgICAgICAgICAgICBpZiAoIWZvdW5kLmxlbmd0aClcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3guc29saWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoY2F1dGlvdXMpXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIHBlbmFsdHkgKz0gMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJvdXRlKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIHRoaXMuc3luYyhzeW5jKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3V0ZS5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIG1hcmtzID0gdGhpcy5lbnRlcklubmVyKHJvdXRlW2ldLCBudWxsLCBtYXJrcywgZmFsc2UpO1xuICAgICAgICByZXR1cm4gbWFya3M7XG4gICAgfVxuICAgIC8vIFRyeSB0byBpbnNlcnQgdGhlIGdpdmVuIG5vZGUsIGFkanVzdGluZyB0aGUgY29udGV4dCB3aGVuIG5lZWRlZC5cbiAgICBpbnNlcnROb2RlKG5vZGUsIG1hcmtzLCBjYXV0aW91cykge1xuICAgICAgICBpZiAobm9kZS5pc0lubGluZSAmJiB0aGlzLm5lZWRzQmxvY2sgJiYgIXRoaXMudG9wLnR5cGUpIHtcbiAgICAgICAgICAgIGxldCBibG9jayA9IHRoaXMudGV4dGJsb2NrRnJvbUNvbnRleHQoKTtcbiAgICAgICAgICAgIGlmIChibG9jaylcbiAgICAgICAgICAgICAgICBtYXJrcyA9IHRoaXMuZW50ZXJJbm5lcihibG9jaywgbnVsbCwgbWFya3MpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpbm5lck1hcmtzID0gdGhpcy5maW5kUGxhY2Uobm9kZSwgbWFya3MsIGNhdXRpb3VzKTtcbiAgICAgICAgaWYgKGlubmVyTWFya3MpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VFeHRyYSgpO1xuICAgICAgICAgICAgbGV0IHRvcCA9IHRoaXMudG9wO1xuICAgICAgICAgICAgaWYgKHRvcC5tYXRjaClcbiAgICAgICAgICAgICAgICB0b3AubWF0Y2ggPSB0b3AubWF0Y2gubWF0Y2hUeXBlKG5vZGUudHlwZSk7XG4gICAgICAgICAgICBsZXQgbm9kZU1hcmtzID0gTWFyay5ub25lO1xuICAgICAgICAgICAgZm9yIChsZXQgbSBvZiBpbm5lck1hcmtzLmNvbmNhdChub2RlLm1hcmtzKSlcbiAgICAgICAgICAgICAgICBpZiAodG9wLnR5cGUgPyB0b3AudHlwZS5hbGxvd3NNYXJrVHlwZShtLnR5cGUpIDogbWFya01heUFwcGx5KG0udHlwZSwgbm9kZS50eXBlKSlcbiAgICAgICAgICAgICAgICAgICAgbm9kZU1hcmtzID0gbS5hZGRUb1NldChub2RlTWFya3MpO1xuICAgICAgICAgICAgdG9wLmNvbnRlbnQucHVzaChub2RlLm1hcmsobm9kZU1hcmtzKSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIFRyeSB0byBzdGFydCBhIG5vZGUgb2YgdGhlIGdpdmVuIHR5cGUsIGFkanVzdGluZyB0aGUgY29udGV4dCB3aGVuXG4gICAgLy8gbmVjZXNzYXJ5LlxuICAgIGVudGVyKHR5cGUsIGF0dHJzLCBtYXJrcywgcHJlc2VydmVXUykge1xuICAgICAgICBsZXQgaW5uZXJNYXJrcyA9IHRoaXMuZmluZFBsYWNlKHR5cGUuY3JlYXRlKGF0dHJzKSwgbWFya3MsIGZhbHNlKTtcbiAgICAgICAgaWYgKGlubmVyTWFya3MpXG4gICAgICAgICAgICBpbm5lck1hcmtzID0gdGhpcy5lbnRlcklubmVyKHR5cGUsIGF0dHJzLCBtYXJrcywgdHJ1ZSwgcHJlc2VydmVXUyk7XG4gICAgICAgIHJldHVybiBpbm5lck1hcmtzO1xuICAgIH1cbiAgICAvLyBPcGVuIGEgbm9kZSBvZiB0aGUgZ2l2ZW4gdHlwZVxuICAgIGVudGVySW5uZXIodHlwZSwgYXR0cnMsIG1hcmtzLCBzb2xpZCA9IGZhbHNlLCBwcmVzZXJ2ZVdTKSB7XG4gICAgICAgIHRoaXMuY2xvc2VFeHRyYSgpO1xuICAgICAgICBsZXQgdG9wID0gdGhpcy50b3A7XG4gICAgICAgIHRvcC5tYXRjaCA9IHRvcC5tYXRjaCAmJiB0b3AubWF0Y2gubWF0Y2hUeXBlKHR5cGUpO1xuICAgICAgICBsZXQgb3B0aW9ucyA9IHdzT3B0aW9uc0Zvcih0eXBlLCBwcmVzZXJ2ZVdTLCB0b3Aub3B0aW9ucyk7XG4gICAgICAgIGlmICgodG9wLm9wdGlvbnMgJiBPUFRfT1BFTl9MRUZUKSAmJiB0b3AuY29udGVudC5sZW5ndGggPT0gMClcbiAgICAgICAgICAgIG9wdGlvbnMgfD0gT1BUX09QRU5fTEVGVDtcbiAgICAgICAgbGV0IGFwcGx5TWFya3MgPSBNYXJrLm5vbmU7XG4gICAgICAgIG1hcmtzID0gbWFya3MuZmlsdGVyKG0gPT4ge1xuICAgICAgICAgICAgaWYgKHRvcC50eXBlID8gdG9wLnR5cGUuYWxsb3dzTWFya1R5cGUobS50eXBlKSA6IG1hcmtNYXlBcHBseShtLnR5cGUsIHR5cGUpKSB7XG4gICAgICAgICAgICAgICAgYXBwbHlNYXJrcyA9IG0uYWRkVG9TZXQoYXBwbHlNYXJrcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm5vZGVzLnB1c2gobmV3IE5vZGVDb250ZXh0KHR5cGUsIGF0dHJzLCBhcHBseU1hcmtzLCBzb2xpZCwgbnVsbCwgb3B0aW9ucykpO1xuICAgICAgICB0aGlzLm9wZW4rKztcbiAgICAgICAgcmV0dXJuIG1hcmtzO1xuICAgIH1cbiAgICAvLyBNYWtlIHN1cmUgYWxsIG5vZGVzIGFib3ZlIHRoaXMub3BlbiBhcmUgZmluaXNoZWQgYW5kIGFkZGVkIHRvXG4gICAgLy8gdGhlaXIgcGFyZW50c1xuICAgIGNsb3NlRXh0cmEob3BlbkVuZCA9IGZhbHNlKSB7XG4gICAgICAgIGxldCBpID0gdGhpcy5ub2Rlcy5sZW5ndGggLSAxO1xuICAgICAgICBpZiAoaSA+IHRoaXMub3Blbikge1xuICAgICAgICAgICAgZm9yICg7IGkgPiB0aGlzLm9wZW47IGktLSlcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVzW2kgLSAxXS5jb250ZW50LnB1c2godGhpcy5ub2Rlc1tpXS5maW5pc2gob3BlbkVuZCkpO1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5sZW5ndGggPSB0aGlzLm9wZW4gKyAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZpbmlzaCgpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gMDtcbiAgICAgICAgdGhpcy5jbG9zZUV4dHJhKHRoaXMuaXNPcGVuKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXNbMF0uZmluaXNoKCEhKHRoaXMuaXNPcGVuIHx8IHRoaXMub3B0aW9ucy50b3BPcGVuKSk7XG4gICAgfVxuICAgIHN5bmModG8pIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMub3BlbjsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm5vZGVzW2ldID09IHRvKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuID0gaTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubG9jYWxQcmVzZXJ2ZVdTKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ub2Rlc1tpXS5vcHRpb25zIHw9IE9QVF9QUkVTRVJWRV9XUztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGdldCBjdXJyZW50UG9zKCkge1xuICAgICAgICB0aGlzLmNsb3NlRXh0cmEoKTtcbiAgICAgICAgbGV0IHBvcyA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSB0aGlzLm9wZW47IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBsZXQgY29udGVudCA9IHRoaXMubm9kZXNbaV0uY29udGVudDtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSBjb250ZW50Lmxlbmd0aCAtIDE7IGogPj0gMDsgai0tKVxuICAgICAgICAgICAgICAgIHBvcyArPSBjb250ZW50W2pdLm5vZGVTaXplO1xuICAgICAgICAgICAgaWYgKGkpXG4gICAgICAgICAgICAgICAgcG9zKys7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvcztcbiAgICB9XG4gICAgZmluZEF0UG9pbnQocGFyZW50LCBvZmZzZXQpIHtcbiAgICAgICAgaWYgKHRoaXMuZmluZClcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5maW5kLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmluZFtpXS5ub2RlID09IHBhcmVudCAmJiB0aGlzLmZpbmRbaV0ub2Zmc2V0ID09IG9mZnNldClcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5kW2ldLnBvcyA9IHRoaXMuY3VycmVudFBvcztcbiAgICAgICAgICAgIH1cbiAgICB9XG4gICAgZmluZEluc2lkZShwYXJlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZmluZClcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5maW5kLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmluZFtpXS5wb3MgPT0gbnVsbCAmJiBwYXJlbnQubm9kZVR5cGUgPT0gMSAmJiBwYXJlbnQuY29udGFpbnModGhpcy5maW5kW2ldLm5vZGUpKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbmRbaV0ucG9zID0gdGhpcy5jdXJyZW50UG9zO1xuICAgICAgICAgICAgfVxuICAgIH1cbiAgICBmaW5kQXJvdW5kKHBhcmVudCwgY29udGVudCwgYmVmb3JlKSB7XG4gICAgICAgIGlmIChwYXJlbnQgIT0gY29udGVudCAmJiB0aGlzLmZpbmQpXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZmluZC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpbmRbaV0ucG9zID09IG51bGwgJiYgcGFyZW50Lm5vZGVUeXBlID09IDEgJiYgcGFyZW50LmNvbnRhaW5zKHRoaXMuZmluZFtpXS5ub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcG9zID0gY29udGVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzLmZpbmRbaV0ubm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3MgJiAoYmVmb3JlID8gMiA6IDQpKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5kW2ldLnBvcyA9IHRoaXMuY3VycmVudFBvcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgfVxuICAgIGZpbmRJblRleHQodGV4dE5vZGUpIHtcbiAgICAgICAgaWYgKHRoaXMuZmluZClcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5maW5kLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmluZFtpXS5ub2RlID09IHRleHROb2RlKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbmRbaV0ucG9zID0gdGhpcy5jdXJyZW50UG9zIC0gKHRleHROb2RlLm5vZGVWYWx1ZS5sZW5ndGggLSB0aGlzLmZpbmRbaV0ub2Zmc2V0KTtcbiAgICAgICAgICAgIH1cbiAgICB9XG4gICAgLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBnaXZlbiBjb250ZXh0IHN0cmluZyBtYXRjaGVzIHRoaXMgY29udGV4dC5cbiAgICBtYXRjaGVzQ29udGV4dChjb250ZXh0KSB7XG4gICAgICAgIGlmIChjb250ZXh0LmluZGV4T2YoXCJ8XCIpID4gLTEpXG4gICAgICAgICAgICByZXR1cm4gY29udGV4dC5zcGxpdCgvXFxzKlxcfFxccyovKS5zb21lKHRoaXMubWF0Y2hlc0NvbnRleHQsIHRoaXMpO1xuICAgICAgICBsZXQgcGFydHMgPSBjb250ZXh0LnNwbGl0KFwiL1wiKTtcbiAgICAgICAgbGV0IG9wdGlvbiA9IHRoaXMub3B0aW9ucy5jb250ZXh0O1xuICAgICAgICBsZXQgdXNlUm9vdCA9ICF0aGlzLmlzT3BlbiAmJiAoIW9wdGlvbiB8fCBvcHRpb24ucGFyZW50LnR5cGUgPT0gdGhpcy5ub2Rlc1swXS50eXBlKTtcbiAgICAgICAgbGV0IG1pbkRlcHRoID0gLShvcHRpb24gPyBvcHRpb24uZGVwdGggKyAxIDogMCkgKyAodXNlUm9vdCA/IDAgOiAxKTtcbiAgICAgICAgbGV0IG1hdGNoID0gKGksIGRlcHRoKSA9PiB7XG4gICAgICAgICAgICBmb3IgKDsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFydCA9IHBhcnRzW2ldO1xuICAgICAgICAgICAgICAgIGlmIChwYXJ0ID09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT0gcGFydHMubGVuZ3RoIC0gMSB8fCBpID09IDApXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9yICg7IGRlcHRoID49IG1pbkRlcHRoOyBkZXB0aC0tKVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoKGkgLSAxLCBkZXB0aCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXh0ID0gZGVwdGggPiAwIHx8IChkZXB0aCA9PSAwICYmIHVzZVJvb3QpID8gdGhpcy5ub2Rlc1tkZXB0aF0udHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBvcHRpb24gJiYgZGVwdGggPj0gbWluRGVwdGggPyBvcHRpb24ubm9kZShkZXB0aCAtIG1pbkRlcHRoKS50eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW5leHQgfHwgKG5leHQubmFtZSAhPSBwYXJ0ICYmICFuZXh0LmlzSW5Hcm91cChwYXJ0KSkpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGRlcHRoLS07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBtYXRjaChwYXJ0cy5sZW5ndGggLSAxLCB0aGlzLm9wZW4pO1xuICAgIH1cbiAgICB0ZXh0YmxvY2tGcm9tQ29udGV4dCgpIHtcbiAgICAgICAgbGV0ICRjb250ZXh0ID0gdGhpcy5vcHRpb25zLmNvbnRleHQ7XG4gICAgICAgIGlmICgkY29udGV4dClcbiAgICAgICAgICAgIGZvciAobGV0IGQgPSAkY29udGV4dC5kZXB0aDsgZCA+PSAwOyBkLS0pIHtcbiAgICAgICAgICAgICAgICBsZXQgZGVmbHQgPSAkY29udGV4dC5ub2RlKGQpLmNvbnRlbnRNYXRjaEF0KCRjb250ZXh0LmluZGV4QWZ0ZXIoZCkpLmRlZmF1bHRUeXBlO1xuICAgICAgICAgICAgICAgIGlmIChkZWZsdCAmJiBkZWZsdC5pc1RleHRibG9jayAmJiBkZWZsdC5kZWZhdWx0QXR0cnMpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWZsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgbmFtZSBpbiB0aGlzLnBhcnNlci5zY2hlbWEubm9kZXMpIHtcbiAgICAgICAgICAgIGxldCB0eXBlID0gdGhpcy5wYXJzZXIuc2NoZW1hLm5vZGVzW25hbWVdO1xuICAgICAgICAgICAgaWYgKHR5cGUuaXNUZXh0YmxvY2sgJiYgdHlwZS5kZWZhdWx0QXR0cnMpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBLbHVkZ2UgdG8gd29yayBhcm91bmQgZGlyZWN0bHkgbmVzdGVkIGxpc3Qgbm9kZXMgcHJvZHVjZWQgYnkgc29tZVxuLy8gdG9vbHMgYW5kIGFsbG93ZWQgYnkgYnJvd3NlcnMgdG8gbWVhbiB0aGF0IHRoZSBuZXN0ZWQgbGlzdCBpc1xuLy8gYWN0dWFsbHkgcGFydCBvZiB0aGUgbGlzdCBpdGVtIGFib3ZlIGl0LlxuZnVuY3Rpb24gbm9ybWFsaXplTGlzdChkb20pIHtcbiAgICBmb3IgKGxldCBjaGlsZCA9IGRvbS5maXJzdENoaWxkLCBwcmV2SXRlbSA9IG51bGw7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nKSB7XG4gICAgICAgIGxldCBuYW1lID0gY2hpbGQubm9kZVR5cGUgPT0gMSA/IGNoaWxkLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgOiBudWxsO1xuICAgICAgICBpZiAobmFtZSAmJiBsaXN0VGFncy5oYXNPd25Qcm9wZXJ0eShuYW1lKSAmJiBwcmV2SXRlbSkge1xuICAgICAgICAgICAgcHJldkl0ZW0uYXBwZW5kQ2hpbGQoY2hpbGQpO1xuICAgICAgICAgICAgY2hpbGQgPSBwcmV2SXRlbTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChuYW1lID09IFwibGlcIikge1xuICAgICAgICAgICAgcHJldkl0ZW0gPSBjaGlsZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChuYW1lKSB7XG4gICAgICAgICAgICBwcmV2SXRlbSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBBcHBseSBhIENTUyBzZWxlY3Rvci5cbmZ1bmN0aW9uIG1hdGNoZXMoZG9tLCBzZWxlY3Rvcikge1xuICAgIHJldHVybiAoZG9tLm1hdGNoZXMgfHwgZG9tLm1zTWF0Y2hlc1NlbGVjdG9yIHx8IGRvbS53ZWJraXRNYXRjaGVzU2VsZWN0b3IgfHwgZG9tLm1vek1hdGNoZXNTZWxlY3RvcikuY2FsbChkb20sIHNlbGVjdG9yKTtcbn1cbmZ1bmN0aW9uIGNvcHkob2JqKSB7XG4gICAgbGV0IGNvcHkgPSB7fTtcbiAgICBmb3IgKGxldCBwcm9wIGluIG9iailcbiAgICAgICAgY29weVtwcm9wXSA9IG9ialtwcm9wXTtcbiAgICByZXR1cm4gY29weTtcbn1cbi8vIFVzZWQgd2hlbiBmaW5kaW5nIGEgbWFyayBhdCB0aGUgdG9wIGxldmVsIG9mIGEgZnJhZ21lbnQgcGFyc2UuXG4vLyBDaGVja3Mgd2hldGhlciBpdCB3b3VsZCBiZSByZWFzb25hYmxlIHRvIGFwcGx5IGEgZ2l2ZW4gbWFyayB0eXBlIHRvXG4vLyBhIGdpdmVuIG5vZGUsIGJ5IGxvb2tpbmcgYXQgdGhlIHdheSB0aGUgbWFyayBvY2N1cnMgaW4gdGhlIHNjaGVtYS5cbmZ1bmN0aW9uIG1hcmtNYXlBcHBseShtYXJrVHlwZSwgbm9kZVR5cGUpIHtcbiAgICBsZXQgbm9kZXMgPSBub2RlVHlwZS5zY2hlbWEubm9kZXM7XG4gICAgZm9yIChsZXQgbmFtZSBpbiBub2Rlcykge1xuICAgICAgICBsZXQgcGFyZW50ID0gbm9kZXNbbmFtZV07XG4gICAgICAgIGlmICghcGFyZW50LmFsbG93c01hcmtUeXBlKG1hcmtUeXBlKSlcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBsZXQgc2VlbiA9IFtdLCBzY2FuID0gKG1hdGNoKSA9PiB7XG4gICAgICAgICAgICBzZWVuLnB1c2gobWF0Y2gpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXRjaC5lZGdlQ291bnQ7IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCB7IHR5cGUsIG5leHQgfSA9IG1hdGNoLmVkZ2UoaSk7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT0gbm9kZVR5cGUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChzZWVuLmluZGV4T2YobmV4dCkgPCAwICYmIHNjYW4obmV4dCkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBpZiAoc2NhbihwYXJlbnQuY29udGVudE1hdGNoKSlcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuLyoqXG5BIERPTSBzZXJpYWxpemVyIGtub3dzIGhvdyB0byBjb252ZXJ0IFByb3NlTWlycm9yIG5vZGVzIGFuZFxubWFya3Mgb2YgdmFyaW91cyB0eXBlcyB0byBET00gbm9kZXMuXG4qL1xuY2xhc3MgRE9NU2VyaWFsaXplciB7XG4gICAgLyoqXG4gICAgQ3JlYXRlIGEgc2VyaWFsaXplci4gYG5vZGVzYCBzaG91bGQgbWFwIG5vZGUgbmFtZXMgdG8gZnVuY3Rpb25zXG4gICAgdGhhdCB0YWtlIGEgbm9kZSBhbmQgcmV0dXJuIGEgZGVzY3JpcHRpb24gb2YgdGhlIGNvcnJlc3BvbmRpbmdcbiAgICBET00uIGBtYXJrc2AgZG9lcyB0aGUgc2FtZSBmb3IgbWFyayBuYW1lcywgYnV0IGFsc28gZ2V0cyBhblxuICAgIGFyZ3VtZW50IHRoYXQgdGVsbHMgaXQgd2hldGhlciB0aGUgbWFyaydzIGNvbnRlbnQgaXMgYmxvY2sgb3JcbiAgICBpbmxpbmUgY29udGVudCAoZm9yIHR5cGljYWwgdXNlLCBpdCdsbCBhbHdheXMgYmUgaW5saW5lKS4gQSBtYXJrXG4gICAgc2VyaWFsaXplciBtYXkgYmUgYG51bGxgIHRvIGluZGljYXRlIHRoYXQgbWFya3Mgb2YgdGhhdCB0eXBlXG4gICAgc2hvdWxkIG5vdCBiZSBzZXJpYWxpemVkLlxuICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgVGhlIG5vZGUgc2VyaWFsaXphdGlvbiBmdW5jdGlvbnMuXG4gICAgKi9cbiAgICBub2RlcywgXG4gICAgLyoqXG4gICAgVGhlIG1hcmsgc2VyaWFsaXphdGlvbiBmdW5jdGlvbnMuXG4gICAgKi9cbiAgICBtYXJrcykge1xuICAgICAgICB0aGlzLm5vZGVzID0gbm9kZXM7XG4gICAgICAgIHRoaXMubWFya3MgPSBtYXJrcztcbiAgICB9XG4gICAgLyoqXG4gICAgU2VyaWFsaXplIHRoZSBjb250ZW50IG9mIHRoaXMgZnJhZ21lbnQgdG8gYSBET00gZnJhZ21lbnQuIFdoZW5cbiAgICBub3QgaW4gdGhlIGJyb3dzZXIsIHRoZSBgZG9jdW1lbnRgIG9wdGlvbiwgY29udGFpbmluZyBhIERPTVxuICAgIGRvY3VtZW50LCBzaG91bGQgYmUgcGFzc2VkIHNvIHRoYXQgdGhlIHNlcmlhbGl6ZXIgY2FuIGNyZWF0ZVxuICAgIG5vZGVzLlxuICAgICovXG4gICAgc2VyaWFsaXplRnJhZ21lbnQoZnJhZ21lbnQsIG9wdGlvbnMgPSB7fSwgdGFyZ2V0KSB7XG4gICAgICAgIGlmICghdGFyZ2V0KVxuICAgICAgICAgICAgdGFyZ2V0ID0gZG9jKG9wdGlvbnMpLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgbGV0IHRvcCA9IHRhcmdldCwgYWN0aXZlID0gW107XG4gICAgICAgIGZyYWdtZW50LmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aXZlLmxlbmd0aCB8fCBub2RlLm1hcmtzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGxldCBrZWVwID0gMCwgcmVuZGVyZWQgPSAwO1xuICAgICAgICAgICAgICAgIHdoaWxlIChrZWVwIDwgYWN0aXZlLmxlbmd0aCAmJiByZW5kZXJlZCA8IG5vZGUubWFya3MubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXh0ID0gbm9kZS5tYXJrc1tyZW5kZXJlZF07XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5tYXJrc1tuZXh0LnR5cGUubmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVkKys7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW5leHQuZXEoYWN0aXZlW2tlZXBdWzBdKSB8fCBuZXh0LnR5cGUuc3BlYy5zcGFubmluZyA9PT0gZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAga2VlcCsrO1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJlZCsrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB3aGlsZSAoa2VlcCA8IGFjdGl2ZS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IGFjdGl2ZS5wb3AoKVsxXTtcbiAgICAgICAgICAgICAgICB3aGlsZSAocmVuZGVyZWQgPCBub2RlLm1hcmtzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgYWRkID0gbm9kZS5tYXJrc1tyZW5kZXJlZCsrXTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1hcmtET00gPSB0aGlzLnNlcmlhbGl6ZU1hcmsoYWRkLCBub2RlLmlzSW5saW5lLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1hcmtET00pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZS5wdXNoKFthZGQsIHRvcF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wLmFwcGVuZENoaWxkKG1hcmtET00uZG9tKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcCA9IG1hcmtET00uY29udGVudERPTSB8fCBtYXJrRE9NLmRvbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRvcC5hcHBlbmRDaGlsZCh0aGlzLnNlcmlhbGl6ZU5vZGVJbm5lcihub2RlLCBvcHRpb25zKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgIH1cbiAgICAvKipcbiAgICBAaW50ZXJuYWxcbiAgICAqL1xuICAgIHNlcmlhbGl6ZU5vZGVJbm5lcihub2RlLCBvcHRpb25zKSB7XG4gICAgICAgIGxldCB7IGRvbSwgY29udGVudERPTSB9ID0gcmVuZGVyU3BlYyhkb2Mob3B0aW9ucyksIHRoaXMubm9kZXNbbm9kZS50eXBlLm5hbWVdKG5vZGUpLCBudWxsLCBub2RlLmF0dHJzKTtcbiAgICAgICAgaWYgKGNvbnRlbnRET00pIHtcbiAgICAgICAgICAgIGlmIChub2RlLmlzTGVhZilcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkNvbnRlbnQgaG9sZSBub3QgYWxsb3dlZCBpbiBhIGxlYWYgbm9kZSBzcGVjXCIpO1xuICAgICAgICAgICAgdGhpcy5zZXJpYWxpemVGcmFnbWVudChub2RlLmNvbnRlbnQsIG9wdGlvbnMsIGNvbnRlbnRET00pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkb207XG4gICAgfVxuICAgIC8qKlxuICAgIFNlcmlhbGl6ZSB0aGlzIG5vZGUgdG8gYSBET00gbm9kZS4gVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4geW91XG4gICAgbmVlZCB0byBzZXJpYWxpemUgYSBwYXJ0IG9mIGEgZG9jdW1lbnQsIGFzIG9wcG9zZWQgdG8gdGhlIHdob2xlXG4gICAgZG9jdW1lbnQuIFRvIHNlcmlhbGl6ZSBhIHdob2xlIGRvY3VtZW50LCB1c2VcbiAgICBbYHNlcmlhbGl6ZUZyYWdtZW50YF0oaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI21vZGVsLkRPTVNlcmlhbGl6ZXIuc2VyaWFsaXplRnJhZ21lbnQpIG9uXG4gICAgaXRzIFtjb250ZW50XShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuTm9kZS5jb250ZW50KS5cbiAgICAqL1xuICAgIHNlcmlhbGl6ZU5vZGUobm9kZSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGxldCBkb20gPSB0aGlzLnNlcmlhbGl6ZU5vZGVJbm5lcihub2RlLCBvcHRpb25zKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IG5vZGUubWFya3MubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgIGxldCB3cmFwID0gdGhpcy5zZXJpYWxpemVNYXJrKG5vZGUubWFya3NbaV0sIG5vZGUuaXNJbmxpbmUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgaWYgKHdyYXApIHtcbiAgICAgICAgICAgICAgICAod3JhcC5jb250ZW50RE9NIHx8IHdyYXAuZG9tKS5hcHBlbmRDaGlsZChkb20pO1xuICAgICAgICAgICAgICAgIGRvbSA9IHdyYXAuZG9tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkb207XG4gICAgfVxuICAgIC8qKlxuICAgIEBpbnRlcm5hbFxuICAgICovXG4gICAgc2VyaWFsaXplTWFyayhtYXJrLCBpbmxpbmUsIG9wdGlvbnMgPSB7fSkge1xuICAgICAgICBsZXQgdG9ET00gPSB0aGlzLm1hcmtzW21hcmsudHlwZS5uYW1lXTtcbiAgICAgICAgcmV0dXJuIHRvRE9NICYmIHJlbmRlclNwZWMoZG9jKG9wdGlvbnMpLCB0b0RPTShtYXJrLCBpbmxpbmUpLCBudWxsLCBtYXJrLmF0dHJzKTtcbiAgICB9XG4gICAgc3RhdGljIHJlbmRlclNwZWMoZG9jLCBzdHJ1Y3R1cmUsIHhtbE5TID0gbnVsbCwgYmxvY2tBcnJheXNJbikge1xuICAgICAgICByZXR1cm4gcmVuZGVyU3BlYyhkb2MsIHN0cnVjdHVyZSwgeG1sTlMsIGJsb2NrQXJyYXlzSW4pO1xuICAgIH1cbiAgICAvKipcbiAgICBCdWlsZCBhIHNlcmlhbGl6ZXIgdXNpbmcgdGhlIFtgdG9ET01gXShodHRwczovL3Byb3NlbWlycm9yLm5ldC9kb2NzL3JlZi8jbW9kZWwuTm9kZVNwZWMudG9ET00pXG4gICAgcHJvcGVydGllcyBpbiBhIHNjaGVtYSdzIG5vZGUgYW5kIG1hcmsgc3BlY3MuXG4gICAgKi9cbiAgICBzdGF0aWMgZnJvbVNjaGVtYShzY2hlbWEpIHtcbiAgICAgICAgcmV0dXJuIHNjaGVtYS5jYWNoZWQuZG9tU2VyaWFsaXplciB8fFxuICAgICAgICAgICAgKHNjaGVtYS5jYWNoZWQuZG9tU2VyaWFsaXplciA9IG5ldyBET01TZXJpYWxpemVyKHRoaXMubm9kZXNGcm9tU2NoZW1hKHNjaGVtYSksIHRoaXMubWFya3NGcm9tU2NoZW1hKHNjaGVtYSkpKTtcbiAgICB9XG4gICAgLyoqXG4gICAgR2F0aGVyIHRoZSBzZXJpYWxpemVycyBpbiBhIHNjaGVtYSdzIG5vZGUgc3BlY3MgaW50byBhbiBvYmplY3QuXG4gICAgVGhpcyBjYW4gYmUgdXNlZnVsIGFzIGEgYmFzZSB0byBidWlsZCBhIGN1c3RvbSBzZXJpYWxpemVyIGZyb20uXG4gICAgKi9cbiAgICBzdGF0aWMgbm9kZXNGcm9tU2NoZW1hKHNjaGVtYSkge1xuICAgICAgICBsZXQgcmVzdWx0ID0gZ2F0aGVyVG9ET00oc2NoZW1hLm5vZGVzKTtcbiAgICAgICAgaWYgKCFyZXN1bHQudGV4dClcbiAgICAgICAgICAgIHJlc3VsdC50ZXh0ID0gbm9kZSA9PiBub2RlLnRleHQ7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIC8qKlxuICAgIEdhdGhlciB0aGUgc2VyaWFsaXplcnMgaW4gYSBzY2hlbWEncyBtYXJrIHNwZWNzIGludG8gYW4gb2JqZWN0LlxuICAgICovXG4gICAgc3RhdGljIG1hcmtzRnJvbVNjaGVtYShzY2hlbWEpIHtcbiAgICAgICAgcmV0dXJuIGdhdGhlclRvRE9NKHNjaGVtYS5tYXJrcyk7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2F0aGVyVG9ET00ob2JqKSB7XG4gICAgbGV0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAobGV0IG5hbWUgaW4gb2JqKSB7XG4gICAgICAgIGxldCB0b0RPTSA9IG9ialtuYW1lXS5zcGVjLnRvRE9NO1xuICAgICAgICBpZiAodG9ET00pXG4gICAgICAgICAgICByZXN1bHRbbmFtZV0gPSB0b0RPTTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGRvYyhvcHRpb25zKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMuZG9jdW1lbnQgfHwgd2luZG93LmRvY3VtZW50O1xufVxuY29uc3Qgc3VzcGljaW91c0F0dHJpYnV0ZUNhY2hlID0gbmV3IFdlYWtNYXAoKTtcbmZ1bmN0aW9uIHN1c3BpY2lvdXNBdHRyaWJ1dGVzKGF0dHJzKSB7XG4gICAgbGV0IHZhbHVlID0gc3VzcGljaW91c0F0dHJpYnV0ZUNhY2hlLmdldChhdHRycyk7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpXG4gICAgICAgIHN1c3BpY2lvdXNBdHRyaWJ1dGVDYWNoZS5zZXQoYXR0cnMsIHZhbHVlID0gc3VzcGljaW91c0F0dHJpYnV0ZXNJbm5lcihhdHRycykpO1xuICAgIHJldHVybiB2YWx1ZTtcbn1cbmZ1bmN0aW9uIHN1c3BpY2lvdXNBdHRyaWJ1dGVzSW5uZXIoYXR0cnMpIHtcbiAgICBsZXQgcmVzdWx0ID0gbnVsbDtcbiAgICBmdW5jdGlvbiBzY2FuKHZhbHVlKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZVswXSA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gW107XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICAgICAgICAgICAgICBzY2FuKHZhbHVlW2ldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBwcm9wIGluIHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICBzY2FuKHZhbHVlW3Byb3BdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBzY2FuKGF0dHJzKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gcmVuZGVyU3BlYyhkb2MsIHN0cnVjdHVyZSwgeG1sTlMsIGJsb2NrQXJyYXlzSW4pIHtcbiAgICBpZiAodHlwZW9mIHN0cnVjdHVyZSA9PSBcInN0cmluZ1wiKVxuICAgICAgICByZXR1cm4geyBkb206IGRvYy5jcmVhdGVUZXh0Tm9kZShzdHJ1Y3R1cmUpIH07XG4gICAgaWYgKHN0cnVjdHVyZS5ub2RlVHlwZSAhPSBudWxsKVxuICAgICAgICByZXR1cm4geyBkb206IHN0cnVjdHVyZSB9O1xuICAgIGlmIChzdHJ1Y3R1cmUuZG9tICYmIHN0cnVjdHVyZS5kb20ubm9kZVR5cGUgIT0gbnVsbClcbiAgICAgICAgcmV0dXJuIHN0cnVjdHVyZTtcbiAgICBsZXQgdGFnTmFtZSA9IHN0cnVjdHVyZVswXSwgc3VzcGljaW91cztcbiAgICBpZiAodHlwZW9mIHRhZ05hbWUgIT0gXCJzdHJpbmdcIilcbiAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIGFycmF5IHBhc3NlZCB0byByZW5kZXJTcGVjXCIpO1xuICAgIGlmIChibG9ja0FycmF5c0luICYmIChzdXNwaWNpb3VzID0gc3VzcGljaW91c0F0dHJpYnV0ZXMoYmxvY2tBcnJheXNJbikpICYmXG4gICAgICAgIHN1c3BpY2lvdXMuaW5kZXhPZihzdHJ1Y3R1cmUpID4gLTEpXG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiVXNpbmcgYW4gYXJyYXkgZnJvbSBhbiBhdHRyaWJ1dGUgb2JqZWN0IGFzIGEgRE9NIHNwZWMuIFRoaXMgbWF5IGJlIGFuIGF0dGVtcHRlZCBjcm9zcyBzaXRlIHNjcmlwdGluZyBhdHRhY2suXCIpO1xuICAgIGxldCBzcGFjZSA9IHRhZ05hbWUuaW5kZXhPZihcIiBcIik7XG4gICAgaWYgKHNwYWNlID4gMCkge1xuICAgICAgICB4bWxOUyA9IHRhZ05hbWUuc2xpY2UoMCwgc3BhY2UpO1xuICAgICAgICB0YWdOYW1lID0gdGFnTmFtZS5zbGljZShzcGFjZSArIDEpO1xuICAgIH1cbiAgICBsZXQgY29udGVudERPTTtcbiAgICBsZXQgZG9tID0gKHhtbE5TID8gZG9jLmNyZWF0ZUVsZW1lbnROUyh4bWxOUywgdGFnTmFtZSkgOiBkb2MuY3JlYXRlRWxlbWVudCh0YWdOYW1lKSk7XG4gICAgbGV0IGF0dHJzID0gc3RydWN0dXJlWzFdLCBzdGFydCA9IDE7XG4gICAgaWYgKGF0dHJzICYmIHR5cGVvZiBhdHRycyA9PSBcIm9iamVjdFwiICYmIGF0dHJzLm5vZGVUeXBlID09IG51bGwgJiYgIUFycmF5LmlzQXJyYXkoYXR0cnMpKSB7XG4gICAgICAgIHN0YXJ0ID0gMjtcbiAgICAgICAgZm9yIChsZXQgbmFtZSBpbiBhdHRycylcbiAgICAgICAgICAgIGlmIChhdHRyc1tuYW1lXSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgbGV0IHNwYWNlID0gbmFtZS5pbmRleE9mKFwiIFwiKTtcbiAgICAgICAgICAgICAgICBpZiAoc3BhY2UgPiAwKVxuICAgICAgICAgICAgICAgICAgICBkb20uc2V0QXR0cmlidXRlTlMobmFtZS5zbGljZSgwLCBzcGFjZSksIG5hbWUuc2xpY2Uoc3BhY2UgKyAxKSwgYXR0cnNbbmFtZV0pO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG5hbWUgPT0gXCJzdHlsZVwiICYmIGRvbS5zdHlsZSlcbiAgICAgICAgICAgICAgICAgICAgZG9tLnN0eWxlLmNzc1RleHQgPSBhdHRyc1tuYW1lXTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGRvbS5zZXRBdHRyaWJ1dGUobmFtZSwgYXR0cnNbbmFtZV0pO1xuICAgICAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCBzdHJ1Y3R1cmUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IGNoaWxkID0gc3RydWN0dXJlW2ldO1xuICAgICAgICBpZiAoY2hpbGQgPT09IDApIHtcbiAgICAgICAgICAgIGlmIChpIDwgc3RydWN0dXJlLmxlbmd0aCAtIDEgfHwgaSA+IHN0YXJ0KVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiQ29udGVudCBob2xlIG11c3QgYmUgdGhlIG9ubHkgY2hpbGQgb2YgaXRzIHBhcmVudCBub2RlXCIpO1xuICAgICAgICAgICAgcmV0dXJuIHsgZG9tLCBjb250ZW50RE9NOiBkb20gfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCB7IGRvbTogaW5uZXIsIGNvbnRlbnRET006IGlubmVyQ29udGVudCB9ID0gcmVuZGVyU3BlYyhkb2MsIGNoaWxkLCB4bWxOUywgYmxvY2tBcnJheXNJbik7XG4gICAgICAgICAgICBkb20uYXBwZW5kQ2hpbGQoaW5uZXIpO1xuICAgICAgICAgICAgaWYgKGlubmVyQ29udGVudCkge1xuICAgICAgICAgICAgICAgIGlmIChjb250ZW50RE9NKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk11bHRpcGxlIGNvbnRlbnQgaG9sZXNcIik7XG4gICAgICAgICAgICAgICAgY29udGVudERPTSA9IGlubmVyQ29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBkb20sIGNvbnRlbnRET00gfTtcbn1cblxuZXhwb3J0IHsgQ29udGVudE1hdGNoLCBET01QYXJzZXIsIERPTVNlcmlhbGl6ZXIsIEZyYWdtZW50LCBNYXJrLCBNYXJrVHlwZSwgTm9kZSwgTm9kZVJhbmdlLCBOb2RlVHlwZSwgUmVwbGFjZUVycm9yLCBSZXNvbHZlZFBvcywgU2NoZW1hLCBTbGljZSB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/prosemirror-model/dist/index.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/prosemirror-schema-list.js b/.next/server/vendor-chunks/prosemirror-schema-list.js deleted file mode 100644 index 50dd6c0..0000000 --- a/.next/server/vendor-chunks/prosemirror-schema-list.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -/* - * ATTENTION: An "eval-source-map" devtool has been used. - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -exports.id = "vendor-chunks/prosemirror-schema-list"; -exports.ids = ["vendor-chunks/prosemirror-schema-list"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/prosemirror-schema-list/dist/index.js": -/*!************************************************************!*\ - !*** ./node_modules/prosemirror-schema-list/dist/index.js ***! - \************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addListNodes: () => (/* binding */ addListNodes),\n/* harmony export */ bulletList: () => (/* binding */ bulletList),\n/* harmony export */ liftListItem: () => (/* binding */ liftListItem),\n/* harmony export */ listItem: () => (/* binding */ listItem),\n/* harmony export */ orderedList: () => (/* binding */ orderedList),\n/* harmony export */ sinkListItem: () => (/* binding */ sinkListItem),\n/* harmony export */ splitListItem: () => (/* binding */ splitListItem),\n/* harmony export */ splitListItemKeepMarks: () => (/* binding */ splitListItemKeepMarks),\n/* harmony export */ wrapInList: () => (/* binding */ wrapInList),\n/* harmony export */ wrapRangeInList: () => (/* binding */ wrapRangeInList)\n/* harmony export */ });\n/* harmony import */ var prosemirror_transform__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prosemirror-transform */ \"(ssr)/./node_modules/prosemirror-transform/dist/index.js\");\n/* harmony import */ var prosemirror_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-model */ \"(ssr)/./node_modules/prosemirror-model/dist/index.js\");\n/* harmony import */ var prosemirror_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prosemirror-state */ \"(ssr)/./node_modules/prosemirror-state/dist/index.js\");\n\n\n\n\nconst olDOM = [\"ol\", 0], ulDOM = [\"ul\", 0], liDOM = [\"li\", 0];\n/**\nAn ordered list [node spec](https://prosemirror.net/docs/ref/#model.NodeSpec). Has a single\nattribute, `order`, which determines the number at which the list\nstarts counting, and defaults to 1. Represented as an `
    `\nelement.\n*/\nconst orderedList = {\n attrs: { order: { default: 1, validate: \"number\" } },\n parseDOM: [{ tag: \"ol\", getAttrs(dom) {\n return { order: dom.hasAttribute(\"start\") ? +dom.getAttribute(\"start\") : 1 };\n } }],\n toDOM(node) {\n return node.attrs.order == 1 ? olDOM : [\"ol\", { start: node.attrs.order }, 0];\n }\n};\n/**\nA bullet list node spec, represented in the DOM as `